A new feature check relies on a remote switch#
Claude Code adds a check that depends on a remotely controlled switch, and what it controls is not shown
Unclear What this check controls.
You can now send a session's work to a claude.ai Project with the new /send-to-project command. It drafts a brief of your session and sends it only after you confirm. A new setting, blockWritesOutsideWorkingDirectories, stops Claude's file tools from writing outside your working directories. It applies in every permission mode. Setting responseComparisonEnabled to false stops Claude Code from asking you to pick the better of two answers. Other shipped changes include CLAUDE_CODE_UPFRONT_TOOLS, which loads the tools you list at the start.
This build holds 18 things that are not switched on yet. Part of that work prepares a live preview of remote-controlled sessions. Remote sessions are also gaining a long-polling fallback for when a stream goes silent. Another change lets a remote session skip downloading a file it already has. Claude Code can fetch a model-sized copy of large uploaded images, behind a setting that is off by default.
Among the fixes, a resumed session that had already finished replying is no longer told to continue. Claude Code stops re-sending an MCP sign-in token the server already rejected. It can also recover from more 401 errors by reconnecting. If moving a session to the cloud fails, the text you had typed now comes back. A failed startup now shows a message beginning "Claude Code could not start:" instead of an unhandled error. Vim mode handles dw, cw and pasting over a selection more correctly.
Written by our agent from the shipped bundle, not by Anthropic.
/send-to-project drafts a brief of your session's work, or one message, and sends it to a new or existing claude.ai Project after you confirm
blockWritesOutsideWorkingDirectories stops Claude's file tools writing outside your working folders and protects settings files, but is not sent to remote runs
A new responseComparisonEnabled setting lets you stop Claude Code showing two answers to one message and asking which is better
Settings & configCLAUDE_CODE_STREAM_EVENT_HOLD_MS and CLAUDE_CODE_STREAM_EVENT_MAX_LINE_BYTES let stream-json output hold and join partial-reply lines
A new Bedrock guardrail_trace option requests guardrail traces and records which filters fired, with trace rows from the gateway proxy
Want the reasoning? Read walks the 28 entries that probably matter to you, each one opening to what changed and why.
Read this release → Every row →2 more of these are in What probably matters to you, on page 1.
Claude Code adds a check that depends on a remotely controlled switch, and what it controls is not shown
Unclear What this check controls.
The value Claude Code uses for one server-controlled switch when the server sends nothing changed from true to the number 8
Unclear It is not known what this switch controls, so the effect of the new fallback on users is unclear.
A new server-controlled switch sits beside new code that spots attachment markers and combines incoming messages
Unclear It is not known what this switch turns on or what the new message handling changes for users.
Claude Code now reads a new remotely set switch that falls back to on, though what it controls is not visible
Unclear It is not known what this switch controls.
The rule that rewrites the Authorization header on Claude Code's requests now has a version for a second kind of request as well
Claude Code now contains the name of one more switch Anthropic's server can set, with nothing showing what it controls
Unclear What this switch controls, and whether anything in Claude Code uses it yet, is not stated.
Claude Code now adjusts keep-alive and timeout settings on a network connection when it is set aside and again when it is reused
After you sign in, Claude Code now waits to fetch its remotely controlled settings when the ones it has came only from disk or a fallback
The library used to check a certificate against its key is now loaded only when a check runs, not up front
A group of remote switches gained an empty leftover entry that adds no switch and changes no behaviour
Remote sessions now keep a list of foreground tasks alongside background ones, and a new instruction tells Claude to wait for results it needs
Unclear What decides whether the new instruction to wait for results is used is not shown.
Remote sessions can hold streamed output until there is activity, and gain a setting for how often tool input is sent on
Registering a folder accepts an optional asker name and reports when a different asker already registered that folder
Unclear It is not clear which Claude Code feature offers this folder registration action, so readers cannot tell whether they can use it.
Dialogs for continuing work in a project, such as choosing which project a session is sent to, now have notification text
Unclear It is not shown whether the projects feature these dialogs belong to can be reached by readers yet.
When a remote session shuts down, Claude Code can stop sending new status updates while still sending the session details it owes
The part that streams events to remote viewers gained settings for timing and sizing tool input as it is sent
When a remote session's status uploader closes, late status updates are dropped rather than retried, and the final flush reports whether any were lost
Remote session workers stop waiting for stored state once registered, and skip background monitor socket tasks when uploading
Unclear Whether these changes are switched on for every remote session is not clear, as the start-up change sits behind a setting.
Claude Code changes how it stamps and orders the events it sends to the live view of a remote session
Unclear What a person watching a remote session sees differently, and whether this is active for them, is not known.
Claude Code's display for a remote session now tracks the current turn as seeded, in progress or none, and clears it on reconnect
When a tool call is cancelled remotely, Claude can now receive a different rejection message from the usual one
Once a scoped prompt cache has been refused, Claude Code now sends caching instructions without the scope
In one mode, session stats now count added and removed lines by comparing line sets, and skip counting shell commands
Unclear Which mode switches on the new counting is not stated.
When Claude Code re-sends tools it loads on demand, it now also passes along whether the request asks for search citations
Unclear It is not clear what passing the citation option changes in Claude's answers.
Every result of sending feedback now includes a request ID taken from the server's reply
Unclear Whether the request ID is ever shown to you is not known.
Claude Code now hands the origin of each incoming message to the part that runs the conversation turn
When sending a feedback draft fails, Claude Code's usage report now includes the HTTP status code and request ID where available
The rule for when an output style shows its waiting reminder has been rewritten, including when a task runs in the background
Unclear It is not clear which modes or situations now show or skip the waiting reminder.
When a reply hits the output length limit, Claude Code now continues it with one fixed prompt instead of remotely tuned ones
A cancelled tool call now records that it was cancelled, and the warning for a blocked subagent report comes from shared wording
The cleanup that runs after the Chrome install dialog now catches its own failures more reliably
Claude Code's list of API call labels gains entries for retrying under an organisation effort cap and for a signed peer send
Claude Code can now turn off citations on search results inside user messages and tool results
When Claude Code rewrites a request before sending it, it now first collects the names of the tools in that request
Unclear What this changes for a reader is not known.
When a request sent to the API in pieces delivers the wrong number of bytes, Claude Code now logs an error with the status
When Claude Code catches a wrongly built request before sending it, it now logs an error as well as counting it
Whether the citations field is kept in tool definitions is now decided by each request instead of one global check
When compressing a request before sending it fails a check, Claude Code now logs a warning or error as well as counting it
Claude Code stores a ticket the server sends in an MCP response header and resends it on later requests while it stays valid
When an MCP tool call fails because the server behind it cannot be reached, Claude Code now logs a warning
The note Claude gets when its available tools change now lists replaced tools in their own section
A resource named in a skill's list now counts as listed only if a further check passes; otherwise Claude Code treats it as unlisted
Unclear What the new check tests, and so which resources it affects, is not stated.
Claude Code now records rejected and saved sign-in tokens for MCP servers, apparently so it can reconnect without a rejected token
Unclear It is not clear whether Claude Code now actually retries without the token after a rejection.
When Claude Code migrates older MCP settings, it can now overwrite who a setting belongs to instead of keeping the old record
The check deciding whether a task can reconnect to its MCP server after the server's setup changed works differently now
Unclear It is not clear which setup changes now allow or block a task from reconnecting.
Claude Code can now mark certain MCP tools as coming from the remote session when permissions are checked, controlled by two server switches
Unclear What marking a tool as coming from the remote session changes about its permission prompt is not stated.
Permission checks now pass along whether a question can only be answered by a person, which changes the flow in some cases
Unclear It is not clear what the new signal does, so whether you will be asked more or less often is unknown.
Records of refused tool calls now also note whether the refusal came after the tool ran and whether it came from the host
Claude Code's internal permission reporting now sorts two more kinds of decision under a new label for blocked outside writes
Unclear Which permission decisions produce this label, and whether it reflects a new block on writes outside the project, is not clear.
If a permission policy cached for the session was loaded from disk without being checked, Claude Code now reloads it
Unclear Which policy feature this cache belongs to is not known.
place call in their interface tools#The interface tools offered to plugins gain a place call that takes an id
Unclear It is not clear what place does on screen or whether every plugin can use it.
Claude Code can now show a system message marked as placed in the conversation
Unclear It is not known what produces a placed message or what it tells the reader.
Claude Code now records how large downloaded plugin zip files are, with a separate count for Anthropic's own catalog
When a plugin's attribution data cannot be read, Claude Code now marks it as unreadable instead of treating it as empty
When a plugin attribution file can't be read or isn't valid JSON, Claude Code now marks it unread instead of treating it as empty
Claude Code can now label a model's details as self-described, and checks for this before the served catalogue
When its first source has no answer, Claude Code checks a second one to find a model's context window and whether it has 1M tokens
Unclear It is not clear what the two sources are, so which models now count as 1M-context is unknown.
When a model name is an override, Claude Code now skips its first lookup when finding stored details about that model
Claude Code now carries another copy of its Claude 3 model list and the check for whether a model falls outside it
Unclear What this check changes when one of these models is in use is not shown.
The account tier grace-period check was reworked, and logging out now clears a record of the managed-settings notice for your organization
Unclear It is not clear whether any of this changes what a user sees.
When Claude Code skips sign-in recovery because the program hosting it supplied the token, it now reports that as its own reason
One-hour cache idle compaction is now always on in code; keepalive is set by a single remote setting that is off by default
When a compaction retry gives up, Claude Code now records a count of leave-out passes alongside the count of times it cut the start of the prompt
Unclear It is not clear whether this reflects a new compaction fallback that leaves parts of an over-long prompt out, or only a change to what is recorded.
The report sent after compaction can now say that a reply was kept and sent, rather than left unanswered
When gathering hooks, Claude Code can now keep only prompt-type hooks from skills that are not active, instead of keeping or dropping all of them
Unclear It is not stated what turns on this filtering or what the further check on each hook tests.
When a tool call needs approval because of a hook, Claude Code now notes whether only a before-tool hook caused it
On resume, session start hooks can be held until something else finishes, and their startup timing is measured from then
Claude Code now sets CLAUDE_CODE_BRIDGE_CHILD_CLI_ENTRYPOINT=1 for some helper processes it starts, and clears it otherwise
Unclear Nothing shows what the variable changes in the helper process.
The bridge's quick-start path now marks its launch as one with no dialogs before it loads its policy
Unclear Which dialogs are skipped once a launch is marked this way is not shown.
A configuration format that already accepted shell and sources now also accepts optional inBackground and asksWhichCopy fields
Unclear Which configuration this is, and what each new field does when set, is not clear.
Resetting trust for a stored copy now clears any earlier refusal as well, so you get asked again
Claude Code now works out differently which project and local settings files, such as .claude/settings.local.json, need a trust warning
Unclear Whether this changes which settings files trigger a trust prompt is not known.
Claude Code now keeps a count of things claiming number keypresses, which suggests the prompt box may not always receive them
Unclear Whether this changes how number keys behave for readers is not shown.
Colouring code in replies can now be handed to a separate worker instead of always running in the main process
One of the checks that decides whether to skip terminal title handling no longer reads CLAUDE_CODE_DISABLE_TERMINAL_TITLE
Unclear It is not clear whether setting CLAUDE_CODE_DISABLE_TERMINAL_TITLE still fully disables terminal title updates.
Claude Code now recognises messages marked as relayed from a coordinator agent and passes them on with a note and thread time
Cleanup of leftover team folders now runs its two steps one after the other and ignores any failure
When Claude Code skips the artifacts server, the recorded reason now names the cause, such as an admin policy or a deny rule
When reading Artifact comments, Claude Code now looks for a single comment thread before a list of threads
Claude Code now accepts an optional file_upload_path field that must begin with a single slash, and ignores invalid values
The server setting behind Claude Code's file and image download experiment now accepts a fourth mode, tell, alongside on, count and off
Unclear What the new tell mode does differently for file and image downloads is not known.
In auto mode, a write is no longer treated as safe if its real path is not on the list of paths that were reviewed
Unclear It is not clear whether the list of reviewed paths is ever passed in, so the new check may not run yet.
When auto mode stops because it is unavailable, the usage report Claude Code sends now includes the reason
Claude Code can cap the effort level of messages from the start of the latest turn onward, leaving earlier messages unchanged
Unclear It is not clear what sets the effort cap or whether a user can set it.
The hint for the effort or mode argument and one help line now write the word auto directly
Helper agents that Claude Code starts from the current conversation can now be made to use a particular tool
Unclear Which features use this, and so what it changes for a reader, is not clear.
The subagent budget mode set by CLAUDE_CODE_CALM_MOCHI or the server is now read each time, so it can change during a session
Claude Code now checks verdicts on a workflow's structured output and records the outcome, such as flagged or changed by a hook
Unclear Whether a flagged verdict replaces the workflow's output or is only recorded is not settled.
When a workflow agent finishes, Claude Code now reviews its report of the tools it used, even if it never used the handback tool
Unclear It is not clear what switches this handback behaviour on for an agent.
The instructions Claude Code builds for summarising a fetched web page can no longer ask for a reply under a set number of words
Published verbatim by Anthropic for v2.1.314. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.
Of these 119 bullets, 22 name something an entry on this page also names, 34 name something no entry here does, and 63 name nothing specific enough to line up either way. The pairings are made on names both sides wrote down, a flag or a setting or a slash command, so read one as probably the same thing rather than as a fact, and read the middle number as candidates rather than as a miss count.
permissions.blockWritesOutsideWorkingDirectories: Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode
Probably settings-can-block-writes-outside-the-working-directories groups list to Claude apps gateway upstreams: only developers in the listed IdP groups are sent to that upstream, on failover too
Nothing to match on guardrail_trace to Claude apps gateway Bedrock upstreams, to log which Amazon Bedrock guardrail filter fired on a request, without the matched text
Probably telemetry-additions, bedrock-gateway-can-send-trace-header, gateway-config-upstream-groups-and-bedrock-guardrail-trace claude -p exiting with code 0 and no output when startup failed; it now prints the error and exits 1
No entry names this /compact with "400 Input is too long." instead of removing older images and compacting
Probably auto-mode-new-denyask-messages-and-fallback-reason-when-lo #99859[BUG] Bedrock "400 Input is too long." (oversized image payload) isn't treated as request_too_large, so the session is stuck for good Open
tool_reference blocks: the request is sent again once without tool search, and the session remembers
No entry names this UNABLE_TO_GET_ISSUER_CERT when the system certificate store holds a renewed root certificate that is cross-signed with its predecessor
No entry names this #103684[BUG] [Windows] UNABLE_TO_GET_ISSUER_CERT with system cert store behind TLS inspection, while identical setup works on another machine Open
claude mcp logout reporting success when the MCP sign-in was not removed, for example while the macOS keychain is locked over SSH
No entry names this claude ultrareview and claude remote-control asking the workspace trust question in a CI job that has a terminal; with CI set they now refuse an untrusted folder at once
No entry names this --plugin-dir or --plugin-url plugins had a broken manifest or failed to download
Probably plugin-and-agents-flags-startup-failure-handling-and-migrat forceRemoteSettingsRefresh set only in remote managed settings no longer applying once the stored copy had expired, which let sessions start without policy when the server could not be reached
No entry names this /btw answering from the main conversation when asked from a subagent's open transcript
Probably btw-side-questions-can-target-a-named-agents-transcript #105307[FEATURE] /btw while viewing a subagent silently answers from the main conversation (no notice, unlike /model, /compact) Open
claude remote-control sessions that failed to start when the session service was slow for a moment: the worker's registration is now retried with growing waits
No entry names this sandbox.excludedCommands setting description saying listed commands always run outside the sandbox; it now says every command in a call must match an entry
No entry names this #105115update-config: say that sandbox.excludedCommands matches only a single plain command Open
claude -p --resume or --continue
No entry names this --setting-sources still supplying some settings, such as auto mode rules and saved permission consents
No entry names this /permissions, when its safety check gave no verdict
Probably auto-mode-denial-notification-reworked-counts-repeated-bloc, permissions-dialog-recently-blocked-tab-handles-mid-turn-an /upgrade opening the browser and starting a new login for plans billed through the App Store or Google Play; it now says where to change the plan
Probably subscription-billing-via-app-store-google-play-upgrade-n --resume, and rewinding past a switch to another model after a refusal, moving a session on a model name Claude Code doesn't recognize to a different model
No entry names this claude-opus-4.8, being treated as an older model with the wrong context window, output limit, effort, thinking mode and cost
No entry names this ⎿ rows in the transcript view (Ctrl+O)
Nothing to match on dw, dW, yw and yW carrying on past the end of the line, and made w and W stop on empty lines
Nothing to match on p over a character selection ignoring whether the yanked text was whole lines
Nothing to match on aw and iw taking the line break at the end of a line
Nothing to match on /btw, also interrupting the subagent whose transcript is open
Probably btw-side-questions-can-target-a-named-agents-transcript #100603[BUG] Pressing "Esc" in a subgents's /btw call also cancels the subagent itself Open
<bash-stdout> or <local-command-stdout> not being acknowledged to a local stream-json host
No entry names this ~/.claude/skills/.trash, which added file system load that grew with each removal
No entry names this /config are hidden or your organization has turned off Remote Control
Probably unattended-commands-hint-reworded-for-auto-mode-and-sandbox, config-in-agent-view-gives-a-hint-about-defaulttoagentsview ~/.claude/skills/.trash and ~/.claude/plugins/.trash growing without limit: each now holds about 1024 entries, whatever cleanupPeriodDays says
No entry names this [Pasted text] pills
No entry names this /design-sync upload prompt to show the folder, the project and the files it will upload or delete
No entry names this /permissions review tab, now called Recently blocked: the footer says what Esc will do with marked rows
Probably auto-mode-denial-notification-reworked-counts-repeated-bloc, permissions-dialog-recently-blocked-tab-handles-mid-turn-an /permissions to review
Probably auto-mode-denial-notification-reworked-counts-repeated-bloc, permissions-dialog-recently-blocked-tab-handles-mid-turn-an claude auth login
Probably login-now-checks-the-organizations-config-before-saving-a-s apiKeyHelper
No entry names this /config in agent view to say how to stop agent view opening by default
Probably unattended-commands-hint-reworded-for-auto-mode-and-sandbox, config-in-agent-view-gives-a-hint-about-defaulttoagentsview /security-review now gets a title from it instead of staying untitled
No entry names this --resume speed and memory use on damaged transcripts
No entry names this /context speed in sessions with ten thousand or more MCP tools
No entry names this /claude-api skill: its Datadog setup for API tracing now sends the dd-llmobs-enabled: true header, as the Console does, and its ant install instructions drop the outdated macOS xattr step
No entry names this /ultrareview to check workspace trust before it runs git, as claude ultrareview does
Probably ultrareview-refuses-to-start-in-untrusted-workspace-it-canno which alias or function and to stop passing exported which/unsetenv functions to commands, so which is the system command or zsh builtin
Nothing to match on /permissions Recently blocked to refuse approving a call you can't read in full, including one the terminal is too short to show
Probably auto-mode-denial-notification-reworked-counts-repeated-bloc, permissions-dialog-recently-blocked-tab-handles-mid-turn-an if conditions such as Monitor(tail ) to match the Monitor tool's shell commands as Bash(tail ) matches Bash's
No entry names this claude-api skill to ask to read a Managed Agents workflow run's workflow before changing the agent to improve that run
No entry names this ANTHROPIC_DEFAULT_OPUS_MODEL, availableModels or deniedModels leaves only an older Opus model, or none
Probably opus-availability-check-exempts-the-current-model, model-alias-and-override-resolution-reworked-with-model-ove FORCE_HYPERLINK=false (also no and off) to turn hyperlinks off instead of on
No entry names this git grep in most commands that Claude runs to use the C locale, to avoid a reported memory leak in macOS's regex library on files that aren't valid UTF-8
Probably macos-only-shell-shim-reroutes-git-grep-to-run-with-lc-al CLAUDE_CODE_DISABLE_CFC_PROMPT to also stop the extension adding the Claude in Chrome instructions to a session's messages; the browser tools stay available
Probably claude-code-disable-cfc-prompt-is-reported-to-hosts @Claude !restart giving up after one failed workspace check in channels shared across Enterprise Grid workspaces; it now retries, then asks you to run it again
No entry names this A model matched these bullets to the GitHub issues they fix, so a link can be wrong.
1 prompt changed.
Claude Code, interactive mode
13 prompt changes in this release could not be quoted from the build, so no entry on this page describes them.
646 documentation changes were recorded within 24 hours either side of this release, nearest first. The closest 12 are below. They're here because they happened near this release in time. That's not a claim that this release caused the edit, or that the page documents anything in it.
The 64 literal strings found in the bundle, with the number of entries that name each one. Picking one searches for it. A name is here because this build's code mentions it, which is not the same as it working or being finished.
What's wrong with this entry?