●
v2.1.322 Nov 10, 2026
v2.1.322
What's changed
- Added fast mode on Vertex in the global, us and eu regions, falling back to standard speed if Vertex refuses it
Every Claude Code release. Bolted straight to the record.
claude-fable-5-2), now the default Fable model — 1M context, $8/$40 per Mtok with $0.20/Mtok cache reads--settings <file> to claude remote-control, which applies a settings file to every session it starts; if the file changes, no new session starts until you restart claude remote-controlcp or mv into a directory writesclaude mcp login printing a SEP-2352 issuer warning each time you sign in again to a server that Claude Code registered withNotebookEdit deleting or overwriting a notebook's first cell when the call named no cell, on network paths (UNC shares, WSL folders, /net mounts)old_string, or editing a notebook as text, on network paths (UNC shares, WSL folders, /net mounts)/config showing Manual as the default permission mode when new sessions start in auto mode; pressing Space on "Auto (default)" now saves Don't Ask, not PlanFileChanged hooks stopping for paths set through watchPaths after the first shell command, when the session's working directory had a lowercase drive letter--plugin-dir . and --plugin-dir ./builtin writing generated type files for Claude Code's built-in plugins into a builtin folder/compact showing twice in Remote Control on web and mobile/plugin marketplace updates downloading a plugin again for each worktree or folder of a repositorygit stash, including after entering a worktreeclaude -p sometimes telling Claude that background commands get 30 minutes when they are stopped after 10pkill, pgrep and pidwait in cloud sessions matching the session's own parent processesask reason instead of another hook's when both askedask being lost when another hook's defer finished first and could not be honored/desktop on macOS saying Claude Desktop is not installed when it is in ~/Applicationsvcs.*) missing from Claude Desktop sessions that start on a pre-started processclaude agents ignoring --permission-mode, --dangerously-skip-permissions, --model, --effort or --agent typed before agents when a flag such as --verbose was also on the lineclaude -p, SDK and VS Code sessions hanging, when memory ran out while the transcript was being readgrep -r foo "$PWD/src" asking for permission when the same command with the path typed out runs without askingdesktop setting holds a field newer than the gateway, such as a managed MCP server's oauth.omitResource; it now warns and serves it.zshrc sets KSH_OPTION_PRINTUserPromptSubmit hook blocked a replayed permission answer; these hooks no longer run on that replayclaude remote-control accepting a y typed without Enter at its first-run question when the terminal's input endedcode: rulesPreToolUse mcp_tool hooks on stdio and HTTP MCP servers being skipped when their answer was over 16 MiB; the tool call is now refusedclaude -p on Linux exiting 0 in silence when a full NFS export or a used-up NFS quota lost transcript lines: it now prints an error and, in text and json output, exits 1claude mcp list output, when a stored MCP sign-in record was null/model picker: "More models" is now an unnumbered row below every other, and older models open under it without renumbering the rest/device page: they no longer name gateway settings, which the gateway's own log still namesclaude install and the install scripts: they finish 2 to 4 seconds soonerclaude --bg --worktree session that couldn't set up its worktree: it now shows the error from its beginning, not an internal tag or its last 200 characters/login is offered only if it's one of yours, and Claude now says where a copy may be after an account moveclaude remote-control's messages for an unanswered first-run question: each now says what to do nextallowedProviders setting description to name Ultra alongside Pro and Max, and the forceLoginMethod description to cover every paid Claude planallowUnsandboxedCommands: false or allowManagedDomainsOnly, and not to load in dontAsk mode$.tool.call, $.mcp.call) to raise no permission prompt, even under your own ask rules or in dontAsk and -p runs; deny rules and organization policy still applyfable: on Pro and Max plans at once, on Team and Enterprise plans once your organization allows it; use /model claude-fable-5-1 to switch back/fast, /config and /model to name your current model when it supports fast mode, and removed "(Opus only)" from the VS Code row.claude/skills folders inside ~/.claude/plugins no longer load when Claude works on files therenum_hooks and num_success after Bash and PowerShell callsAskUserQuestion in claude -p and SDK sessions to deny a host's permission answer that sets the undocumented afkTimeoutMs input fieldextraKnownMarketplaces: a declared name can't be added from another source, an entry from elsewhere is hidden, and plugins the declared marketplace lists are reinstalled from itpolicy_mode: layered in the Claude apps gateway: managed MCP servers now add up over every matching policy, match: {} included, so a gateway already on it serves more after the upgradeANTHROPIC_*_BASE_URL variables in the gateway's environment. Set base_url on the upstream to use another endpoint.claude/skills when their files change; set CLAUDE_CODE_PLUGIN_DIR_WATCH=0 to turn this offcp and mv spelled by a path, such as /bin/cp, to get the same path checks as cp and mvextraKnownMarketplaces take-overs from an undeclared source: saved data is set aside for cleanupPeriodDays, and options and secrets until claude plugin restore-set-asideCLAUDE_CODE_AUTO_MODE_SERVER=0 to keep using it (Bedrock, Vertex and Foundry are unchanged)CLAUDE_CODE_AUTO_MODE_SERVER=1 turns on the server-side check even with CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS set; if managed settings set the latter, they must set the 1 tooCLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND environment variable to make Claude Code wait for an MCP task inside its tool call instead of moving it to the background right awaypermissions.denyInsteadOfPrompting setting: a tool call that would wait on a permission prompt is denied and the turn continues, in terminal sessions, subagents and teammates/claude-api latency-optimize to find where your Claude API code makes people wait and try faster settings against your evalCLAUDE_CODE_DISABLE_FEATURE_FLAGS environment variable, which stops feature-flag fetching without turning off telemetry; every flag then uses its built-in default/usage for developers behind a Claude apps gateway who have no spend limit, when the gateway runs this version or lateradmin.pooled_conflict_rule and admin.pooled_priority_order to the Claude apps gateway, to set which pooled group budget pays first for a developer in several groupslogin_notice setting to the Claude apps gateway that shows an operator-defined message on the gateway's browser verification page and on Claude Code's sign-in screenCLAUDE_GATEWAY_LOG_FORMAT=json to the Claude apps gateway: operational log lines become JSON with severity, time and message, for log collectors that read the level from a fieldavailableModels also allows a custom model id that one policy lists by namedesktopHome that rely on coworkTabEnabled: false or chatSessionRetentionDays, ahead of Claude Desktop's November 10 changeant auth login, which bills usage to your Claude Console organizationant auth login/tasks that lists finished subagents, so you can reopen one and message it even after it leaves the list or you restart/loop confirmations in cloud sessions that a timer stops with its container, with an offer of a loop that survives--resumeHEAD/diff showing "Diff unavailable" when a git repository has a file or folder named HEAD at its top level/diff pane opening blank in sessions where 64 or more turns edited files/context sending its full visual grid to Claude on every later turn; Claude now reads only the tableclaude -p exiting 0 in auto mode when its actions were refused because no safety check was available: text and JSON output now exit 1/status showing "Auto mode server: Enabled" when the server-side review isn't reaching the session, for example behind an LLM gateway that drops it/feedback continuing to appear after the server refused feedback for your organizationautoMode settings are very large: it now explains and, unless autoMode deny rules are set, asks you in the terminalclaude -p --resume with a prompt losing a deferred tool call when its MCP server is missing: the run now exits 1, keeps the call and refuses later inputCLAUDE_CODE_RESUME_INTERRUPTED_TURN re-running a turn that was interrupted in plan mode when the session resumes in another permission mode~/.claude.json, settings and edited files ending up empty or cut off when the disk fills during a save in a read-only folder or to a bind-mounted file (one session saving at a time)opus-5-5, telling you to update Claude Code instead of suggesting the model you meantNotebookEdit changed the wrong cell when the notebook changed while a permission prompt was open/login success screen: the dialog now dismisses immediately and the post-login refresh runs in the backgroundCLAUDE_CODE_PROXY_RESOLVES_HOSTS is set and the machine has no DNS of its ownclaude plugin eval warnings suggesting max: 0 for a tool that must not be called, which could never pass.claude/skills missing a file that was deleted just after it appeared, and missing its return/rewind failing with "No files were restored" when restoring code to a checkpoint from before /branch/claude-api skill saying Console web settings don't apply to Managed Agents sessions, and tightened its credential and permission examplestimeout DURATION, such as timeout 30 rg fooout_dir) were refusedCLAUDE_CODE_CLIENT_CERT to collectors that require a client certificateclaude_code.session.count metric counting Agent SDK prewarm() processes that were never claimed; a pre-started process now counts once, when it is claimed/clear killing running commands of background agents, teammates and workflows that keep running, and foreground subagents of background agents and teammatesinvalid_token**, backticks and tags from commands waiting for approval/permissions in cloud sessions replying only that it isn't available; it now says where the session's rules live and how to change them/clear disappearing from the task list in Claude Code on the web until another task started or ended/rewind could restore or delete a file through a directory symlinksed command could skip the permission check in accept-edits and auto modeCLAUDE_CODE_AUTO_MODE_SERVER=1 in managed settings was ignored behind an LLM gateway when the gateway's URL is set only there and server-managed settings can't be fetcheddisallowedTools entries written with a claude.ai connector's terminal name (mcp__claude_ai_Slack) were ignored in Claude Desktop (takes effect once Claude Desktop includes this version)--trust-workspace false now also stops hooks in the repository's settings files and skills from running/status and the auto mode billing notice opening only part of the address when they wrapCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC was set. With it set, Claude Code now makes a TLS handshake with the configured API host after a certificate failure, through your http:// proxy if one is set; it sends no API requestclaude remote-control exiting silently with status 0 when a first-run question gets no answer (scripts, services, batch jobs, Ctrl+C); it now says why and exits 1claude remote-control ignoring a piped y that has no newline after it at the first-run question; it now counts as a yes/rename reporting plain success when the new name could not be saved to the session transcript; it now warns that the new name may not last${CLAUDE_PLUGIN_ROOT} not being substituted in a plugin-provided subagentStatusLine command, which can now reference the plugin's own scriptsclaude plugin update and /plugin "Update now" not installing dependencies added by the new plugin version~/.claude.json emptyjavascript_tool results of up to 60,000 characters now stay in the conversation instead of being saved to a fileclaude purge and the clean-up of old sessions to retry a folder that could not be fully deleted, and to report it as an error if it remains/stats, /model and /sandbox, and rejected-action messagesadmin.blocked_message if one is set/model picker: older models are now grouped under a "More models" row instead of being listed after the current ones/context at the terminal so the table Claude reads stays short: each list keeps its 10 largest rows, and MCP tools that load on demand share one row per server until they're called/usage in cloud sessions: it now links to Settings → Usage on claude.ai in a case where plan limits can't be shownDISABLE_TELEMETRY); set CLAUDE_CODE_DISABLE_MCP_TASKS=1 to turn them offCLAUDE_CODE_PROXY_RESOLVES_HOSTS so that settings files can no longer set it where the host manages the network; set it in the process environmentwhich with flags outside a lookup/display set--add-dir directories to register plugin marketplaces only once that directory's own trust dialog has been accepted.claude/skills folders below the starting folder load only if you start Claude Code there or /cd there/loop to end when a turn finishes without rescheduling, instead of scheduling a fallback wakeup; set CLAUDE_CODE_LOOP_KEEPALIVE=1 to keep the old behaviorALL_PROXY is the only proxy variable set. Set HTTPS_PROXY to the proxy's http:// URL instead/claude-api managed-agents-onboard templates to match the Claude Console: removed Performance tuner, renamed two, and turned off web search and fetch in five whose prompts don't use themshortcuts_list and shortcuts_execute, which listed and started shortcuts saved in the extension, from Claude Code's built-in Claude in Chrome toolsbedrock upstream sets a guardrail--use-anthropic-git-proxy or --configure-git registering before a failed startup check made it exit; it now exits firstCLAUDE_RUNNER_CHECKOUT_PATH so that each repository in a session gets its own folder: a folder name already taken in the session gets -2, -3, … at the end--remove-session-state is set/clear, or Retry or Edit of a typed prompt, had removedclaude-vscode.toggleDictation command starting dictation in every open Claude view at once; it now acts only in the view you are using, and a second press stops it$$ math fences, each shorter than the last, streams inassume_role on mantle upstreams of the Claude apps gateway, for a role in another AWS account and for per-developer AWS cost attributioneffort option to a mod's $.model.fork, so a quick side job can run at low whatever effort the session uses; the result reports the effort sentclaude auth status (loginExpiresAt) and to claude -p JSON results (credential_expires_at)claude -p text output, starting 10 days before a stored claude.ai sign-in ends--continue sometimes losing the earlier conversation after a malformed tool call's retries ran out (regression in 2.1.314)/logout, claude auth logout and claude mcp remove reporting success, and changes to trust, consent or MCP settings being dropped with no word, when the config file could not be updated on a shared network home directoryNot logged in when another terminal or host signs in again to the same account and organization on the same homeclaude mcp add and remove writing the config without its lock: they now wait for it or exit 1, though another job's save can still replace a saved serverclaude plugin commands exiting before a slow token refresh was saved, which could sign you out on the next runclaude plugin validate passing a custom-named marketplace file that claude plugin marketplace add rejectsallowedProviders list that another login on the same machine had storedclaude -p and SDK sessionsclaude -p and Agent SDK sessions reporting success when an API error cut off a reply while a mod hooked turn.stepclaude remote-control hosts, the background daemon and self-hosted runners failing to start new sessions (spawn ENOENT) after an update or version cleanup removed the binary of a still-running processsudo claude) being treated as dead by version cleanup, which could delete its binary/remote-control showing a session as available after a failed connection/design revoke reporting success when the request failed with a 404Setup hook writes to CLAUDE_ENV_FILE not reaching the Bash tool in some cloud sessionsNODE_EXTRA_CA_CERTS file is empty, not PEM, or starts with a damaged certificate: readable certificates are now used, with a warning on stderr/mcp in cloud sessions counting tools the model can't use; a server's row now shows how many of its tools are availableturn.step hook making a stopped reply finish as a success in headless runsclaude -p with no ~/.claude.json backup: it now takes a fresh backup before deleting the last good onesetup-token being refused at start on machines with forceLoginOrgUUID, when the token belongs to a permitted organization~/.claude.json that isn't valid JSON with defaults; the start now fails, says how to restore the file, and leaves it as is (anthropics/claude-code#87551)~/.claude.json with no backup being reported as corrupted; Claude Code now starts as it does when the file is missing~/.claude.json naming an empty or cut-off backup, or failing on a read-only fileclaude -p names claude auth login and claude setup-token~/.claude.json, settings files and the stored login survive saves on shared network home directories: they are less often deleted, briefly emptied or replaced by a near-empty or older copy/bin/bashclaude -p, SDK apps) to stop rewriting ~/.claude.json on every run when nothing in it changed/ide from an outside terminal or your editor's extensions viewprompt.submit to stay in the user's turn rather than go out as a system messagedeniedMcpServers URL entries to also block Anthropic-provided servers whose upstream URL matches, and connectors in cloud sessions and on self-hosted runners, where the session is given the connector's own URL; otherwise deny a connector by name/permissions rule details, built-in rules and delete confirmation views to use the standard dialog; pressing Ctrl+C twice there now goes back or cancels instead of quitting/claude-api managed-agents-onboard to give a new agent's built-in tools, and a quickstart template's MCP tools, the auto permission policy ("Judge risky actions") by default, matching the Claude Console; say "run without asking" to opt outexternal_account) credentials file is about to expirelisten.trusted_proxies: they now say to list only a proxy that adds the connecting address to X-Forwarded-For itselfCLAUDE_RUNNER_SPAWN_REASON to the orchestrator's spawn-runner hook environment: why Anthropic sent the request (e.g. runner_lost, resumed); unset when none was sent--release-idle-session-min is the last argument with no value (still ignored) or has a value of only spaces (still read as 0)ok session=… now prints at every log level on stdout (was debug only, stderr) with reason=… after jti=…, and nack session=… ends its fields with reason=… after retryable=…; update scripts that match retryable=true: or retryable=false:gh run view --log and gh api log requests now get the log in most environments, not an unreachable redirect/schedule when a new cloud scheduled task gets connectors you did not ask for, with how to remove themonFailure: "block" for Agent SDK hook callbacks, so a callback that fails blocks the action instead of letting it runanthropic.plan, anthropic.seat_type, anthropic.provider and anthropic.custom_base_url to OTel metrics, events and spansGET /v1/organizations/analytics/cost, for reading past spend over a date range in total, per developer, per day or per IdP groupadmin: set, kept for admin.identity_retention_days, which the cost report groups byCLAUDE_CODE_DISABLE_NESTED_SESSION_ID: set it to 1 on a self-hosted runner to have claude -p run inside a session use that session's ID and transcript, as in earlier versionsclaude auth status exiting before a slow token refresh was saved, which could sign you out on the next runeffortLevel setting being ignored by sessions that an app starts ahead of time and then opens in the project, such as new sessions in the desktop app's Code tabclaude --from-pr reporting "No conversations found" in projects with many sessions when the linked session was older than the first page/loop wakeups sometimes not being scheduled when Claude left a field out of its request/schedule leaving a cloud scheduled task's next run time and link out of its results after creating or updating itclaude -p exiting 0 when a full disk or quota lost its transcript or ~/.claude.json writes; it now prints an error and, in text and json output, exits 1. Full NFS exports may be missed--setting-sources/team-onboarding guide when asked to delete one without naming which/team-onboarding guide was deleted when the server refused the deleteAWS_BEARER_TOKEN_BEDROCK when their env config sets it to empty; the variable is now unset, so the server can use the machine's own AWS credentialsDISABLE_PROMPT_CACHING_OPUS and DISABLE_PROMPT_CACHING_SONNET having no effect on [1m], other-region and undated spellings of the default model/artifacts and the Artifact tool's shared list showing no shared artifacts when you have 200 or more of your ownhttps:// endpoint through a proxy never being sent when they started while another export was still in progresshttp:// endpointOTEL_EXPORTER_OTLP_TIMEOUT up to 30 seconds/remote-control answering "Unknown command" instead of saying that Remote Control is turned off by the disableRemoteControl settingclaude -p run inside a cloud or self-hosted runner session sharing that session's ID: it wrote into the session's transcript, and a restart could resume the wrong conversationclaude -p run inside a cloud or self-hosted runner session generating a title of its own and sending it to that sessioncloud_credential_error/design-sync to say up front when your design system has moved to Claude, and stop before building instead of failing at upload--chrome --debug) ahead of --resumeplugin-authoring skill to offer once, after a mod you built works, to help share the mod/usage showing a developer's own spend limit as 100% used after their group's pooled budget ran outCLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MSclaude remote-control a fork of "Name (fork)" is "Name (fork 2)"chat.fontSize is raisedultrathink not raising effort for its turn or showing its rainbow when telemetry is offclaude remote-control, when you sent it within a minute of your previous messageCLAUDE_CODE_DISABLE_ULTRATHINK, which turns the ultrathink keyword offpooled_budget on the spend limits admin APICLAUDE_CODE_DISABLE_LOOPED_CROSS_CERT_DROP to keep system cross-certificates that certify each other in a loop, for servers whose private CA needs oneCLAUDE_CODE_SUBAGENT_EFFORT to set the effort level subagents run at when nothing else names one, instead of inheriting the session'smanaged.policy_mode: layered to the Claude apps gateway: every policy that matches a developer applies, each merged over the ones listed below it, not only the firstguardrail.input_tagging on Claude apps gateway Bedrock upstreams, which wraps prompts in the input tags that an Amazon Bedrock guardrail's prompt attacks filter needs; all_messages_and_system also tags the system promptSHELLOPTS is exportedparam, using or an attributesonnet, opus and haiku on Vertex AI and Amazon Bedrock showing an error mid-session instead of switching to an older model when the newest is not yet available to the account or regionavailableModels, deniedModels and models; a request that names a blocked model now gets a 400 naming the fieldclaude auth login refusing to run where managed settings require a Claude apps gateway; in a terminal it now shows the gateway sign-in--restricted sessions uploading files from outside the working directories when a Read allow rule covered themautoMode.allow list without "$defaults" getting the built-in exceptions back from a host app's --settings, a first rule added in /permissions, or /auto-mode-setupclaude -p text output sometimes not saying why auto mode stopped a turn when a background agent was still runningCLAUDE_CODE_AUTO_MODE_SERVER=1 being ignored in sessions started by a host application (such as Claude Desktop) behind a proxy or LLM gateway with experimental betas turned offheadersHelper scripts receiving a corrupted CLAUDE_PLUGIN_ROOT and server URL when a credential-named environment variable was set to a switch value such as 1register_repo_root control request not loading the CLAUDE.md of a directory outside the working directory (with CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1)? for artifact database access rules at the self level, and not quoting those rules back when it refuses a republish that would drop them/model <id> not warning when the model isn't recognized by this version and auto-compact will assume a 200K context window/clear or /resume had been run while part of that conversation was still being saved/code-review started from the Code tab in Claude Desktop or on the web: cloud and claude remote-control sessions now show the findings card, not a plain-text list/diff on large repositories: each refresh usually runs one fewer full-repository git command, and refreshes are spaced out when git is slow/ultrareview, a cloud session or a cloud agent finds no GitHub remote: they now say to create a repository at https://github.com/new, and /ultrareview no longer suggests a gh command that gh rejectsautoMode.allow list without "$defaults" no longer removes the built-in rule on scheduled-task promptsultrathink to run its turn at xhigh effort and show in a rainbow in the chat box, as in the terminal[1m] tag, such as opus[1m]/btw side-question history being deleted too early while a settings file has errorspermissions.blockWritesOutsideWorkingDirectories: Write, Edit and NotebookEdit refuse paths outside the working directories in every permission modegroups list to Claude apps gateway upstreams: only developers in the listed IdP groups are sent to that upstream, on failover tooguardrail_trace to Claude apps gateway Bedrock upstreams, to log which Amazon Bedrock guardrail filter fired on a request, without the matched textclaude -p exiting with code 0 and no output when startup failed; it now prints the error and exits 1/compact with "400 Input is too long." instead of removing older images and compactingtool_reference blocks: the request is sent again once without tool search, and the session remembersUNABLE_TO_GET_ISSUER_CERT when the system certificate store holds a renewed root certificate that is cross-signed with its predecessorclaude mcp logout reporting success when the MCP sign-in was not removed, for example while the macOS keychain is locked over SSHclaude ultrareview and claude remote-control asking the workspace trust question in a CI job that has a terminal; with CI set they now refuse an untrusted folder at once--plugin-dir or --plugin-url plugins had a broken manifest or failed to downloadforceRemoteSettingsRefresh set only in remote managed settings no longer applying once the stored copy had expired, which let sessions start without policy when the server could not be reached/btw answering from the main conversation when asked from a subagent's open transcriptclaude remote-control sessions that failed to start when the session service was slow for a moment: the worker's registration is now retried with growing waitssandbox.excludedCommands setting description saying listed commands always run outside the sandbox; it now says every command in a call must match an entryclaude -p --resume or --continue--setting-sources still supplying some settings, such as auto mode rules and saved permission consents/permissions, when its safety check gave no verdict/upgrade opening the browser and starting a new login for plans billed through the App Store or Google Play; it now says where to change the plan--resume, and rewinding past a switch to another model after a refusal, moving a session on a model name Claude Code doesn't recognize to a different modelclaude-opus-4.8, being treated as an older model with the wrong context window, output limit, effort, thinking mode and cost⎿ rows in the transcript view (Ctrl+O)dw, dW, yw and yW carrying on past the end of the line, and made w and W stop on empty linesp over a character selection ignoring whether the yanked text was whole linesaw and iw taking the line break at the end of a line/btw, also interrupting the subagent whose transcript is open<bash-stdout> or <local-command-stdout> not being acknowledged to a local stream-json host~/.claude/skills/.trash, which added file system load that grew with each removal/config are hidden or your organization has turned off Remote Control~/.claude/skills/.trash and ~/.claude/plugins/.trash growing without limit: each now holds about 1024 entries, whatever cleanupPeriodDays says[Pasted text] pills/design-sync upload prompt to show the folder, the project and the files it will upload or delete/permissions review tab, now called Recently blocked: the footer says what Esc will do with marked rows/permissions to reviewclaude auth loginapiKeyHelper/config in agent view to say how to stop agent view opening by default/security-review now gets a title from it instead of staying untitled--resume speed and memory use on damaged transcripts/context speed in sessions with ten thousand or more MCP tools/claude-api skill: its Datadog setup for API tracing now sends the dd-llmobs-enabled: true header, as the Console does, and its ant install instructions drop the outdated macOS xattr step/ultrareview to check workspace trust before it runs git, as claude ultrareview doeswhich alias or function and to stop passing exported which/unsetenv functions to commands, so which is the system command or zsh builtin/permissions Recently blocked to refuse approving a call you can't read in full, including one the terminal is too short to showif conditions such as Monitor(tail *) to match the Monitor tool's shell commands as Bash(tail *) matches Bash'sclaude-api skill to ask to read a Managed Agents workflow run's workflow before changing the agent to improve that runANTHROPIC_DEFAULT_OPUS_MODEL, availableModels or deniedModels leaves only an older Opus model, or noneFORCE_HYPERLINK=false (also no and off) to turn hyperlinks off instead of ongit grep in most commands that Claude runs to use the C locale, to avoid a reported memory leak in macOS's regex library on files that aren't valid UTF-8CLAUDE_CODE_DISABLE_CFC_PROMPT to also stop the extension adding the Claude in Chrome instructions to a session's messages; the browser tools stay available@Claude !restart giving up after one failed workspace check in channels shared across Enterprise Grid workspaces; it now retries, then asks you to run it againoidc.user_id_claim to the Claude apps gateway, to identify people by an id_token claim other than sub, such as Microsoft Entra ID's oidpaths: skills not being found after a Bash cd deeper into a git repositoryclaude -p with no outputeffort values and transcripts naming a newly picked effort level during a task before the model applied it; they now show the level in force/model and /effort cache warning saying the re-read waits for your next message; a change made while Claude is working can trigger it sooner! inputd, c and y with a gj or gk count larger than the lines left deleting or copying text; like Vim, they now only move the cursor/verify showing a long description meant for Claude in /help and the / command menu instead of a short oneCLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0 to keep the full promptCLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1 to turn them offtimeout under 1 second now counts as 1 secondautoCompactWindow to lower the window set by CLAUDE_CODE_AUTO_COMPACT_WINDOW, where it had no effect before; it still never raises that windowmcp_server.name to report the real name of fixed-URL remote MCP servers declared by plugins from the official Anthropic marketplace, instead of customclaude_code.safety_event OpenTelemetry event--hold-idle-file and --max-hold-min to self-hosted-runner, to keep an idle session while your host reports processes it left runningclaude -p and SDK sessions saving transcript messages out of order or keeping messages that were taken backSubagentStop hooks running about twice a minute for each running subagent instead of once when it finishes.ignore/.rgignore negation rules that re-include git-ignored filesclaude mcp add, claude mcp remove and /mcp naming the current folder instead of the project entry in ~/.claude.json that holds a local-scope server when run below a repository rootclaude mcp list and claude mcp get showing the error code twice on failed-connection lines (for example ENOENT: ENOENT: …)claude daemon restart; it now suggests claude daemon stop --any and says it ends background sessionsclaude respawn <id> starting the background service before reporting that no background session matches the id/effort not warning about a prompt cache miss in plan mode when the plan model differs from the session model/ide saying the VS Code extension was installed before the install finished or when it failedagent; Cowork cloud sessions now ignore that setting--resume, --continue, /resume or --session-id, including after /clear or a crash, and /branch writing to the original session's list! open /tmp/shot.png or /review look at /tmp/shot.png, attaching the image and dropping its path from the prompt"\" or (\), disappearing from Claude's responsesDISABLE_COMPACT is setDISABLE_COMPACT is set/code-review, or another skill that runs in a sub-agent, running a second time when a cloud or background session restarts/ide saying it had installed the JetBrains plugin when nothing was installed/mcp showing a remote server as failed after "Clear authentication" when the server works without sign-in/mcp showing "authenticated" for a remote server that Claude Code sends no credentials to--plugin-dir folder of plugins loading as one plugin when an empty .mcp.json was at its top/usage never showing large prompt-cache misses under "What's contributing to your limits usage?"CLAUDE_CODE_RETRY_WATCHDOG), indefinitelybwrap: Can't create file when a --plugin-dir folder was also an added directory and permissions.blockReadsOutsideWorkingDirectories was on/teleport and claude --teleport to warn when a compacted cloud session loads from its last compaction, so the messages it summarized aren't in the local copy#name and no longer says the address bar stays the same as you switch viewsclaude --model opusultrathink in the interactive terminal to run its turn at xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API; typed while Claude is working, it raises the rest of that turnultrathink rainbow to appear only where the keyword can raise effort, and not when the word is quoted or part of a file path--output-format json and stream-json output to write DEL, C1 control and Unicode format characters inside strings as \uXXXX escapes; parsed values are unchanged[1m] suffix and its label on models where the suffix has no effect; the suffix is still accepted/code-review to tell Claude to put the effort level first and use max only when askedDISABLE_COMPACT in settings files and in a mod's $.env.set so they can only turn compaction off, not back onCLAUDE_CODE_SYNC_SKILLS with feature-flag fetching off to reuse a claude.ai skills list up to 10 minutes old that another session on the machine fetchedclaude purge to say it deletes data only on this computer, not anything stored by AnthropicDISABLE_TELEMETRY set while VS Code's telemetry setting is off, so they send no usage metrics or error reports and fetch no feature flagseffort-2025-11-24 beta value or mid-conversation system messages; Claude Code now retries without themcleanupPeriodDays is set to a very large value-p, Agent SDK) during compaction when the transcript file is very largeImage to draw inside tmux with allow-passthrough and focus-events on, in kitty, Ghostty, and iTerm2 3.5+ with fullscreen rendering, where it showed only its alt text/sandbox and the sandbox startup warning to name Ubuntu's AppArmor restriction on user namespaces, and how to lift it, when it keeps bubblewrap from starting the sandbox! commands such as !restart and !help as ordinary messages when sent in bold, italic or strikethroughdenyWrite glob patterns not applying at a path's real location when the pattern's folder is reached through a symlink--mcp-configcd is wrapped or prefixed, as they do for a plain cdEdit(path) deny rule not blocking a Bash redirect to that path in some commands that also held a subshell! modejq could not parse/procclaude remote-control status line showing HEAD as the branch for a folder that is not in a git repository--tools rules given on the leader's command line/rename appearing to other sessions under a generated name after a VS Code window reload or a non-interactive --resume/rewind list showing "No code changes" for a turn that changed checkpointed files through /code-review --fix, a subagent or a shell command/privacy-settings showing an out-of-date "Help improve our AI models" value; it now also says when the setting can't be fetched--add-dir folder being unreachable when another skill already held its name; it is now offered as <folder>:<name>/verify and /code-review not finding a nested package's own skill when its files were changed from the shellant beta:worker poll --on-work passes trace context to the commandPreToolUse and PermissionRequest hooks with "shell": "powershell" failing open when Git for Windows isn't installedturn.step hook that names a model by alias, such as haiku, failing every request with a model error: the alias now resolves to its modelANTHROPIC_BEDROCK_BASE_URL is set to the default bedrock-runtime.<region>.amazonaws.com endpointSet-Location or cd commands that target the current directory and carry extra arguments; these now prompt for approval--startup-timeout-min stopping a session whose first prompt, such as /code-review, was still working in a subagent; a frozen process is still stoppedapca(text, background) function to its palette validator scripts, and say whether a label inside a colored chart fill should be white or near-blacksed -i to get the standard Bash prompt and run as written, not a simulated file-edit preview; like other Bash edits, it is no longer restored by /rewindclaude ultrareview to require workspace trust: it asks on a terminal, else refuses; scripts pass --trust-workspace, which takes no value (put a PR number or base branch before it), or set CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1rm and rmdir prompt in bypass permissions mode in the Desktop app and VS Code to deny the command at once with a rewrite hint, so unattended sessions keep going/claude-api skill to build Managed Agents subagent teams on multiagent_20261001 with dynamic workflows on by default, instead of coordinator/goal filling the chat panel; they now fold behind Show more like other prompts (anthropics/claude-code#97469)@claude review stop; its check now closes and says why/claude-api api-version to move Claude API code to API version 2026-10-21claude_code.safety_event OpenTelemetry event for each tool call a permission rule, auto mode, a safety check, a hook or the sandbox stopped, prompted or sent backCLAUDE_CODE_DISABLE_1M_CONTEXT is set and the model is an alias with the [1m] suffix, such as opus[1m]prompt-caching-scope beta header being sent behind custom ANTHROPIC_BASE_URL gateways and on Foundry, where it has no effectclaude -p on macOS while the login keychain was locked; they now say why, and the next run after an unlock connects without a new sign-in/autocompact in cloud sessions going back to the default window after the session restarted/clear sometimes coming back when a cloud or self-hosted runner session restartedCLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS being ignored in Claude apps gateway sessionsOTEL_EXPORTER_OTLP_HEADERS is set/permissions > Recently denied not showing the denied shell command, and auto mode's local classifier ignoring an approval from there when it checks a retried command; approving a row now names the command, not its description/help and the / command menu showing long model-facing descriptions for bundled skills such as /claude-api instead of their short descriptionssetModel(), and apps built on it, being refused when the API took more than 5 seconds to confirm the model; Claude Code now waits up to 15 seconds--use-anthropic-git-proxy committing a .claude/settings.local.json left in the clone by an earlier sessionaxScreenReader setting and CLAUDE_AX_SCREEN_READER in a settings env block to apply only from user, managed or --settings settings (since 2.1.305)--checkout-hook-timeout-min or set it to 0[runner:warn] line gives the number left outNODE_EXTRA_CA_CERTS is set only in ~/.claude/settings.json; it now also follows CLAUDE_CODE_CERT_STORENODE_EXTRA_CA_CERTS file named in the environment or in user settings@claude review stop (also off and pause) to Code Review, ending an @claude review always subscription on a pull request without starting a new reviewclaude -p inside cloud sessions reporting "Not logged in" when started without the session's environment variablessandbox.allowNestedUserNamespaces so sandboxed commands on Linux can create user namespaces (Chromium, rootless podman); this lets them get around the sandbox's file protectionsCLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) notices a usage limit that was lifted before its reset--tools (a 2.1.304 regression): Claude Code now retries without it/effort and /autocompact settings not applying when the model name differed from a modelOverrides value by letter case or a [1m] tagENOSPC file path: the error now says the disk is full and that nothing ransetMcpServers being replaced later in the session by a same-named server from your own settingspipeline() and parallel() agents instead of serving them from the run's journal/resume after switching conversations with /resume/usage rows being cut off in narrow terminalsResource temporarily unavailable when TERM is set (a 2.1.300 regression)GIT_CONFIG/usage: each warning is now a one-line fix that names its source, and f applies the fixes; the same fixes appear in VS Code and /doctorImage to draw its picture in iTerm2 3.5 and later with fullscreen rendering, where it showed only its alt textw now says the new mode is saved for the folder, and a later claude remote-control start that uses the saved mode says where it came fromallowedMcpServers to stop filtering managed-mcp.json stdio servers that use ${VAR} only in env: one your allowlist left out now loads on upgrade; use deniedMcpServers to keep it offallowed-tools when your organization's managed settings set allowManagedPermissionRulesOnly/artifacts delete confirmation to take 1 or Enter to keep, 2 to delete, and Esc to cancel; y and n no longer answer itspinnerVerbs setting replaces the built-in verbs with short onesdecider: "person" to a mod's tool.check answer: only the permission dialog or a host's callback can approve the ask, and it is refused with the mod's reason where nobody can be askede.isReadOnly to a mod's tool.check event, set when the tool call is read-only/auto-mode-setup: a guided setup that reads your project and recent sessions to teach auto mode about your environment, now also available on Bedrock, Vertex, Foundry, Claude apps gateway and telemetry-disabled sessions/claude-api managed-agents-secure, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anythingANTHROPIC_API_KEY at startup or switching "Use custom API key" in /configsandbox.filesystem.denyRead glob contains brackets that are not a character class, such as a [user-id] route folderrm -r of a mounted drive or a folder at its top level (/Volumes, /media, WSL's /mnt/c) not getting the safety prompt that rm -rf /Applications getsCLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping messages from the saved transcript when the disk filled up while the file was being trimmed--max-turns, Stop, or ended input by spawning subagents or re-running a finished onekey were redrawn unchangedplugin-authoring skill stopping at the secret scan on machines with managed settings and on Team and Enterprise plans../../…; they now show ~/… or the full pathcontext_management: Extra inputs are not permitted errors behind LLM gateways; Claude Code now resends the request without that field/privacy-settings offering choices that may not apply to you after a network or server errorclaude --help text for --tools, --resume, --debug, --json-schema, --disable-slash-commands, --system-prompt-snapshot and claude update to match actual behaviorclaude --worktree removing the worktree and its branch without asking at exit when HEAD was detached or on another branch, which could lose commits/effort status, /effort ultracode and the prompt's effort indicator showing a guessed effort level when CLAUDE_CODE_EFFORT_LEVEL is auto or unset and no level is sent/loop wakeups scheduled at the 1-hour maximum firing just after the 1-hour prompt cache expired, so those wakeups no longer re-read the conversation uncachedonce hook also removing another skill's identical hook after it ran{ and } landing the prompt on an inconsistent row, or off screen, instead of the transcript's first rowCLAUDE_CODE_AUTO_COMPACT_WINDOW=200k silently setting a 100K window: the variable now accepts k and M suffixes like --autocompact, and warns when a value is out of range or ignored/usage to say when a rate limit on usage data ends instead of "try again in a moment"alwaysLoad: trueclaude -p invalid-settings warning: a file that did not load lists only what stopped it, and long lists are capped per filesettings.read hooks to receive each settings layer and rewrite the merged settings, so a managed mod can make an organization's setting a ceiling, including the cleanupPeriodDays the retention sweep uses/artifacts delete confirmation to show numbered choices: 1 or Enter keeps the artifact, 2 deletes it, and y, n and Esc still workANTHROPIC_BASE_URL; a 400 or 422 from the gateway is retried without it/reload-skills now sends only new or changed skillsallowed-toolsant CLI on Claude Platform on AWS instead of falling back to the SDK or curlclaude plugin validate that predicted where a mod's hooks would run/fast dialog title on Opus 5.5claudeCode.claudeProcessWrapper is set@Claude !fork typed outside a thread getting no visible reply; Claude now shows you a private note saying to run it from inside a threadCLAUDE_CODE_AUTO_MODE_MODEL to choose the model the client-side auto mode classifier uses; it does not change the model for server-side auto modeIdle compaction row to /config for turning idle compaction off or back on; the notices shown after an idle compaction now say how to turn it off/design-sync and /design-login that standalone Claude Design (claude.ai/design) closes by December 14, 2026/autocompact and /effort saving to the wrong model when a gateway names Opus 4 or 4.1 with a prefix, such as anthropic/claude-opus-4-1claude plugin and other subcommands sometimes exiting before a queued settings or config write finished, which could lose the change or leave a .tmp file behindbin/ folder, and reporting an error when a search that finds nothing (rg, grep, findstr, git grep) is piped into Select-Object or another formatting cmdlet/mcp to authorize or reconnect an MCP server where that option isn't availableclassifier_category missing from OpenTelemetry tool_decision events for most auto mode classifier blocks, and new tool_decision attributes pushing out tool_use_id, tool_source and tool_parameters when OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT is lowclaude remote-control --help not printing its usage and exiting when not signed in/design consent and /design revoke suggesting /design-login when they fail in a cloud session, where it isn't available; the message now points to claude.ai/design/settingsresultType, ttlMs or cacheScopeclaude plugin details <name>@builtin suggesting claude plugin list, which never shows built-in plugins, when the plugin isn't found; it now points to /plugin.git file points at a directory that doesn't exist--plugin-dirclaude -p and Agent SDK sessions with no permission mode to start in default mode on third-party providers, with telemetry off or on a fresh install; --permission-mode auto keeps autosubagent_type: "fork") to be on by default in claude -p, the Agent SDK, the desktop app and VS Code, as they already are in the terminal; CLAUDE_CODE_FORK_SUBAGENT=0 turns them off, and claude mcp serve never offers themclaude -p, the Agent SDK, the desktop app and VS Code now run in the foreground by default← for agents footer hint to hide 10 seconds after a session opens; the count of agents waiting on you still shows/feedback: it now points to GitHub issues instead of an organization admin@browser banner saying "Browser connected" when no browser with the Claude extension can be reachedCLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) ends a request at a usage limit that resets too far away instead of waitingclaude-api skill, including setting up trace destinations with the ant CLI% motion to vim mode: jump to the matching bracket, alone or with d/c/yrows to a mod's Input: a text field of several lines in the terminal, where Enter submits and Shift+Enter or a backslash before Enter starts a new lineclassifier_verdict and permission_mode to OpenTelemetry tool_decision events, so auto mode classifier decisions can be told apart from permission rulesclassifier_category to OpenTelemetry tool_decision events, naming the built-in rule a classifier block matched, when OTEL_LOG_TOOL_DETAILS=1WorktreeCreate hook without asking when it may hold unpushed commitsfable (and best) model alias erroring on the Anthropic API when the newest Fable model is not available to your organization: Claude Code now retries once on the previous Fable model>0q covering the folder trust prompt, and >4m before the shell prompt at exit, in terminals built on VTE older than 0.53 such as MATE Terminal on RHEL 8GOK text appearing in the prompt at startup in some versions of iTerm2application-inference-profile running your awsAuthRefresh command and delaying model-switch hooks when the provider is not Bedrockclaude auth status or claude plugin list exited in the middle of a token refresh/rewindask decision not showing which plugin or skill the hook comes from/diff not noticing a conflicted cherry-pick or revert in reftable repositories when one of its git checks timed out or failedcd in the same session$.model.fork returning nothing-to-fork when called before the first response of a new Claude Code process had finished, as in claude -p runs and cloud sessions/compact and auto-compact briefly freezing the UI while the visible transcript is rebuiltdeniedMcpServers to keep those tools off[killed] line in their output file.catch handler to run only when the hook throws or times out; events raised beneath the hook's own calls now skip that hook without asking its .catch$.env.set to resolve with {} once the variable is set or unset, or with { deny } saying why when the write is not made$$ and multi-line \[ … \] blocks and inline $…$ and \(…\) mathvirtualText to a mod's prompt decorations: text drawn in the prompt box that never enters the draft or the submitted promptcache_creation_5m_tokens and cache_creation_1h_tokens to the OpenTelemetry api_request event, splitting cache writes by lifetime$.ui.view({ agentId }) for mods: shows an agent's transcript in the main view when you ask, and $.ui.view({}) goes backdir prop on a mod's Text for right-to-left text: on Windows and in VS Code's terminal its rows read in that direction and sit flush right/advisor on Claude Platform on AWS; no advisor runs until you pick one with /advisor, advisorModel or --advisor, and CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1 turns it offgen_ai.provider.name, gen_ai.conversation.id, gen_ai.tool.name and error.typeprompt and model in the agent.spawn mod hook, which could only refuse workflow agents beforeprompt.change mod hook, raised when the prompt box's text changes without a typed edit: a recalled history entry, a clear, an undo, or a plugin's fill/autocompact warning about high token usage when you choose a smaller auto-compact windowclaude --help naming a removed tool in its description of --restrictedclaude agents not refreshing any pull request's status when the data for one of them came back incomplete/tasks shortly after finishing, leaving no way back to the conversationENABLE_TOOL_SEARCH=auto) turning off part-way through a conversation, for example while MCP servers reconnect after a resumeforceLoginOrgUUID leaving the refused organization's token stored, or live after /loginArtifact("(unprintable path)") while a call's input arrives; its row now shows "Waiting…" and "Running…" as Bash's does/branch dropping messages, and claude purge skipping subfolder projects, when they contain a Unicode line or paragraph separator (U+2028, U+2029)WorktreeCreate and WorktreeRemove hooks not running when Claude Code starts with --worktree (not yet with --tmux)tool_result events missing git_commit_id after git commit -q in repositories using reftable ref storageprompt.submit hook rewrote or dropped still being recorded as typed in the OpenTelemetry user_prompt event and interaction span, and in session title requestsmodel: aliases like haiku now resolve, a subagent's model no longer overrides it, and an unavailable model falls back to the caller's instead of allowing the action--worktree sessions sometimes starting from the wrong commit when a tag or branch was named like a commit ID, and their starting git status naming a branch other than the new worktree's--worktree failing to reopen a worktree in repositories using git's reftable ref storageclaude remote-control servers giving up on renewing their connection after a brief sign-in error, such as a locked keychain; they now retry, and warn when you need to run claude /login--worktree failing in a worktree of a bare repository when origin's default branch can't be fetched; the fallback base is now the current checkout's HEAD, not the main repository'sprompt.edit hook not being raised for a newline entered with the chat:newline keybinding (Ctrl+J, or a rebound Enter)claude daemon stop --any printing "stopped" while a stuck background service kept running: it now waits, force-kills the service, and says so with exit 1 if it is still thereclaude daemon stop exiting with no output, and leaving sessions listed as running, when telemetry is turned off/healthz or SIGTERM shutdown) while nobody reads their output; logs keep the latest 256 KiB and count drops (not on Windows)plugin-authoring skill: Claude scans a mod's files for keys before opening them, and asks before scanning a folder outside the projectCLAUDE_CODE_PROVIDER_MANAGED_BY_HOST sessions to ignore CA-bundle, tool-proxy, git TLS and git config variables like SSL_CERT_FILE in settings; under Claude Desktop, only in project settingsforceLoginGatewayUrl names an Anthropic-operated gateway that serves the session's hostname; that gateway must be reachable at startclaude gateway to stop at start, naming the key, on a desktop: policy key that Claude Desktop cannot use from a gateway, where it earlier started with a warningCLAUDE_CODE_GZIP_REQUEST_BODIES=0 to turn it offclaude-api skill to leave Managed Agents sessions in place unless you ask to archive or delete them/sandbox mode options to read "Sandbox commands" instead of "Sandbox BashTool"PermissionRequest hooks in Cowork cloud sessions: a setMode update in a hook's allow is now ignored; the rest of the approval still appliesupdatedInput from PreToolUse and PermissionRequest hooks is now validated like Claude's own input: unknown keys are dropped, and input the tool rejects denies the call--sandbox and --no-sandbox flags from claude remote-control, which had no effect; passing either now exits with an error. Set sandbox.enabled in settings to sandbox sessionsclaudeCode.attachSelection setting to stop text selected in the editor from being added to your messages/c:/… path instead of a mention relative to the working directory/bin/ps directly instead of searching PATH for ps on every check@claude review comments from people with write access whose GitHub organization membership is private; their comments now start a reviewCLAUDE_CODE_DISABLE_FILE_MENTIONS environment variable: Claude gets the paths of @ file mentions to read with its file tools, not the files' contentsCLAUDE_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$.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$.session.identity() for mods installed by managed settings: how the session is signed in, and its organization and email when managed forceLoginOrgUUID lists that organizationsize, 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--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 finishskill.prompt hook receives/effort and /fast in agent view to set what new sessions start with; a bare /model, /effort or /fast there now opens a picker--safe-mode--disallow-tools and a disallowed_tools case field to claude plugin eval to keep specific built-in tools, such as Agent, out of eval runsCLAUDE_CODE_ATTRIBUTION_HEADER=0 in the env of a Claude apps gateway's code policyCLAUDE_CODE_ATTRIBUTION_HEADER=0queue door to the session.append mod hook, so a mod can make the transcript's queue records differ from the prompt as sent/plugin and claude plugin validate naming a mod's hooks that are skipped where an organization manages Claude Code/usage warnings for max effort, workflows, always-on context and large tool resultsapiKeyHelper was in useANTHROPIC_BASE_URL ending with "Prompt is too long · automatic compaction failed" near 200K tokens instead of sending the request--max-turns, --max-budget-usd, an interrupt, or the end of the host's conversation.claude in itUserPromptSubmit or mod prompt.submit hooks were still running (regression in 2.1.296)--plugin-dir folder, whose code Claude Code reloads and runs outside the sandbox--debug, --debug-file), and a hang on exit when the debug log is on a disk or network mount that stops accepting writes-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=1claude mcp list, claude doctor and /status reporting an empty .mcp.json as invalid/btw jumping the transcript to the bottom when asked while scrolled up in fullscreenbwrap: Can't mkdir /mnt/c/Program Files/ClaudeCode when the sandbox can write to the Windows driveclaude remote-control sessionsprompt.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.config.json in the config directory/sandbox reporting success when its setting could not be saved because the project folder is not writable; it now says nothing changed and whyconstructor or prototype in an MCP config never being connectedconstructor or toString asking for permission in auto mode and bypass permissions mode.catch, being run again without end when it waits on another mod's noun that does its work outside the callavailableModelsMatch: exact or deniedModels blocks; it now answers 400 and leaves them out of its model listsANTHROPIC_BASE_URLANTHROPIC_BASE_URL being aborted after 180 seconds with no data arriving; they now wait 300 seconds, whether or not feature flags are loadedtool.describe or prompt.section answer that changed after $.ui.invalidate never reaching Claude; the new answer is now sent on the next turnenabledMcpjsonServers or disabledMcpjsonServers held a single server name (letters, digits, - or _) as a plain stringclaude plugin test pausing a hook's time budget while a served $ method it had called kept making $ calls after answeringnext(), returns, or sends to a $ method being refused whole when one of its getters throws a RangeError; now only that key is refused/usage, the approaching-limit warning (terminal and VS Code) and the status line sometimes showing more than 100% used (anthropics/claude-code#92238)mcp__<server>) not applying when the server's normalized name contains a double underscoreplugin_loaded telemetry event reporting has_hooks as false for plugins whose hooks are a hooks module, built-in plugins includedANTHROPIC_BASE_URL); Anthropic API keys are still sent$ to a function declaration imported from another file of the mod__proto__ keys silently removed, which could skip a tool.check guard on a tool call another mod madeclaude -p saying nothing when a settings file fails validation: text-output runs now list the file and the invalid entry on stderrforceLoginOrgUUIDclaude 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/reload-plugins not loading a plugin installed from another terminal a moment earlier--bare, which keeps the mode; they now name /stop and claude --resume, as safe mode ones do← not saying why it stayed put over a queued message while Remote Control is on$.http.fetch in mods refusing a 304, 204 or 205 response that declares a Content-Length over the 4 MiB body limit/config push notification toggles sending your account the previous setting instead of the one you just chose--input-format stream-json running together without a line break when merged into one turn--exec-path wrapper's own --mcp-config when connectors change mid-sessionclaude 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 1forceLoginOrgUUID and forceLoginMethod from MDM or the managed-settings file being hidden or replaced by server-managed settings--bare sessions leaving out an MCP server named constructor or prototype that --channels asked for/clear reattaching to the Remote Control session of the conversation after it/, 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--safe-mode silently leaving safe mode when the session was woken or restarted/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-rundenyRead 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 sandboxallowRead and allowWrite entries not being re-checked when the directory they start from is replaced by a symlinkclaude mcp add <name> -- <command> --background being started as a background session--bg or --background to a background session being taken for the flag, which could start new sessions over and over instead of delivering it--worktree sessions leaving a folder behind in .git/worktrees in repositories using git's reftable ref storageclaude self-hosted-runner sessions using Anthropic-managed git showing tracked files as staged deletions when starting in a reused clone whose remote is still emptyultracode is on in settingsheaders/headersHelper values, which broke servers behind an authenticating proxy<head> is published again unchanged$.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 -pagent.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 itclaude plugin validate rejecting a mod's $.state references when plugin.json has no types key and the contract is at ./types/index.d.tsdimColor text looking the same as plain text under the dark ANSI theme and on 16-color terminalsPreToolUse hook or a mod's tool.check hook allowedSendMessage 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)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$.env.set changing the environment or shell prefix that command hooks from managed settings start withsetup and doctor say when the runner's machine has no git credentials--retire-at and delaying shutdownclaude auth loginanthropic-skills: prefix to it/reload-skills to say it re-sends the full skill list to Claude, which is how to get skills back after compaction< or > is no longer offered until renamed; such a name: is ignoredui.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 itclaude plugin test to fail a call to a mod's served $ method that has not answered within ten seconds, as a session doesmcp__a no longer allows a server named a__b or a_; write mcp__<server>__* with the server's whole normalized nametools: lists to take only the named MCP server's tools; list a server whose name contains __ as mcp__<whole name>__*MCP_PROTOCOL_NEGOTIATION=legacy opts outapi.anthropic.com to reach Claude in full instead of being cut at 4,096 charactersPermissionRequest hook can no longer approve shell commands or subagents; those prompts wait or are denied-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/btw side questions in non-interactive sessions to return a timeout error when still unanswered after 11 minutesUserPromptSubmit hooks to run before a skill or custom slash command expands, so a hook that blocks the prompt now also stops its embedded shell commandsUserPromptSubmit hook to first run on the prompt after the one that invokes the skillturn.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)/ultrareview can't upload a repository to stop suggesting git add ., which could stage or commit untracked files such as .envcode key to the Claude apps gateway's managed.policies[]: the same settings as cli, also applied in Claude Desktop's Code tab; beside desktop, it turns on Claude Desktop's gateway modeautoCompactWindow to subagent frontmatter and --agents definitions, so a subagent can auto-compact earlier than the main conversation's windowCLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL to run every workflow agent on one model while other subagents keep theirsCLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS environment variable to set a longer maximum delay for the backoff when retrying an overloaded (529) request/plugin on a plugin whose hooks are left out because another enabled plugin has the same nameallow_large option to the Read tool so Claude can read a text file past the usual size limits in one call when it needs the whole file and the context has roomPreToolUse hooks that deny a tool call with "continue": false, and managed prompt hooks that block one, refusing the call but not ending the turnupdatedMCPToolOutput in some sessions.mcp.json or plugin MCP server that was switched off for that folder, after changing directory or reloading pluginsallowedProviders with "gateway" locking out laptops that name that gateway in user settingsforceLoginMethod to gateway with no forceLoginGatewayUrl (regression in 2.1.295)--teleport opening an empty conversation when the session's history could not be read52;c;… escape sequence printed on screen after copying in older VTE-based terminals such as MATE Terminal/diff panel or dialog was openUserPromptSubmit hook or a mod's prompt.submit hook ending headless sessions, clearing the typed prompt, or letting the unchecked prompt throughclaude self-hosted-runner printing misleading errors when registration is refused: it now names the org admin setting, or says a restarted on-demand runner needs a fresh work order--capacity above 1$ methods running in the main session's working directory instead of the calling agent's, and ignoring the turn their calling hook holds$.agent.register succeeding from a mod's hook that was still running after the mod was reloaded or removed; the call is now refused$.http.fetch in mods refusing a HEAD request when the response declares a Content-Length over the 4 MiB body limitclaude plugin marketplace add, marketplace update and plugin install failing with an internal error for a marketplace named like constructor; add now refuses such names clearlyconstructor or prototype being deleted by the next save of that plugin's optionsCLAUDE_CODE_RESUME_INTERRUPTED_TURN re-running a finished turn after a restart when an MCP tool result had ended that turnBASH_ARGV0 shell variable and then use it; these now prompt for approval← being run twice, once unseen in the foreground, when the background service was slow to answer← moved the session to the background; it is still not sent, but ↑ now brings it back/clear in headless sessions/mcp or claude mcp when an MCP server needs authentication/code-review ending on a raw JSON array in cloud sessions, the Agent SDK and IDE integrations; the findings now print as a numbered listtool_result events missing git_commit_id after git commit -q or git -C <dir> commitCLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping a message from the saved transcript when its text held a Unicode line or paragraph separator (U+2028, U+2029)claude purge leaving a prompt in the history file when its text held a Unicode line or paragraph separator (U+2028, U+2029)claude plugin install failing for GitHub owner/repo plugin sources on machines with no GitHub SSH key; the clone is now retried over HTTPSrm -rf /c/Users/<name> in Git Bash not asking in bypass permissions modecode settings, the reason shows as a reply--debug output to name unrecognized frontmatter fields in custom agent files, with a hint for likely typos--debug output for hooks: command hooks on tool calls, prompts, SessionStart and Stop now log their command, plugin, outcome and duration when they finish, so a slow hook is identifiableCLAUDE_CODE_TRANSCRIPT_LOCAL_GC: a large transcript file is no longer rewritten when that would free under 10% of it/cost, the status line, --max-budget-usd and the SDK's cost figures to price Sonnet 5.5 cache reads at $0.10 per million tokens (was $0.20)←: a turn or ! command started while the session moves to the background is now stopped instead of finishing out of sightclaudeCode.spinnerVerbs missing from the extension's settings, so settings.json now completes and validates it; a malformed value no longer breaks the chat panel@browser, as the terminal does; allowing a site for the session stops repeat asksprefersReducedMotion settingonFailure: "block" for command and HTTP hooks: a hook that can't start, times out, or exits with an unexpected code blocks the action instead of letting it through/copy picker, so a drafted message copies without its > markersclaude plugin install, enable, disable and marketplace add when the settings file they write to does not loadclaude -p run is waiting for when it stays open after its last turntimeouts.upstream_ttfb_ms on the Claude apps gateway's Bedrock, Vertex, Foundry and other cloud upstreams: a value you set now limits how long a stream may take to start there, after which it fails over or gets a 502← is waiting for the current tool to finishmodels list to every Claude apps gateway upstream: only the listed models are sent there, on failover too, and one * in an entry is a wildcardforceLoginMethod: "gateway" and forceLoginGatewayUrl in your own user settings on machines with no managed settings, so /login opens on that Claude apps gatewayclaude plugin validate when a plugin's README has no install line: it prints the line to paste and never changes the exit code, even with --strictupstream_request_id to the Claude apps gateway's inference audit event: the request ID from Amazon Bedrock, the Anthropic API or another upstream, for support cases$.ui.notify for mods: raises a native notification through your own notification setting and says which channel sent itButton: strings and Text, so a row of a list is one pressable with a chip or a dim detail insideCLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS to limit how long unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) waits out 429 and 529 errorsrequest-id header to the Claude apps gateway's successful inference responses, so request_id in Claude Code telemetry matches the gateway's audit log[1m] model when a gateway, Bedrock, Vertex or Foundry refuses the context-1m beta; Claude Code now resends without itclaude -p text output dropping earlier responses when background work started another turn; each turn's response now prints when the turn endscommand_description instead of descriptionhost:80) to plain http:// pages on that host/plugin's Errors tab removing a marketplace that failed to load, and uninstalling its plugins, on Enter without asking firstclaude plugin marketplace add reporting success for a marketplace whose name no plugin can be installed under; such an add is now refusedCLAUDE_AUTO_BACKGROUND_TASKS moving a subagent to the background while an edit or shell command waited behind it, which started that call before the subagent finishedclaude remote-control sessions right after a phone message, without the /config toggle, or when started from inside Claude Code/tui exiting without a message, or with a raw system error, when Claude Code could not be started againavailableModels not appearing in the /model picker for sessions signed in to a Claude apps gateway; such a model now shows its built-in row in place of a modelPicker row added for the same modelCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC hiding the Claude apps gateway spend limit in /usage and the status line. The spend limit request goes to the gateway the session is signed in to←; Claude now keeps working in the foreground--tools and --restricted not applying to built-in tools that register after launch, and deprecated tool names reaching tools outside the caller's tool set/loop that was moved to the background with ←; cancelling a pending wakeup now shows a noticeFORCE_COLOR=3, which put color escape codes into the output Claude readsclaude agents starting a new background service as it exited when both were stopped with a session open (for example at a reboot), which could delay shutdown and restart an interrupted sessionworker being shown as "Agent" in auto-mode denial notices and in the activity lists of task detail viewsTaskStop, which can never be the cause/loop stopping without notice when its next wakeup came due while the session's process was down; the session now says so and Claude is told/advisor dialog showing a checkmark on a saved advisor model that is no longer available; it now opens on "No advisor"~ moving the cursor past the last character of a line, so x after it did nothing, and 3~ running on into the next line.catch; such calls are now refusedclaude plugin test passing a session.append hook that removes tool call, tool result or thinking blocks that a real session keepscat ran without printing itconstructor or prototype always reading as their default and never reloading the plugin when edited/reload-plugins or session start was reading the mod's files/model, /fast and /output-style saving their setting without asking a plugin's config.set hookclaude mcp serve background Bash results not naming the output file, and its tool description promising a notification that never arrivesCLAUDE_ENV_FILE not reaching the Bash tool after an in-app /resume or /branchallowed-tools and effort being dropped when the Skill tool finished before the response stream ended, which denied the skill's Bash commands in -p runs--plugin-dir plugin's folder in -p and SDK sessions; they are now written only where a mod is being developed/model saying a Max effort pick was saved as your default for new sessions; Max applies to the current session onlypages parameter instead of treating it as omittedplugin install and uninstall at project or local scope on Windows missing the install record, or adding a second one, when only the drive letter's case differs↑ or Esc just after ←: prompt history now keeps itprompt.submit hook rewrote or dropped still being saved as typed to prompt history and to the transcript's queued-prompt recordsclaude_code.auth OpenTelemetry login event not being emitted on Claude apps gateway sign-in. The event is exported when OpenTelemetry is configured on the machine or the session is already signed in to the gateway~/.claude/seed-admin by an interrupted /ultrareview upload never being removed by the retention cleanupdisableAutoMode was removed from settings/rewind being lost, and the removed turns coming back, when the session was moved to the background or resumed after being killedsession.receive hook asked for permission before passing a message onsetMcpServers() as your own/config saving before a plugin's config.set hook was asked/context and large file reads use: the gateway now gets them from AWS's CountTokens API instead of a one-token model request. Grant bedrock:CountTokens to use itmcp__server__tool identifiermodels: in Amazon Bedrock regions outside AWS's US geography. AWS always refused those requests; the gateway now tries the model in your own region, and a refusal names the model to addrate_limit_event usage-limit warnings to say whether the account has extra usage turned onplugin-authoring skill: it no longer tells a session with no terminal to run terminal commands, and explains sharing a mod only when asked-l, -c or -r flag now runs instead of failing the callclaude plugin validate and plugin loading: when a hooks module is refused over a rebound top-level var, the error now names the line that rebinds it, the cause, and a fixscriptPath refusal: it now says to pass the script inline via script, the route that works in sessions without a Read toolskills field, each once; a subagent with the Skill tool can still invoke the rest/loop wakeup alone, so pressing it twice detaches and the loop keeps running; press Esc to stop itclaude agents stopped with its background service (macOS, or Linux without the service installed): running sessions now stop in about a minute unless it is run again, and a notice says soMCP_PROTOCOL_NEGOTIATION=legacy opts outdesktop policy key its bundled Claude Desktop schema doesn't know, so new Desktop settings need no gateway upgradews) MCP servers: a message over 16 MiB is no longer parsed and closes the connection, the limit the other transports already haveCCR_AUTO_MODE_ALLOW, CCR_AUTO_MODE_ENVIRONMENT and CCR_AUTO_MODE_SOFT_DENY into a session's environmentCLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS tunes or turns off the wait@Claude !restart had already confirmed the restartagent hook evaluations taking much longer at xhigh and max effortprompt and agent hooks written as instructions (such as "Block commands that...") allowing what they should blockprompt hooks on Stop and SubagentStop written as instructions (such as "Carry on if the build is broken") are judged, so Claude is less likely to stop earlyclaude-haiku-5-5), now the default Haiku model on the Anthropic API — 1M context, $0.10/$0.50 per Mtok ($0.50/$2.50 for prompts over 100K)agentType to the subagentStatusLine payload, so scripts can tell custom subagent types apartisDeferred to $.tool.register for mods: false lists the tool's schema in the prompt from the start instead of behind tool search← moved the session to the background; if a queued message can't move, ← now stays put and says so/model effort ←/→ wrapping past the highest or lowest level, which could accidentally save Low as a model's default effort/tui disconnecting Claude in Chrome in a session started with --chrome, and ignoring --no-chromeSendMessage in sessions, including resumed ones, where a host, a permission rule or a --tools list removed that tool--agent sessions being told a built-in tool was disabled for the whole session when only their own tool list left it out/clearclaude logs, stop, kill, rm and claude daemon status, stop, uninstall sometimes signing you out when your login had expired or was about toworker being shown as "Agent" when it starts, and the agent detail dialog's title losing the agent type once the agent finishesArtifact("(unprintable path)") while a publish call was still streaming in/ultrareview upload on Linux wrongly refusing some repositories, such as one inside another checkout, over a settings file that "could not be parsed" while a sandboxed command was running/ultrareview upload's refusal over split-index files advising a git command that could leave git unable to read its indexclaude remote-controlclassic.* events being skipped while the plugin hooks worker restarts, which left settings hooks to answer without themclaude plugin test failing for mods that call $.session.append; tests can read the appended rows back with the new mock.sessionclaude plugin eval refusing every Bash-granting run on Macs with Docker Desktop (links under ~/.docker/bin); the refusal now names which part of a credential store held the linkdesktop policy sets Claude Desktop's built-in browser keys, such as builtinBrowserEnabledclaude agents offering bypass permissions that background sessions then ignored when consent was saved only in .claude/settings.local.json or a --settings file; it now asks for consent first, and a session that ignores bypass shows a short notice that stays← backgrounding a session after 10 seconds while the prompt held unsent text (it now cancels the move) or a question was waiting for your answer← had just been pressed to move the session to the background/feedback returning to the drafts list after Ctrl+O or Ctrl+Z while a report was sending, leaving the send impossible to cancelclaude purge stopping silently (exit 0, or a hang in a terminal) when a file or folder could not be deleted; it now deletes the rest, lists what it could not delete, and exits 1>> and << on a line of only spaces leaving the cursor past the end of the line, where a following x deleted nothingV then d) the cursor lands on the first non-blank, and . after it acts on the cursor's line/loop wakeup or scheduled task; Claude is no longer told, and the session stays asleepclaude_code.at_mention logging to emit at most 100 agent and 100 MCP-resource events each time a prompt is read--marketplace <source> to claude plugin install: adds the marketplace if needed, under the same policy checks as claude plugin marketplace add, then installs the plugin from iteffort parameter to the Agent tool, so Claude runs a sub-agent at the effort level you ask forCLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS environment variable to set a longer base delay for the backoff when retrying an overloaded (529) requestprompt.autocomplete, an event a mod hooks to add its own rows to the prompt box's autocomplete list$.model.complete for mods: prompt and system take blocks of text, and cache: true on a block caches the request up to itagent.spawn mod hook, with their run and index, so a mod can refuse thempermissionMode: auto entering auto mode when auto mode is unavailable (disabled by settings, circuit breaker, or a model that doesn't support it)/ultrareview uploads under ~/.claude/seed-adminrm -rf on the 8.3 short name or another alternate Windows spelling of the home folder or a drive not being treated as removing itallowed-tools rule coming back in a later turn when you leave auto mode or plan mode partway through that turnNO_PROXY being ignored for Claude Code's own API requests (sign-in, policy, feedback, artifacts) when HTTPS_PROXY is setclaude plugin commands such as marketplace add and install running before an organization's managed settings had loaded on a first runclaude -p and Agent SDK runs stopping a background command 5 seconds after the final result, and one-shot claude -p runs dropping a scheduled wakeup; both are now waited forclaude --resume session picker or with /resume/resume, /branch or /clear never firing, and saved tasks ignoring later creates and deletes after two writes to the tasks file milliseconds apart/loop silently stopping when the session's process restarted (for example after a crash), because its pending wakeup was lostpages was a list such as "6,9,15"; it now returns an error saying to read each page or range separately/bug, /share and /feedback <text> starting over after Ctrl+O or Ctrl+Z while a report was being sent, and closing as cancelled after it had been sent/remote-env replacing your saved default environment when you pressed Enter right away: the list now opens on your default, and no row has a check mark when no default is in effectf/t/F/T/;/, jumping to, or deleting up to, a match on another line of the prompt/add-dir path box letting Shift+Enter or a paste add a line break, and treating fast-typed "tab", "up" or "down" as those keys! leaving the row selected/cd or a permission change, and added a transcript line when a nested one isn't loaded/name letting Claude invoke a skill that is reserved for the user$.state calls through one const taking minutes to load or validateclaude plugin validate listing a matcher or state value for a hooks module that the engine reads from elsewhereclaude plugin validate listing a $.state value read through a top-level var that was declared again or reassigned; such a module is now refused$ method restarting the hook origin, which could run a guard hook with a .catch above it again without endconfig.set, state.set, env.set or agent.spawn hook that denies after calling next(e) being answered as a refusal: the hook is now reported as failed, by name/theme, the /config Theme menu and the first-run theme step saving a theme before a plugin's config.set hook was askedtool.check hook answering allow running a tool that requires your answer (a question, a plan approval) without showing its dialognext(e) and then failed while the turn was interrupted letting the call through; the call is now rejected$ name that a user-installed mod had added; the mod is now unloaded insteadtool.call hooks seeing some tool calls before misnamed parameters were repaired; a hook now sees the arguments the tool will run with.catch being skipped silently for calls another mod's hook makes beneath the guard's own $ call; its .catch is now askedclaude -p and SDK sessions: the first turn no longer waits for HTTP and SSE MCP servers to answer resources/list<system-reminder> tags written in a hook's output are escaped before they reach Claudefile_path for path, and Write, WebFetch and Read ignore a few stray parameters instead of failing the callFOO=bar python3 app.py runs unpromptedMCP_PROTOCOL_NEGOTIATION=legacy opts outclaude plugin test: a failed expect inside a hook the test registered, or a stub answer the engine refuses, now fails the test instead of passing silentlyname longer than that is ignored@Claude !status in a channel to say when Claude has stopped reading its untagged messages, why, and that an @-mention starts it reading again!fork to a card showing where it came from, the request, and who asked, with a link to the original threadserverToolUses to the result of a mod's turn.step hook: the tool calls the API ran itself (the advisor), each with its id, name, input, start and endagentId to the tool.check event of plugin hooks, so a hook can tell a subagent's permission check from the main session'sceiling to the question and verdict a mod's tool.check hook reads, naming the approval an organization requires for a toolThemeKey and Color types to the plugin hooks typings, so an editor lists the theme colors a mod's drawing can nameclaude plugin validate: each hook a mod registers at a gating site is listed with whether it has a .catch (gatingHooks under --json)claude attach <name> and claude logs <name>: part of a session name works in place of the id/claude-api managed-agents-onboard <url> to set up the Managed Agents pattern a page describes as ant apply files/claude-api managed-agents-onboard <quickstart-name> to build a Console quickstart template, such as deep-researcher, with the ant CLIoffset to read on/rewind not listing a prompt sent while Claude was still working/loop with an interval, reminders) silently not coming back on resume once the conversation was compacted; covers compactions made from this version on/background hand-off, and recurring ones firing an extra run on every resume, respawn or fork--json-schema runs exiting non-zero with is_error: true on a success result when the connection dropped after the structured output was already deliveredCLAUDE.md, rule or AGENTS.md symlinked outside the working directories loading under permissions.blockReadsOutsideWorkingDirectories or a Read deny rulexn-- host label matching differently from one process to the next/ultrareview dropping uncommitted changes without a warning on Windows when git stash create failed, and refusing them after a git add -N file was deleted or movedplansDirectory setting's project-root check for paths that contain a backslash on macOS and Linuxclaude daemon run and claude daemon logs; they now show as \uXXXX escapes.catch being unloaded, and its .catch skipped, when the hook kept the hooks worker busy on a prompt or tool callturn.step result listing a tool call that a mid-response model fallback had discardedclaude plugin validate and plugin loading refusing a hooks module that destructures an option named like one of its top-level functions/ultrareview failing to upload uncommitted changes when core.safecrlf=true is set in git's configuration! shell blocks in skills and commands failing when the file is saved with CRLF line endings/permissions tab was clicked while searching in fullscreen modeanswer on turn.complete for a subagent that hands its report back in auto modeprompt.submit hook that drops a prompt after calling next(e) being ignored silently: the hook is now reported as failed, by namedisableClaudeAiConnectors and allowedMcpServers URL rules not being applied to some MCP entries declared in .mcp.json, plugins or agents@-mention under the read block or --restricted being able to read a file outside the working directories through a link changed mid-read/loop run count, countdown and live status line after the session enters a worktree that it createsclaude agents sessions in manual permission mode asking for approval to read an image pasted into a reply or a new agent's promptdeclare, typeset, export or readonlylanguage settingclaude respawn re-sending an earlier message to a backgrounded session that has no saved transcript instead of starting it with an empty conversationn: or Ctrl+F search in the agents view moving focus to a section header, where Ctrl+X twice would delete every session in the sectionclaude agents saving a slash command it could not deliver to a stopped session and then running it by itself the next time that session restarted/ultrareview uploading uncommitted changes unfiltered for files under a git filter driver named unset or unspecified; the upload now stops and asks you to rename the driverclaude --teleport and /teleport deleting the files in a folder that had replaced a tracked file of the same name when you chose to stash: the stash is now refused, and says why/loop run count freezing and its countdown disappearing after /clear; the count now restarts with the new conversation--channels permission relay: a reply ID that repeats within a session is now ignored instead of approving a different prompt/chrome "Reconnect extension" not restoring browser tools after a failed Chrome connection, and added an explanation when it can't (anthropics/claude-code#98135)ANTHROPIC_BASE_URL with ANTHROPIC_AUTH_TOKEN) and have no Anthropic accountclaude agents just after a background session crashed being refused after 2 seconds: they are now retried for up to 12 seconds while the session restartsclaude agents could not deliver to a running session being saved and sent by themselves the next time it was restartedcat <<EOF | python3) asking for approval on every runclaude agents failing with "Couldn't restart the background service" and background sessions stopping after a Homebrew upgrade (takes effect from the upgrade after this one)rg or git grep) whose arguments the shell would still expand as wildcards; these now prompt for approvalclaude plugin test refusing to run after an upgrade because of an out-of-date saved settinggit clone option keeping the sandbox exemption from a git pattern such as git * in sandbox.excludedCommands; it is now treated like the long form/ultrareview of a local branch silently leaving uncommitted work out of the upload in a repository that keeps its branches outside .git (git 2.54+); it now refuses with an explanation/loop wakeup or scheduled task; Claude is now told and can schedule it againstore.postgres_url can't be parsed; the error now names the setting and says what the URL may hold/sandbox Config tab on Linux and WSL when a sandbox read rule such as ~/**/.env covers a large folderclaude -p run from the Bash tool)--continue or --resume <session-id> in the terminal/rewind) freezing for hundreds of milliseconds per keypress when the conversation contains a very large pasted stack trace or source fileCLAUDE_CODE_USER_DIALOG_TIMEOUT_MS=5m being read as 5 ms and cancelling remote dialogs at once; values with a unit suffix now fall back to dialogExpiry--restricted (and CLAUDE_CODE_RESTRICTED=1) sessions opening the cross-session messaging socket--allow-dangerously-skip-permissions on respawn without the bypass-permissions disclaimer having been acceptedclaude auth login or with a credentials file already in the config directory/login reporting success when the keychain refused the new login and kept an old one it could not remove--include-partial-messages seeing a reply stay open after the turn ended when its stream was cut, interrupted or fell back to non-streamingConfigChange hooks and reloading settings mid-command when .claude/settings.json or .claude/settings.local.json does not exist/loop and other recurring session-only scheduled tasks running an extra time after a sandboxed Bash command on Linux or after .claude/scheduled_tasks.json was deletedplugin-authoring skill: Claude now gives the one command another person runs to install a mod you made, and writes it in a README's install section/plugin in the desktop app's Code tab: it now says where to install and manage plugins thereclaude auth login and /login and no longer blames API-key authentication/ultrareview upload: it is about half as long and says what kind of file is the problem/ultrareview upload refuses a checkout: each known cause now has its own message, with a way to fix itbrowser_batch call now gets 90 seconds, up from 60, before it is reported as timed outCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC to also skip the startup connection warm-up--chrome, /chrome or your user settingspyright, which is no longer treated as a read-only command$.process.spawn rejects with when another mod denies it after the child ran: it now says the call ran and a plugin withheld its result! shell command that contains raw control characters other than tab and newline, with a message that shows where they are/artifacts: opening an artifact in your browser now closes the listps command ask for approval instead of running without asking/ultrareview upload fails at a git step: they name the step and what to try, and no longer repeat git's own error text/code-review at medium effort to also report cleanup and CLAUDE.md conventions findings on models without tuned review settings, including Opus 5.5 and Sonnet 5.5agent_id in Agent results to its agent ID (its name@team address stays in teammate_id); TeammateIdle hooks no longer fire from its subagents or forks/loop): they are now left running through updates and low memory, where being restarted or shut down could silently lose the wakeup/model, /effort and /rename sent from claude agents to a busy background session to apply right away, without a confirmation, instead of when the turn endsCLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR sets the rate, 0 turns it off) instead of ending after 200 callsCLAUDE_CODE_DISABLE_ATTACHMENTS so a repository's .claude/settings.json or .claude/settings.local.json can no longer set it; shell, user and managed settings still canclaude plugin update on a plugin loaded from a directory to print just its reason, without the "Failed to update plugin" prefix, as for built-in pluginsgh api in cloud sessions: a host other than github.com set in GH_HOST or GH_REPO is now refused (use --hostname or a full URL), and stderr notes requests to other hostsclaude-api skill's Managed Agents examples to turn off the web tools unless the agent needs them and to use the auto permission policyclaude --environment <id> to create its session through the current Sessions API; printed and JSON session ids keep their session_… form!fast to switch a thread to fast mode, moving it to Opus if needed, and !fast off to switch back; replies show (fast) while it's on<script> tags or deeply nested ${ substitutionsRead deny rules not applying to files @-mentioned, changed, or selected in the IDE through a symlinkclaude auth status that may have made sign-outs more frequentplugin list, plugin eval and plugin update showing a stale copy of a plugin installed from a local folder marketplace, and hot reload for a symlinked --plugin-dir@ in its path, an uppercase host or a file: pathTZ="$HOME" rm -rf build) when the sandbox auto-allows commandsclaude plugin validate skipping the plugin when the folder also holds a marketplace manifestagent.spawn for teammates, one agent id across plugin hook events, and idle and waiting states in $.agent.list()ui.render hook wrote made a row throw while drawn; the engine now draws its own row instead[-], which now also keep one column in from the terminal's edgeClient that fails while drawn taking down everything the mod drew around it; it now fails alone and raises ui.faultclaude plugin validate failing an Anthropic marketplace's own plugin and listing a clean plugin.json in --jsonError or nothing as its reason when the failure carried no message<script> tags$.ui.selection() for mods: returns the text you last selected in fullscreen mode and, when the selection lies within one transcript row, that rowgh api to cloud sessions whose image has no GitHub CLI, and fixed the built-in sending control characters from file names, jq filters or GitHub errors to the terminal--max-findings <n>|all to /code-review to report more or fewer findings than the usual limit; the choice is reused until you pass --max-findings default--resume sometimes dropping files and other context that a compaction had just restored--resume showed the prompt unansweredCLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS to turn structured outputs offsonnet subagentCode element held a diff that does not parse; it now draws as plain code${user_config.*} and ${CLAUDE_PLUGIN_ROOT} placeholders in initializationOptions and settings instead of substituted values or manifest defaultstool.call hook making Bash fail and file searches read the wrong folder in subagents that run in a worktreegit-subdir plugin installs failing, or caching an incomplete plugin, on older git (before 2.39, e.g. Ubuntu 22.04's 2.34)--plugin-dir not showing "Configure options" in /pluginpython3 <<EOF) asking for approval on every run under sandbox auto-allow when the body holds only plain text and simple $VAR referencesBASHPID assignment whose value the shell would evaluate as arithmetic, instead of allowing it silentlyclaude_code.tool.blocked_on_user spans reporting unknown source or decision in -p and SDK sessions and for PreToolUse hook approvals-p or on an interrupted turn, emitting no tool_decision event/compact even though its history was still savedCLAUDE_CODE_RETRY_WATCHDOG) retrying for hours after a very long response stream failed; Claude Code now streams again, and gives up after three timeouts/login reporting "Login successful" when credentials could not be saved to secure storage; it now shows the failure, and offers a retry when the new login didn't take effect (anthropics/claude-code#73861)gcpAuthRefresh/awsAuthRefresh browser sign-in opening when a laptop wakes from sleep while another Claude Code process is signing in-p / SDK) sessions occasionally ignoring SIGTERM when a supervisor such as timeout or systemd sends SIGCONT alongside itmemorydisableAutoMode or an older model); typing, navigation and JavaScript still askclaude plugin install failing for GitHub-source plugins on macOS and Linux machines with no GitHub SSH key: the clone now falls back to HTTPS and prints a noticesandbox.credentials.files entries on git config files not taking effect while permissions.blockReadsOutsideWorkingDirectories is on/tui)tools: lists very many Agent(...) entriesclaude stub was installedowner/repo plugin marketplaces showing only the second attempt's error when both the SSH and HTTPS fetch fail; both errors are now shown, with the transport tried first on top.claude/rules and nested CLAUDE.md files not loading when Write or Edit creates or changes a file in their scope (previously only Read loaded them)rm (such as one on / or the home directory) inside a bash -c or sh -c script running without a prompt in bypassPermissions mode or under a shell allow rule (anthropics/claude-code#96300)requestTimeout)idle_prompt notification hooks firing while background agents are still running (anthropics/claude-code#93672)/login in a --bare session running a sign-in the session never reads, which could replace your saved login; it now says which credentials workclaude mcp serve always reporting no available agents and rejecting every subagent_type/theme's custom color search/permissions in screen reader mode: typing a rule's number now picks it instead of opening the search box/usage-credits message shown to Team and Enterprise members whose organization has turned off usage credit requestsalwaysLoad: falsegh api: a refused gh command now prints its gh api equivalent, --paginate follows every page of a repository's lists, and a nested claude no longer removes it-p, Agent SDK, CI, cloud); terminal, desktop app and VS Code sessions have no limitANTHROPIC_DEFAULT_SONNET_MODEL pin that names Claude Sonnet 5.5 or Opus 5.5 and use Claude Sonnet 5 insteadclaude project purge to claude purge; the old name still works and prints a noticen: filter (and Ctrl+F search) so Enter opens the session whose name matches best instead of the top row/autocompact to save the auto-compact window per model, so each model keeps its own setting when you switchclaude plugin test reporting mods as turned off remotely when it had only read an out-of-date saved setting