Some auto-compact failures no longer count toward stopping retries#
Auto-compact now counts some failures separately, so those failures do not push it toward giving up as quickly
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 →Auto-compact now counts some failures separately, so those failures do not push it toward giving up as quickly
A permission dialog now checks the number key you pressed, and its option 1 appears only under an extra condition
Unclear Which permission dialog this is, and when its option 1 is shown, is not clear.
When a server rejects a request because an old credential was used, Claude Code now skips its refusal and retry handling
When Claude Code keeps a first model response, tool requests that already have results are skipped instead of queued again
If a fallback file write fails partway, Claude Code now tries to restore the original file and says where the new content was saved
Claude Code now checks TZ for UTC, opens one connection unshared, marks 401 download failures, and keeps file dates in backups
The check for project memory in sessions reached through the remote bridge now gives a yes or no answer instead of stopping with an error
Unclear It is not clear whether project memory now works in bridged remote sessions or is still unavailable there.
If a remotely supplied plugin list is missing or is not a list, Claude Code now treats a plugin as not on it instead of failing
Claude Code now ignores a settings file change only if the file still holds what it wrote, so a quick edit by someone else is picked up
When Claude Code joins an MCP tool's result into text, it now keeps only the text parts and skips images and other non-text parts
Claude Code's git diff --shortstat and --numstat calls now end with --, so a branch or ref name cannot be read as an option or path
When reading shell commands, Claude Code now treats a backslash before a double quote or a line break the same as before a backtick, $ or backslash
Claude Code now edits a copy of a system message when it rewrites one, so the original earlier in the conversation stays unchanged
If Claude Code cannot read a file to show its change for approval, the action is now refused with an error the model sees
Background shell commands now skip an output-size check while the last one is still running, and delete spare output files at once
Claude Code now shows the "Pro" plan label for any account with Claude Pro, without an extra check that could hide it
3 more of these are in What probably matters to you, on page 1.
A new cache reuses earlier message normalization to keep the prompt cache prefix stable, controlled by CLAUDE_CODE_NORMALIZE_PREFIX_CACHE and a self-check
Several new tengu switches controlled from Anthropic's servers appear, two older ones are dropped, and a cloud transcript-repair check is gated
Unclear It is not clear what any of these switches control, including whether the /web-setup tip still appears.
Behind a switch that is off by default, the Claude API skill suggests signing in with ant auth login before an API key, and never asks for keys in chat
Behind a switch, some Projects writes and deletes skip blanket allow rules and warn that Claude may be acting on text someone else wrote
A new remote switch controls how Chrome browser tools are recognised; with it off, the old behaviour stays in place
Unclear What Claude Code does differently with Chrome tools once the switch is on is not clear.
Behind a switch that is off by default, relative image links in replies can now trigger the reminder to send the file
Claude Code can now pick out server errors marked x-should-retry: false, behind a setting that is off by default
Unclear What Claude Code does differently when it recognises one of these errors.
Behind the tengu_candid_ledger flag, some read results, including failed projects-context reads, can carry a new inItsPlace field
Two new remote switches were added; both default to off, and what they control is not yet visible
Unclear What either switch controls is not known, so it is unclear whether anything a user can see depends on them.
Claude Code reads one more on or off switch from Anthropic's server alongside an existing group, and it stays off when no value is sent
Unclear What this switch controls is not shown.
4 more of these are in What probably matters to you, on page 1.
A revised EndConversation tool prompt and hint wording now sit behind a flag check, with new pinned-value slots to carry it
Unclear Whether the revised text is used depends on a setting whose default is not stated.
On Linux and WSL, Claude Code can now check what kind of filesystem a path is stored on, and treats a failed check as a match
Unclear What Claude Code does differently when a path matches the list is not stated.
The remotely controlled way of turning on skill proposals now goes through a separate check, and CLAUDE_CODE_SKILL_PROPOSALS still works
Unclear It is not clear whether the new check still depends on that server switch, so whether more or fewer people get skill proposals.
Behind a switch, creating a sparse worktree checks its folders and prepares files in a temporary git setup before installing them
Unclear Whether the new sparse worktree setup is switched on by default is not known.
The quota warning tied to resuming a session now reads its settings from a remote switch and can estimate quota use per million tokens
Unclear It is not clear whether the per-million-token estimate is shown to users anywhere.
Claude Code gains an error for writing over a document that is not in view, and new names tied to config files and --print refusals
Unclear What these names actually change in practice, or when you would hit them, is not stated.
The buffer that sends streamed replies to remote sessions gains its own timing for thinking text, an immediate thinking start and a first-frames wait
When a workflow task ends, its final progress rows can now be passed on as workflow_progress and workflow_progress_omitted, behind tengu_rippling_orbit
Unclear Which app shows this information, and whether you can see it at all, is not clear.
Slash commands can now mark their output as display-only, so it is shown to you without being sent to the model
Unclear Which slash commands use display-only output.
Claude Code's analysis of shell commands now looks for an opt-out word after the command and records a match
Unclear What the opt-out word is and what it changes about how a command is handled are not stated.
Under a certain condition, Claude Code now saves a feedback bundle even where it used to stop because feedback was disabled
Unclear What condition lets a bundle be saved while feedback is disabled is not known.
A remote setting can move the Chrome tool's instructions note to the end, and a remote switch now controls one deferred tool
The deferred-tools update now splits removals by cause, restores denied tools, and can mark denials even when its flag is off
Unclear Whether the split by cause and the restoring of denied tools are switched on by default is not stated.
Claude Code's summary of what a shell command may have changed now separates writes, git records and MCP calls into more detailed labels
Unclear Where this summary is shown to the user is not stated.
Claude Code now has a separate "shell_in_plan_mode" reason, and treats plan mode and dontAsk mode as one group
Unclear Whether this changes which shell commands are allowed or asked about in plan mode is not clear.
Claude Code's tracking of when the prompt cache stops being reused now fingerprints each setting separately and drops a system prompt comparison
When the Write or Edit preview hits an unexpected file-reading error, the error is now handled together with the file's path
Unclear Whether the error message you see now actually names the file is not confirmed.
An internal marker for whether an agent has a when-to-use description now tells missing apart from empty and filled in
Claude Code now runs an empty notification handler each time one part of the screen redraws, with no visible effect
Usage reports about skill updates now include how many edits were made, and a file-refetch report drops two fields
Successful shell commands that run video tools such as ffmpeg, blender or manim now send a usage record naming the tool
In some Anthropic-hosted cloud sessions, Claude Code now samples its processor use by thread and reports it with each turn's timing data
Claude Code now recognizes remotion, hyperframes, manim, blender and ffmpeg in commands, plus video file extensions
Unclear What Claude Code does once it recognizes one of these tools is not stated.
Claude Code's tracking of typed prompts now keeps a separate list of automatic retry messages and treats voice-call input differently
Unclear It is not clear what this prompt record is used for, or how a reader would reach voice-call input.
Remote sessions now count when a queued mid-turn nudge is read, and whether it was a person's turn at the time
Claude Code's list of allowed usage-reporting event names loses one about loading assistant history and gains a different one
In headless runs, Claude Code now reports how many entries were dropped from each turn's list of denied tools
When an auto mode rule shaped a permission decision, Claude Code's usage data now records which rule it was and which list it came from
Claude Code's tracking of repeated Bash commands now also logs line hashes, MCP calls, git record counts and two new fields
Claude Code now reports how much of a transcript it scans when resuming a session, along with other resume details
Claude Code reports a new detail at startup and three new kinds of usage event, and stops reporting one about uploads
Claude Code now starts a processor-time meter at startup, before it reads its command-line options
Unclear What the meter records, and whether it is reported anywhere, is not known.
Claude Code now sends a usage report counting MCP server questions that are waiting for your answer
The list of tools used that Claude Code reports can now mark which ones came from MCP servers
Tool usage reports gain timing fields, a few failure names are added, and two reporting names are removed
Claude Code can now time how long uploads and telemetry flushing take, though this does nothing unless timing is switched on
With CLAUDE_CODE_REMOTE or CLAUDE_CODE_EMIT_STARTUP_TIMING set, startup timing now notes the longest hook setup time for each origin
Claude Code keeps new internal records about blocked claude.ai connectors, skipped connector lists and container restarts
Resumed sessions can load from storage, voice calls count as non-human input, and stop requests can now name tasks
When Claude Code judges a rewind limit, it can now also ask the model for the next turn, sharing one time budget
Unclear It is not clear what the rewind-limit check decides or how a reader would notice the second model being asked.
When Claude Code delivers waiting messages while idle, it now takes an extra step if any message's origin is not verified
Unclear What the extra step does with a message whose origin is not verified is not known.
Claude Code now records a server signal that a remote tool container was replaced or restarted
Messages that arrive from connectors or from other sessions now record a session activity marker, and user messages note when they came from a connector
When a worker announces itself, the reply now gives the compatible protocol version, or null if the protocol is not compatible
Claude Code now strips resume-head-vouch entries from the transcript, as it already did for repl-mode entries
Claude Code no longer includes the file_attachments field when it sends an event to a remote session
Unclear It is not clear whether attached files now reach remote sessions by another route or no longer reach them at all.
The saved-session loader has a new mode that skips two diagnostic reports, and rewind records now note where the cut was made
Unclear It is not clear whether resuming a session after a rewind now continues from a different point.
Channel messages now always include the list of tools used, where a check could skip it before
When a session is loaded, Claude Code now marks it as a fork or as your own session
Unclear What loading in fork mode does differently is not known.
In remote mode, a rewind waiting behind a stopped turn changes when your typed line is held, and SDK MCP requests can wait briefly
Unclear Whether a typed line is now held or now let through while a rewind waits behind a stopped turn is not clear.
When Claude Code fails to prepare its transcript replay index for a reason other than a missing file, it now logs and counts the error
The step that fetches a remote session's log from the server has dropped an optional setting it used to pass on
Claude Code adds a new switch among its VS Code settings that is on unless it is turned off remotely
Unclear What this switch controls in VS Code is unknown.
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.
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?