Claude docs changes for August 5th, 2026 [diff]
Executive Summary
- New native PowerShell tool and hook support brings Windows shell handling to parity with Bash: hooks, permission checks, and tool-search coverage now recognize
Bash|PowerShelluniformly. - Sandbox credential masking (
mode: "mask") is now documented forsandbox.credentials.fileson Linux/WSL, letting sandboxed commands use real secrets through a proxy without the container ever seeing the plaintext value. - Ultraplan has been removed: the
/ultraplancommand, its keyword trigger, and the plan-approval option are gone, with Plan mode taking its place across the docs. - The auto-compact window is now configurable via
/autocompact,--autocompact, orCLAUDE_CODE_AUTO_COMPACT_WINDOW, giving explicit control over when a session starts compacting. - Claude Code 2.1.222 closes two security-relevant bugs: worktree-isolated sessions could run destructive git commands against the main checkout, and
PreToolUseauto-allow hooks could bypass tool restrictions inside background agent tasks.
New Claude Code versions
2.1.222
Existing feature improvements
- Improved auto mode safety: messages sent to other agent sessions via
SendMessageare now evaluated by the permission classifier before dispatch - Improved the refusal when Claude tries to invoke a skill with
disable-model-invocation: Claude is now told to ask you to run the skill instead of replicating its workflow - Improved the
/diffview, the Remote Control workspace diff, and file-edit diffs in Claude Code on the web sessions to use raw git blob content, ignoring workspace-configured diff drivers and textconv - Changed Remote Control auto-start so repo-local settings (
.claude/settings.jsonor.claude/settings.local.json) can no longer turn it on (they can still turn it off); enable it at user scope via/config - Removed the Ultraplan feature
Major bug fixes
- Fixed worktree-isolated sessions and their subagents being able to run destructive git commands against the main checkout; isolation now applies to file edits and Bash in every session type
- Fixed
PreToolUseauto-allow hooks bypassing tool restrictions in background agent tasks (summaries, compaction, renames) - Fixed
/usage-creditson Team and Enterprise showing "you've already sent a usage credit request" for members whose earlier request was dismissed, blocking them from sending a new one - Fixed the startup connectivity check hanging and then failing behind an HTTPS proxy; it now uses the same proxy-aware transport as API requests and times out with a clear message
- Fixed "Connection closed mid-response" errors being reported on responses that had actually completed
- Fixed
/usageoverattributing usage to MCP servers: a server's share now reflects only the requests that actually consumed its tool results, instead of every turn after any call to it - Fixed sessions not linking to pull requests created after the branch was pushed, including through the GitHub REST API
- Fixed org-restricted
model: opus-style subagent and teammate family aliases dropping to the parent model instead of stepping down to the newest org-allowed model in the family - Fixed stream idle timeout firing on custom
ANTHROPIC_BASE_URLgateways despite server keep-alive pings arriving on the wire - Fixed claude.ai connectors being falsely marked as needing authorization when the session token is invalid — they now show a
/loginhint instead - Fixed tool errors not being displayed for tools no longer available locally, for example after an MCP server is removed
- Fixed screen readers re-reading the whole input line on every backspace in
--ax-screen-readermode — end-of-line deletions now echo just the deleted characters
Claude Code changes
New Documents
agent-sdk/troubleshooting [Source]
New Agent SDK troubleshooting reference, keyed to the error you see. Covers CLINotFoundError: Claude Code not found (the Python SDK can't find a claude executable), CLIConnectionError: Refusing to execute batch script (the SDK refuses to spawn claude.cmd/other batch scripts on Windows because cmd.exe re-parsing makes them injectable, with guidance to install a native claude.exe instead), and structured_output coming back None/undefined on an otherwise-successful run (e.g. from an unsatisfiable schema). Also links to the SDK repos for filing new issues.
Changed documents
accessibility [Source]
- Screen-reader-friendly character-level echo in
--ax-screen-readermode now also coversBackspacedeletions at the end of the input line, not just typing. [line 51] [Source]
agent-sdk/agent-loop [Source]
- Clarifies that the TypeScript and Python Agent SDKs bundle a native Claude Code binary for most installs (previously stated unconditionally), pointing to the quickstart for exceptions. [line 4] [Source]
- The tool-definition context-cost table now describes MCP tool-search fallback to upfront loading as affecting "unsupported models and certain platforms" rather than enumerating each platform individually. [line 221] [Source]
agent-sdk/hosting [Source]
- Runtime dependency note updated: the bundled Claude Code binary covers most installs, not all; links to the quickstart for which installs need a separately installed native binary. [line 169] [Source]
agent-sdk/mcp [Source]
- New "Connection timing" table defines exactly which server types delay the first turn and their wait timeouts (stdio/uncached HTTP-SSE block on
MCP_TIMEOUT, cached remote servers don't block, in-process SDK servers never block), plus two ways to make startup itself block on connection:MCP_CONNECTION_NONBLOCKING=0(capped byMCP_CONNECT_TIMEOUT_MS) oralwaysLoad: trueper server. [lines 140-153] [Source] - Clarifies exactly when the
initmessage is emitted relative to the first-turn wait, and what status/tools each server type shows at that point. [line 206] [Source] "pending"status is now documented as covering two distinct cases: a settings-file server that didn't get the full startup wait, or a cached-tool-list server not yet actually connected. [lines 725-726] [Source]
agent-sdk/quickstart [Source]
- New documented edge cases where the SDK does not bundle a native Claude Code binary — pip installing the Python SDK's source distribution (e.g. ARM64 Windows) and npm installs that skip optional dependencies (e.g.
npm ci --omit=optional) — each with a workaround. [lines 82-85] [Source]
agent-sdk/skills [Source]
- In the TypeScript SDK, the
skillsoption now requires exact Skill names:query()throws before starting Claude Code for empty names, names with parentheses/commas/control characters, padded whitespace, or wildcard forms (a bare*or a:*suffix). Useskills: "all"instead of a wildcard. [lines 85-92] [Source]
agent-sdk/tool-search [Source]
- Tool search is now on by default on Google Cloud's Agent Platform for Claude Opus/Sonnet/Haiku 4.5+ (v2.1.221, same minimums as elsewhere); earlier Agent Platform models still get upfront loading with no
ENABLE_TOOL_SEARCHoverride. Previously tool search was off by default for the whole platform. [lines 17-26] [Source]
agent-sdk/typescript [Source]
- The
skillsoption table now documents that the SDK rejects malformed or wildcard skill names with an error before starting the process. [line 439] [Source] - Same "bundled for most installs" caveat added for the native Claude Code binary. [line 7] [Source]
agent-view [Source]
/fork's copy now makes code changes in its own new worktree rather than potentially sharing the original session's checkout (except bare-repo layouts or worktree isolation off); when the copy starts in the main working tree, it bases a new branch on the original session's branch. [lines 312-316] [Source]- Background-session git workflow reorganized into explicit rules: commit-and-push, open a draft PR when warranted, never push to main/force-push/merge, and defer to your own git-handling instructions in the task,
CLAUDE.md, or memory. [lines 412-417] [Source] /statusnow shows aSession kindrow — background job (attached/unattended) vs.interactive— as of v2.1.221. [line 520] [Source]
channels [Source]
- Plugin install troubleshooting (Telegram, Discord, iMessage, fakechat) now documents that Claude Code auto-refreshes a stale marketplace catalog and retries before reporting "not found," and that the install summary — not a blanket instruction — determines whether
/reload-pluginsis needed. [lines 34-39] [Source]
claude-apps-gateway [Source]
- Claude Code now forwards parent-supplied
sandbox.credentialsin stripped form:denyentries keep only path/name and mode,mode: maskfile entries are forwarded sentinel-only (with emptyinjectHosts, droppingextract/onExtractNoMatch/maskDuplicates), andmode: maskenvVarsentries aren't forwarded at all. [lines 281-285] [Source]
claude-apps-gateway-config [Source]
- New gateway validation: a non-string
modelvalue in a request is now rejected with400 model must be a string, requiring gateway v2.1.221+. [line 395] [Source]
claude-code-on-the-web [Source]
CLAUDE_AUTOCOMPACT_PCT_OVERRIDEis now described as moving compaction earlier within the auto-compact window, with the new/autocompactcommand andCLAUDE_CODE_AUTO_COMPACT_WINDOWfor changing the window itself. [line 152] [Source]- Claude Code now computes web diffs (including per-file diffs shown as Claude edits) from raw git blob content, so repository
diff/textconvfilters don't apply. [line 160] [Source] - Ultraplan references removed from this page following the feature's removal. [line 77] [Source]
claude-security [Source]
- Same marketplace auto-refresh-and-retry plus install-summary-driven
/reload-pluginsguidance added as in channels.md. [lines 26-29] [Source]
cli-reference [Source]
- New
--autocompact <auto|tokens>flag sets the auto-compact window for a single session launch, requires v2.1.221+. [line 58] [Source]
code-review [Source]
- Clarifies exactly which run types always get text-based findings (terminal
/code-reviewforked-subagent runs, and-ptext/JSON runs) versus host apps (e.g. the desktop app) that get the structuredReportFindingslist. [lines 286-291] [Source]
commands [Source]
- New
/autocompact [auto|<tokens>]command sets the auto-compact window and saves it to user settings, v2.1.221+. [line 36] [Source] /ultraplanis marked removed; use plan mode instead. [line 127] [Source]
context-window [Source]
- New "Set the auto-compact window" section documents three configuration layers (
/autocompactcommand,--autocompactflag,CLAUDE_CODE_AUTO_COMPACT_WINDOWenv var) with precedence rules, accepted value forms (100K-1M tokens), and which sessions compact earlier by default (cloud sessions, Sonnet/Opus 4.6 without extended context, Sonnet 5). [lines 93-118] [Source]
costs [Source]
- Clarifies that the context/auto-compact warning refers to the session's (now configurable) auto-compact window rather than the model's raw maximum input size. [line 640] [Source]
desktop [Source]
- Renaming a session in the desktop app now syncs to the underlying CLI session name, visible via
claude agentsin a terminal; requires v2.1.221+. [line 293] [Source]
discover-plugins [Source]
- Plugin install failure handling now auto-refreshes a stale marketplace catalog and retries before reporting "not found" when auto-update is on; before v2.1.221 this required a manual
/plugin marketplace update. [lines 35-38] [Source] - The install summary now reports one of
Plugin is now active.,Run /reload-plugins to activate., or a load failure shown in the/pluginErrors tab, instead of every install always requiring a manual reload/restart. [lines 279-285] [Source] /reload-pluginsnow warns and skips instead of applying when the reload would invalidate the prompt cache, requiring--forceto proceed. [line 358] [Source]
env-vars [Source]
BASH_MAX_OUTPUT_LENGTHnow documents concrete default (30000) and maximum (150000) values. [line 158] [Source]BASH_MAX_TIMEOUT_MS: the effective ceiling is now documented as the larger of this andBASH_DEFAULT_TIMEOUT_MS. [line 159] [Source]- New
CLAUDE_CODE_AUTO_COMPACT_WINDOWvar documents its accepted range (100000-1000000), that it only accepts a plain integer, and its precedence over/autocompact/--autocompact/theautoCompactWindowsetting. [line 179] [Source] CLAUDE_CODE_RESUME_INTERRUPTED_TURN: fixed so setting the value to0disables resume (previously only unsetting it worked). [line 292] [Source]ENABLE_TOOL_SEARCHupdated to reflect the new default-on tool search for Claude 4.5+ models on Google Cloud's Agent Platform. [line 371] [Source]
errors [Source]
- When a server error, dropped connection, or stalled stream hits mid-response after Claude has already completed a text block or tool call, Claude Code now still runs any tool calls Claude already completed and continues the turn from their results, instead of just ending the turn; same updated behavior for "Socket is closed." [line 118] [Source]
- New documented error "Your checkout has no branches":
/code-review ultraandclaude ultrareviewnow refuse to review a detached-HEAD checkout with no branches before starting a cloud session, requires v2.1.221+. [lines 1234-1245] [Source]
fast-mode [Source]
- Switching to Opus 4.7 now turns fast mode off like any other unsupported model, instead of leaving it on and having the API reject requests (fixed in v2.1.221). [line 38] [Source]
- New fallback when usage credits run out mid-session: Claude Code retries each rejected fast-mode request at standard speed/pricing (no cooldown), with a notification in interactive sessions and a
system/notificationmessage instream-json/SDK sessions. [lines 142-145] [Source]
feature-availability [Source]
- Tool search availability on Google Cloud's Agent Platform changed from "off by default platform-wide" to "unsupported only on models earlier than the Claude 4.5 generation." [line 27] [Source]
- Ultraplan removed from the list of claude.ai-only features. [line 42] [Source]
google-vertex-ai [Source]
- Tool search on Vertex AI is now on by default for Claude Opus/Sonnet/Haiku 4.5+ (previously required
ENABLE_TOOL_SEARCH=true); earlier models still load upfront regardless. NewENABLE_TOOL_SEARCH=falseopt-out documented, effective v2.1.221. [lines 123-128] [Source]
hooks [Source]
- Hooks now run consistently everywhere Claude Code runs — sessions in the terminal, IDE extensions, the desktop app, and Claude Code on the web all fire the same hook events. [line 5] [Source]
- New native PowerShell hook support: match
Bash|PowerShellto cover shell-command hooks on Windows, with a documented PowerShell tool field table and an example.ps1hook script. [lines 103-165] [Source] - Hook deduplication changed: a handler defined in more than one settings file now runs once, but a plugin's or skill's copy of the same handler stays separate — previously dedup was purely by command string/args or URL. [line 370] [Source]
- Cloud sessions on Claude Code on the web don't read your local
~/.claude/settings.json; hooks there come from the repo and your organization's server-managed settings. [line 242] [Source] PostToolUseFailure'serrorfield format is now documented in detail: a first lineExit code Nfor Bash/PowerShell,[Request interrupted by user for tool use]for cancellations, a bare failure message when the shell process itself couldn't start, and middle-truncation past 10,000 characters. [lines 1757-1770] [Source]- Async hooks: in non-interactive mode (
-p), Claude Code now kills any async hook still running at teardown and finalizes it with outcomecancelled; work that must outlive the session should start a fully detached process. [lines 2971-2974] [Source]
hooks-guide [Source]
- Hooks needing full shell-command coverage must now match
Bash|PowerShell, not justBash, since Claude can also run shell commands via the PowerShell tool. [line 625] [Source] - Shell-form command hooks on Windows now fall back to PowerShell when Git Bash isn't installed (previously always used Git Bash). [line 937] [Source]
large-codebases [Source]
- Plugin-install failure handling now auto-refreshes a stale marketplace catalog and retries before reporting "plugin not found"; manual
/plugin marketplace updateis only needed if auto-update is disabled. [lines 188-191] [Source]
managed-mcp [Source]
serverCommand/serverUrlpolicy entries inallowedMcpServers/deniedMcpServersnow expand${VAR}from a pinned environment rather than the live process environment, closing a bypass where a project/user settings-defined variable could redefine what an allowlist entry matches;deniedMcpServersstill widens from settings-file variables. Effective v2.1.219. [lines 167-176] [Source]
mcp [Source]
- Same Vertex AI tool-search default change as google-vertex-ai.md — on by default for Claude 4.5+ generation models on Google Cloud's Agent Platform as of v2.1.221;
ENABLE_TOOL_SEARCHbehavior table updated accordingly. [lines 1078-1092] [Source] - Plugin install failures now auto-retry after refreshing a stale marketplace catalog; the install summary, not a blanket instruction, tells you whether
/reload-pluginsis needed. [lines 37-42] [Source]
permission-modes [Source]
acceptEditsPowerShell auto-approval now excludes commands with a quoted positional argument containing a quote character (e.g. an apostrophe) — these still prompt; use a named parameter like-Valueto avoid it. [line 106] [Source]- Switching permission modes while an auto-mode classifier check is pending now discards the pending verdict — you're re-prompted (or auto-denied in
dontAskmode) instead of a stale verdict being applied. [line 274] [Source] - The "No, refine with Ultraplan" option was removed from the plan-approval dialog. [line 130] [Source]
plugin-marketplaces [Source]
- Plugin install no longer always requires a manual
/reload-pluginsafterward — it can activate automatically, and the install summary now tells you whether to run it. [lines 102-107] [Source]
plugins [Source]
- Same reload-plugins/install-summary change — check the install summary for
Run /reload-plugins to activate.instead of always running it. [line 233] [Source]
prompt-caching [Source]
- Falling back to standard speed after running out of fast-mode usage credits mid-session now also preserves the prompt cache, matching the existing rate-limit fallback behavior. [line 69] [Source]
- Installing a plugin from the
/plugininterface can now activate it immediately without/reload-plugins; cache-cost timing follows whenever the change actually applies. [lines 84-85] [Source]
remote-control [Source]
- Renaming a session from claude.ai or the Claude app now also updates the session's name in the local CLI (prompt bar and
claude agents), not just theclaude --resumetitle. Requires v2.1.221+. [line 125] [Source] - New remote-only support for
/autocompact: pass a window size (e.g./autocompact 500k) or run with no argument to print the current window size. [line 245] [Source]
sandbox-environments [Source]
--dangerously-skip-permissionsnow refuses to start when run as root on Linux/macOS. [line 43] [Source]- Substantially expanded setup guidance for
@anthropic-ai/sandbox-runtime: required Linux/WSL2 packages (bubblewrap,socat,ripgrep), required write grants (project dir,~/.claude,~/.claude.json,/tmp), required network domains (provider endpoint plusclaude.ai/platform.claude.comfor OAuth), and a note that Linux/WSL2 only grants writes to paths that already exist. [lines 61-84] [Source] - New documentation of built-in deny protections (
.git/hooks,.git/config,.mcp.json,.claude/commands,.claude/agents, shell startup files) and platform differences (macOS checks per-write; Linux/WSL2 builds the deny list once at launch), plus guidance to review writable paths after unattended runs. [lines 94-109] [Source]
sandboxing [Source]
- New table details whether a managed
credentials.filesentry pinsfilesystem.disabled— onlymode: "deny"(or amaskentry degraded todenyby validation) pins it. [lines 188-205] [Source] - Clarifies which protections keep applying with filesystem isolation off (env-var
deny/maskand filemaskentries still enforced; only filedeny/denyReadand TMPDIR redirection are lifted); notes$TMPDIRcan now expand empty on Linux, so Claude is told to usemktemp -d. [lines 207-220] [Source] - Major new feature:
credentials.filesentries now support"mode": "mask"(previouslydeny-only), requiringnetwork.tlsTerminateand v2.1.221+. On Linux/WSL2, sandboxed commands see a sentinel copy of the file with the proxy substituting the real value on egress toinjectHosts; on macOS the file is simply unreadable (same asdeny). Newextract,onExtractNoMatch, andmaskDuplicatesfields documented, plus fallback-to-denyconditions (directories, globs, files >8MiB, non-UTF-8). [lines 250-325] [Source] - The protected settings-file deny list now also includes
.mcp.jsonat the project root and at each--add-dir//add-dirroot, not justsettings.jsonfiles. [lines 488-491] [Source]
security-guidance [Source]
- Same plugin-install auto-retry/install-summary changes as the other plugin docs. [lines 377-384] [Source]
sessions [Source]
- Renaming a session from claude.ai/the Claude app, or from the desktop app, now applies the same name in the CLI. Requires v2.1.221+. [lines 72-73] [Source]
settings [Source]
- Invalid
sandbox.credentialsfiles/envVarsentries that still have a valid path/name and amask/denymode are now degraded tomode: "deny"with a warning rather than stripped outright, so the credential stays blocked (v2.1.221; previously every invalid entry was stripped). [line 175] [Source] - New
autoCompactWindowsetting configures the context-window fill threshold (100,000-1,000,000 tokens) for auto-compaction. [line 208] [Source] disableAutoModecan now also be set underpermissions.disableAutoMode. [line 232] [Source]credentials.filesnow supportsmode: "mask", plus newextract,onExtractNoMatch,maskDuplicates, andinjectHostsfields. [lines 393-397] [Source]
skills [Source]
- In non-interactive sessions, Claude Code no longer reserves the
help/feedbackcommand names for terminal-only built-ins, so a plugin skill using those names keeps its bare command (a regression from v2.1.216, fixed in v2.1.221). [line 252] [Source]
terminal-config [Source]
- The
ultraplankeyword was removed from the rainbow-gradient-highlighted keywords in the prompt input — onlyultrathinkremains. [line 118] [Source]
tools-reference [Source]
- In auto mode (and plan mode while the classifier reviews commands), the auto-mode classifier now reviews each
SendMessagesend before delivery, requires v2.1.222+. [line 132] [Source] - Reworked "Output limits": Bash output streams to a working file as the command runs (killed past 5GB); how much reaches Claude inline now depends on whether the result counts as valid vs. failure — valid results get ~30,000 chars inline then a file path, failures get a ~10,000-char head/tail excerpt with no file. New table lists which commands' exit code 1 counts as benign (
grep,rg,find,diff,test,git diff,git grep, etc.) vs. failure. [lines 140-158] [Source] - PowerShell tool commands are now visible to
PreToolUsehooks viatool_input.command; hooks inspecting shell commands should matchBash|PowerShell. [lines 292-293] [Source]
ultraplan [Source]
- The Ultraplan research-preview feature has been removed entirely — the
/ultraplancommand, theultraplankeyword trigger, and the "No, refine with Ultraplan" plan-approval option are all gone. The page now just redirects to Plan mode and Claude Code on the web. [lines 1-15] [Source]
ultrareview [Source]
- The "No merge base" fallback is clarified and cross-referenced to the new "no branches" refusal case added in errors.md; the "Plan complex changes with ultraplan" related-resource link was removed. [line 66] [Source]
vs-code [Source]
- New Focus view collapses tool calls/results/thinking into one expandable row per turn (toggle via Settings, Command Palette, or
Ctrl+Option+F/Ctrl+Alt+F); persists across sessions and applies to all open sessions immediately. NewfocusViewsetting, requires v2.1.221+. [lines 80-291] [Source]
web-quickstart [Source]
- Section heading/anchor updated to drop the "or ultraplan" reference, reflecting the Ultraplan removal. [line 200] [Source]
API changes
Changed documents
api/admin/analytics [Source]
AnalyticsUsergains atypefield (always"user") alongsideid/email_address. [line 147] [Source]AnalyticsUserActorfieldsdeleted,email,name,type,user_idare now documented as required (previously all optional). [line 165] [Source]
api/admin/analytics/artifacts/list [Source]
filter[]now documents its supported dimensions explicitly:artifact_type,is_shared,rbac_group_id,user_id, with value formats for each. [line 28] [Source]group_by[]is now typed as an enum of"rbac_group_id"/"user_id"instead of a free-form string array. [line 90] [Source]
api/admin/analytics/chat_projects [Source]
api/admin/analytics/chat_projects/list [Source]
filter[]now documents supported dimensions:project_id,rbac_group_id,user_id, with value formats. [line 33] [Source]created_by.typefield added. [line 121] [Source]
api/admin/analytics/connectors/list [Source]
filter[]now documents supported dimensions:connector_name,product,rbac_group_id,user_id, with value formats and normalization notes. [line 36] [Source]
api/admin/analytics/cost [Source]
- New
slack_channel_idfield added to cost result rows and per-userUserCostrows, populated when grouping by Slack channel. [lines 91-93] [Source] AnalyticsUserActorfields now required rather than optional. [line 149] [Source]
api/admin/analytics/cost/list [Source]
group_by[]gains a new"slack_channel_id"dimension. [line 76] [Source]- New
slack_channel_idsfilter parameter to scope cost data to specific Slack channels. [lines 116-118] [Source] - Result rows gain a
slack_channel_idfield. [line 210] [Source]
api/admin/analytics/cost/list_by_user [Source]
- Same Slack-channel additions:
group_by[]value"slack_channel_id", aslack_channel_idsfilter, and aslack_channel_idresult field. [line 83] [Source]
api/admin/analytics/plugins/list [Source]
filter[]now documents supported dimensions:plugin_name,product(claude_code/coworkonly),rbac_group_id,user_id. [line 39] [Source]
api/admin/analytics/retrieve_summaries [Source]
- New capability: the summaries series can now be scoped to a single RBAC group via
filter[]=rbac_group_id:<id>. [line 17] [Source]
api/admin/analytics/skills/list [Source]
filter[]now documents supported dimensions:product,rbac_group_id,share_status,skill_name,user_id. [line 34] [Source]
api/admin/analytics/usage [Source]
- New
slack_channel_idfield added to usage result rows and per-user data. [lines 95-97] [Source]
api/admin/analytics/usage/list [Source]
group_by[]gains"slack_channel_id"; newslack_channel_idsfilter; result rows gain aslack_channel_idfield. [line 74] [Source]
api/admin/analytics/usage/list_by_user [Source]
- Same Slack-channel additions as usage/list:
group_by[]value,slack_channel_idsfilter, result field. [line 81] [Source]
api/admin/analytics/users [Source]
api/admin/analytics/users/list [Source]
filter[]now documents supported dimensions:project_id,rbac_group_id,user_id, including thatproject_idscopes to chat activity in a project and can't combine withgroup_by[]. [line 33] [Source]user.typefield added. [line 511] [Source]
api/admin/cost_report [Source]
inference_geois now a typed enum ("global"/"not_available"/"us") instead of a freeform string. [line 75] [Source]
api/admin/cost_report/retrieve [Source]
- Same
inference_geoenum change. [line 120] [Source] next_pagecursor format changed from an RFC 3339 timestamp string to an opaquepage_...token. [line 219] [Source]
api/admin/rate_limits [Source]
- Rate-limit entries gain a new
idfield: a stable identifier for the rate-limit group. [line 27] [Source]
api/admin/rate_limits/list [Source]
api/admin/usage_report [Source]
- Response actor schemas renamed from
ClaudeCodeUserActor/ClaudeCodeAPIActorto genericUserActor/APIActor. [line 39] [Source] datefield changed fromYYYY-MM-DDformat to an RFC 3339 timestamp at midnight UTC. [line 103] [Source]inference_geonow a typed enum. [line 252] [Source]
api/admin/usage_report/retrieve_claude_code [Source]
- Same actor renames (
UserActor/APIActor). [line 50] [Source] datefield format changed to an RFC 3339 timestamp. [line 114] [Source]
api/admin/usage_report/retrieve_messages [Source]
inference_geonow a typed enum ("global"/"not_available"/"us"). [line 228] [Source]next_pagecursor format changed from timestamp string to opaquepage_...token. [line 347] [Source]
api/admin/workspaces/create [Source]
allowed_inference_geos,default_inference_geo, andworkspace_geoare now typed enums ("global"/"us", or"us"only forworkspace_geo) instead of freeform strings. [line 37] [Source]
api/admin/workspaces/rate_limits [Source]
- Workspace rate-limit entries gain two new fields:
rate_limit_id(the id of the org-level rate-limit group being overridden) andworkspace_id. [line 67] [Source]
api/admin/workspaces/rate_limits/list [Source]
api/admin/workspaces/update [Source]
build-with-claude/compaction [Source]
- Compaction is no longer beta: the requirement to include beta header
compact-2026-01-12was removed, along with the old beta-only supported-models list. - New "Compatibility" table documents supported models (Fable 5, Mythos 5/Preview, Opus 4.6-5, Sonnet 4.6/5) and supported platforms, now including Claude API, Claude Platform on AWS, Amazon Bedrock, Google Cloud, and Microsoft Foundry (each marked Beta). [lines 589-594] [Source]
build-with-claude/thinking [Source]
- New guidance: use your SDK's message-accumulation helper (e.g.,
stream.get_final_message()in Python,stream.finalMessage()in TypeScript) to reassemble complete thinking blocks with signatures after streaming, instead of concatenating deltas manually. [line 225] [Source] - Clarified Ruby SDK behavior: plain hashes use
display:, while only the typedThinkingConfigAdaptiveclass requires the trailing-underscoredisplay_param name (previously stated flatly thatdisplay_:was needed). [line 171] [Source]