Claude docs changes for July 29th, 2026 [diff]
Executive Summary
- Cloud environment configuration (network access, environment variables, setup scripts, organization-shared environments) moved out of "Claude Code on the web" into a new dedicated Configure cloud environments page, alongside a new worked example for deploying the Claude Apps Gateway on AWS (ECS Fargate/EKS, RDS, Secrets Manager, Bedrock).
- If
ANTHROPIC_API_KEYis set in the environment, Claude Code now skips the browser login prompt on first launch and instead asks you to approve the key. - Auto mode is now enabled by default for Team/Enterprise organizations (administrators opt out via
permissions.disableAutoMode), reversing the previous opt-in model. - The Claude Apps Gateway now auto-applies most delivered environment variables (model selection, numeric limits, telemetry toggles) without an approval dialog — only proxy, base-URL, and OTLP-endpoint variables always require approval (gateway v2.1.218+).
- The Agent SDK TypeScript reference gains a large set of new capabilities: a
getContextUsage()method,fast_mode_disabled_reasondiagnostics, several new hook events (DirectoryAdded,StopFailure,PostCompact,PermissionDenied,TaskCreated,Elicitation), and new built-in tools (CronCreate/CronDelete/CronList,RemoteTrigger,PushNotification,ReportFindings,Artifact, and more).
Claude Code changes
New Documents
claude-apps-gateway-on-aws [Source]
New worked example for deploying the Claude Apps Gateway on AWS using Amazon Bedrock (or Claude Platform on AWS) as the model upstream. It walks through provisioning the gateway on Amazon ECS Fargate or EKS behind an internal Application Load Balancer, Amazon RDS for PostgreSQL for session state, AWS Secrets Manager for credentials (JWT signing key, OIDC client secret, Postgres URL), an IAM role/IRSA for Bedrock access, and Okta (or any OIDC-compliant IdP) for sign-in, including prerequisites and step-by-step aws CLI commands.
cloud-environments [Source]
New page consolidating cloud-session configuration previously embedded in "Claude Code on the web": the auto-created Default environment (Trusted network access, no variables/setup script), creating/editing/archiving environments, environment variables and setup scripts, organization-shared environments for Team/Enterprise admins, pre-installed tools/runtimes, network access levels and the default allowed-domains list, the GitHub proxy, and the security proxy. It's now the canonical reference for cloud environment configuration across web, CLI --cloud, Claude Tag, routines, mobile, and Desktop.
Changed documents
accessibility [Source]
- After the screen-reader mode confirmation line prints, Claude Code now holds the interface for 3 seconds (configurable via
CLAUDE_AX_STARTUP_QUIET_MS, 0 to disable, press any key to skip) so screen readers can finish speaking. Requires v2.1.217+. [line 21] [Source] - Typing at the end of the input line now writes only the typed characters instead of rewriting the whole line each keystroke, so screen readers echo only new characters. Requires v2.1.219+. [line 51] [Source]
admin-setup [Source]
- Owners/admins now choose the organization's default cloud environment separately, at a dedicated admin settings page (
claude.ai/admin-settings/claude-code), rather than from the same page used to create shared environments. [line 83] [Source]
advisor [Source]
- Clarifies that
opus/sonnet/fableadvisor aliases resolve to Claude Code's built-in default version per model family (which advances with new releases), not simply "the latest version." [line 71] [Source]
agent-sdk/agent-loop [Source]
- Clarifies that extended thinking produces
thinkingblocks, and that thedisplayfield onThinkingConfigcontrols whether the thinking text is actually returned. [line 185] [Source] - Adds Microsoft Foundry (Azure-hosted) deployments as a third condition, alongside Google Vertex and non-first-party
ANTHROPIC_BASE_URL, that forces upfront loading of MCP tool schemas instead of deferred tool search. [line 220] [line 258] [Source]
agent-sdk/file-checkpointing [Source]
- Documents a new limitation: edits made by a subagent aren't tracked/checkpointed, except for a skill run with
context: forkin the foreground. [line 10] [Source] - New rewind safety behavior: Claude Code now skips restoring/deleting a tracked path that's a symlink, hard link, or other non-regular file (or whose parent no longer resolves, or whose backup can't be read safely); each skipped path is counted in a new
skippedLinksfield onRewindFilesResult. Requires v2.1.216+. [line 31] [Source]
agent-sdk/hooks [Source]
- New
DirectoryAddedhook event fires when a working directory is added mid-session (e.g. via/add-diror the SDK's register-repo-root control request). [line 182] [Source] - Documents a distinct 1.5-second default timeout budget for
SessionEndcallbacks. [line 234] [Source] - Clarifies that omitting
permissionDecisionfromupdatedInputstill applies the modified input through normal permission evaluation. [line 349] [line 825] [Source] - Clarifies that in headless SDK sessions, only
elicitation_complete/elicitation_responsefire theNotificationhook — other notification types likepermission_promptare interactive-UI-only and reach SDK sessions throughcanUseToolinstead. [line 669] [Source] - Hook timeout section rewritten with a precise per-event breakdown of what happens when a callback times out (
PreToolUse,PostToolUse,UserPromptSubmit,Stop/SubagentStop, and others). [lines 794-804] [Source]
agent-sdk/hosting [Source]
- Adds a full Python equivalent example for the ephemeral-sessions one-shot container pattern (previously TypeScript-only). [lines 64-78] [Source]
agent-sdk/mcp [Source]
- Clarifies that MCP servers that fail to connect don't throw/raise an exception — callers must use the status check, and should also account for servers still "pending" at init requiring a later check. [line 758] [line 794] [Source]
agent-sdk/modifying-system-prompts [Source]
- New guidance: load large custom system prompts from a file via
system_prompt={"type": "file", "path": "..."}in Python instead of a string, since a string prompt is passed as a CLI argument and can hit the OS argument-length limit at process spawn. [line 320] [Source] - New note describing the message stream shape (system init, assistant messages, user messages with tool results, final result message) for the CLAUDE.md example. [line 102] [Source]
agent-sdk/observability [Source]
- New guidance on OTEL export failures: the CLI fails silently by default; set
CLAUDE_CODE_OTEL_DIAG_STDERR=1and read diagnostics via the SDK'sstderrcallback/option to see exporter errors. Requires v2.1.179+. [line 96] [Source]
agent-sdk/overview [Source]
- Restructured (not a content removal) into a lean landing page: the detailed install/API-key walkthrough was replaced by a pointer to quickstart.md, and long per-capability code examples were replaced with a condensed capabilities table linking to the dedicated pages. [lines 5-31] [Source]
- New comparison table near the top contrasting Agent SDK vs. CLI vs. Client SDK vs. Managed Agents. [lines 5-16] [Source]
- "Next steps" restructured into a list, adding links to agent-loop.md and the "Agent harness design" blog post. [lines 73-82] [Source]
agent-sdk/plugins [Source]
- Documents that the SDK doesn't expand tilde paths (e.g.
~/plugins) — a nonexistent plugin path is silently skipped rather than erroring. [line 322] [line 333] [Source]
agent-sdk/python [Source]
interrupt()example now readsmessage.terminal_reason("aborted_streaming"/"aborted_tools") instead of the deprecatedsubtype="error_during_execution"pattern. [line 604] [Source]CLAUDE_ENABLE_STREAM_WATCHDOGrefined: after a stream-idle abort, Claude Code retries at most once, and only if Claude hadn't completed a text block or tool call; otherwise it keeps the completed output and appends an incomplete-response notice. [line 856] [Source]- New provider caveat: Claude Code doesn't forward the
displayfield to Amazon Bedrock or Google Cloud's Agent Platform, so Opus 4.7+ returns emptyThinkingBlockoutput there even withdisplay="summarized". [line 1313] [Source] - New
failIfUnavailablesandbox setting: Python's sandbox defaults to running unsandboxed with a stderr warning when the sandbox can't start (unlike TypeScript, which defaultsfailIfUnavailable: true); setting it explicitly makesquery()raise instead. [line 3428] [Source] terminal_reasondocumentation expanded with a new"api_error"value and clearer causes and absence cases. [line 1609] [Source]HookMatcher.timeoutnow documents concrete defaults: 600s for most events, 30s forUserPromptSubmit. [line 1986] [Source]
agent-sdk/session-storage [Source]
- New setup instructions for the Python conformance test suite: install
pytestexplicitly, and pass the adapter as a zero-argument factory (lambda) so each call produces isolated backing storage since contract tests reuse session keys. [lines 226-236] [Source]
agent-sdk/skills [Source]
- New explanation of the init message's
skillsarray: it only lists user-invocable Skills — one markeduser-invocable: falsestill loads and is usable but won't appear in the array. [line 68] [Source] - New example option
permission_mode="dontAsk"alongsideallowedToolsto actually deny (not fall through to prompting) anything not pre-approved. [line 125] [Source]
agent-sdk/slash-commands [Source]
- Documents that if a prompt supplies fewer arguments than a command's placeholders reference, unmatched indexed placeholders (e.g.
$1) are left verbatim in the command text rather than substituted. [line 383] [Source]
agent-sdk/tool-search [Source]
- New documented limitation: tool search isn't supported on Microsoft Foundry deployments hosted on Azure — the deployment rejects it server-side and the SDK falls back to loading tool definitions upfront;
ENABLE_TOOL_SEARCH=truecan't override this. [line 16] [lines 25-26] [Source]
agent-sdk/typescript [Source]
By far the largest changeset in this reference, reflecting Claude Code v2.1.216–v2.1.219 and Agent SDK v0.3.214–v0.3.216:
- New
getContextUsage()method onQueryandSDKControlGetContextUsageResponsetype, returning the same category/skill/tool/memory-file token breakdown the interactive/contextcommand renders. [lines 625-630] [Source] - New
cancel_queued: trueoption on the rawinterruptcontrol request (v2.1.219+, capabilityinterrupt_cancel_queued_v1): cancels queued messages, reported via a newcancelledfield onSDKControlInterruptResponse. [lines 612-622] [Source] - New
fast_mode_disabled_reasonfield added toSDKControlInitializeResponse,SDKResultMessage, andSDKSystemMessage, with a full reason-code table. [lines 1223-1314] [Source] - New
aborted?: truefield onSDKAssistantMessagemarking messages truncated by an interrupt/abort (Agent SDK v0.3.214+). [line 1148] [Source] - New peer-origin fields
fromSessionandverifiedPeerPidonSDKMessageOrigin'speervariant, with a new section explaining the trust model (verifiedPeerPidis kernel-verified;from/fromSessionare sender-asserted and forgeable). [lines 1454-1482] [Source] - Six new
HookEventtypes added —StopFailure,PostCompact,PermissionDenied,TaskCreated,Elicitation,ElicitationResult,DirectoryAdded,InstructionsLoaded,CwdChanged,FileChanged— each with a correspondingHookInputtype. [lines 1504-1878] [Source] - New
terminalSequencefield on hook JSON output and newreloadSkillsoption onSessionStarthook output to re-scan skill/command directories after the hook runs. [lines 2034-2066] [Source] - Large expansion of built-in tool schemas:
ExitWorktree,EnterPlanMode,CronCreate/CronDelete/CronList,ScheduleWakeup,RemoteTrigger,PushNotification,REPL,ReportFindings,Artifact,Projects,ReadMcpResourceDir,RefreshMcpTools,ShowOnboardingRolePicker, and genericMcpInput/McpOutput. [lines 2595-2846] [lines 3492-3808] [Source] WorkflowOutputgains"remote_launched"status plussessionUrl,taskType,workflowName, andwarningfields for workflows dispatched to remote cloud sessions. [lines 3315-3320] [Source]- New
canonicalModel/providerfields onModelUsage(v2.1.218+), naming the pricing-lookup model ID and serving backend. [line 4046] [Source] - New
heartbeatandsubagent_retry/subagent_typefields onSDKToolProgressMessage: periodic 30-second heartbeats for long-running tool calls, and per-attempt retry-backoff visibility for Agent-tool subagents. [lines 4321-4338] [Source] - New
strictAllowlistfield onSandboxNetworkConfigto deny (rather than prompt for) sandboxed access to non-allowlisted hosts (v2.1.219+). [lines 4634-4648] [Source]
agent-sdk/typescript-v2-preview [Source]
- New clarifying note that the cleanup-pattern code examples send no messages and produce no output when run. [line 160] [Source]
agent-sdk/user-input [Source]
- New clarifying note that
ask_user/askUserhelpers in the examples stand in for the application's own prompt UI, not SDK-provided functions.
agent-teams [Source]
- A teammate's config entry now carries whatever agent type the lead named when spawning it (built-in type or subagent definition), omitting the field if none was named — previously only subagent-definition-spawned teammates got an agent type. [line 209] [Source]
authentication [Source]
- If
ANTHROPIC_API_KEYis set in the environment, Claude Code now skips the browser login prompt on first launch and instead asks the user to approve the key. [line 7] [Source]
checkpointing [Source]
- Restructured the "Restore vs. summarize" section into "Guide a summary," removing the detailed comparison table and explicit "Summarize from here" vs. "Summarize up to here" descriptions in favor of condensed guidance. [lines 41-45] [Source]
claude-apps-gateway [Source]
- Changed Amazon Bedrock upstream prerequisite: now requires Anthropic's one-time use case form to be submitted from the Bedrock console's Model catalog, instead of just enabling model access. [line 119] [Source]
- Added cross-reference to the new "Deploy on AWS" worked example. [line 384] [Source]
claude-apps-gateway-config [Source]
- Removed the strict "safe list" concept for
envvars: Claude Code now applies most deliveredenvvariables without an approval dialog (model selection, numeric limits, etc.), while proxy/base-URL/OTEL_EXPORTER_OTLP_ENDPOINTvalues always require approval, and the dialog now names the specific variable requiring approval. Before v2.1.218, fewer variables were auto-applied. [lines 458-466] [Source] OTEL_EXPORTER_OTLP_PROTOCOL=http/protobufadded as a 6th auto-pushed telemetry variable (previously 5). [lines 571-578] [Source]
claude-apps-gateway-deploy [Source]
- New cross-reference to the "Deploy on AWS" worked example alongside the existing Google Cloud example. [line 71] [Source]
claude-apps-gateway-spend-limits [Source]
- The spend-limit meter now resolves rate tiers in a defined 3-step order: exact rates for the upstream model ID, then rates for the configured
models[].idmapped to that upstream ID (new — for IDs with no embedded model name, like Bedrock inference-profile ARNs, requires gateway v2.1.218+), then the $5/$25-per-million-token unknown-model default. Before v2.1.218, unrecognized upstream IDs always fell to the unknown-model tier. [lines 48-54] [Source]
claude-code-on-the-web [Source]
- Major restructuring, not a content removal: the entire "The cloud environment" section (~530 lines covering installed tools, GitHub tools, session linking, resource limits, organization-shared environments, setup scripts, network access, and the default allowed-domains list) moved into the new
cloud-environments.mdpage; a short pointer section replaces it and internal links throughout the page were repointed. [lines 19-23] [Source] - Terminology shift for session failure/expiry: "could not allocate a cloud environment" → "could not allocate a VM for the session," and "the underlying environment is reclaimed" → "the session's VM is reclaimed," consistent with environments now being reusable saved configs. [line 232] [line 254] [Source]
claude-security [Source]
- New troubleshooting guidance for plugin install failures: distinguishes a "Marketplace not found" error (fix:
/plugin marketplace add anthropics/claude-plugins-official) from a "plugin not found in marketplace" error (fix: check for typos, then/plugin marketplace update claude-plugins-official). [lines 24-27] [Source]
code-review [Source]
- New: when the host application requests it, Claude now reports code-review findings via the
ReportFindingstool (structured list with file location, one-sentence summary, category tag) instead of plain text. Requires v2.1.218+. [line 286] [Source] - Clarifies that terminal
/code-review(forked) and any-prun always report findings as plain text, even if the host requested the structured list. [line 287] [Source] - New behavior: when Claude later fixes previously reported findings, it re-reports them, each marked fixed, skipped, or no-change-needed. [line 288] [Source]
commands [Source]
/desktopavailability narrowed to "macOS or x64 Windows" (previously just "Windows"), excluding ARM64 Windows. [line 29] [line 58] [Source]/security-reviewdescription now explicitly says it reviews the diff between the current branch and origin's default branch, requires anoriginremote, and links to the error reference for anambiguous argumentfailure. [line 109] [Source]
costs [Source]
- Clarifies that context/token usage accrues per-request (including each tool-result-carrying request), and that prompt caching means "re-reading" history at the cached rate rather than avoiding cost entirely. [line 244] [Source]
- New: on Pro and Max plans, resuming a large session after a long break now offers to resume from a summary so later requests don't carry the full history. [line 245] [Source]
data-usage [Source]
- Setting
DISABLE_TELEMETRYorCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICnow also disables the feature-flag evaluation that Remote Control depends on;DISABLE_ERROR_REPORTINGdoesn't have this effect. [line 82] [Source]
desktop [Source]
- Clarifies Bypass permissions is unavailable in cloud sessions because they already run in a sandboxed VM. [line 80] [Source]
- Renamed UI action "Add environment" to "Add cloud environment," pointing to the new
cloud-environments.mdpage. [line 547] [Source] /desktopCLI-to-Desktop handoff now specified as available on macOS and x64 Windows (previously just Windows). [line 706] [Source]- New/expanded section on MCP servers from the Desktop chat app: documents conflict-resolution rules when the same server name is defined in
claude_desktop_config.json,~/.claude.json, and.mcp.json— the Code tab prefersclaude_desktop_config.json, then~/.claude.jsonover.mcp.json, departing from the CLI's normal scope hierarchy. [lines 737-741] [Source]
desktop-linux [Source]
- Install step now also requires
gnupg(sudo apt install curl gnupg), not justcurl. [lines 22-25] [Source] - Signing-key verification (
gpg --show-keys) moved earlier into the install flow, with guidance that a failed/missing key causesapt updateto later fail withNO_PUBKEY BAA929FF1A7ECACE, plus the specific fingerprint to check. [lines 34-40] [Source]
devcontainer [Source]
- New troubleshooting note: the devcontainer feature installs Node.js itself when missing; if that fails with
Failed to install Node.js and npm, add thenodedevcontainer feature explicitly. [line 40] [Source] - Important fix/clarification: mounting a volume at
~/.claudealone doesn't persist sign-in, since OAuth account and per-project trust live in~/.claude.json, a separate file; now instructs settingCLAUDE_CONFIG_DIRto the same mount path. [lines 66-80] [Source]
discover-plugins [Source]
- New: if Claude Code fails to auto-add the official marketplace (e.g. network blocked), add it manually with
/plugin marketplace add anthropics/claude-plugins-official. [line 26] [Source] - New guidance:
/plugin disable/enable/uninstallopen the plugin panel and leave it open; for scripting, useclaude pluginshell commands instead. [lines 297-298] [Source] - New caveat: the skills count shown by
/reload-pluginsonly counts each plugin'scommands/directory, not itsskills/directory, so it can report "0 skills" even when skills reloaded. [line 342] [Source]
env-vars [Source]
- New:
.claude/settings.local.jsonis now added to the global gitignore automatically the first time Claude Code saves a setting to it (not just when hand-created). [line 82] [Source] - New subsection listing variables using "any non-empty value (including
0) turns it on" semantics rather than standard boolean parsing:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC,DISABLE_TELEMETRY,DISABLE_ERROR_REPORTING,CLAUDE_CODE_TMUX_TRUECOLOR,FALLBACK_FOR_ALL_PRIMARY_MODELS,IS_DEMO;FORCE_HYPERLINKuniquely parses as a number. [lines 100-109] [Source] - Expanded documentation for
ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIESand theANTHROPIC_DEFAULT_{FABLE,HAIKU,OPUS,SONNET}_MODEL*variables, previously bare "see Model configuration" rows. [lines 127-140] [Source] CLAUDE_CODE_MAX_OUTPUT_TOKENS: new default behavior documented — defaults to 32000 for unrecognized model IDs and clamps values above a model's cap. [line 255] [Source]DISABLE_GROWTHBOOK,DISABLE_TELEMETRY, andDO_NOT_TRACKdocumented as making Remote Control unavailable;ENABLE_TOOL_SEARCHgains the Microsoft Foundry/Azure tool-search caveat. [lines 353-371] [Source]MAX_THINKING_TOKENS: substantially rewritten to describe capping logic (one token below max output tokens, never below 1,024) and default behavior differences for adaptive-reasoning models. [line 381] [Source]
errors [Source]
- New error entry and section:
/security-review fails without origin/HEAD— explains why the ref can be missing (single-branch/CI checkouts, no origin remote, unpushed default branch) and remediation options. [lines 82, 1183] - Automatic retries section reorganized: explicitly lists which failures ARE retried (server errors, overloads, timeouts, dropped connections, temporary 429s) vs. NOT retried (TLS cert failures, mid-response failures once a block completed, Bedrock content-type mismatches). [lines 108-119] [Source]
- "The response above may be incomplete": in
-ptext output, Claude Code now prints the last completed text block before the notice (before v2.1.219, it printed only the notice and dropped the produced response). [lines 203-209] [Source] - Network/allowlist section clarifies that GitHub operations and MCP connector traffic use separate channels that bypass the network allowlist entirely. [line 736] [Source]
feature-availability [Source]
- MCP tool search now documented as unsupported (not just off-by-default) on Microsoft Foundry deployments hosted on Azure. [line 30] [Source]
- Web search on Microsoft Foundry now qualified as available only for deployments hosted on Anthropic. [line 57] [Source]
github-enterprise-server [Source]
- Added guidance to check "settings files" for platform-specific locations and to add the JSON to
managed-settings.jsonor the equivalent MDM policy. [line 161] [Source]
goal [Source]
- Clarifies the default small fast model for
/goalevaluation (Haiku) applies to the Claude API; third-party providers use a provider-dependent default. [line 105] [Source] - Documents that
ANTHROPIC_DEFAULT_HAIKU_MODELaffects every use of the "small fast model," not just/goal— including thehaikualias and background conversation summarization. [lines 110-112] [Source]
headless [Source]
- New: when subagent-text forwarding is enabled, messages from subagents at every nesting depth are now forwarded (before v2.1.219, nested subagents' messages didn't appear in the stream). [line 149] [Source]
- New "Fail CI when a plugin or MCP server doesn't load" guidance: new
mcp_servers/mcp_server_errorsfields on thesystem/initevent let CI detect skipped--mcp-configentries, requiring v2.1.219+. [lines 185-190] [Source]
hooks [Source]
SessionEndhooks of any type now share a combined 1.5-second timeout budget, extendable up to 60 seconds by a longer configured per-hook timeout. [line 313] [Source]/hooksmenu source labels renamed/expanded (e.g.User→User Settings,Plugin→Plugin Hooks,Built-in→Built-in Hooks). [lines 543-548] [Source]PermissionRequestevent now fires even in sessions that can't show a prompt (e.g. background subagents in non-interactive mode), running hooks and auto-denying if none returns a decision. [lines 1489-1496] [Source]
hooks-guide [Source]
SessionEndhooks share a combined 1.5-second timeout budget (raised to match a longer configured per-hook timeout, up to 60 seconds). [line 851] [Source]- Clarifies
PermissionRequesthooks in non-interactive mode DO fire when the Agent SDK'scanUseToolcallback supplies a prompt, and also fire (auto-denying if unhandled) for background subagents' tool calls — previously documented as simply not firing with-p. [lines 854-871] [Source]
index [Source]
- If
ANTHROPIC_API_KEYis set, Claude Code skips the login prompt and asks the user to approve the key instead. [line 64] [Source] - Clarifies
/desktophandoff requires a claude.ai subscription, in addition to being limited to macOS and x64 Windows. [line 157] [Source]
interactive-mode [Source]
- In vim NORMAL mode, pressing
←on an empty prompt now opens agent view (previously a no-op before v2.1.219); arrow keys (not just j/k) also navigate command history. [line 160] [Source]
large-codebases [Source]
- Clarifies that when starting Claude from the repository root, in-scope skills include the root directory's own skills plus skills from every touched subdirectory. [line 343] [Source]
llm-gateway-connect [Source]
- Adds the exact debug-log path (
~/.claude/debug/<session-id>.txt) where[gatewayDiscovery]lines confirm gateway model discovery ran. [line 283] [Source]
llm-gateway-protocol [Source]
- Expanded guidance on setting
CLAUDE_CODE_ATTRIBUTION_HEADER=0pre-v2.1.181: split into a gateway-side prompt-cache case and a third-party-provider case (Bedrock, Foundry, Google Cloud's Agent Platform) where a changing prefix hurts that provider's own cache reuse. [lines 91-92] [Source] - Notes the gateway-models discovery cache moves to
$CLAUDE_CONFIG_DIRif set, instead of always living at~/.claude/cache/gateway-models.json. [line 158] [Source]
mcp [Source]
- New explanation of
claude mcp add/listfeedback:addprints anAdded ...confirmation, andlistshows per-server health status (✔ Connected,! Needs authentication,✘ Failed to connect). [line 143] [Source] - Documents that Microsoft Foundry deployments hosted on Azure start on the tool-search path rather than using
WaitForMcpServers, since Claude Code only learns of the server-side tool-search rejection from the API. [line 157] [Source] - Fixed the example
.mcp.jsonproject-scoped server config, which showed a stdio-style block instead of the correct HTTP-transport format ("type": "http","url"). [lines 345-357] [Source] - New note: opening a local session in Desktop's Code tab, a stdio server name defined both at the top level of
~/.claude.jsonand in.mcp.jsonresolves to the~/.claude.jsondefinition. [line 383] [Source] - Documents that tool search isn't supported on Microsoft Foundry deployments hosted on Azure and
ENABLE_TOOL_SEARCHcan't override the server-side rejection. [line 1053] [Source]
mobile [Source]
- Related-resources link updated to the new "Configure cloud environments" page for network access levels, environment variables, and setup scripts. [line 70] [Source]
model-config [Source]
- Clarifies
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTIONdefaults toCustom Opus model, orCustom Opus model (1M context)when the pinned model ID has the[1m]suffix andCLAUDE_CODE_DISABLE_1M_CONTEXTisn't set. [line 558] [Source]
monitoring-usage [Source]
- Rewrote the managed-settings OTLP precedence section into explicit categories (Endpoints, Protocols, Credentials, Exporter selectors); managed
OTEL_EXPORTER_OTLP_PROTOCOLnow also strips developer-set per-signal protocols. [lines 59-68] [Source] - New verification guidance: check the backend for the
claude_code.session.countmetric, orclaude_code.user_promptevent for the SIEM example, to confirm configuration took effect. [line 342] [line 1127] [Source]
network-config [Source]
- New "Verify your configuration" section: most network settings aren't validated until a later request fails (except the proxy URL, validated at startup); documents
claude --debuglog lines to look for and new/statusrows for Proxy, mTLS client cert/key, and Additional CA cert(s). [lines 99-121] [Source]
overview [Source]
- If
ANTHROPIC_API_KEYis set, Claude Code skips the login prompt and asks the user to approve the key instead. [line 64] [Source] - Notes the
/desktopterminal-to-Desktop handoff requires a claude.ai subscription. [line 157] [Source]
permission-modes [Source]
- Auto mode is now available by default on Team/Enterprise (previously required Owner opt-in); administrators now opt out via
permissions.disableAutoMode. [line 162] [Source]
plugin-marketplaces [Source]
- New section on distributing a marketplace via Organization settings > Plugins (Team/Enterprise): requires a private/internal repo synced via the Claude GitHub App or GHE App; only
github,url, andgit-subdirplugin sources are supported. [lines 256-262] [Source] - New distinction for private-repo plugin installs between manual git-credential-helper auth and background auto-updates (credential helpers disabled for background
git pull); org-sync distribution bypasses git credentials entirely. [lines 539-545] [Source] - Clarifies
strictKnownMarketplaces: []blocks every marketplace source, including the official Anthropic marketplace, and adds an example allowing only that marketplace. [line 655] [line 681] [Source] - Changed troubleshooting guidance for
claude plugin validate//plugin validateto require running it against the marketplace directory (e.g.claude plugin validate .) rather than with no path. [line 1023] [Source]
plugin-relevance [Source]
- Clarifies
claude plugin validatemust run against the marketplace directory to surface unknownrelevance/relevance.signalsfields as warnings. [line 88] [Source]
plugins [Source]
- New caveat: the
/reload-pluginsskills count only coverscommands/directories, so it can report "0 skills" even though an edited skill reloaded. [line 151] [Source] - New guidance for verifying an LSP plugin server via the
/pluginErrors tab; an invalid config is skipped silently, requiringclaude --debugto diagnose. [line 256] [Source] - Clarifies plugin-submission validation: run
claude plugin validate ./your-plugin; documents new✔ Validation passed/✔ Validation passed with warningsoutput and that--strictturns warnings into errors. [line 369] [Source]
plugins-reference [Source]
- Broadened the
PermissionRequesthook trigger description from "when a permission dialog appears" to "when a tool call needs a permission decision." [line 101] [Source] - New note that
/reload-pluginsmid-session keeps live connections for plugin MCP servers whose configuration hasn't changed. [line 168] [Source]
prompt-caching [Source]
- Expanded compaction cost explanation:
/compactmid-session reads from a warm cache and is cheap, but after a break longer than the cache TTL, there's no cache to read, so the request reprocesses the full history uncached — the most expensive case. [lines 95-96] [Source] - New: on Pro/Max plans, resuming a large session after a long break triggers an offer to resume from a summary so later requests don't carry the full history. [line 152] [Source]
- Clarifies subscription sessions get a one-hour cache TTL, and cache writes cost more at that TTL than the five-minute TTL used for usage-credit billing. [lines 157-158] [Source]
quickstart [Source]
- If
ANTHROPIC_API_KEYis set, Claude Code skips the login prompt and asks the user to approve the key instead. [line 77] [Source]
remote-control [Source]
- New eligibility requirement: feature-flag evaluation must be enabled —
DISABLE_TELEMETRY,DO_NOT_TRACK,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, orDISABLE_GROWTHBOOKeach disable Remote Control if set. [line 23] [Source] - The "Enable Remote Control for all sessions" setting gains a
defaultvalue that explicitly clears the choice, falling back to the org admin default or Claude Code's current default. [line 129] [Source] - New troubleshooting section for the "Remote Control requires feature-flag evaluation" error, explaining which variables cause it. [lines 263-271] [Source]
routines [Source]
- New security-relevant caveat: environment variables configured for a cloud environment are visible to anyone who uses that environment. [line 62] [Source]
- Clarifies connectors reach their services through Anthropic's servers (not subject to the network allowlist), while reaching your own services directly requires editing network access. [line 65] [Source]
sandbox-environments [Source]
- Relaxed the GitHub requirement: a connected GitHub account is now only needed when launching from the web interface, not from the CLI with
--cloud. [lines 19-34] [Source] - New capability: launching via CLI
--cloudwithout a connected GitHub account, Claude Code can bundle and upload the local repository instead of cloning from GitHub. [line 91] [Source]
sandboxing [Source]
- Clarifies
.claude/settings.local.jsonis only added to the global gitignore once Claude Code actually saves a setting to it. [line 42] [Source]
security [Source]
- Cloud environment cleanup reworded: session VMs are reclaimed after a period of inactivity, rather than automatically terminated after session completion. [line 91] [Source]
- Added a link to
/security-reviewas a related resource for running an on-demand security pass on the current branch. [line 125] [Source]
security-guidance [Source]
- New guidance for scanning existing code, not just Claude's in-session changes: ask Claude to review a file/directory, or use the Claude Security plugin for a deeper multi-agent repo-wide scan; notes
/security-reviewonly covers the current branch's changes. [line 217] [Source]
server-managed-settings [Source]
- New "Environment variables and the approval dialog" section documenting which delivered
envvariables apply without the approval dialog vs. which always require it (non-empty proxy, base-URL, orOTEL_EXPORTER_OTLP_ENDPOINT); behavior change as of v2.1.218. [lines 197-207] [Source] - New: four privacy toggles (
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC,DISABLE_ERROR_REPORTING,DISABLE_TELEMETRY,DO_NOT_TRACK) are evaluated by value rather than name for approval purposes, a behavior change from before v2.1.218. [line 208] [Source]
sessions [Source]
- New "Resume from a summary" section: on Pro/Max plans, resuming a session inactive for ~1 hour and over 100,000 tokens shows a dialog with three options — resume from summary, resume full session as-is, or don't ask again. [lines 33-40] [Source]
settings [Source]
- Gitignore behavior changed: Claude Code now adds
**/.claude/settings.local.jsonto the user's global git excludes file the first time it saves a setting there, rather than gitignoring only at creation. [lines 16, 81, 737] - New
remote.defaultEnvironmentIdsetting: sets the default cloud environment for CLI-initiated cloud sessions (claude --cloud, ultraplan), written when picking an environment via/remote-env. [line 282] [Source] - New
switchModelsOnFlagsetting (defaulttrue): controls whether Claude Code auto-switches to the fallback model when a safety classifier flags a request, vs. pausing for the user to choose. Requires v2.1.160+. [line 302] [Source] - Clarifies an empty
strictKnownMarketplacesarray blocks every marketplace source, including the official Anthropic marketplace, with a new example allowing only that marketplace. [lines 858-996] [Source]
setup [Source]
- Debian/Ubuntu install instructions now also require
gpgand add a mandatory key-verification step (gpg --show-keys, checking fingerprint31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE), with troubleshooting forNO_PUBKEY BAA929FF1A7ECACEapt errors. [lines 307-324] [Source]
skills [Source]
- New capability:
/verifycan record its own recipe when run without one, writing it to.claude/skills/verify/SKILL.md; at the repo root this replaces the bundled/verify. Requires v2.1.200+. [line 33] [Source] - Behavior change (v2.1.205+): Claude only edits the recorded recipe file when a run was steered wrong, rather than folding in everything learned each run, reducing merge conflicts. [line 34] [Source]
- Skill discovery changed: skills from directories added via
--add-dirnow load automatically at startup; skills in nested.claude/skills/directories below the starting directory instead load on-demand the first time Claude reads/edits a file in that subdirectory. [lines 123-127] [Source]
slack [Source]
- Reframes scope: this page now documents the earlier per-user "Claude Code in Slack," clarifies Claude Tag is the Team/Enterprise replacement, and notes Claude Tag isn't available on Pro/Max plans. [lines 3-6] [Source]
- New troubleshooting section: sessions from a Claude Tag channel fail to start when the channel's cloud environment was created under a personal account; fix is to recreate it as an organization-shared environment. [lines 186-193] [Source]
sub-agents [Source]
- New restriction: subagent
namevalues can't contain:(reserved for plugin-scoped identifiers) — files with such names fail to load and log an error. Behavior change from before v2.1.218. [line 229] [Source] - New requirement: a project-level subagent's frontmatter hooks only run after the user accepts the workspace trust dialog for the folder containing the agent file; previously such hooks could run from untrusted folders, including non-interactively. Behavior change from before v2.1.218. [lines 548-549] [Source]
terminal-guide [Source]
- New troubleshooting entry for
'Claude Code does not support 32-bit Windows': occurs when using theWindows PowerShell (x86)shortcut instead of the 64-bit one. [lines 273-275] [Source]
tools-reference [Source]
PushNotificationtool's unavailable-platform list now also includes Claude Platform on AWS. [line 31] [Source]- WebSearch is no longer generally available on Microsoft Foundry — it now requires an Anthropic-hosted deployment, since Azure-hosted deployments don't support server-side tools. [line 365] [Source]
troubleshoot-install [Source]
- Added
claude --versionverification steps after three separate winget install troubleshooting steps. [lines 311, 355, 441]
ultraplan [Source]
- Clarifies ultraplan runs in "your default cloud environment" (renamed from "your account's default"), and that
/remote-envin the terminal can change which environment that is. [line 12] [Source]
web-quickstart [Source]
- Onboarding changed: connecting GitHub now automatically creates a cloud environment named Default (Trusted network access) instead of prompting through a manual "create your environment" form. [lines 61-63] [Source]
- Clarifies signing in for
/web-setuprequires a claude.ai account login (not API-key auth), checkable via/status. [line 85] [Source] - On success,
/web-setupnow printsConnected as <your-github-username>and opens claude.ai/code in the browser. [line 97] [Source] - New troubleshooting entry:
/web-setupsays "Not signed in to Claude" — no valid or expired claude.ai sign-in; fix is/loginthen retry. Also notes Team/Enterprise Owners can disable/web-setupfor their org, hiding the command. [lines 186-193] [Source] - Next-steps link now mentions session sharing and auto-fixing pull requests instead of setup scripts/environment variables/network config, which moved to the new Configure cloud environments page. [line 231] [Source]
workflows [Source]
- New detailed explanation of resume-after-pause semantics: a still-running agent restarts on resume, and replay follows start order so every agent that started after the first unfinished one re-runs even if it had completed; includes a worked example showing why fanning out into many small agents preserves more progress than one long agent. [lines 297-313] [Source]
API changes
No significant documentation changes today — the only diffs in docs-md/api were Cloudflare email-obfuscation hash rotations in files.md and thinking.md, with no visible content changes.