Reworded permission reason for Artifacts actions that need no approval#
The permission reason for Artifacts actions that ask nobody now reads "Nobody is asked about this Artifacts action"
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 →14 more of these are in What probably matters to you, on page 1.
The permission reason for Artifacts actions that ask nobody now reads "Nobody is asked about this Artifacts action"
The model picker now scrolls back to the top when its options change, and effort hints are shown dimmed
The message shown for a rejected action and one other piece of text now use the terminal's dim style instead of a subtle colour
gh pr create matching now covers -R, -F and -H placed first#A list Claude Code matches gh pr create commands against now also catches -R, -F or -H right after gh pr create
Unclear It is not clear whether this list makes Claude Code allow these commands or stop them.
Rows that can expand in the model picker now show an Enter hint to expand or collapse them
Before copying settings.local.json into a new worktree, Claude Code now runs a general write-destination safety check rather than only a symlink check
When connecting through an HTTP proxy, Claude Code no longer reuses pooled connections for the tunnel request
Claude Code now skips a .worktreeinclude entry when its destination fails a general safety check, not only when it escapes through a committed symlink
git commit -F and -t right after commit#A list of command patterns now matches git commit -F and git commit -t when the flag comes straight after commit
Unclear What this pattern list controls, such as permission checks, is not stated.
The collapsed summary line for tool activity now drops the listed-directories count and shows only memory, pattern and file counts
If only unusable proxy variables such as ALL_PROXY are set, Claude Code skips reading the server's certificates and logs how to fix the setup
Enabling a blocked MCP server still names enterprise policy when that is the cause, and other blocks now get a separately built error
Unclear Whether this changes the error message a reader sees, or is only an internal rename, is not clear.
When Claude Code opens a tunnel through an HTTP proxy, its request now includes a Connection: keep-alive header
The context usage tables for agents, memory files and skills now show a limited number of rows and a "more" row
After a failed poll, self-hosted runners now work out their wait before retrying without an extra limit that applied before
Unclear What the removed limit was based on is not settled, so how much retry timing changes is unclear.
When reading or confirming an artifact's sharing fails at the cloud relay, the error no longer carries the HTTP status code
On Linux, Claude Code now looks up the owner of a connection a batch of programs at a time, newest first, instead of all at once
Claude Code now uses more rules to choose between .config.json and its other config file, and retries deleting a folder three times
When you restore earlier file versions in a forked session, Claude Code now looks up the saved copies under the session it was forked from
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
Claude Code's usage reports now always include which tools were used, and its process samples now record a thread count
In headless runs, Claude Code now reports how many entries were dropped from each turn's list of denied tools
Claude Code changed which usage details it reports, dropping one field and adding fields for a reason and total output size
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.
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?