Reading several artifact files at once now recovers from unreadable pages#
Batch reads of artifact files now fall back the same way single-file reads do when a page can't be read, instead of failing with the error
You can now set subagentInheritVerifiedTurns to true so subagents start with your earlier verified messages. MCP servers can now provide skills to Claude Code. Each skill's size and fingerprint is checked against the server's list before it loads. With CLAUDE_CODE_ENABLE_SHARE_BUNDLE set, /share sends your whole session transcript along with your feedback. In remote sessions, CLAUDE_CODE_REMOTE_MCP_CONFIG points the runner to a file of MCP servers sent by the host. Routing WebFetch through a proxy now depends on CLAUDE_CODE_WEBFETCH_USE_CCR_PROXY instead of being worked out from session state.
19 entries are in the build but not switched on yet. Claude Code can fetch context for a claude.ai Project into a session, but only once it is turned on remotely. Apps built on the SDK will be able to word their own permission prompts from a PreToolUse hook. A stricter plan mode check can ask before any action that is not read-only. Project tools can read an uploaded PDF or Word file as the original document. Agents may later start in the background by default.
MCP allow rules no longer approve tools from a different MCP server. On Windows, sandboxed git now gets your git name and email for commits. Environment variables from settings or /env now reach sandboxed Windows commands too. The resume command printed on exit now includes --worktree for worktree sessions. If CLAUDE.md fails to load, Claude Code tries again later in the session. The MCP tasks feature is now off for everyone and can no longer be turned on remotely.
Written by our agent from the shipped bundle, not by Anthropic.
Remote runners get host-delivered MCP servers through CLAUDE_CODE_REMOTE_MCP_CONFIG, and --mcp-config sources are filtered by scope and ownership
Sessions & agents/feedback bundles can now carry a transcript.jsonl file, and /share can send the whole transcript when CLAUDE_CODE_ENABLE_SHARE_BUNDLE is set
In the agent view, /model opens a picker and model, effort and fast mode can be set for new sessions from that window without being saved
Sessions & agentsFive new CLAUDE_CODE_* environment variables tune startup, changed-file checks, MCP loading and transcripts, and are forwarded to remote sessions
Platform & internalsThe self-hosted runner can wait up to --shutdown-drain-sec seconds for running work on SIGTERM, and supports a tool-server session kind
Elsewheretengu_glowing_lark gate controls background launch and MCP task codeSessions & agentsWant the reasoning? Read walks the 50 entries that probably matter to you, each one opening to what changed and why.
Read this release → Every row →Batch reads of artifact files now fall back the same way single-file reads do when a page can't be read, instead of failing with the error
The sandbox override dialog's confirmation now includes the result of saving the settings, and git config reads can use a fixed set of variables
Cleaning up a git worktree's admin folder now also deletes reftable files, and macOS file opens check they got the right file
A message delivered twice is now handled when it arrived before a permission prompt or was cut off by compaction
Claude Code now waits for another step to finish before uploading your agentPushNotifEnabled preference, and catches errors
Claude Code now reads the quoted part of git config headers such as [remote "origin"] instead of skipping it
After you pick a sandbox option in /sandbox, the confirmation now depends on how saving the setting went
Enabling or disabling an MCP server now checks that the change was saved and reverts the toggle if it was not
When hooks modules unload, one module's failure no longer cuts the cleanup short; errors are gathered and reported together at the end
When serving tool output over MCP fails on a version check, Claude Code now records the real cause and the minimum version required
When Claude Code passes options on, a value starting with a dash is joined with =, and -n is written out as --name
The output-limit error no longer suggests CLAUDE_CODE_MAX_OUTPUT_TOKENS for non-streaming requests, where it can't raise the limit
A session file download refused with a 401 error is now retried once after Claude Code refreshes its sign-in
The terminal display now rejoins emoji that arrive split in two pieces, so they show correctly instead of as broken characters
6 more of these are in What probably matters to you, on page 1.
Some artifact requests, such as pinning and listing, can be sent as MCP tool calls through a new relay, with separate tracking for each kind
In some cases Claude is told to pass back a document's version as if_version when saving a project document
Unclear It is not clear what switches on these version-check instructions.
Claude Code can now track prompts that were merged or queued together, for rewinding and spotting unanswered turns, when a switch is on
When a session is resumed, Claude can now be warned about tool calls that were lost, but only when this is switched on remotely
A reply that stalls can now be retried even if the stall happens after the response has begun, when an enabling switch is on
Unclear It is not clear what the enabling condition is, or whether it is a remotely controlled switch that may be off.
Claude Code has a new check for resumed interrupted turns where it cannot ask you for permission, behind a switch that is off by default
Unclear It is not clear what Claude Code does differently when this check passes.
Auto mode's permission check can use a 'compact' view of the conversation, off unless switched on remotely or by an environment variable
Unclear It is not clear what the 'compact' rule changes in how the conversation is read.
Claude Code adds several new remotely controlled switches whose purpose is not yet visible
Unclear It is not clear what these switches control.
A limit set at 2000 for every provider can now be removed by a server-side switch when Claude Code runs interactively
Unclear It is not clear what the 2000 limit counts or what it restricts.
One tool can now be offered when an extra condition holds and a remote switch is on, and the shared tool description needs that same condition
Unclear Which tool this is, and what the extra condition checks, is not identified.
Claude Code has a new remotely controlled switch, off by default, that can turn on an unnamed feature everywhere or only in Cowork
Unclear What this switch turns on is not known.
Claude Code gains code to record, in remote sessions, whether a finished turn would be skipped after compaction
The prompts_screened_v1 capability is now announced as soon as a plugin loads, alongside a hook-registration check tied to tengu_melodic_ember
Unclear It is not stated what this check controls for users or which side of the switch is the new behaviour.
3 more of these are in What probably matters to you, on page 1.
host_worded_asks#turn_handoff now lets a tool-only assistant message reuse the previous message's id, with a shared_message_id capability flag and a new host_worded_asks flag
Requests for user input now keep the order of their fields, and hooks can supply wording for the desktop app's permission card
Usage reports for tool calls forwarded to another machine now record whether the host's Claude Code version is older, the same, or newer than the worker's
Claude Code now remembers which memory file sits at which path and tries that first, instead of listing the folder on every read
When a conversation contains search result output from a tool, Claude Code now sends a fresh request instead of continuing a message thread
Unclear Whether this threaded way of sending requests is in use at all is not known.
Uploads to /worker/events now get a timeout based on batch size, and a failed upload is split and retried in smaller batches
In diskless sessions, Claude Code no longer compacts the saved transcript file and lists no saved subagent transcripts
In VS Code, Claude Code now records whether attaching the mods surface succeeded or failed, and why it failed
Hooks-module loading now takes a personsHeld input, skips modules from sources outside the allowed set, and records a builtins-only decision
Unclear What the new decision changes about which hook modules load is not stated.
The default for tengu_mcp_protocol_negotiation_ccr moved from false to true, alongside a new error code and a primary-then-fallback MCP handler
Unclear What Claude Code does differently when a server returns -32021 is not stated.
The SSE transport accepts an optional streamOpener to open its stream and tells the server about it in the connect URL
When Claude Code clears your sign-in tokens, it now also deletes a stored record about trusted-device enrolment
When running as an MCP server, Claude Code skips its own records of tool call outcomes if the calling program says it logs them
When the server has no managed settings, Claude Code now saves any settings it already has instead of always saving an empty set
Unclear What the extra step after saving does, and so the overall effect, is not stated.
The number of unanswered checks before a quiet preview connection is forcibly reconnected now grows with the time that has passed
The Final Plan step of plan mode now takes its instructions from shared wording instead of its own list
Unclear It is not settled whether the Final Plan instructions say anything different now.
The capped list of background tasks in a session summary now filters by task type and sorts in two groups before trimming
--await-claim error message#The error shown when --await-claim is combined with --continue, --resume or --fork-session is worded the same as before
A worker shut down mid-turn by a shared host now reports it and can release its hold on the session so the next worker takes over
When a remote session is created, its starting permission mode is now signed with a key on your device so it cannot easily be faked
Unclear Whether this signing is switched on for every remote session is not stated.
Claude Code now records the time from a spare cloud session starting to it being picked up, using CCR_SPAWN_TIMESTAMP_MS
Claude Code now records memory use and between-turn CPU and wall time in its turn timing data for remote sessions on Linux
In remote sessions, an upload that gets no response is now retried in smaller and smaller batches instead of resent whole
A remote worker now tells the server it is releasing a session when it shuts down, and sessions left mid-turn are marked
In remote sessions, Claude Code now remembers internal events the server refused and drops the entries that depended on them
A turn handed over to Claude Code may now repeat an assistant message ID only when the next message is tool calls alone
When an uploaded file replaces an existing one, Claude Code now reports that it was replaced, with the old file's size, age and read-only state
--cloud sessions are started#The code that starts cloud sessions with --cloud was reorganised, with no change you can see
Turn results gain memory and CPU fields, sent only by Anthropic-hosted workers on Linux with telemetry on
File uploads can now send an x-claude-code-upload-lane header when an upload lane is chosen
The client that runs remote sessions can now use a new connection, retry failed sends in smaller pieces and drop orphaned records
When moving a session to the cloud is retried without a permission mode, Claude Code now records whether the retry succeeded, may have gone through, or failed
Claude Code now logs a diagnostic event when a tool's description differs from the one recorded earlier in the session
Claude Code adds diagnostic event names for remote session workers and for rewind
Claude Code's tool-call usage data now notes whether a call was for a device bridge, how long it waited, and how the wait ended
Usage reports at the end of SDK and print-mode runs, and on crashes, now include how many plugin mods were installed
Claude Code now reports plugin hook loads and first-turn counts, and strips the model name from usage data for some plugins
Unclear It is not clear which plugins cause the model name to be removed from usage data.
Usage data sent when a shell command runs or fails now includes the model and whether a zsh note was in the prompt
The record of a local command run now includes the plugin it came from, and new diagnostic events cover the Chrome bridge and remote sessions
Claude Code now records separate usage events when an MCP task starts, stops and delivers its result
Claude Code now logs an event when it skips its early check for a prompt that is too long, with details about why
Usage reports for PowerShell commands that run or fail now record which model was in use
Claude Code now spots shell command patterns that behave differently in zsh than in bash and records them as usage data
The tail diagnostics snapshot can now run when another part of Claude Code asks for it, even without CLAUDE_CODE_DIAGNOSTICS_FILE
Unclear No part of Claude Code is known to request the snapshot this way yet, so whether it runs without the variable is not known.
Repository trust reports can now include a list of untrusted repositories, and a new nothing-to-mark result shows the not-marked message
A step that compares tool calls can now report a reply continuation mismatch, not only a name or input mismatch
Unclear What a continues_reply result changes for a user is not known.
An attachment request that ends now reports either that no answer came, with the wait time, or that it was withdrawn
Unclear Which feature these attachment requests belong to, and whether it is available, is not stated.
The web search tool now records how long searches made through a cloud proxy take, with no visible change
Opening the diff pane now reports withdrawn, awaited or placed, and Claude Code waits for an awaited pane to appear before saying it is shown
When a file result is a PDF, the PDF's encoded data in that result is now left empty
CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER is now checked alongside another condition#Claude Code now checks CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER together with a second condition when deciding whether to stop after the first draw
Claude Code gains a server-policy permission option, counts stops and rewinds, and supports mono and tabular text styles
Git folder checks now record a creation time, slash commands gain a new option, and sessions can store who kept them and when they were created
File downloads now use a size limit and an idle-time limit set by each caller, instead of fixed values
A reference document built into Claude Code, previously named for plugin evaluation, now ships under the name "reference"
A description of where something applies now says "every attached surface" instead of "every surface"
A call that was cancelled now reports its failure reason as a timeout rather than always as not wrapped
Unclear Which feature reports this reason, and where a reader would see it, is not clear.
Stopping an MCP task that uses the sep2663 protocol now also reports the stop, besides deleting the task's records
Unclear What the stop report does, and whether it reaches the MCP server, is not known.
MCP servers that would have been disabled now stay enabled when a new check on the server passes
Unclear It is not stated what the new check on a server tests, so it is unclear which servers now stay enabled.
When a fetch made for an MCP connection gets a redirect, Claude Code now strips the address it points to, so it is not followed
When Claude Code refreshes MCP servers, a check before connecting can now mark a server as failed without trying to reach it
Unclear What the up-front check tests is not known, so which servers it marks as failed is unclear.
MCP sign-in steps now use a separate network function per server, and artifact requests record which route they took
MCP server sign-in steps now use a connection set up per server, and signing out sends that server's configured headers
Unclear It is not clear whether the configured headers are sent during sign-in and refresh too, or only when signing out.
When a session resumes with a permission question still open, Claude Code now gives more specific reasons for not reusing an earlier answer
In some modes, Claude Code now skips reading saved session files when listing or looking up past sessions and returns nothing
Unclear Which modes cause session listing and lookup to return nothing is not stated.
When a session is resumed from a restored card, a final reply from Claude can now be treated as an interrupted turn instead of a finished one
Unclear It is not clear what a restored-card resume is or what you will see differently.
Whether a background launch rule applies now also depends on the hook modules runtime being switched on
Unclear What switches the hook modules runtime on, and so when background launches now apply, is not clear.
Tool-use summary text is now cleaned up before Claude Code checks whether it is empty, and session records note which process kept a session
Claude Code now records a usage metric and a log entry when rewind serves a stand-in instead of the point that was asked for
Claude Code can now drop specific images from messages already in the conversation, through a new list of withdrawn attachments
Unclear Nothing says what creates a withdrawn-attachment entry, so it is unclear whether a user can trigger this or it only happens on its own.
When an error carries a limit, Claude Code can now remove earlier messages, including attachments, that go past it
Unclear What kind of limit is read from the error and which content gets removed is not known.
When project context is missing, Claude Code can now mark it as worth reading again
When Claude Code skips loading project context because another process holds a lock, it now marks that context as worth reading again
Published verbatim by Anthropic for v2.1.299. 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 190 bullets, 54 name something an entry on this page also names, 39 name something no entry here does, and 97 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.
CLAUDE_CODE_DISABLE_FILE_MENTIONS environment variable: Claude gets the paths of @ file mentions to read with its file tools, not the files' contents
Probably new-env-var-claude-code-disable-file-mentions CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS to change idle compaction's 200K-token minimum; "idleCompaction": false in settings.json turns it off. Both need v2.1.290 or later
No entry names this $.prompt.media so a prompt.submit hook of a mod installed by managed settings can read the bytes of an image or document attached to the prompt
Probably userpromptsubmit-and-promptsubmit-hook-blocks-now-carry-str, plugin-input-refusal-gate-on-promptsubmit-and-commandr, hook-default-responses-become-functions-with-reason, plugin-hooks-module-only-plugins-count-as-having-hooks-res, plugin-hooks-can-read-prompt-attachments-by-id $.session.identity() for mods installed by managed settings: how the session is signed in, and its organization and email when managed forceLoginOrgUUID lists that organization
Probably machine-admin-policy-can-pin-the-sign-in-org, server-policy-forcelogin-settings-take-precedence-over-serve, stored-remote-settings-copy-must-pass-a-trust-gate-sync-sta size, weight, mono and tabular to a mod's Text and named spacing steps (xs to xl) to its Box; bold is deprecated in favor of weight
No entry names this --shutdown-drain-sec to claude self-hosted-runner orchestrator: on SIGTERM it stops polling and gives the poll in flight and running spawn hooks up to that many seconds to finish
Probably runner-tool-server-sessions-and-shutdown-drain-logging, self-hosted-runner-sigterm-drain-with-shutdown-drain-sec skill.prompt hook receives
Probably plugin-hooks-module-only-plugins-count-as-having-hooks-res /effort and /fast in agent view to set what new sessions start with; a bare /model, /effort or /fast there now opens a picker
Probably usage-insights-add-four-new-suggestion-cards, fleetview-model-description-reworded, agent-view-model-picker-and-new-session-settings-for-model, agent-view-gains-effort-and-fast-typed-commands --safe-mode
Probably agentsconfig-panel-shows-safe-mode, safe-mode-is-now-a-respawn-flag-job-respawn-stripping-rew, safe-mode-hint-text-changed --disallow-tools and a disallowed_tools case field to claude plugin eval to keep specific built-in tools, such as Agent, out of eval runs
Probably evalworkflow-execution-disallowed-tools-merged-across-layer, eval-harness-gains-disallow-tools-and-per-case-disallowed, cloudheadless-session-config-accepts-disallowed-tools, new-disallow-tools-option-in-a-case-runner-cli-command CLAUDE_CODE_ATTRIBUTION_HEADER=0 in the env of a Claude apps gateway's code policy
Probably policy-managed-claude-code-attribution-header-is-protected-f CLAUDE_CODE_ATTRIBUTION_HEADER=0
Probably policy-managed-claude-code-attribution-header-is-protected-f queue door to the session.append mod hook, so a mod can make the transcript's queue records differ from the prompt as sent
Probably plugin-hook-modules-managed-policy-restrictions-and-new-ses /plugin and claude plugin validate naming a mod's hooks that are skipped where an organization manages Claude Code
No entry names this /usage warnings for max effort, workflows, always-on context and large tool results
No entry names this apiKeyHelper was in use
No entry names this ANTHROPIC_BASE_URL ending with "Prompt is too long · automatic compaction failed" near 200K tokens instead of sending the request
Probably remote-settings-fetch-refuses-to-send-api-key-to-non-anthrop, stuck-permissionanswer-and-api-key-hardening --max-turns, --max-budget-usd, an interrupt, or the end of the host's conversation
Probably headless-run-host-with-max-turns-max-budget-usd-limits .claude in it
Nothing to match on UserPromptSubmit or mod prompt.submit hooks were still running (regression in 2.1.296)
Probably prompt-submit-outcome-field-on-sdk-system-messages, userpromptsubmit-and-promptsubmit-hook-blocks-now-carry-str, userpromptsubmit-hook-blocked-prompt-reasons-and-commandis, plugin-input-refusal-gate-on-promptsubmit-and-commandr, prompt-submit-hook-chain-rewritten-to-handle-slash-commands, hook-default-responses-become-functions-with-reason, plugin-hooks-module-only-plugins-count-as-having-hooks-res, plugin-hooks-can-read-prompt-attachments-by-id --plugin-dir folder, whose code Claude Code reloads and runs outside the sandbox
No entry names this --debug, --debug-file), and a hang on exit when the debug log is on a disk or network mount that stops accepting writes
Probably warning-when-skill-or-command-names-are-refused -c scripts that don't run rm. An rm built at run time in a script Claude Code can't read no longer prompts unless CLAUDE_CODE_STRICT_INLINE_SHELL_RM_PROMPT=1
Probably strict-inline-shell-rm-prompt-new-env-var-and-tengu-pale-ke #99320Inline-shell rm check (2.1.288) asks in bypass mode on bash -c $'...' scripts that contain no rm Open
#99249Inline-shell rm check (2.1.288) asks on zsh -c scripts that contain no rm Open
#100884Inline-shell rm check flags a command with no -c shell script and no rm (bash script.sh + python3 -c in a loop, bypass mode) Open
#100848Bash safety check says a `sh -c` script "runs rm" when it does not (only with a `cd … &&` prefix) Open
#99630Inline-shell rm check asks on bash -c with a $VAR command and a {…,…} argument (no rm present) Open
#100850Bash safety check says "This shell -c script runs rm" for `$VAR … -- sh -c '…'` with no rm anywhere (bypass mode) Open
#99894False-positive deletion check: read-only compact Bash command flagged as running rm (2.1.291) Open
claude mcp list, claude doctor and /status reporting an empty .mcp.json as invalid
Probably sandbox-prompt-gains-windows-localhost-and-profile-access-gu, blank-project-mcpjson-is-read-as-no-servers /btw jumping the transcript to the bottom when asked while scrolled up in fullscreen
Probably btw-side-question-keeps-scroll-position bwrap: Can't mkdir /mnt/c/Program Files/ClaudeCode when the sandbox can write to the Windows drive
Probably wsl-mntwslgdistro-added-to-mount-list, wsl-path-rules-also-matched-through-second-root-mount-gate claude remote-control sessions
No entry names this #87146[BUG] ScheduleWakeup never fires in Remote Control child sessions (sdk-cli bridge) even though the session stays alive and task notifications are delivered Closed
prompt.submit rewrite being silently dropped, sending the prompt as typed, for some prompts with a pasted image or an image that can't be read
Probably userpromptsubmit-and-promptsubmit-hook-blocks-now-carry-str, plugin-input-refusal-gate-on-promptsubmit-and-commandr, hook-default-responses-become-functions-with-reason, plugin-hooks-module-only-plugins-count-as-having-hooks-res, plugin-hooks-can-read-prompt-attachments-by-id .config.json in the config directory
Probably config-file-path-choice-changed /sandbox reporting success when its setting could not be saved because the project folder is not writable; it now says nothing changed and why
Probably sandbox-settings-save-reports-failure, sandbox-prompt-gains-windows-localhost-and-profile-access-gu, windows-sandbox-install-passes-program-permission-result-to, sandbox-command-now-reports-result-of-settings-write constructor or prototype in an MCP config never being connected
Nothing to match on constructor or toString asking for permission in auto mode and bypass permissions mode
No entry names this .catch, being run again without end when it waits on another mod's noun that does its work outside the call
Nothing to match on availableModelsMatch: exact or deniedModels blocks; it now answers 400 and leaves them out of its model lists
Probably gateway-supports-a-deniedmodels-denylist ANTHROPIC_BASE_URL
Probably remote-settings-fetch-refuses-to-send-api-key-to-non-anthrop, stuck-permissionanswer-and-api-key-hardening ANTHROPIC_BASE_URL being aborted after 180 seconds with no data arriving; they now wait 300 seconds, whether or not feature flags are loaded
Probably remote-settings-fetch-refuses-to-send-api-key-to-non-anthrop, stuck-permissionanswer-and-api-key-hardening tool.describe or prompt.section answer that changed after $.ui.invalidate never reaching Claude; the new answer is now sent on the next turn
No entry names this enabledMcpjsonServers or disabledMcpjsonServers held a single server name (letters, digits, - or _) as a plain string
No entry names this #100254[BUG] enabledMcpjsonServers in settings.json changes from an array to a string without notice, then fails validation ("Invalid settings") Open
claude plugin test pausing a hook's time budget while a served $ method it had called kept making $ calls after answering
No entry names this next(), returns, or sends to a $ method being refused whole when one of its getters throws a RangeError; now only that key is refused
No entry names this /usage, the approaching-limit warning (terminal and VS Code) and the status line sometimes showing more than 100% used (anthropics/claude-code#92238)
No entry names this mcp__<server>) not applying when the server's normalized name contains a double underscore
No entry names this plugin_loaded telemetry event reporting has_hooks as false for plugins whose hooks are a hooks module, built-in plugins included
No entry names this ANTHROPIC_BASE_URL); Anthropic API keys are still sent
Probably remote-settings-fetch-refuses-to-send-api-key-to-non-anthrop, stuck-permissionanswer-and-api-key-hardening $ to a function declaration imported from another file of the mod
Nothing to match on __proto__ keys silently removed, which could skip a tool.check guard on a tool call another mod made
Probably policy-blocked-mcp-servers-now-report-richer-failure-info-r, cron-minute-rounding-and-settings-proto-guard, hook-default-responses-become-functions-with-reason, plugin-runtime-mods-gain-uilog-envget-envset claude -p saying nothing when a settings file fails validation: text-output runs now list the file and the invalid entry on stderr
No entry names this forceLoginOrgUUID
Probably machine-admin-policy-can-pin-the-sign-in-org, server-policy-forcelogin-settings-take-precedence-over-serve, stored-remote-settings-copy-must-pass-a-trust-gate-sync-sta claude mcp list, claude mcp get and subagent MCP servers starting a server that a policy check blocks; it is now reported as blocked without being started
No entry names this #95020[BUG] `claude mcp list` ignores allowedMcpServers/deniedMcpServers — empty allowlist still returns every server connected Open
/reload-plugins not loading a plugin installed from another terminal a moment earlier
Probably plugin-hook-registration-deferred-and-awaited-at-startup-pl --bare, which keeps the mode; they now name /stop and claude --resume, as safe mode ones do
Probably stderr-writes-are-bounded-dropped-messages-reported, resume-hint-now-includes-worktree-flags-and-advice, exec-added-to-a-list-of-cli-flags-next-to-resume-session, await-claim-error-message-names-the-subprocess-sandbox, safe-mode-hint-text-changed, fetch-size-check-skips-for-certain-status-codes-self-hosted ← not saying why it stayed put over a queued message while Remote Control is on
Nothing to match on $.http.fetch in mods refusing a 304, 204 or 205 response that declares a Content-Length over the 4 MiB body limit
No entry names this /config push notification toggles sending your account the previous setting instead of the one you just chose
No entry names this --input-format stream-json running together without a line break when merged into one turn
No entry names this --exec-path wrapper's own --mcp-config when connectors change mid-session
Probably mcp-mcp-config-handling-and-remote-control-remote-tool-cal, claude-code-remote-mcp-config-runner-receives-delivered-mcp claude plugin eval passing runs that the API refused: a run that ends on an API error now scores 0 without grading and makes the suite exit 1
No entry names this forceLoginOrgUUID and forceLoginMethod from MDM or the managed-settings file being hidden or replaced by server-managed settings
Probably machine-admin-policy-can-pin-the-sign-in-org, server-policy-forcelogin-settings-take-precedence-over-serve, stored-remote-settings-copy-must-pass-a-trust-gate-sync-sta --bare sessions leaving out an MCP server named constructor or prototype that --channels asked for
Probably safe-mode-hint-text-changed /clear reattaching to the Remote Control session of the conversation after it
No entry names this #99717Remote Control: /clear and in-process /resume share one remote session across conversations; phone messages route to whichever conversation the holding process has loaded Closed
/, sent with the Agent SDK's verbatimPrompts option, running as a slash command when CLAUDE_CODE_RESUME_INTERRUPTED_TURN re-ran it after a restart
Probably remote-resume-can-recover-cut-off-foreground-agents --safe-mode silently leaving safe mode when the session was woken or restarted
Probably safe-mode-is-now-a-respawn-flag-job-respawn-stripping-rew, safe-mode-hint-text-changed /btw side questions in non-interactive sessions not being cancelled when the session ends, and running a second time when the same request arrived again mid-run
Probably btw-side-question-keeps-scroll-position denyRead and allowRead globs with braces, parentheses or backslashes in a folder's name being read differently by Claude Code's settings checks than by the sandbox
Probably sandbox-prompt-gains-windows-localhost-and-profile-access-gu, windows-sandbox-filesystem-grant-checks-rewritten, sandbox-credentials-schema-wording-stderr-writes-may-be-dro allowRead and allowWrite entries not being re-checked when the directory they start from is replaced by a symlink
Probably sandbox-prompt-gains-windows-localhost-and-profile-access-gu, windows-sandbox-filesystem-grant-checks-rewritten claude mcp add <name> -- <command> --background being started as a background session
No entry names this --bg or --background to a background session being taken for the flag, which could start new sessions over and over instead of delivering it
Probably bg-refuses-when-the-flag-cannot-be-told-from-prompt-text --worktree sessions leaving a folder behind in .git/worktrees in repositories using git's reftable ref storage
Probably resume-hint-now-includes-worktree-flags-and-advice, worktree-creation-refuses-bare-repository-layouts-with-a-cle claude self-hosted-runner sessions using Anthropic-managed git showing tracked files as staged deletions when starting in a reused clone whose remote is still empty
No entry names this ultracode is on in settings
Nothing to match on #101541[BUG] Desktop scheduled tasks lost ultracode in 2.1.289: "Ultracode is on" reminder skipped on scheduled-trigger turns Open
headers/headersHelper values, which broke servers behind an authenticating proxy
Probably mcp-configured-headers-on-oauth-discoveryrevocation-reser <head> is published again unchanged
Nothing to match on $.ui.open reporting a mod's pane as placed in sessions where no surface draws it, such as Claude Code for VS Code and claude -p
No entry names this #101403[BUG] VS Code extension: mod Pane never draws, but $.ui.open resolves { isPlaced: true } Open
#99401[FEATURE] VS Code extension: draw function-hook mod UI (AbovePrompt band, Pane) Open
agent.spawn mod hook not running when a finished subagent or a killed teammate is resumed: the hook's event now carries resume, and a mod can refuse it
Probably hook-default-responses-become-functions-with-reason, subagent-cwd-is-refused-with-a-clear-error claude plugin validate rejecting a mod's $.state references when plugin.json has no types key and the contract is at ./types/index.d.ts
No entry names this dimColor text looking the same as plain text under the dark ANSI theme and on 16-color terminals
No entry names this PreToolUse hook or a mod's tool.check hook allowed
Probably hook-failure-on-pretooluse-can-carry-advice-onfailure-conti, hook-default-responses-become-functions-with-reason, tengu-linear-owl-gates-host-worded-permission-display-from-p, plugin-runtime-mods-gain-uilog-envget-envset SendMessage not finding a subagent by name after the CLI restarted and resumed the session (names given before the last compaction still need the agent ID)
Probably stopped-agents-refused-for-resume-via-sendmessage-live-agen, subagent-report-delivery-and-send-message-errors, send-message-via-an-mcp-bridge-tool-behind-tengu-flickering CLAUDE_CODE_RESUME_INTERRUPTED_TURN sometimes answering a finished turn again after a restart, when a tool ended the turn and a skill loaded in the same step
Probably remote-resume-can-recover-cut-off-foreground-agents $.env.set changing the environment or shell prefix that command hooks from managed settings start with
No entry names this setup and doctor say when the runner's machine has no git credentials
Nothing to match on --retire-at and delaying shutdown
No entry names this claude auth login
Probably cloud-launch-error-messages-and-git-bundle-advice anthropic-skills: prefix to it
No entry names this /reload-skills to say it re-sends the full skill list to Claude, which is how to get skills back after compaction
Probably reload-skills-message-changed < or > is no longer offered until renamed; such a name: is ignored
Nothing to match on ui.render trees in claude plugin test: each mod's Box or Text root now carries part: { plugin } naming the mod, so exact-tree assertions must include it
No entry names this claude plugin test to fail a call to a mod's served $ method that has not answered within ten seconds, as a session does
No entry names this mcp__a no longer allows a server named a__b or a_; write mcp__<server>__* with the server's whole normalized name
No entry names this tools: lists to take only the named MCP server's tools; list a server whose name contains __ as mcp__<whole name>__*
No entry names this MCP_PROTOCOL_NEGOTIATION=legacy opts out
No entry names this api.anthropic.com to reach Claude in full instead of being cut at 4,096 characters
Probably result-messages-gain-api-error-origin PermissionRequest hook can no longer approve shell commands or subagents; those prompts wait or are denied
Probably permission-prompt-deny-answers-skip-permissionrequest-hooks, auto-mode-hooks-cannot-approve-tools-via-permissionrequest -w and -r if the long flags do not fit the terminal. If neither fits a kept worktree, rows above it say where to run it
Nothing to match on /btw side questions in non-interactive sessions to return a timeout error when still unanswered after 11 minutes
Probably btw-side-question-keeps-scroll-position UserPromptSubmit hooks to run before a skill or custom slash command expands, so a hook that blocks the prompt now also stops its embedded shell commands
Probably prompt-submit-outcome-field-on-sdk-system-messages, userpromptsubmit-and-promptsubmit-hook-blocks-now-carry-str, userpromptsubmit-hook-blocked-prompt-reasons-and-commandis, prompt-submit-hook-chain-rewritten-to-handle-slash-commands UserPromptSubmit hook to first run on the prompt after the one that invokes the skill
Probably prompt-submit-outcome-field-on-sdk-system-messages, userpromptsubmit-and-promptsubmit-hook-blocks-now-carry-str, userpromptsubmit-hook-blocked-prompt-reasons-and-commandis, prompt-submit-hook-chain-rewritten-to-handle-slash-commands turn.start mod hook to also hear subagents' and teammates' turns, not only the main loop's; tell them apart by e.agentId (absent on the main loop)
Probably hook-turnstart-now-counted-when-deciding-whether-hooks-are /ultrareview can't upload a repository to stop suggesting git add ., which could stage or commit untracked files such as .env
Probably empty-repo-error-message-reworked, upload-failure-advice-now-says-to-commit-changed-files-by-na A model matched these bullets to the GitHub issues they fix, so a link can be wrong.
1 of 27 tool descriptions changed.
Claude Code, interactive mode
11 prompt changes in this release could not be quoted from the build, so no entry on this page describes them.
659 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 88 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?