Background process monitor now spots browsers and ffmpeg by process name#
Claude Code's background process monitor now recognises browsers and ffmpeg by process name and sorts commands using parsed shell commands
You can now load claude.ai connectors while signed in with an API key by setting CLAUDE_CODE_I_ACCEPT_CROSS_ORG_DATA_RISK. Claude Code shows a warning when you do this. On macOS, setting CLAUDE_CODE_NATIVE_APP_BUNDLE lets the native updater install Claude Code as a signed claude.app bundle. A new takesMcpToolHooksOnConnectors setting lets MCP tool hooks run on connector servers. In-process SDK MCP servers marked as modern now connect by skipping the setup handshake. This release has 480 entries, and 330 of them are usable today.
There are 13 entries in the build that are not switched on yet. Giving claude.ai connector tools a local file path, so Claude Code uploads the file itself, is off by default. A rewind for pending turns sits next to the Esc take-back handling, but its actions do nothing yet. Claude Code can tell the model which Claude app your message came from, such as iOS, Android, desktop or web. Reusing earlier messages to keep the prompt cache intact is controlled by CLAUDE_CODE_NORMALIZE_PREFIX_CACHE. Several new server-controlled switches arrive, including ones for Projects write warnings and Chrome tool recognition.
/autofix-pr now always starts a cloud session. Plugins that call ui.backdrop will break, because that method is gone. Many SDK session-control methods are removed, including the sign-in, MCP server and plugin reload ones. Claude in Chrome no longer offers shortcuts_list or shortcuts_execute for running browser shortcuts. Auto-compact now counts some failures separately, so it gives up less quickly. Refusals caused by an old credential no longer trigger retries.
Written by our agent from the shipped bundle, not by Anthropic.
The earlier-subagents list now falls back to on without a server value, and a new CLAUDE_CODE_CRYPTIC_HORIZON variable takes over one of its checks
Sessions & agentsCloud sessions can skip rereading the transcript on resume via CLAUDE_CODE_CCR_SKIP_HYDRATE_ON_CURRENT_TIP, plus four new stream timing switches
Sessions & agentsAdmins can set pooled_conflict_rule to priority_list with groups in pooled_priority_order, and a list without any group is now rejected
ElsewherePlugins now set and clear a backdrop through theme.set and theme.clear, and the old ui.backdrop method is removed
ExtensionsBehind tengu_mossy_melody, Windows splits Bash commands too long for one argument into pieces, and disableWindowsBashCommandSplit lets admins turn it off
Settings & config/autofix-pr always starts a cloud sessionExtensionsWant the reasoning? Read walks the 57 entries that probably matter to you, each one opening to what changed and why.
Read this release → Every row →4 more of these are in What probably matters to you, on page 1.
Claude Code's background process monitor now recognises browsers and ffmpeg by process name and sorts commands using parsed shell commands
When Claude Code fails to read or parse a file, the result is now marked as failed for now, and some errors also clear the stored copy
Unclear Which files this applies to, and what Claude Code does differently when it sees the marker, is not known.
Claude Code now skips one startup warm-up step in two more situations besides remote sessions
When a reply hits the maximum output length, its error now carries cutInUnfinishedBlock: true to show it stopped partway through a block
Unclear What Claude Code does differently with a reply marked this way is not known.
When rewriting citations, Claude Code now treats messages older than a cutoff time separately and gives them their own list of search sources
When Claude Code unsubscribes from a pull request's updates, the reply now says whether there was a subscription to remove
The note telling Claude which lines you selected in your editor or diff view is now built by a new formatter using the file name
Unclear What the new formatting changes in the text Claude receives is not shown.
The remotely set limits on attachment uploads keep their old defaults, while the upload code was rewritten and gained a new request option
Unclear What the extra option on the upload request does is not known.
widget_id instead of view#A tool for reading MCP widget views renamed its optional input from view to widget_id, which can also come from an earlier answer
Permission rules and tool deferral for MCP tools can now also match a tool's alternative name, when an internal check allows it
Unclear It is not stated what turns on the alternative-name matching or what that alternative name looks like for a given tool.
Claude Code no longer always loads an MCP server's tool list ahead of time while connecting; two conditions now decide it
Unclear What the two conditions check, and so when the early fetch is skipped, is not stated.
Some MCP servers now run a preparation step before connecting, and that time counts against their connection timeout
Unclear Which MCP server configurations get the preparation step is not stated.
The MCP relay can now pass through more methods, with a list naming elicitation, sampling and roots requests from servers
Unclear It is not confirmed that the three named server requests are among the methods now passed through.
When an MCP task's answer is too large, Claude Code now logs whether the size cap, Anthropic's MCP proxy or a closed connection was the cause
Claude Code now records a give-up notice for MCP tasks it stops checking, including when the task was taken back
Unclear Whether you are shown a notice when this happens, and what it says, is not stated.
When an MCP tool call fails and no handler deals with the error, Claude Code now raises an error carrying the message meant for Claude
The check that skips per-server MCP debug log files now reads a stored value instead of reading CLAUDE_CODE_SKIP_MCP_DEBUG_LOG_FILES directly
Unclear Whether setting CLAUDE_CODE_SKIP_MCP_DEBUG_LOG_FILES still turns this behaviour on is not clear.
Requests to the server-side safety check can use a thread type that stores nothing, and a refusal of it is now recorded instead of dropped
Unclear It is not stated what makes Claude Code use the thread that saves nothing.
Claude Code's check for whether its action-safety checker is switched off now also considers whether the call comes from outside auto mode
Unclear What the checker now does differently when it is called outside auto mode is not stated.
The safety check behind auto mode now gets a capped list of events delivered from outside, keeping the newest when space runs short
Unclear It is not clear whether this list is behind a remote switch that is off by default.
Auto mode results can now name the allow or soft deny rule that applied, and a permission check can now report an untrusted folder
Unclear Which folders count as untrusted, and exactly what Claude Code does with settings from them, is not stated.
Auto mode's quick path for approving edits now reports how long it took and when its guess was wrong, and holds some MCP shell calls for a server check
Auto mode's action checker gains options to retry or skip its quick shell-command screen, and gets a remotely controlled switch for MCP tools
The auto-mode rule that treats content under review as data now has extra text added, and results record which rule was cited
Unclear The added wording is not known, so its effect on auto-mode decisions is unclear.
Requests that start cloud sessions now include autofix_on_pr_create when a value for it is set
Unclear Where the value comes from and what it does once a pull request is created is not known.
A list of stage names gains entries for a settings hold, its release, a container restart and an address guard
Unclear It is not clear what the list of stage names is used for, or whether these stages change anything a user sees.
When Claude Code creates a session it now includes an autofixOnPrCreate value in the request
Unclear It is not clear where this value comes from or whether you can set it yourself.
Cloud session workers can now resume from a point in the transcript, retrying without it if refused, and shutdown waits for a bounded time
The reasons a session moved to the cloud may not keep auto mode are now worked out together, with no change in behaviour
The cloud session runner stops sending its debug log to the server on exit; copy it yourself from CLAUDE_RUNNER_DEBUG_LOG_PATH if needed
The setting that decides whether to wake a cloud session after a restart is now read through the same check as the restore step
A feature that was controlled by one remote switch is now controlled by a different one that is off unless turned on from the server
Unclear Which feature this switch controls is not known.
Claude Code has a new server-controlled switch that adds an extra item to an internal list and counts as on when the server sends nothing
Unclear What the list items are, and what the switch changes for a user, is not known.
Behaviour that followed one remote switch is now split: part of it moves to a new switch, and both stay off by default
Unclear What each of the two switches controls is not shown.
Two more remotely controlled switches were added to an existing list, both off unless turned on remotely
Unclear What the two switches control is not known.
Two server-controlled switches are now looked up through a stored name rather than written out, and still count as on when the server sends nothing
Unclear It is not clear whether the stored names are the same switches as before or renamed ones.
When a plugin's hooks file is refused, Claude Code now records whether that file named a module
Unclear What Claude Code does differently when a refused hooks file names a module is not known.
If the claude-platform setting turns out different from its start-up value, Claude Code reloads plugins or tells you to run /reload-plugins
The plugins list request now passes a tasks option along, and MCP connections track a matching tasks setting
Unclear What the tasks option does and whether anything switches it on is not clear.
A plugin update with unresolved dependencies is now recorded separately instead of counting as a plain success
When installing a plugin, Claude Code can reuse a list of installed plugins it already has instead of reading it from disk again
Unclear What a held plugin is, and how its handling differs between the two modes, is not stated.
Claude Code has new, switched-off code for fetching files that connectors offer for download, with the download token hidden
User messages can now be flagged as coming from a connector, and Claude's reminder about MCP App views now lists them by widget_id
Resetting the claude.ai connector list now also clears markers for a list that was skipped or cut by a switch
Unclear It is not clear what switch sets these markers or whether anything a reader does can trigger it.
File details gain a marker for connector files, plus a new reason for refusing a tool result and a new plugin install error label
Unclear How any of these three affect what a reader sees is not shown.
Claude Code now records when a turn was stopped by a permission check, and adds a few new internal cases for limits and MCP blocks
Permission prompts now use a precomputed choice about hiding the always-allow option, and asks reserved for a person now always count
Unclear It is not clear whether the always-allow option now appears more often, less often, or in the same cases as before.
Claude Code now collects its deny rules through a new step, and an added check can end a permission-rule match early
Unclear Whether this changes which deny rules take effect for a reader is not clear.
A note about hooks is no longer passed along with permission decisions, and a rule check now returns a deny or marks the matching ask rule
Unclear It is not clear how these changes alter which permission prompts you see.
The extension pairing link can now pass on outside messages and configuration when the other side says it can relay them
Unclear Nothing shows this being used yet, so it is unclear whether any user can reach it.
Local pairing can now ask the paired side for its bridge identity and logs its extension version and external relay support
A paired connection that ages out now waits while any call is still in flight, including relays through other parties
Unclear Which feature uses these paired connections is not settled.
--include patterns in zsh#In zsh sessions, Claude Code can tell the model to always quote grep's --include patterns, and later tell it the note no longer applies
Unclear Which setting turns the note on is not stated.
The description of your environment that Claude Code gives the model can now include a note about the zsh shell
Unclear The text of the note and when it is included are not stated.
Code that built a prompt ending in "The person asks:" is gone, replaced by a check for whether text starts with a fixed header
Claude Code can now add a text note to the start of certain artifact MCP results, which changes what the model sees
Unclear It is not clear which artifact MCP calls get the extra text, what the text says, or whether anything switches it on.
When subscribing to an artifact, Claude Code now reads the error's code rather than its wording
When a request fails with a 401 error, Claude Code can now stop before refreshing the sign-in token, and some cloud-session calls keep their token
Unclear Which requests skip the token refresh after a 401 is not known.
When Claude Code tries to recover from a rejected login token, a new check can stop it before its last way of getting credentials
Unclear What the new check tests, and so when recovery stops early, is not stated.
When there is no memory to serve a spawned loop, Cowork may now keep the existing memory context instead of withdrawing it
Unclear What a user sees differently in a spawned loop is not clear.
One feature switch now reads a different remote setting, and a second check defaults on only for Cowork sessions running as a local agent
Unclear It is not clear what feature either switch controls.
CLAUDE_CODE_COWORK_PLUGIN_SKILL and CLAUDE_RUNNER_OFFERS_NEW_MACHINE now appear on lists of variables Claude Code passes along
Unclear It is not clear what either variable does or whether setting one has any effect.
ANTHROPIC_CUSTOM_HEADERS and CLAUDE_CODE_EXTRA_BODY are now grouped together#Claude Code now keeps ANTHROPIC_CUSTOM_HEADERS and CLAUDE_CODE_EXTRA_BODY on a shared list of their own
Unclear What Claude Code does with the list, and whether it changes how these variables apply, is not stated.
Under a condition, Claude Code now rejects git repositories with unusual gitdir paths or extra markers
Unclear What turns the stricter checks on is not known.
Claude Code's check on partially downloaded git repositories now reports no promisor remotes in a new case, not only for submodules
Unclear What the new condition stands for, and so which repositories are affected, is not known.
A file watcher in Claude Code now drops a watched file that has been deleted and reports it, instead of leaving a stale watch
Unclear Which feature uses this file watcher is not clear.
When Claude Code marks a file as written by itself, it now keeps a fingerprint of the content as well as the time
Claude Code now always records which tools a conversation used, and fills in that list when a conversation is moved
Unclear The feature check may have moved somewhere else rather than been removed, so whether this tracking runs for every user is not known.
Building the tool list and recording which tools were used no longer depend on a check that used to switch them off
Unclear What the removed check tested, and so who sees a difference, is not known.
Claude Code can now track whether anything is listening to its event stream, and remote sessions recognise a voice-call origin
Unclear Whether any of this is switched on, or changes anything a user can see, has not been determined.
Queued prompts that came from a voice call are now left out of one step of transcript handling, and a bug that checked the wrong message is fixed
The check on a workflow step's structured output now reports no_copy when no written copy exists, and decides the last step differently
Unclear Whether workflows now behave differently, beyond how the check is reported, is not clear.
Workflow agents now track every other tool call when deciding whether a hand-back was refused or properly finished
1 more of these is in What probably matters to you, on page 1.
The browser tools no longer include shortcuts_list or shortcuts_execute, which listed and ran shortcuts and workflows
Unclear It is not known whether the browser extension now supplies these tools instead.
Claude Code no longer carries its long built-in instructions telling Claude how to compose one edit to an artifact
Unclear It is not clear whether artifact editing still works through some other route or has been dropped.
/autofix-pr always starts a cloud session#/autofix-pr no longer has a mode that watches the pull request from your current session, and now always starts a cloud session
An entry for the claim-credit command has been removed from an internal list that sorts Claude Code's commands
Unclear Whether the claim-credit command itself can still be run is not shown.
Trying to stop or delete a session running in another terminal no longer shows a message saying why
Unclear It is not clear whether stopping or deleting such a session is now refused silently or allowed in cases that were wrongly blocked before.
The spinner tip "Build your AI product with Claude API. Run /claude-api" no longer appears for anyone
Unclear Whether the /claude-api skill itself is still available is not shown.
Anthropic has not published official notes for v2.1.319 yet. This section updates automatically when the entry appears in the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.
No change to the system prompt since v2.1.318.
Claude Code, interactive mode
One prompt change in this release could not be quoted from the build, so no entry on this page describes it.
413 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 95 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?