← All changelogs v2.1.219 claude · claude-opus-5 (effort medium)
Claude Code · Source-level changelog

Version 2.1.219

Opus 5 replaces Opus 4.8 as the default Opus model in this release, with fast mode support, effort profiles, region variables, and pricing copy wired through, and the bundled Claude API skill docs rewritten around it including a new migration guide. Interrupt handling gained the ability to cancel an entire queued command backlog in a single round-trip, exposed to the SDK through the new interrupt_cancel_queued_v1 capability. MCP gained a DirectoryAdded hook event, environment variable expansion in policy allow and deny rules that fails closed on unsafe URLs, and reporting of servers skipped by --mcp-config. Several reliability fixes landed around memory, including fail-closed team-memory mount conflicts, recall that skips the current session's own logs, and the removal of session-wide push suppression. Fast mode unavailability now reports machine-readable reason codes so the SDK and org notifications can state the actual cause.

Official notes ✓ synced Package @anthropic-ai/claude-code Diff v2.1.218 → v2.1.219Provider claudeModel claude-opus-5 (effort medium)
18
Use it now
71
You'll notice
31
Not switched on
18
Env Vars / Flags

Official Changelog

Official · Anthropic
Anthropic’s official release notes
Published verbatim by Anthropic for v2.1.219 — shown here alongside the source-level analysis below. Text is unmodified from the upstream changelog.
View on GitHub ↗
  • Added Claude Opus 5 (claude-opus-5), now the default Opus model — 1M context, fast mode at $10/$50 per Mtok
  • Added sandbox.network.strictAllowlist setting to deny non-allowlisted hosts for sandboxed commands without prompting
  • Added DirectoryAdded hook that fires after /add-dir or the SDK register_repo_root control request registers a new working directory mid-session
  • Added mcp_server_errors to the headless stream-json init event, listing --mcp-config entries skipped by config validation; terminal runs print a startup warning
  • Added the workflowSizeGuideline settings key so the advisory Dynamic workflow size guideline can be set from any settings file; the /config row is hidden while one does
  • Added nested subagent forwarding in stream-json: subagents spawned at depth-2+ now appear when --forward-subagent-text is set, keyed by their spawning Agent tool_use id
  • Fixed claude -p text output dropping the answer already produced when a turn dies on a mid-stream API error
  • Added HTTP status and error text to claude mcp list and /mcp when a server fails to connect, and a warning for MCP config values with hidden leading or trailing whitespace
  • Fixed the Fable model row showing "Requires usage credits" for plans that include it, when a stale cache had baked the label in
  • Fixed the /model picker showing the merged Opus row as plain "Opus" instead of "Opus (1M context)"
  • Fixed copy-on-select inside GNU screen printing base64 into the terminal instead of copying the selection
  • Fixed Remote Control clients keeping a stale fast-mode status after a model switch, reconnect, or failed org check
  • Fixed CLAUDE_CODE_GIT_BASH_PATH on Windows exiting or being used as bash when the path isn't a bash/sh binary; it's now ignored with a warning
  • Fixed Vim mode: pressing ← on an empty prompt now returns to the agent view from NORMAL mode, not just INSERT
  • Fixed screen-reader mode rewriting the entire input line on every keystroke instead of echoing only the typed character
  • Improved the "Remote Control is only available via api.anthropic.com" error to name the specific setting that caused it
  • Improved claude --teleport to show which repo your current checkout points at when it doesn't match the session's repo
  • Changed dynamic workflows to default to a medium size guideline (aim for fewer than 15 agents); pick another size or unrestricted with Dynamic workflow size in /config
  • Changed managed MCP allowlist/denylist ${VAR} entries to resolve from the startup environment and managed-settings env instead of settings-file env
  • Changed the /model picker to highlight only the newest model's name, so the highlight marks the new release rather than an arbitrary subset of the list
  • Added the current default workflow size to the running-workflow status line, with a pointer to /config for changing it
  • Removed Opus 4.7 from fast mode; /fast now applies to Opus 5 and Opus 4.8
  • Updated the claude-api skill to default to Claude Opus 5, with a migration path from Opus 4.8
  • Subagents can now spawn nested subagents up to depth 3 by default (was 1); set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 to disable nesting
Source: anthropics/claude-code · CHANGELOG.md · 24 entries · synced automatically when Anthropic publishes official notes for a version.
Source-Level Analysis
Reverse-engineered from a diff of the bundled CLI — deeper, structured detail. Unofficial.

Highlights

12 of 166
The rest of the release is below, all 166 findings. Filter it, or open any card for the full detail and source evidence.

Present but switched off

10 of 35
Shipped inside the bundle with its gate off, its guard hardcoded false, or nothing calling it. What the code shows, not a roadmap: no claim about what is released, announced or planned.
Filter

What probably matters to you

43 items

Anything you can use today, anything that visibly changes, and anything worth poking at. One line each, open for detail.

Opus 5 replaces Opus 4.8 as the default Opus model #

Juicy

Opus 5 is now the default Opus, with a 1M-context option in the model picker.

opusclaude-opus-5VERTEX_REGION_CLAUDE_5_OPUS
You'll notice · Models

CLAUDE_CODE_GIT_BASH_PATH no longer kills the process #

Juicy

A bad CLAUDE_CODE_GIT_BASH_PATH on Windows now warns and auto-detects instead of quitting.

CLAUDE_CODE_GIT_BASH_PATH
Use it now · Windows

New DirectoryAdded hook event #

Juicy

You can now run a hook whenever a directory is added mid-session, including via /add-dir.

DirectoryAdded/add-dir/hooksslash_commandregister_repo_root
Use it now · Hooks

SDK init message reports skipped MCP server configs #

Juicy

SDK callers get an mcp_server_errors array naming rejected MCP configs, so CI can fail on it.

mcp_server_errors
Use it now · SDK

Workflow size guideline now defaults to medium instead of unrestricted #

Juicy

Without configuration, sessions now advise fewer than 15 agents per workflow; change it in /config.

/configworkflowSizeGuideline
Use it now · Settings

register_repo_root accepts launch-time directories and rejects duplicates #

Juicy

You can register repo roots under any directory passed with --add-dir, and duplicates now say so clearly.

--add-diradditionalDirectoriesregister_repo_root
Use it now · SDK

Headless text output recovers the last full assistant message on an incomplete run #

In headless text runs, an incomplete ending no longer swallows the last full answer.

-p
You'll notice · Headless Mode

MCP connection failures can carry an extra display detail #

Failed MCP connections now tell you why, with the error detail shown in list and get output.

claude mcp listclaude mcp get
You'll notice · MCP

Memory sync no longer suppresses pushes for the whole session #

One failed memory sync no longer silently stops all memory pushes for the rest of your session.

You'll notice · Memory Sync

/plugin gained a Stats tab and /skill-doctor moved into it #

Juicy

A Stats tab in /plugin shows skill usage and context costs, with /skill-doctor redirecting there.

/plugin stats/skill-doctorCLAUDE_CODE_LANTERN_PRISM
Not switched on · Plugins

Interaction schemas are now discovered, not hardcoded #

The artifact tool's schema option now lists whatever schemas your session actually registered.

schema
Use it now · Artifacts

SDK reports why fast mode is unavailable #

SDK messages now tell you exactly why fast mode was unavailable for a request.

fast_mode_disabled_reason
Use it now · SDK

Slash-command hook results can carry a system message #

Juicy

Hooks on slash commands can now show you a system message, not just output and pass/fail.

systemMessage
Use it now · Hooks

Two new API betas documented: scalar fallbacks: "default" and mid-conversation tool changes #

Juicy

Docs now describe two beta headers for automatic refusal fallbacks and swapping tools mid-conversation.

server-side-fallback-2026-07-01mid-conversation-tool-changes-2026-07-01defer_loading
Use it now · Skills

MCP policy URL expansion fails closed on wildcard-injecting env values #

Juicy

MCP policy URL allowlists now refuse environment variables that sneak wildcards in and widen a match.

You'll notice · MCP

/plugin gains a stats subcommand #

Juicy

A stats subcommand for plugins would show skill usage and context costs, but it stays hidden unless a flag is on.

/plugin statsCLAUDE_CODE_LANTERN_PRISM
Not switched on · Plugins

Bundled workflows can gate model invocation at runtime; deep-research wired to a new flag #

Juicy

Claude could start deep research on its own instead of waiting for you to ask, if enabled.

/deep-research
Not switched on · Workflows

Pinned memories are injected into the session #

Juicy

Adding `pinned: true` to a memory file's frontmatter would apply it to every session automatically.

pinned: trueCLAUDE_COWORK_MEMORY_INDEX_CONTENT
Not switched on · Memory

Shutdown-synthesized tool results no longer resolve an interrupted turn #

Juicy

Resuming a turn interrupted by shutdown now correctly sees the tool call as still pending instead of faked-answered.

CLAUDE_CODE_RESUME_INTERRUPTED_TURN
Not switched on · Sessions

Effort profile added for claude-opus-5 #

Juicy

A reasoning-effort table now includes settings for a model named claude-opus-5, with new medium and high profiles.

Under the hood · Model Config

Subagent steering can be resolved per model #

Juicy

Subagent nudging behaviour can be picked per model, but the whole feature stays behind a gate.

CLAUDE_CODE_THISTLE_GREBE
Not switched on · Subagents

Whiteboard skill reworked with first sketch, named boards and up-front send-permission checks, still switched off #

The whiteboard skill gained opening sketches, named boards and clearer send-permission errors, but stays switched off.

--title
Not switched on · Skills

claude mcp list shows why a server failed #

claude mcp list now tells you why a server failed, like a timeout or HTTP error, not just "Failed to connect".

claude mcp list
Use it now · MCP

MCP policy allow/deny entries now expand ${VAR} environment references, and unsafe URL expansions fail closed #

Juicy

MCP allow and deny policy entries now expand ${VAR} references, skipping allowlist entries whose expansion looks unsafe.

allowedMcpServersdeniedMcpServersserverCommandserverUrl
Use it now · MCP

New sandbox setting: network.strictAllowlist #

Juicy

Set strictAllowlist to have the sandbox flat-out deny hosts outside your allowed domains instead of prompting.

sandbox.network.strictAllowlistallowedDomains--settings
Use it now · Sandbox

SDK interrupt can now cancel everything queued in one round-trip #

Juicy

Send interrupt with cancel_queued true to stop the current turn and everything queued behind it.

cancel_queuedinterruptcancel_async_message
Use it now · SDK Protocol

interrupt control request can now cancel the whole queue (cancel_queued) #

Juicy

An interrupt can now clear your whole queued command backlog at once and report what it cancelled.

cancel_queuedinterrupt_cancel_queued_v1
Use it now · SDK Protocol

Credentials scrubbed from summarized error text #

Tokens and passwords caught in error text are now redacted before you or your logs see them.

You'll notice · Error Handling

Left-arrow backgrounding refuses to eat an unsent draft #

Left-arrow no longer backgrounds agents while you have unsent text, so drafts survive.

You'll notice · Input Editor

MCP servers skipped by --mcp-config are now reported #

MCP servers rejected from --mcp-config are now listed on stderr and in the init message instead of vanishing.

--mcp-configmcp_server_errors
You'll notice · MCP

Opus 5 gets an extra system-prompt instruction restricting AgentTool, workflows and deep-research #

Juicy

On Opus 5, Claude is told not to spawn subagents, workflows or deep research unless you ask.

You'll notice · System Prompt

Plan mode can carry a session workshop document #

Juicy

Plan mode could offer an interactive published page where your choices feed back into the plan.

Not switched on · Plan Mode

New setting: workflowSizeGuideline #

Juicy

Cap how big Claude's dynamic workflows get with a new workflowSizeGuideline setting.

workflowSizeGuideline/config
Use it now · Workflows

Skill listing tracks a modified timestamp from frontmatter #

Juicy

You can add a modified date in skill frontmatter to influence which skills get pinned.

modified
Use it now · Skills

Subagent-delegation nudges can now be suppressed by the model itself #

Juicy

Subagent delegation nudges are now switched off for Opus 5; you can also control them by env var.

CLAUDE_CODE_THISTLE_GREBE
Use it now · System Prompt

Workflow size guideline gets a default and a policy override #

Workflow size now defaults to medium, and an admin policy setting overrides whatever you chose.

/config
Use it now · Configuration

Opus 5 wired through region env vars, refusal fallbacks and pricing copy #

Juicy

An Opus 5 model is wired through region variables, fast mode, 1M context and pricing text.

VERTEX_REGION_CLAUDE_5_OPUS
You'll notice · Models

Auto-mode permission classifier can emit a numeric severity instead of a yes/no block #

Juicy

Auto-mode permission checks can score risk 0-100 instead of yes/no, but only for configured models.

Not switched on · Permissions

Index-based memory recall behind tengu_mill_orange #

Juicy

Memory recall could pick documents from a search index instead of asking the model, but it is disabled.

Not switched on · Memory

Pinned memory files #

Juicy

Memory files marked pinned would be injected into every conversation instead of waiting to be recalled.

pinnedCLAUDE_COWORK_MEMORY_INDEX_CONTENT
Not switched on · Memory

Skill usage stats surface expanded #

Juicy

A skills stats tab can report unused skills, and /skill-doctor gains a version that works without an interactive UI.

/skill-doctor/pluginCLAUDE_CODE_LANTERN_PRISM
Not switched on · Plugins

Reserved keybinding action ids for a "strip" surface #

Juicy

Thirteen keybinding names for a surface called "strip" are accepted but do nothing if you bind them.

strip:nextstrip:previousstrip:togglestrip:newstrip:jump1
Not switched on · Terminal UI

The workshop skill moved from hard-disabled to flag-gated #

Juicy

The workshop skill went from permanently off to flag-gated, so remote config could switch it on.

Not switched on · Skills
Everything else · 123
Smaller changes and internals, grouped as the pipeline found them. Nothing is dropped, it is only further down.

New Features

9 items

register_repo_root accepts launch-time roots and rejects duplicates #

Registering a repo root now accepts launch-time --add-dir roots and clearly rejects duplicates or bad paths.

--add-dirregister_repo_root
You'll notice · SDK Protocol

The API skill's model placeholders now resolve to Claude Opus 5, with the previous Opus kept as a separate placeholder #

The API skill's model placeholders now render Opus 5, keeping the previous Opus named separately.

/claude-api
You'll notice · Skills

New protocol capability interrupt_cancel_queued_v1 on system/init #

Sessions now advertise a capability string so clients can detect queue-cancelling interrupts without version checks.

interrupt_cancel_queued_v1
Under the hood · SDK Protocol

Workshop artifacts get a parse and serialize fixed-point check at publish time #

Workshop artifacts that would silently mutate on republish are now blocked at publish time.

You'll notice · Artifacts

opus5 in the local model listing #

The local model listing endpoint now includes Opus 5 among its available keys.

opus5
Under the hood · Models

Bundled Claude API skill docs rewritten around Opus 5 #

The bundled Claude API skill docs now target the new Opus, covering thinking defaults, fallbacks and fast mode.

/claude-api
You'll notice · Skills

New "Migrating to {{OPUS_NAME}}" migration guide with two breaking changes #

A migration guide now spells out the two thinking-related changes that break existing API request code.

You'll notice · Skills

Improvements

39 items

Fast mode advertised on Opus 5 in the environment prompt #

Claude is now told Fast mode applies to Opus 5 as well as earlier models.

Under the hood · Models

Org-disabled fast mode notification now states the actual reason #

The startup notice about Fast mode being off now names the actual reason instead of a generic line.

You'll notice · Models

Unused MCP skills are now called out separately #

Unused MCP skills get their own line in the skill report with server-specific advice.

/mcp
You'll notice · Skills

Post-compaction file restore skips memory files #

After compaction, Claude stops wasting its re-read budget on memory files it already injects.

CLAUDE.md
You'll notice · Compaction

Org memory no longer auto-selects a lone candidate store #

When only one org memory store is found, it is no longer picked for you automatically.

CLAUDE_CODE_DISABLE_ORG_MEMORY
You'll notice · Memory

Prompt-caching doc rewrites the minimum-cacheable-prompt table and adds cache-preserving escape hatches #

Caching docs now list per-model minimums and which request changes keep your cache alive.

You'll notice · Prompt Caching

Managed-agents docs: mid-session system.message model gate widened, plus two path/method typo fixes #

Mid-session system messages now work with more models, and two doc references were corrected.

sessions.events.list()
You'll notice · Elsewhere

Code-review prompt tuned for Opus 5 #

Code reviews on Opus 5 use a tighter prompt: one diff pass, at most fifteen findings.

git diff @{upstream}...HEAD
You'll notice · Code Review

Left-arrow session exit now blocks on unsent input #

Pressing left-arrow to leave a session now warns you when unsent text is still sitting in the input box.

You'll notice · Session Exit

Screen-reader rendering gains an incremental append fast path #

Screen-reader output redraws less, appending only new characters when the line is still anchored.

You'll notice · Elsewhere

Bundled SDK reference docs updated for the new Opus #

Bundled Java and PHP API docs now describe thinking defaults and a new XHIGH effort level.

You'll notice · Elsewhere

Setting descriptions reworded #

Two setting descriptions were reworded; nothing behaves differently.

Under the hood · Settings

Safeguard-refusal copy rewritten #

Safeguard refusals are now a one-liner, with longer explanations only for category-flagged cases.

You'll notice · Elsewhere

Auto-memory rm allowlist reworked #

Auto-memory file deletion now rejects every flag except -f or --force, so fewer commands slip through.

-f--force
You'll notice · Memory

read_page_data refuses unknown interaction schemas #

Artifact page-data reads now reject unknown schemas up front and list valid options instead.

read_page_data
You'll notice · Artifacts

API-error assistant messages round-trip through the SDK #

Resumed sessions can now still tell which past messages were API errors rather than real replies.

Under the hood · Sessions

Workshop doc file snapshots are deduplicated #

Duplicate workshop doc snapshots are no longer written repeatedly, keeping your transcript smaller.

You'll notice · Elsewhere

Generic denial message when permission prompts are unavailable #

Tool denials in background agents now say permission was denied instead of wrongly blaming don't-ask mode.

You'll notice · Permissions

Memory-file truncation warning distinguishes index from topic files #

When a memory file gets truncated, the warning now gives advice that fits the file type.

You'll notice · Elsewhere

Live-session discovery sanity-checks timestamps #

Corrupt timestamps in session files can no longer confuse which sessions look live.

Under the hood · Sessions

Fast mode unavailability reworked into machine-readable reason codes #

Fast mode unavailability is tracked as reason codes internally, feeding clearer messages and telemetry.

fast_mode_disabled_reason
Under the hood · Models

Remote Control now explains exactly which endpoint setting blocks it #

When Remote Control refuses, it now names the exact setting or variable blocking it.

ANTHROPIC_BASE_URL
You'll notice · Remote Control

MCP allow/deny rules compare expanded env-var values #

Your MCP allow and deny rules now match servers whose commands or URLs use environment variables.

allowedMcpServersdeniedMcpServers
You'll notice · MCP

Memory recall skips the current session's own logs #

Memory recall no longer feeds a session its own transcript notes back to itself.

You'll notice · Memory

Tools can opt out of the aggregate tool-result budget #

Individual tools can now skip the shared output size budget and just use the hard ceiling.

Under the hood · Elsewhere

Advisor tool result payload is now a discriminated union that can be encrypted #

Advisor tool results can come back encrypted with no text field, so reading .text may find nothing.

You'll notice · Elsewhere

Background-agent daemon upgrade check is prerelease-channel aware #

Background agent daemons stop mistakenly retiring themselves when you run prerelease builds.

You'll notice · Elsewhere

Republishing an artifact page now verifies it came from this CLI build #

Republishing an artifact page fails if it was built by a different CLI version; re-run the command.

/artifact-pr-review
You'll notice · Artifacts

Safety-refusal messages rewritten #

Refusal messages are shorter, tell you to start a new session, and link somewhere to learn more.

You'll notice · Elsewhere

Teleport branch-mismatch error explains what the checkout actually is #

Teleport now tells you whether the repo genuinely mismatched or the git remote just couldn't be read.

claude --teleport
You'll notice · Teleport

Clearer failure text when an artifact PR review can't be matched #

A failed artifact PR review now tells you to re-run the command instead of blaming gh auth.

You'll notice · Artifacts

Model-downgrade chain and effort tables know about Opus 5 #

Model fallbacks and reasoning-effort settings now handle Opus 5, stepping down to Opus 4.8 when needed.

claude-opus-5
You'll notice · Models

MCP config warns about stray whitespace in values #

MCP config now warns when a value has stray leading or trailing whitespace instead of silently using it.

You'll notice · MCP

MCP error text is sanitized and credential-redacted before display #

MCP error messages now hide credentials and strip weird characters before showing them to you.

You'll notice · MCP

Model picker drops the "Requires usage credits" suffix and the manual 1M relabel #

The model picker now shows labels straight from the model data, without extra credit or context suffixes.

You'll notice · Models

"Dynamic workflow size" hidden when a policy pins it #

The workflow size setting disappears from config when your organization has already fixed it.

/configworkflowSizeGuideline
You'll notice · Settings

Announcement banners can turn off their accent bar #

Announcement banners can now appear without the coloured accent bar, depending on what the server sends.

You'll notice · Elsewhere

MCP 404 error now shows only the server origin #

MCP 404 errors now show only the server origin, not the request path you hit.

You'll notice · MCP

Smaller adjustments #

Small polish: credit labels, an extra help link, bigger artifact fetch limit, safer MCP environment handling.

env
You'll notice · Elsewhere

Bug Fixes

16 items

OSC 52 clipboard writes are chunked under GNU screen #

Copying long text inside GNU screen now works, since the clipboard escape is split into chunks.

You'll notice · Terminal UI

MCP reconnect failure text is sanitized and length-capped #

MCP reconnect errors now show cleaned-up, shortened text instead of raw messy error output.

/mcp
You'll notice · MCP

"__proto__" rejected as an MCP server name #

An MCP server literally named __proto__ now warns you instead of silently loading nothing.

mcpServers
You'll notice · MCP

File-snapshot lookups validate their entries #

Malformed file snapshot records are skipped rather than returned when restoring from history.

Under the hood · Sessions

Armed fallback model must belong to the same family #

Fallback model only kicks in when it truly matches the model you asked for.

You'll notice · Models

Artifact live-edit no longer aborts on a proxy-blocked verification read #

Live editing artifacts works again behind egress proxies that block the artifact host.

You'll notice · Artifacts

Vim NORMAL mode passes bare left arrow on an empty prompt to the editor #

In vim normal mode, pressing left arrow on an empty prompt now works as expected.

You'll notice · Terminal UI

Sub-agent stream messages keep their own parent tool id #

Output from nested tool calls inside sub-agents is now attributed to the right call.

You'll notice · Sub-Agents

Team-memory mount conflicts fail closed on write and recover automatically #

Shared team memory mounts stop clobbering each other and switch back on once a conflict clears.

You'll notice · Team Memory

Org memory root mount defends its own name #

Org memory setup renames aside anything squatting its mount name rather than colliding.

Under the hood · Elsewhere

Background sessions no longer respawn when the running one is newer #

Background sessions stop needlessly restarting when your running build is already newer.

You'll notice · Sessions

Tool-result eviction no longer double-counts already-seen results #

Duplicate tool results no longer inflate the size math that decides what gets dropped.

You'll notice · Compaction

Interrupt no longer double-reports cancelled queued commands #

Interrupting queued commands no longer reports the same cancellation twice or lists it as still queued.

You'll notice · Elsewhere

PR-review anchor repo names reject "." and ".." #

PR review artifacts now reject repository names like "." or ".." that could escape paths.

You'll notice · Code Review

Queued-command cancellations are acknowledged once #

Cancelled queued commands are reported once and no longer linger in the interrupt receipt.

You'll notice · Elsewhere

Typing cancels a pending left-arrow confirmation in the prompt input #

An armed left-arrow confirmation now clears the moment you type anything else.

You'll notice · Prompt Input

In Development

25 items

Workshop artifact pages get a publish-time structural verifier #

Publishing a workshop page would run a structural check and refuse instead of shipping violations.

Not switched on · Artifacts

App state tracks verified workshop slugs and sidecar history #

Your session would remember which artifact pages passed verification and which sidecars were refused.

Not switched on · Artifacts

Memory recall now triggers on CJK input with no spaces #

Chinese, Japanese and Korean messages without spaces could trigger memory recall, but that branch is off here.

Not switched on · Memory

Workshop skill gains a direct-HTML authoring lane, and it is now the default #

The workshop skill would now write HTML documents by default, with a strict publish check, but isn't offered.

Not switched on · Skills

The decisions island's opening bytes are now a named constant, and reserved page-wide #

Workshop pages would be rejected at publish if they mention the decisions marker more than once.

Under the hood · Skills

Memory subagent's delete permission narrowed #

The memory cleanup agent could only delete plain memory files, never anything with flags or outside the folder.

Not switched on · Memory

Transcript-sharing feedback prompt reworked #

The offer to share your transcript was rebuilt, now only appears once per session and records when you dismiss it.

Under the hood · Elsewhere

Category-based server-side fallback beta #

The server can now pick a fallback model by category when a request is refused, instead of the app naming one.

Under the hood · Elsewhere

Workshop doc: snapshots, plan-mode writes and verified slugs #

A per-session workshop document gets snapshotted with your session files and is only writable in plan mode.

Not switched on · Artifacts

Org memory: discovery telemetry and store-picker copy #

The memory store picker nudges you to pick a specific project instead of leaving the legacy default.

CLAUDE_CODE_DISABLE_ORG_MEMORYCLAUDE_MEMORY_STORES
Not switched on · Org Memory

Team memory mounts can un-suppress themselves #

A memory mount that got suppressed can now recover on the next sync instead of staying stuck until restart.

You'll notice · Org Memory

Compact recall/remember summaries in the transcript #

Memory recall notes could show as a compact grouped line in normal sessions, but that view is off.

Not switched on · Memory

PR-review artifact description has an alternate wording that cannot ship in this build #

An alternate PR-review description exists but you'll always see the original one.

/pr-review
Not switched on · Artifacts

live-edit refused on workshop pages #

Live-edit would be blocked on workshop pages so changes go through the validating publish path.

Not switched on · Artifacts

Composed PR-review publish refusal explains whether it is a live switch #

If composed review publishing is unavailable, the refusal now says whether it was turned off mid-session.

/artifact-pr-review
Not switched on · Code Review

Transcript-sharing prompt wired into the session memory viewer, but unreachable in this build #

A prompt to share your transcript after rating a memory is built but never appears.

CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYtranscriptShareDismissed
Not switched on · Memory

New bundled template file templates/workshop-page.html #

A second bundled workshop page template ships, showing what the HTML authoring style looks like.

Not switched on · Skills

Rewritten memory system prompt #

Rewritten memory rules would make Claude save corrections and environment quirks immediately, before replying.

Not switched on · Memory

Memory truncation warning now covers ordinary memory files #

Oversize memory warnings would finally say something sensible about ordinary files, not just index entries.

Not switched on · Memory

Workshop HTML artifact publishing gains a publish-time verifier #

Published HTML artifacts can be checked against rules first and refused outright instead of shipping something unsafe.

Not switched on · Artifacts

Opus 5 carries an extra system-prompt block and suppresses subagent nudges #

On some models Claude will stop spinning up subagents or research workflows unless you actually ask for it.

Under the hood · System Prompt

Admin-workspace helpers get a random per-run token and path guards #

Admin workspace helpers gained a random run marker and stricter name and path-traversal checks.

Under the hood · Elsewhere

Org-memory discovery can return a prompt_index path #

Org memory discovery can pick up a prompt index path from the server and attach it to the mount.

Not switched on · Org Memory

Memory recall tolerates label-prefixed selections #

Recalled memories no longer get silently dropped when the model echoes back the category label with the name.

You'll notice · Memory

Repo-mismatch display disambiguates by host #

Resuming into a same-named repo from a different host can now be labelled host/repo to tell them apart.

Under the hood · Sessions

Internal Changes

32 items

bun:ffi dropped for native Bun and process APIs in three low-level paths #

Low-level process and hardening paths now use built-in APIs instead of loading system libraries.

Under the hood · Elsewhere

fast_mode_disabled_reason on turn-completion telemetry #

Turn logs now record why fast mode was skipped, such as env setting or model not allowed.

Under the hood · Telemetry

Telemetry string extractors routed through a sanitizer #

Error names and file positions pass through a sanitizer before telemetry; nothing changes for you.

Under the hood · Telemetry

command_lifecycle telemetry description covers interrupt-driven queue sweeps #

Queued commands can now be marked cancelled when an interrupt sweeps the queue.

Under the hood · Telemetry

Cross-session safety rule wrapped in a named tag #

A safety rule in the auto-mode prompt got a wrapper tag; the rule text is unchanged.

Under the hood · Permissions

Version bumped to 2.1.219 #

The version you see in --version and bug reports is now 2.1.219.

--version
Under the hood · Elsewhere

Turn state extracted into a reusable factory #

The per-turn bookkeeping in the query loop was restructured with no change you can see.

Under the hood · Elsewhere

Fast mode disable records a source and a new reason #

When fast mode is switched off, it now records why and where from, including hitting extra-usage limits.

You'll notice · Models

Screen-reader renderer tracks an anchor state #

Screen-reader output tracks one more piece of state to decide what to redraw.

Under the hood · Elsewhere

Compaction hook plumbing reworked #

Automatic compaction passes more context when rebuilding attachments and handles failures on a dedicated path.

Under the hood · Compaction

Memory-directory edits get more telemetry and cache invalidation #

Editing files in your memory directory now clears stale caches right away, so changes take effect sooner.

You'll notice · Memory

New "engine" prerelease channel recognized for worker respawn #

Background workers now recognise a second build channel and won't respawn themselves across channels.

Under the hood · Elsewhere

Dangerous-delete detection uses a prebuilt regex #

Permission checks for risky delete commands do slightly less work each time, with identical results.

You'll notice · Permissions

Engine builds recognised by the version-timestamp parser #

Build-age checks now read timestamps correctly from a second class of internal builds.

Under the hood · Elsewhere

Workshop and sidecar slug state now propagates out of forked agent contexts #

Subagents can now pass workshop and sidecar tracking state back to your main session.

Under the hood · Elsewhere

Daemon supervisor staggers child spawns #

The daemon now starts its child processes two seconds apart instead of all at once.

You'll notice · Elsewhere

Teleport repo-mismatch telemetry records where the check ran #

Repo-mismatch warnings now record which check caught the problem, for diagnosis.

Under the hood · Telemetry

Telemetry ids validated before sending #

Analytics ids are now filtered to safe characters before being sent, with no change you'll see.

Under the hood · Telemetry

Remainder of this group is minifier churn, not behaviour #

Most changes here are renamed internals with identical behaviour, including unchanged upload and watcher limits.

Under the hood · Elsewhere

Artifact review-page validator takes a single options object #

The PR-review page validator was reshaped to take one options object; behaviour is identical.

Under the hood · Artifacts

Bug-report telemetry values now pass through redaction helpers #

Bug report data now goes through the same scrubbing as other telemetry before being sent.

Under the hood · Telemetry

Sessions record a parked job id #

Sessions now remember which background job they were handed off to, and validate their timestamps more strictly.

Under the hood · Elsewhere

Wildcard URL patterns parsed through a dedicated helper #

Wildcard URL patterns are now parsed by a shared helper, including odd cases like a wildcard in the port.

Under the hood · MCP

New transcript helper for unresolved tool_use lookups #

Looking up an unfinished tool call in the transcript now logs a warning instead of erroring out.

Under the hood · Elsewhere

MCP error escaping, typed telemetry ids and shared version normalisation #

MCP server error lines are escaped before display, plus minor telemetry and version-string cleanups.

Under the hood · MCP

Artifact publish options moved to an options object #

Artifact publishing takes cleaner options and can report which sidecar types were refused.

Under the hood · Artifacts

Daemon peer-uid lookup moved to a Bun API #

The background daemon uses one runtime call to identify socket callers on Mac and Linux; Windows still unsupported.

Under the hood · Elsewhere

Upgrade prompt from the spend-limit menu names its surface #

Upgrades started from the spend-limit menu are now labelled with that origin internally.

Under the hood · Elsewhere

Auto-mode permission rules are wrapped in their own prompt tag #

Auto-mode permission rules are now wrapped in their own tag inside the prompt.

Under the hood · Permissions

Fast-mode availability records how it was derived #

When fast mode looks unavailable, the cache now records whether that was a guess or confirmed.

Under the hood · Models

Dev and engine build versions collapsed before telemetry #

Internal build versions get trimmed before metrics are sent, so daily builds report one value.

Under the hood · Telemetry

Telemetry values routed through explicit sanitiser wrappers #

Telemetry values now pass through marker helpers that declare them safe; nothing sent actually changed.

Under the hood · Telemetry

Removed

2 items

Memory push-suppression state removed #

Failed memory pushes no longer stay suppressed for your whole session; retries resume normally.

You'll notice · Memory

Org public-projects memory kind dropped #

The org public-projects memory option no longer appears when choosing where memory is stored.

/config
You'll notice · Memory