Claude Code v2.1.260

400 entries read v2.1.259 → v2.1.260 Markdown Unofficial

This build carries 42 gated entries, most not switched on. A hidden 'advisor' local command exists to let Claude consult a stronger model, but it stays off unless internal gates allow it, and a "Fable" model family sits wired into the model picker behind an entitlement check. A hidden CLAUDE_CODE_QUESTION_EXTENDED variable would enable an extended AskUserQuestion mode but defaults off, and artifact publishing can copy files between artifacts server-side, though the copy path can be switched off. Spawned subagents can now receive recent conversation context from the coordinator, and a "Precompute compaction" toggle appears in settings but only works once an internal gate is enabled. A new mode-resolution helper backs an unreleased "proactive" permission mode, and a fully built live collaborative whiteboard variant remains disabled at the code level.

Of 211 shipped entries, published Artifacts can now declare the desktop app's own browser tools, like navigate and screenshot, as a built-in host server. Plugin agent.spawn hooks can deny or rewrite a subagent's type, prompt, model, or background flag before it launches, and plugin hook scripts gain a new $.process.run capability to spawn external commands. Fable 5.1 can now be reviewed and enabled by running /model fable, and tool permission rules can target specific arguments, such as Bash(curl *) or Read(/secrets/). The Usage page can show a per-model USD cost estimate when inferenceModelPricingEnabled is turned on, a new sshHostAllowlist setting lets admins restrict SSH hosts for remote Code sessions, and plugin panels above the prompt are now keyboard-navigable via ctrl+x ctrl+a.

Among 41 fixes, the cd-then-read deny-rule circuit breaker, which warned before cd-ing into a directory covered by a Read deny rule, has been removed entirely, and the proactivity menu's level-cycling keybindings are gone. Rewinding a conversation now evicts cached file and memory reads for discarded messages and tracks files touched via Edit/Write/notebook calls, not just attachments, fixing stale re-reads. MCP server config changes now properly clean up removed or replaced clients instead of leaking them, and a rewind that fails to restore every changed file now throws an error rather than silently reporting success. ANTHROPIC_BASE_URL is now actually respected as the fallback baseURL in the last-resort direct API client path, and publishing an artifact now refuses if a local MCP server name would collide with the app's built-in server.

Reading as
Show only
Tier
Flag state
Names
Pick an entry · j / k steps through · rest on a row to peek
86 entries

What probably matters to you

Anything you can use today, anything that visibly changes, and anything worth poking at. One line each, open for detail.

In dev
Nothing to try yet
Useful4 Signal4
Group of 2 Models Notable no docs found

Fable model visibility now gated by a server-verified entitlement probe#

A hidden Fable model only appears once a server-side entitlement probe accepts your account.

Details 0 0 Feedback
fable51

The function deciding fable-model eligibility changed hL(oK) to hL(SO) || Iwt() in two branches. Iwt() returns true only when awt() === "accepted", and awt() reads a fableEntitlementProbe (fableEntitlementProbeAccount, fableEntitlementProbeModel) cached on the provider state (Rr().providerCache), populated by an async probe/acceptance flow keyed to the current account.

The model-picker logic (koe) now conditionally injects an extra model option ($G(o, pQr(pq(), e))) into the list before the usual custom/alias model handling, gated through the same Iwt() check; absent an accepted probe result the function returns undefined/false. This means a session can become fable-eligible purely via the probe's cached 'accepted' result even when the existing hL provider-list check fails. Related identifiers claude-fable- and the alias fable51 show this is a codenamed model whose visibility depends on a server-verified entitlement rather than a local flag; it isn't fully traced what sets the probe to 'accepted', so how often this path fires isn't known.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful4 Signal4
Models Notable no docs found

New "Fable" model family wired into the model picker#

A new Fable model family is wired into the picker but gated behind an entitlement check.

Details 0 0 Feedback
fableEntitlementProbe

The model picker adds a "Fable" model family, listed with the description "Fable 5.1 · ...". Internally it references claude-fable- model identifiers and is gated by a new entitlement probe, fableEntitlementProbe.

In dev
Nothing to try yet
Useful3 Signal4
Artifacts Notable no docs found

Live collaborative whiteboard variant built but disabled at the code level#

A live collaborative whiteboard variant exists in code but is disabled by internal gates.

Details 0 0 Feedback
whiteboardVariantLatch

The whiteboard-artifact skill now has two full variants: the existing solo canvas, and a new live/collaborative one where everyone with the board open sees each other's strokes and cursors as they happen, the board shows whether a given session is present, and drawing can happen live alongside sending messages. Which variant loads is decided by ze(), which sets whiteboardVariantLatch to "live" only when both Cbn() and Ele() are true, otherwise "solo". Separately, the whiteboard skill as a whole is only enabled when Tbn() and fk() both hold.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal4
Advisor Notable

New hidden 'advisor' local command#

A hidden advisor command exists but stays disabled unless two internal gates pass.

Details 0 0 Feedback
advisor

A new hidden built-in command, advisor ("Let Claude consult a stronger model at key moments"), has been added, including non-interactive support and an argument hint listing available advisor models plus off. It stays hidden and disabled unless two internal gates both pass.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful4 Signal3
Plugins Notable

New $.process.run capability for plugin hook scripts#

Plugin hook scripts can now spawn and run external commands via $.process.run.

Details 0 0 Feedback

Plugin hook scripts can now call $.process.run alongside the existing fs.*, store.*, and http.fetch namespace, letting a hook spawn and run arbitrary external commands rather than only reading files or making HTTP calls. The implementation validates arguments, handles SIGTERM-then-SIGKILL shutdown, caps captured stdout/stderr size, runs under toolCgroupClass: "plugin", and applies default and maximum timeouts.

+New
Under the hood
Useful4 Signal3
Plugins no docs found

Plugin agent.spawn hooks can now rewrite or deny subagent launches#

Plugin hooks can now deny or rewrite subagent launches before they start.

Details 0 0 Feedback
agent.spawn

Plugin agent.spawn hooks can now intercept the Task tool's subagent-spawn path: a hook can deny a spawn outright, or rewrite its agent type, prompt, description, cwd, model, or background flag before launch. New guardrails accompany this: agents renamed by a hook get their MCP requirements rechecked, cwd changes are rejected when isolation is worktree, and a hook can't retarget an unconfined web-fetch dispatch to another agent without classifier review.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful5 Signal2
Models Notable

Fable 5.1 advisor feature surfaced with setup prompt#

A new Fable 5.1 advisor model can be enabled by running /model fable.

Details 0 0 Feedback
/model fable

A new advisor option, Fable 5.1, can be reviewed and enabled by running /model fable (in an interactive terminal session if needed), after which it can be set as the advisor.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful5 Signal2
Sessions Notable

New SSH host allowlist for remote Code sessions#

Admins can now allowlist which SSH hosts users may connect to for remote Code sessions.

Details 0 0 Feedback
sshHostAllowlist

A new managed-settings key, sshHostAllowlist, lets admins list SSH hosts (exact hostnames or *. wildcards) that users may connect to for Claude Code desktop sessions run over SSH; if it's unset or empty, the SSH option is hidden and connection attempts are refused. Allowed connections forward the session's inference credential, but only if it's token-based — file-based credentials such as Bedrock IAM Identity Center or Vertex creds are refused — along with the OTLP endpoint and auth headers. This is an opt-in beta feature.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful5 Signal2
Usage Page Notable

New per-model pricing estimate on Usage page#

The Usage page can now show estimated dollar cost per model, off unless you turn it on.

Details 0 0 Feedback
inferenceModelPricingEnabledinferenceModelPricingMultiplierinferenceModelPricing

The Usage page can now show a USD cost estimate per model, priced at Anthropic list price by default. It is controlled by a new inferenceModelPricingEnabled toggle (off unless explicitly enabled), and can be refined with inferenceModelPricingMultiplier and inferenceModelPricing, which sets per-model USD/Mtok rates for input, output, cache read, and cache write.

+New
Use it now
Useful5 Signal2
Artifacts

New whiteboard artifact type#

A new whiteboard artifact lets Claude sketch diagrams with shapes, sticky notes, and live cursors.

Details 0 0 Feedback

Claude can now create a whiteboard artifact: a live collaborative sketch canvas with boxes, databases, decision diamonds, sticky notes, arrows, freehand drawing, text, and pasted images, plus shared live cursors and strokes, intended for wireframe-style diagramming discussions.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal4
Auto Mode Notable no docs found

New 'bash-first steer' strictness setting (cozy teapot)#

An unreleased-sounding env var controls how strictly auto mode steers you toward bash.

Details 0 0 Feedback
CLAUDE_CODE_COZY_TEAPOT

Auto-mode's bash-first steering behavior now has a configurable strictness setting, resolved from an env var and then org/user config, defaulting to strict. The resolved value is attached to the auto_mode payload as bashFirstSteer whenever bash-first mode is active. The env var involved is CLAUDE_CODE_COZY_TEAPOT.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful3 Signal2
Group of 3 Cloud Sessions Notable no docs found

Cloud session status now streams incrementally via cloud_session_delta#

Cloud session init now reports live connection state and which tool calls are in flight.

Details 0 0 Feedback
cloud_session_delta

A new SDK system message subtype, cloud_session_delta, lets a cloud-hosted session's headless stream-json client push incremental updates (serving state, connection status, in-flight tool calls, directory sync) between full init snapshots instead of requiring a full re-init each time. The cloud session emitter tracks the last emitted session block and, on later changes, debounces and emits a cloud_session_delta event containing just the changed keys.

The cloud_session field on stream-json init frames also gains connection (connecting/live/reconnecting) and calls (live and recent tool calls served to the cloud session, tracked by id and tool name only), so a desktop/SDK host can show whether its bridge to a cloud session is up and what tool calls are in flight or recently finished, without exposing call input/output.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
Artifacts Notable no docs found

"artifact endpoints are not available in this build" — build-gated capability#

Artifact endpoint actions exist in code but are refused as not available in this build.

Details 0 0 Feedback
get_endpointscall_endpoint

An artifact action set, get_endpoints, call_endpoint, and run_script, now checks a module-level variable before allowing use. When unset, permission is denied with the message "artifact endpoints are not available in this build," indicating the capability is compiled in but only enabled in certain builds.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
Artifacts Notable no docs found

Artifact 'copy_from' capability added#

Copying assets between artifacts is built with UI toasts, gated behind capability flags.

Details 0 0 Feedback
copy_fromfrozenCopyFromfrozenMultiFile

Artifacts now support copying another artifact's assets via copy_from in sessions where that capability is available. Where it isn't available, a new error message clarifies that asset: true can be used instead with a local file_path. A UI toast now reports "copied N asset(s) into the artifact" for asset_copy results, and new frozenCopyFrom / frozenMultiFile flags were added to artifact runtime state.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
Artifacts Notable no docs found

Artifact assets: new copy_from action with dedicated error cases#

A copy_from action for copying assets between artifacts is built with its own error handling.

Details 0 0 Feedback
copy_fromnot_copyable

The artifact tool now supports a copy_from action for copying assets between artifacts. Errors are reported with dedicated cases: a copy-specific not_found message that identifies the source artifact, a new asset_not_found case, and a new not_copyable case, and the permission checker's action allow-list now includes copy_from.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
AskUserQuestion Notable no docs found

AskUserQuestion "extended" question mode gated by env var, off by default#

An extended question mode is gated behind an env var and off by default.

Details 0 0 Feedback
CLAUDE_CODE_QUESTION_EXTENDED

Setting the CLAUDE_CODE_QUESTION_EXTENDED environment variable now enables an "extended questions" mode for the AskUserQuestion preview feature, via host.launchOptions.replaceExtendedQuestionsEnabled(true). It only applies when the entrypoint is one of sdk-ts, sdk-py, sdk-cli, local-agent, claude-desktop, or claude-desktop-3p, or when the client type resolves to remote; it is off by default with no fallback-true case, and it is stripped from subprocess and MCP-child environments so it won't propagate.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
Artifacts Notable no docs found

Auto-drafted replies to artifact comment threads, gated off by default#

Claude can auto-draft replies to artifact comments, but it's off by default and declines by default.

Feature flag
tengu_ochre_plover Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
action:reply

Claude Code can now auto-draft and post replies to comments on artifacts it can reach, guarded by a new permission rule for the pseudo-tool action action:reply, which can be persisted at session or userSettings scope. In ask mode, an unanswered request to reply now defaults to declining (defaultToNo: true) for non-subagent contexts. If you decline a drafted reply with feedback, the session records a system note quoting your reason and stops drafting further replies to that artifact's comments for the rest of the session.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
AskUserQuestion Notable no docs found

Extended (multi-type) AskUserQuestion questions behind a launch option#

Text and number question kinds are built, gated behind a launch option.

Details 0 0 Feedback
kind: textkind: number

AskUserQuestion now supports text and number question kinds in addition to multiple-choice. These kinds skip the requirement of at least 2 options, and validation errors for open-ended questions now suggest re-asking with "kind": "text" instead of demanding options.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
Permissions Notable

New "proactive" permission-mode resolution#

A new proactive permission mode picks bypass or auto-accept mode based on context.

Details 0 0 Feedback
proactive

A new mode-resolution helper picks which permission mode to switch to based on context: from proactive it chooses bypassPermissions if available, otherwise auto or acceptEdits; from ask or default it prefers auto mode when available. This appears to back a new auto-accept/proactive option in permission settings.

In dev
Nothing to try yet
Useful3 Signal3
Usage & Limits Notable no docs found

New usage-limit bucket "cinder_cove" tied to a product called "Cowork"#

A hidden usage bar for a one-time Cowork credit exists but stays hidden until the backend sends it.

Details 0 0 Feedback
cinder_cove

The usage-limits schema, parsed by the new teo zod schema, adds a cinder_cove field alongside the existing five_hour/seven_day buckets. When present in the parsed response, the settings UI renders it as a separate usage bar titled "Claude Code and Cowork credit," described as a one-time credit with an optional expiry drawn from resets_at. The bar stays hidden until the backend actually sends cinder_cove.

+New
Nothing to try yet
Useful3 Signal3
Artifacts Notable no docs found

Runtime-controllable browser tool exposed to published Artifacts via a built-in host server#

Published artifacts can now declare Claude's own browser tools as a host MCP server.

Details 0 0 Feedback
host:claude_browser

The Artifact tool's prompt text for host MCP servers now documents a built-in exception, host:claude_browser, which lets a published Artifact declare the Claude desktop app's own browser tools — read_page, get_page_text, find, preview_start, navigate, computer, and form_input — as a host server. Previously only user-configured local MCP servers could be declared this way.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful4 Signal2
Permissions Notable

Argument-scoped permission rules for built-in tool controls#

Permission rules can now target specific arguments like Bash(curl *) instead of whole tools.

Details 0 0 Feedback
builtinToolPolicydisabledBuiltinTools

builtinToolPolicy and disabledBuiltinTools now accept argument-scoped rules like Bash(curl *) or Read(**/secrets/**), not just bare tool names. New parsing and validation logic, parseBuiltinRule and canonicalBuiltinRule, backs this and warns on malformed entries.

+New
Use it now
Useful4 Signal2
Artifacts no docs found

Artifacts can now be created from published "Artifact types" (templates)#

Artifacts can now be started from published templates that keep a fixed type page.

Details 0 0 Feedback
type_url

Publishing an Artifact can now pass a type_url to start a new Artifact from a published Artifact type (a template/starter), along with a title. The result is an ordinary private Artifact whose type page and files stay fixed while the rest remains editable. The publish tool description and the title-field help text were both updated to describe this.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful4 Signal2
AskUserQuestion Notable

AskUserQuestion tool gains typed answers and a follow-up mode#

Questions to you can now be free-text or numeric, and can chain into follow-up questions.

Details 0 0 Feedback
followUp

The AskUserQuestion tool now supports question kind values beyond multi-select: text and number, with min/max validation for numeric answers. It also supports a followUp flag; when set, the tool's returned message tells the model to call the question tool again with follow-up questions that build on the given answers, rather than proceeding with the task.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful4 Signal2
Session Import Notable

Claude.ai session import gains automatic background import and export features#

New settings enable automatic background import of old sessions and exporting your chats as a zip.

Details 0 0 Feedback
automatic3pImportexportEnabled

Two new config fields extend Claude.ai session import: automatic3pImport lets organizations enable a one-time automatic background import of a computer's earlier third-party Claude sessions, and exportEnabled lets users export their chats, Cowork tasks, and Code sessions as a portable zip. Both are independent of the existing import-enable toggle.

+New
Use it now
Useful4 Signal2
Cloud Sessions Notable no docs found

New /background-style dialog to view and stop cloud background tasks#

A new dialog lets you view and stop your running cloud background tasks.

Details 0 0 Feedback
/background-style

A new /background-style dialog lists remoteBackgroundTasks running in the cloud session. Pressing x sends a stop_task control request, and the dialog shows a "stopping…" state along with error text if the stop fails.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful4 Signal2
Plugins Notable no docs found

New keyboard-navigable 'above prompt' plugin panel UI#

A new panel above the prompt lets plugins show buttons and inputs, toggled with a keybinding.

Details 0 0 Feedback
abovePrompt:toggle

A new collapsible panel above the input prompt, AbovePrompt/AbovePromptInput/AbovePromptSelect, lets plugins render buttons, inputs, and selects, navigable via tab, arrows, enter, and escape. Two new default key bindings were added: ctrl+x ctrl+a toggles the panel (abovePrompt:toggle) and ctrl+x tab focuses it.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful4 Signal2
Chrome & Browser Notable no docs found

New server-derived config key gates Claude in Chrome extension use#

A new server-controlled key governs whether Claude can drive your Chrome browser via the extension.

Details 0 0 Feedback
claudeInChromeEnabled

A new config key, claudeInChromeEnabled, is set entirely by Anthropic's control plane from the org's Claude in Chrome admin setting, not by any local MDM or bootstrap config. It controls whether Cowork/Code sessions can drive the user's Chrome/Edge browser via the extension — navigating, reading the page, clicking, typing, and taking screenshots. Desktop and the extension pair via a signed identity check against the Anthropic API, this requires isLocalDevMcpEnabled to remain enabled, and it's available on macOS/Windows only.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Artifacts Notable no docs found

Artifacts tool gains a "copy_from" action, behind a new flag defaulting off#

The artifact copy_from action is gated behind a new flag that defaults off.

Feature flag
tengu_cobalt_plinth_samphire Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_cobalt_plinth_samphire

The artifact tool's copy_from action is now gated by a new Are() capability check in addition to the existing assets capability, stored as frozenCopyFrom. The gate reads the tengu_cobalt_plinth_samphire flag, which is new to this build, so the action's enum entry and description only appear when both checks pass.

The artifacts tool's permission-check dispatcher recognizes the new copy_from action, letting Claude copy assets from one published artifact into another server-side, but the action is also guarded by an account-level check that currently resolves to disabled: calling it returns an explicit "action copy_from is not enabled for this account" error.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Auto Mode Notable no docs found

Auto-mode 'bash-first' system-prompt wording is A/B'd behind a remote gate, falling back to the strict wording#

A remotely gated A/B test can loosen the bash-first system prompt wording.

Details 0 0 Feedback
CLAUDE_CODE_COZY_TEAPOTtengu_cozy_teapot

When auto/bypass mode qualifies for "bash-first" steering, mode metadata now carries bashFirstSteer: Y7n(). Y7n() resolves CLAUDE_CODE_COZY_TEAPOT, then a remote-settings/local-config lookup keyed by tengu_cozy_teapot, falling back to the literal "strict" if nothing is set. When bashFirstSteer resolves to "relaxed", a looser system prompt is used ("The choice is yours: prefer Edit or Write when a shell edit would be fragile...") in place of the default stricter prompt that pushes almost everything through Bash.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Chrome & Browser Notable no docs found

Decoy "enable claude-in-chrome" tool, live only in a specific remote session profile#

A decoy tool tells the model browser tools already exist, only active in a specific remote session profile.

Details 0 0 Feedback
enable__mcp__claude-in-chromeCCR_SESSION_PROFILE

A new tool, enable__mcp__claude-in-chrome (with a generic Browser variant), does nothing but tell the model that browser tools are already available under names containing Claude_Browser, or to use claude-in-chrome/Claude_in_Chrome tools directly, so the model stops trying to invoke a non-existent "enable" step. It only registers when the session runs under a CCR session profile, requiring CCR_SESSION_PROFILE, a valid SESSION_INGRESS_URL, a CLAUDE_CODE_REMOTE_SESSION_ID matching the cse_... pattern, and a first-party check; outside that remote/cloud profile the tool is not registered at all.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Thinking Mode Notable no docs found

New "thinking strip" gate for adaptive reasoning: tengu_wise_comet#

A gated experiment controls whether adaptive thinking content gets stripped from output.

Feature flag
tengu_wise_comet Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
CLAUDE_CODE_WISE_COMETtengu_wise_comet

A new experiment, tengu_wise_comet, controls whether the CLI strips extended-thinking content, but only applies when the thinking type is "adaptive"; other thinking types force stripping off. An env var override, CLAUDE_CODE_WISE_COMET, is also available.

In dev
Nothing to try yet
Useful2 Signal3
CLI Notable no docs found

New CLI subcommand: forward-home-settings#

A new hidden CLI subcommand, forward-home-settings, has appeared with unclear purpose.

Details 0 0 Feedback
forward-home-settings

A new CLI subcommand forward-home-settings is now recognized, joining the existing install/update/rollback and update/upgrade/doctor verbs.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Thinking Mode Notable no docs found

Per-model 'quizzical shore' hint on thinking blocks, off by default#

A hidden hint can appear on thinking blocks per model, off by default.

Feature flag
tengu_quizzical_shore Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_quizzical_shore

The thinking-block renderer for assistant messages now takes a model prop and, for string models, checks a quizzical_shore experiment via a capability-logging helper, falling back to the tengu_quizzical_shore gate. When either resolves false, a hint node is shown alongside the trimmed thinking text. The message's model (X.message.model) is now threaded into the renderer specifically to support this check.

In dev
You'll notice
Useful2 Signal2
Group of 3 Admin Settings Notable

Config deprecation framework flags legacy inference-auth and desktop-extension settings#

Old desktop-extension setting names are deprecated with a sunset date; update configs before Oct 7.

Details 0 0 Feedback
isDxtEnabledisDxtDirectoryEnabled

A new deprecation-tracking system, BATCH_2026_09, adds structured migration metadata (including an explicit effect string describing exactly what breaks) to several legacy config values. inferenceGatewayAuthScheme: "sso" is deprecated since it is no longer inferred as browser sign-in (use inferenceCredentialKind: "interactive" instead), inferenceGatewayAuthScheme: "auto" now just rewrites to "bearer", and inferenceCredentialKind: "interactive" combined with inferenceVertexWorkforceAudience is flagged as ambiguous in favor of "workforce".

As part of the same change, Vertex AI's credential kind literal "oauth" is renamed to "interactive": the discriminated-union kind and the deriveInferenceCredentialKind logic for the Vertex OAuth client ID now both return "interactive" instead of "oauth".

The legacyFlatKey aliases isDxtEnabled and isDxtDirectoryEnabled also gain BATCH_2026_09 deprecation metadata (warnFrom 2026-09-10, supportEnds 2026-10-07): after support ends, the old names will be reported as unreadable, causing desktop extensions to read as disabled (isDxtEnabled) or the directory-only restriction to silently stop applying (isDxtDirectoryEnabled).

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal2
Models Notable

1M-context variant can now be the default picker selection#

A new setting can make the model picker default to the 1M-context model variant.

Details 0 0 Feedback
modelPrefer1mContextprefer1m

A new modelPrefer1mContext config, along with a per-model prefer1m field, makes the model picker start on the 1M-context variant of the default model for users who have no saved selection, instead of always defaulting to the standard context window.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful3 Signal2
Thinking Mode Notable

Adaptive thinking has an opt-out for specific models, unresolved by default#

Adaptive thinking is now default; an env var can revert to the old mode for certain models.

Details 0 0 Feedback
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING

Adaptive thinking mode is now the shipped default for per-turn thinking behavior. Setting CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING forces the older enabled mode instead, but only when the canonical model name includes opus-4-6 or sonnet-4-6; otherwise adaptive mode applies as normal.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal2
Artifacts no docs found

Artifact asset store gains a server-side copy_from action#

Artifact assets can now be copied server-side between artifacts without downloading them.

Feature flag
tengu_cobalt_plinth_bracken Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

tengu_cobalt_plinth_samphire Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
copy_from

The artifact tool's asset store now supports a copy_from action that copies assets from one artifact into another entirely server-side, with no download or re-upload. It takes a destination url, a source from_url, and up to ten asset_ids, and requires the requesting session's approvals to cover the copied files ("files: copying another artifact's file needs the user's approval"). Reading an artifact's assets now also covers server-side copies of them into other artifacts.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful3 Signal2
Artifacts no docs found

Asset copy action added to artifact/asset system#

Artifacts gain a copy action for copying assets between artifacts.

Details 0 0 Feedback
asset_copycopy_from

Artifacts and assets gain a copy action, exposed as asset_copy and copy_from in the action lists, along with new error kinds not_found, asset_not_found, and not_copyable for when a copy fails.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal2
Remote Control Notable no docs found

Remote Control machine-profile sharing setting#

A new setting controls how much machine info Remote Control shares when it registers a device.

Feature flag
tengu_bridge_host_profile Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
remoteControl.shareHostProfile

A new remoteControl.shareHostProfile setting controls what a Remote Control environment learns about the local machine when it registers. off reports nothing, basic reports OS/architecture/dev tools, and full also reports configured MCP server names (never the contents of a repo's .mcp.json). If left unset, the level falls back to remote rollout config. Managed settings, --settings, and user settings combine to the most restrictive value among them, while project and local settings can only lower the level further, never raise it.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful3 Signal2
Permissions Notable no docs found

Bash approvals can now auto-add a standing allow rule#

Approving some Bash commands can now silently save a standing allow rule for next time.

Details 0 0 Feedback
keepsStandingApprovals

Approving certain Bash calls can now silently create a persistent local allow rule. When keepsStandingApprovals is set on the input and the command is a clean, non-wildcard, single-line string under a length cap, the approval emits an addRules action that allows that exact command in localSettings.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
Group of 2 Permissions Notable

New disableAutoMode setting to disable Auto mode#

A new setting can turn off Claude Code's auto mode entirely.

Details 0 0 Feedback
disableAutoMode

A new settings key disableAutoMode is now recognized both nested under permissions.disableAutoMode and at the top level. Setting it to "disable" turns off Claude Code's Auto mode, logging the warning "auto mode disabled: disableAutoMode in settings" when applied.

It flows through the same managed-settings merge logic as disableBypassPermissionsMode, and the new top-level path lets admins disable Auto mode via a simpler managed-settings path than the nested permissions.disableAutoMode form.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful4 Signal1
Admin Settings Notable

New organizationInstructions managed setting#

Admins can now append custom free-text guidance to the system prompt org-wide.

Details 0 0 Feedback
organizationInstructions

A new organizationInstructions managed setting lets admins configure free-text guidance, up to 3000 characters, that Claude Desktop appends to the system prompt in Chat, Cowork, and Code sessions. It is described as guidance the model follows rather than an enforced control.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal2
Sandbox Notable no docs found

Unsandboxed shell dispatch gains user-typed override path#

Unsandboxed shell commands are now also allowed when explicitly user-typed.

Details 0 0 Feedback
userTypedShellDispatch

Unsandboxed shell command dispatch is now also permitted when the request has userTypedShellDispatch explicitly set to true, in addition to the existing areUnsandboxedCommandsAllowed() check.

In dev
Nothing to try yet
Useful2 Signal2
Compaction Notable no docs found

Precompute-compaction setting still gated off by default#

A precompute-compaction toggle is gated off by default and has no effect even if saved.

Feature flag
tengu_sepia_moth Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
precomputeCompactionEnabledtengu_sepia_moth

The new "Precompute compaction" settings toggle (precomputeCompactionEnabled) only appears in the settings list when the tengu_sepia_moth gate resolves true. The feature's own gate function independently re-checks tengu_sepia_moth before consulting the stored setting value, so a saved preference has no effect unless the gate is enabled.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Under the hood
Useful2 Signal2
Elsewhere Notable

Credential-helper scripts now receive a context environment variable#

Credential helper scripts now get a context variable telling them why they're being called.

Details 0 0 Feedback

Custom credential helper scripts now receive a CLAUDE_HELPER_CONTEXT environment variable, with values such as interactive, mid-session-refresh, background, scheduled-task, and setup-test. Helpers can use this to decide whether it's safe to prompt the user interactively.

+New
Use it now
Useful3 Signal1
Sessions Notable

claude rm can now force-discard unpushed commits#

claude rm can now force-delete a worktree with unpushed commits using a new flag.

Details 0 0 Feedback
claude rm

claude rm <id> gains a --discard-unpushed <commit>@<worktree-id> option to delete a background session's worktree even when it has unpushed commits or uncommitted changes, provided the worktree is still at the commit last reported. When claude rm refuses to delete a worktree with unpushed work, it now reports the exact <commit>@<worktree-id> value to pass to this new flag.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
Plugins Notable

Admin toggles for user-added plugins/marketplaces#

Admins can now block users from adding their own plugin marketplaces or uploading plugins.

Details 0 0 Feedback
userPluginMarketplacesEnableduserPluginUploadsEnabled

Two new settings let an org lock down plugin extensibility in third-party mode. userPluginMarketplacesEnabled, on by default, controls whether users can add their own plugin marketplaces. userPluginUploadsEnabled, also on by default, controls whether users can upload or create their own plugins. Turning either off hides the corresponding in-app add surfaces and refuses adds that still reach the app.

Improved
Use it now
Useful3 Signal1
AskUserQuestion Notable no docs found

AskUserQuestion tool gains richer question types and a 'more questions' path#

Questions can now be free text or numeric, and follow-ups are preferred over Other/Skip options.

Details 0 0 Feedback
kind: textkind: number

The AskUserQuestion tool's question schema now supports "kind": "text" for an open text box and "kind": "number" (with min, max, step, defaultValue, and unit) in addition to the existing option-based questions. Guidance now also steers away from adding 'Other' or 'Skip' options and instead encourages asking follow-up questions when the user wants more.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
Bootstrap Config Notable

Bootstrap config request headers#

Bootstrap config fetches can now require auth headers via a static or helper-script setting.

Details 0 0 Feedback
bootstrapHeadersbootstrapHeadersHelper

Two new settings let a bootstrap config server require authentication on its config fetch: bootstrapHeaders for static headers, and bootstrapHeadersHelper for an executable that prints headers as JSON, with its output cached for a few minutes. This supports a service-account credential or rotating token without embedding user:pass@ in the URL.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
Skills

Cloud/remote sessions get a read-only Skills dialog#

Cloud sessions now show a read-only dialog listing which skills that session loaded.

Details 0 0 Feedback
/reload-skills

Connected cloud/remote sessions now expose a read-only Skills dialog listing the skills that session reported as loaded, distinguishing "no skills loaded" from "hasn't reported yet." Per-skill toggles still have to be changed in a local session; /reload-skills re-scans the cloud session's skill folders.

A companion read-only /memory-style dialog shows the memory files (CLAUDE.md etc.) loaded in a connected cloud/teleported session, separating files sent from the local machine at launch from files that only exist in the cloud session's own ~/.claude; local editing is blocked with an explanatory message.

A new Permissions settings panel (Allow/Ask/Deny/Workspace tabs) displays the allow/ask/deny/additionalDirectories rules from a connected cloud session's settings files, fetched via a new get_settings control request. It's explicitly read-only: local /permissions edits don't apply to the cloud session.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
Auth Notable

Gateway/Vertex Workforce sign-in can use OS identity broker instead of browser#

Sign-in for gateway/Vertex can now route through the OS identity broker instead of a browser.

Details 0 0 Feedback
inferenceGatewayOidcAuthFlow

A new authFlow setting for inferenceGatewayOidc and inferenceVertexWorkforceOidc (flat key inferenceGatewayOidcAuthFlow) chooses between browser and broker sign-in. The broker option routes sign-in through the OS identity broker (Windows Web Account Manager or macOS Company Portal) instead of a system browser, but requires the IdP to be Microsoft Entra ID and is not supported on Linux.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
MCP Notable

New admin config key: mcpToolTimeoutSec caps MCP tool call duration#

Admins can now cap how long MCP tool calls are allowed to run.

Details 0 0 Feedback
mcpToolTimeoutSec

A new managed-config field, mcpToolTimeoutSec, lets an org set a per-call timeout of 60-3600 seconds for MCP tool calls. Cowork/chat already defaulted to 180s, but Code sessions previously had no desktop-imposed MCP timeout; setting this key now gives them one, and the desktop's own request deadlines toward managed and user-added local MCP servers follow this value.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful3 Signal1
Admin Settings

New permission setting groups: Tools, Code surface, Updates#

Desktop settings gain new grouped categories: Tools, Code surface, and Updates.

Details 0 0 Feedback

Desktop config settings gained three new permission-group categories: TOOLS_GROUP (built-in tool restrictions and on-demand MCP tool loading), CODE_SURFACE_GROUP (settings for Code sessions, applying only while Code is enabled), and UPDATES_GROUP, joining the existing General restrictions, Anthropic telemetry, MCP servers, and Bootstrap groups.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
Plugins Notable

New plugin dev-mode hot reload with a reload-storm circuit breaker#

Plugin dev mode now hot-reloads on file changes, with a circuit breaker for rapid reload loops.

Details 0 0 Feedback
/reload-plugins

Plugin dev mode now watches plugin directories and automatically reloads a plugin, or its hooks module, when relevant files change, debouncing rapid successive changes. If a plugin reloads more than a configured number of times in quick succession, reloading pauses and the user is told the latest save will load once the directory is quiet, or that they can run /reload-plugins to reload immediately.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful3 Signal1
WebFetch Notable

New skipWebFetchPreflight setting#

A new setting skips WebFetch's safety check against api.anthropic.com for firewalled deployments.

Details 0 0 Feedback
skipWebFetchPreflight

A new skipWebFetchPreflight setting skips Claude Code's WebFetch domain-safety lookup against api.anthropic.com in Code sessions, useful when that host is firewalled off in third-party deployments.

+New
Use it now
Useful3 Signal1
Telemetry Notable

OTLP exporter can reuse the inference credential#

OTLP exports can now reuse your inference credential for authentication instead of static headers.

Details 0 0 Feedback
otlpAuthMode

A new otlpAuthMode setting lets OTLP collector authentication reuse the signed-in inference credential, sending it as Authorization: Bearer <token> on OTLP exports instead of relying only on static headers.

Improved
You'll notice
Useful3 Signal1
Permissions Notable

Credential-shaped header names/values now flagged in connector/hook config#

Connector/hook config is now scanned for credential-shaped values and warns you to use a helper script.

Details 0 0 Feedback

Connector and hook config is now scanned for credential-shaped header names (like Authorization, Cookie, or X-API-Key-style patterns) or values that look like bearer tokens, JWTs, AWS access keys, or common vendor secret formats (sk-, ghp_, AIza, GOCSPX-, glpat-, and others). When found, Claude Code warns you to use a headers/credential helper script instead of storing the secret directly in the config file.

Improved
Use it now
Useful2 Signal1
Group of 3 Sessions no docs found

Deleting a job/session can now discard confirmed unpushed worktree commits#

Background job worktree deletion can now discard confirmed unpushed commits with a re-confirm step.

Details 0 0 Feedback
discardUnpushed

Deleting a background job's worktree previously refused outright when it held commits not pushed to any remote. Now a caller can pass a discardUnpushed pin (headSha plus worktreeDigest), and if the worktree's HEAD still matches that pin the removal proceeds despite the unpushed commits. If the pin no longer matches, or the unpushed commits are also referenced by another job's state, the kept-worktree reasons unpushed or the new unpushed_shared are returned instead, along with keptUnpushed/discardUnpushed info so the caller can re-confirm; unpushed_shared specifically refuses to offer a discard when another finished job's state.json also references the same worktree, to avoid destroying another session's output.

In the Fleet UI, deleting a session whose worktree has unpushed commits no longer fails silently: it reports the unpushed count and prompts to delete again to discard, tracking a discardOffer so a second delete forces discardUnpushed.

Improved
Use it now
Useful2 Signal1
Artifacts no docs found

Artifact publish supports copying files from other artifacts#

Publishing an artifact can now copy in files from other artifacts.

Details 0 0 Feedback
copiedFiles

The artifact publish tool now accepts a copiedFiles list, letting a publish operation copy files in from other artifacts. The response echoes these back under copied, with from_url and from_path for each copied file.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful2 Signal1
Artifacts no docs found

Artifact tool renames get_handlers/call_handler to get_endpoints/call_endpoint#

Artifact tool renames handler actions to endpoints and adds a copy_from action.

Details 0 0 Feedback
get_endpointscall_endpointcopy_from

The built-in artifact/site tool's get_handlers and call_handler actions have been renamed to get_endpoints and call_endpoint. A new copy_from action has also been added alongside the existing list_files, read_file, and delete actions, for copying assets between artifacts.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful2 Signal1
Artifacts no docs found

Artifact-type instantiation now requires a title, and store-backed types get their own fill guidance#

Starting an artifact from a published type now requires a title.

Details 0 0 Feedback
type_url

Starting a new Artifact from a published type now requires passing a title (what the user called it, or a short descriptive name) alongside type_url, in addition to the type's own instructions being returned. The tool description was also reworded to distinguish types filled through their own data store from ones filled with page/data files: for store-backed types, the model should call the store-write path or run_script rather than publish files.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful2 Signal1
Auth

Claude Gateway OIDC config gains scope_on_refresh option#

Gateway OIDC config gains an option to control whether scope resends on token refresh.

Details 0 0 Feedback
scope_on_refresh

The gateway's OIDC config schema gains a scope_on_refresh boolean option, sitting alongside existing settings like use_pkce and userinfo_fallback, to control whether scope is resent when a token is refreshed.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful2 Signal1
Plugins

Cloud session plugin visibility panel#

A new panel shows which plugins a connected cloud session has loaded.

Details 0 0 Feedback
/cloud-plugins/reload-plugins

A new plugins-management view shows which plugins a connected cloud session loaded, or notes that it hasn't reported yet, and explains how local plugin changes propagate to that session via /cloud-plugins or /reload-plugins.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful2 Signal1
Diff View

Diff dialog gains a fullscreen presentation mode#

The diff dialog now explicitly distinguishes a fullscreen mode from the sidebar view.

Details 0 0 Feedback
/diff

The diff view now decides between the sidebar diff UI and the full DiffDialog based on an explicit presentation === "fullscreen" flag, rather than inferring it from other state. The /diff command's immediate-availability check and description text were updated to match this new fullscreen distinction, and the contextual notification hinting at enabling tmux mouse support is now shown only when presentation mode is fullscreen.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
Use it now
Useful2 Signal1
API Configuration Notable

Direct API client construction now respects ANTHROPIC_BASE_URL as a fallback baseURL#

ANTHROPIC_BASE_URL is now actually respected in the direct-API fallback path.

Details 0 0 Feedback
ANTHROPIC_BASE_URL

In the final fallback branch of direct API client construction, used when no gateway, Bedrock, or Vertex provider applies, the client config now sets baseURL to ANTHROPIC_BASE_URL when that environment variable is present. This replaces a prior unconditional no-op spread, so ANTHROPIC_BASE_URL is now respected in this fallback path.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful2 Signal1
Bootstrap Config Notable no docs found

Loopback/non-https URL rejection widened to array-valued bootstrap fields#

URL safety checks now cover list-valued config fields, with a new setting to allow loopback response URLs.

Details 0 0 Feedback
allowLoopbackResponseUrls

The loopback/https hygiene check for bootstrap config, previously limited to single string URLs, now also inspects array-valued fields using a new helper that collects URLs from strings, arrays, and {url} objects. A new allowLoopbackResponseUrls setting can explicitly permit response URLs to point at loopback hosts.

+New
Use it now
Useful2 Signal1
Telemetry Notable

New OTLP headers helper script support#

OTLP collector headers can now come from a helper script that's re-run periodically.

Details 0 0 Feedback
otlpHeadersHelper

A new otlpHeadersHelper setting points to an executable that prints a JSON object of collector headers on stdout. Its output is merged over the static otlpHeaders and the new auth-mode header, taking precedence, and is re-run periodically and on rotation for Code and Cowork sessions.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful2 Signal1
Auth

New RFC 8707 resource-indicator field for gateway OIDC inference auth#

Gateway OIDC auth can now send an RFC 8707 resource-indicator URL to audience-restrict tokens.

Details 0 0 Feedback
resource

Gateway OIDC inference auth (access-token mode) supports a new resource subfield for setting an absolute HTTPS resource-indicator URL, sent on authorization, token, and refresh requests per RFC 8707. This lets the IdP audience-restrict the issued token to the gateway. It works with AD FS and other RFC 8707-compliant identity providers, but is explicitly not supported for Entra ID.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful2 Signal1
Admin Settings Notable

New relaunch-window control for served config changes#

A new setting controls how long you can keep working on stale config before a forced restart.

Details 0 0 Feedback
relaunchEnforcementHours

A new relaunchEnforcementHours setting controls how long a user can keep working on a stale config after the server pushes a change before the app forces a restart dialog. It defaults to 1 hour, is settable from 0 to 336 hours, and only takes effect when set via the remote bootstrap config; it is ignored if set via MDM.

+New
Use it now
Useful2 Signal1
Elsewhere no docs found

New relocateUncUserData setting (1p only)#

A new setting relocates app data storage when Windows AppData is on a network share.

Details 0 0 Feedback
relocateUncUserData

A new relocateUncUserData setting (1p only) moves app data storage to local AppData when Windows Roaming AppData is redirected to a network share via a UNC path, since Cowork's VM sandbox can't mount network paths. Relocation starts fresh, with no existing data carried over.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Use it now
Useful2 Signal1
Plugins

Plugin marketplaces gain an inference-credential auth mode#

Plugin marketplaces can now authenticate using the app's existing inference credential.

Details 0 0 Feedback
credentialKind

allowedPluginMarketplaces entries can now set credentialKind: "inferenceCredential" for url-sourced marketplaces. This sends the same credential the app already uses for its inference gateway or bootstrap server, so a marketplace hosted on that same origin needs no separate credential setup.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Removed
Use it now
Useful2 Signal1
Terminal UI no docs found

Proactivity menu level-cycling keybindings removed#

Proactivity menu level-cycling keybindings were removed, leaving only mode-cycling.

Details 0 0 Feedback
proactivityMenu:previousModeproactivityMenu:nextMode

The proactivityMenu:previousLevel, proactivityMenu:nextLevel, and proactivityMenu:dismiss bindable actions have been removed, leaving only proactivityMenu:previousMode and proactivityMenu:nextMode for cycling the proactivity menu.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful2 Signal1
WebFetch

WebFetch artifact tool can now resolve file paths inside an artifact URL#

WebFetch can now resolve a file path inside an artifact URL and save it locally.

Details 0 0 Feedback

WebFetch can now recognize when an artifact URL actually points to a file inside that artifact, and in that case it lists the files and saves the content locally instead of inlining it. If the referenced file can't be resolved, a dedicated error message is shown.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts Notable

Artifact permission checks extended to Artifact-type-authored files and scratchpad symlink escapes#

Artifact permission checks now catch type-authored files and symlink escapes out of the scratchpad.

Details 0 0 Feedback

Artifact permission checks now distinguish files that come from an Artifact type the publisher authored from files published by a co-writer, using separate wording for each case. They also detect when a save path is nominally under the session scratchpad but a symlink there resolves outside the scratchpad carve-out; both new cases require user approval rather than classifier approval.

Improved
You'll notice
Useful2 Signal1
Sessions Notable no docs found

New 'stalled_unsent' outcome for remote tool approvals#

Deleting a job with unpushed commits now tells you the count and lets a second delete force discard.

Details 0 0 Feedback
discardUnpushed

Deleting a background/fleet job whose worktree has unpushed commits no longer fails silently. It now reports the unpushed commit count and prompts you to delete again to discard them, tracking a discardOffer so a second delete forces discardUnpushed.

Improved
You'll notice
Useful2 Signal1
Permissions Notable no docs found

New credential-header safety warning for MCP config and inference headers#

MCP and inference config now warn when headers look like they leak credentials over plain HTTP or shared tokens.

Details 0 0 Feedback
credentialHeadersWarn

A new shared helper, credentialHeadersWarn, flags MCP server URLs/headers and inference custom headers that look like they leak plain-HTTP credentials or shared bearer tokens, with messages like "Endpoint is plain HTTP; auth credentials travel in cleartext" and "Shared bearer token: every org member authenticates as the same identity." It's applied to both managedMcpServers config and the inferenceCustomHeaders field.

Improved
You'll notice
Useful2 Signal1
MCP Notable no docs found

URL schema now rejects credentialed URLs and gained an allowHttp option#

MCP server URLs with embedded credentials are now rejected, and plain-http can be explicitly allowed.

Details 0 0 Feedback
allowHttp

The shared URL schema used for MCP server URLs and similar fields now rejects URLs containing embedded userinfo (user:pass@host), reporting a dedicated CREDENTIALED_URL_MESSAGE error. A new allowHttp option can be set on the schema to permit plain-http URLs beyond the existing loopback-http allowance.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful1 Signal1
Elsewhere

Auto-update enforcement window: documented idle-wait behavior and interaction with disableAutoUpdates#

Auto-update enforcement docs now clarify idle-wait and restart behavior in detail.

Details 0 0 Feedback
autoUpdaterEnforcementHours

autoUpdaterEnforcementHours now has a long description clarifying its behavior: it has no effect when disableAutoUpdates is set, since the updater never starts. Leaving it blank uses the 72-hour default and waits for at least 10 minutes of machine idle before restarting, whereas setting an explicit value, even 72, restarts once the window elapses regardless of activity. In both cases, restarts still hold off while Claude is mid-task.

Improved
Use it now
Useful1 Signal1
Self-Hosted Runner

New env var to configure self-hosted runner session startup timeout#

Runner session startup timeout can now be set via an environment variable too.

Details 0 0 Feedback
SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS

The startup-timeout idle-detection window for self-hosted runner session children can now be set via the SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS environment variable, in addition to the existing --startup-timeout-min CLI flag.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Use it now
Useful1 Signal1
Plugins

reload-plugins command now works non-interactively#

/reload-plugins now works in non-interactive/headless sessions.

Details 0 0 Feedback
/reload-plugins

The /reload-plugins slash command can now be run in non-interactive (scripted/headless) sessions.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Were these the right ones to put at the top? 0 answered
Below the fold

Everything else

Smaller changes and internals, grouped as the pipeline found them. Nothing is dropped, it is only further down.

3 entries

New Featuresopen

+New
Under the hood
Useful3 Signal2
MCP

New "hosted" OAuth mode for MCP servers#

MCP servers gain a hosted OAuth mode using Anthropic-managed client identity.

Details 0 0 Feedback
hosted

McpOauth gains a third mode, hosted, alongside dcr and byo: an Anthropic-hosted client identity that requires Claude.ai sign-in, where clientId is set by the Claude.ai control plane rather than authored by the admin.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

+New
Nothing to try yet
Useful2 Signal2
Artifacts no docs found

Artifact publish can now attach a live subscription and arming transcript#

Publishing from a type can now attach a live subscription for live-updating artifacts.

Details 0 0 Feedback
liveSubscription

The create-from-type artifact publish path now computes a liveSubscription and an arming transcript via a new helper, and includes liveSubscription in the response data when present, indicating support for live-updating artifacts created from a type.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

124 entries

Improvementsopen

Improved
Under the hood
Useful2 Signal2
Group of 3 SDK

Turn streaming now propagates the triggering user_message_uuid and tracks first-frame upload#

Live thinking-token frames now carry the triggering user message's uuid for attribution.

Details 0 0 Feedback
user_message_uuid

Live thinking_tokens progress frames (stream-json / Agent SDK) are now stamped with user_message_uuid, the client uuid of the user message (submitMessage options.uuid) that triggered the turn, letting a consumer attribute thinking progress to a send before any reply frame arrives. It's absent on synthetic/scheduled turns, turns without a client uuid, and on Remote Control (interactive terminal) sessions. The synthesized result SDK event (built by the new own function) likewise now includes user_message_uuid when available and the outcome isn't a terminal-reason exit.

The turn-streaming generator also now calls an optional trackFirstFrameUpload callback on the first non-thinking stream_event of a turn.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful3 Signal2
MCP

Managed MCP server config gets a formal deprecation/migration system#

Legacy managed MCP server config fields now have a formal deprecation and rewrite system.

Details 0 0 Feedback
authorityHostazureCloud

A new deprecation system now governs legacy forms in managedMcpServers[] entries. Old-style fields like an oauth.scopes list, a toolPolicy of "ask-session", transport:"builtin", and authorityHost are each mapped to a rewrite rule with a defined support window; once support ends, an entry still in the old form is rejected outright and that connector becomes unavailable until rewritten. authorityHost support has already ended: it is now rejected with the message authorityHost was removed: set azureCloud ("us-gov-high" for GCC High) instead.

Improved
Under the hood
Useful3 Signal2
Sessions

Session runner: max-lifetime handling can now hand off to a poll-loop 'release' instead of hard-terminating#

Sessions hitting max lifetime can now be released via a poll-loop instead of always hard-terminated.

Details 0 0 Feedback

When a session hits its max lifetime, the session runner now distinguishes three outcomes: releasing immediately if not mid-turn, waiting for the in-flight turn to "park or finish" and then releasing if a hook decided the release, or falling back to the old hard-terminate path. Hard termination now only happens if the in-flight turn's release isn't accepted within the grace window.

Improved
Under the hood
Useful3 Signal2
Slack/Teams Integration

New authorship tiers for messages relayed into a session from Slack/Teams#

Messages relayed from Slack/Teams now carry authorship tiers affecting how much trust they get.

Details 0 0 Feedback

Messages relayed into a session from Slack or Teams now carry one of three authorship tiers. session-user marks turns typed directly, with full standing. channel-participant marks turns relayed from a bound Slack, Teams, or shared-project channel, carrying the same standing as a same-session user message for that one action. unattributed marks background messages with no consent, and is treated accordingly. The prompt-construction functions building this section, Zts and Jts, are called from the live prompt-assembly path.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal2
Plugins

Web-fetch agent retype via spawn hook is blocked without classifier review#

Spawn hooks can no longer redirect a web-fetch to an unconfined agent without classifier review.

Details 0 0 Feedback

A plugin's agent.spawn hook can no longer redirect a web-fetch tool dispatch to a different, unconfined agent unless it goes through classifier review; otherwise the spawn is blocked with an error that it cannot run unconfined without that review.

Improved
You'll notice
Useful2 Signal2
Artifacts no docs found

Artifact list/read results can report 'cowritten' status#

Artifact reads can now report when content was collaboratively written.

Details 0 0 Feedback
cowritten

asset_list and asset_read responses can now include a cowritten: true flag, surfacing when an artifact's slug is detected as collaboratively written, or when the underlying list call itself reports the artifact as cowritten.

Improved
Under the hood
Useful2 Signal2
Plugins

orgPluginSettings served in a new array form, but old desktops ignore it#

A new plugin settings format only works on newer Desktop builds; older ones ignore it.

Details 0 0 Feedback
orgPluginSettings

The gateway-serving validator now warns whenever a served config contains orgPluginSettings, since the array form is only understood by Claude Desktop 1.15200.0 and later. Clients on older Desktop builds silently ignore the setting and instead enforce no plugin tool policy at all, so the effect of this server-side change depends on the connecting client's version.

Improved
You'll notice
Useful2 Signal2
Elsewhere

Org compliance policy can silently drop custom anthropic-beta headers#

HIPAA compliance mode now silently drops custom anthropic-beta headers and disables 1M-context.

Details 0 0 Feedback
ANTHROPIC_CUSTOM_HEADERS

When HIPAA compliance mode is active, any anthropic-beta header set via ANTHROPIC_CUSTOM_HEADERS is now dropped, with a debug log noting that experimental betas are disabled by org policy. The same compliance gate now also forces the 1M-context beta detection to always return false, and the SDK's beta-header resolution logic gained a similar case that drops all experimental beta headers and logs when the org-compliance gate is active, distinct from the existing per-header filtering.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Under the hood
Useful2 Signal2
Sessions

"control-request" thin-client dispatch mode added to /memory and /skills#

/memory and /skills gain a control-request dispatch mode for thin remote clients.

Details 0 0 Feedback
/memory/skillsthinClientDispatch

/memory and /skills now declare thinClientDispatch: "control-request", a dispatch mode alongside the existing "post-text" and "twin" modes that lets a remote/thin client run these commands via a control-request instead of needing full workspace access.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Nothing to try yet
Useful2 Signal2
Artifacts

Whiteboard skill now has a 'live' mode variant#

The whiteboard skill now branches into a separate flow for live-mode artifacts.

Details 0 0 Feedback

The whiteboard-pairing skill now branches on whether the artifact is in "live" mode, loading a different set of skill files and prompt, including a "data" capability, instead of always following the previous single flow.

Improved
You'll notice
Useful2 Signal2
Artifacts no docs found

Artifact auto-reply can now be held pending human approval, with account-change detection#

Held auto-replies now stand down if the active account changed while waiting.

Details 0 0 Feedback
held_reply_account_changed

The artifact comment auto-reply/auto-react pipeline gains a "held reply" flow: replies waiting on a person's answer are queued in a heldReplyChain and re-checked before posting. If the active account changed while a reply was held, the reply is stood down instead of posted, emitting a new held_reply_account_changed telemetry reason.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal2
Usage & Limits

Usage/rate-limit schema expanded with new plan buckets#

Usage/rate-limit parsing now recognizes several new plan buckets and extra-usage details.

Details 0 0 Feedback
seven_day_oauth_appsseven_day_opusseven_day_sonnet

The usage/rate-limit parser recognizes new plan buckets beyond five_hour/seven_day: seven_day_oauth_apps, seven_day_opus, seven_day_sonnet, and cinder_cove. It also parses a structured extra_usage object (is_enabled, monthly_limit, used_credits, currency, disabled_reason) and per-limit scope/model/surface display names.

Improved
Under the hood
Useful2 Signal2
Permissions

New ask-rule fallback logic in tool permission checks#

Permission checks gain a new fallback path that can surface an ask decision where none existed before.

Details 0 0 Feedback

Tool permission checks gain a new fallback path for ask-rule decisions. One helper produces an implicit "ask" decision from ruleTargetInput when no explicit rule is supplied, and another composes deny/ask precedence with a caller-supplied override. checkPermissions now consults this fallback via Ntn(R, D, n.ruleTargetInput) after existing deny/ask rule lookups return nothing, so tools that previously had no matching ask rule can now still surface an ask decision through this path.

Improved
You'll notice
Useful3 Signal1
Model Catalog

Model catalog now does a stale-while-revalidate background refresh#

Model catalog now refreshes stale entries in the background instead of blocking on a re-fetch.

Details 0 0 Feedback

Both the published-catalog and served-catalog model resolution paths now support stale-while-revalidate: when a cached catalog entry exists but is stale, Claude Code kicks off a background re-fetch and waits up to the network timeout for it, falling back to the stale entry if the refresh doesn't complete in time. This can return a stale cached catalog immediately while the refresh runs concurrently, and logs whether the stale value was kept or refreshed; the behavior is unconditional, with no flag gating it.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful3 Signal1
Artifacts

New shorter artifact URL format with base58-encoded IDs#

Artifacts now get shorter URLs using a 22-character encoded id.

Details 0 0 Feedback

Artifacts get a new, shorter URL format, /artifact/<id>, using a 22-character base58-encoded ID, alongside the existing /code/artifact/<uuid> format. New helpers decode the base58 ID back to a UUID and build or parse URLs in either format.

Improved
You'll notice
Useful2 Signal1
Group of 2 Transcript

Transcript now shows a spacer marking where context was cleared#

The transcript now shows a visual spacer where context was cleared or compacted.

Details 0 0 Feedback
/clear

The interactive session UI now instantiates a dedicated store (class qie) that records where a view-clear happened, tracking clearedAfter/conversationKey against the transcript and firing telemetry when it's invoked. It's threaded into the main session component as a new clearedView prop and disposed alongside the other session-lifecycle objects.

The message-list renderer threads this clearedAfter value through props and computes a render index (j5e = JJo.count(xv, NE, FJo) - 1) at which it inserts a spacer element keyed cleared-${id} with a blank height equal to the viewport rows, similar to the existing 'unseen messages' divider. This gives a visual break in the transcript at the point context was cleared (e.g. via /clear or compaction), rather than showing cleared and post-clear messages contiguously.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Group of 3 Artifacts no docs found

Artifact tool results flag cross-artifact copied content as untrusted#

Artifact tool results now flag co-writer or type-published content as untrusted data.

Details 0 0 Feedback
cowrittenfrom_type

The asset-list schema (ge) gains a cowritten boolean field, and a new schema (Te) validates { assets: [...].extend({ from_id: ... }) } capped at a maximum count, laying groundwork for attributing assets copied from another artifact. The artifact file_list and file_read tool responses can now include a from_type flag when the served content type was determined by the artifact's declared type rather than sniffed.

Tool-result messages for asset_list, asset_read, and file_read now surface the cowritten field (and, for file listings, from_type), and the returned text explicitly warns the model to treat such assets or files as untrusted data when a co-writer or an Artifact type's publisher, rather than the user, produced them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Chrome & Browser no docs found

Claude in Chrome MCP tool calls now re-check org policy at call time#

Chrome extension tool calls now re-check org policy at call time, not just at install.

Details 0 0 Feedback
allow_claude_browser_extension

Claude in Chrome MCP tool calls now check the allow_claude_browser_extension managed org policy at the moment a tool call is made, not just at install or upsell time. If the policy denies the extension, the call now throws "Claude in Chrome call refused by org policy" instead of proceeding.

The enforcement extends across the whole Chrome bridge: the /chrome settings command, the auto-enable path, and the startup dialog that offers to connect Claude in Chrome all now gate on this policy. The MCP server itself refuses to start when CLAUDE_CODE_CHROME_MCP_ORG_DENIED is set in its environment, exiting with cause parent_org_policy, and MCP connections that are blocked fail with errorCode POLICY_BLOCKED. The policy check defaults to denied until an org verdict is confirmed, and allow_claude_browser_extension has also been added to the HIPAA compliance-taint list, so HIPAA-restricted orgs block it by default. Where the policy can't be verified (third-party/custom base URL providers, missing claude.ai sign-in, or network errors), Claude Code now logs an explicit warning and relies on the extension itself to enforce the org setting.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Background Tasks no docs found

Bash task completion notifications now carry a 'stopCause'#

Background bash task notifications now record why the task stopped.

Details 0 0 Feedback
stopCause

Notifications for completed or killed background bash tasks now carry a stopCause, threaded through into both the task snapshot and the delivered summary, recording why a shell task stopped.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Subagents

New notification when a resumed agent's task delivery is redirected#

An agent resumed by another agent now learns its task result won't be delivered to it.

Details 0 0 Feedback

When a task-owning agent is resumed by a different agent, the original agent now receives a notification that its completion "will not be delivered here" since the task has been reassigned to report to the new owner.

Improved
You'll notice
Useful2 Signal1
Artifacts

Artifact reads try a stored-source path before falling back to the gateway relay#

Local artifact file reads are now faster via a direct path before falling back to gateway relay.

Details 0 0 Feedback

Reading artifact files now first tries a direct _src path read, bypassing the session gateway, and only falls back to the previous gateway-relay behavior if that read isn't ok/200, logging the fallback. This is a performance path for locally-stored artifact sources.

Improved
You'll notice
Useful2 Signal1
Artifacts

Declined artifact-comment auto-reply now records user feedback and stops future auto-drafts#

Declining an auto-drafted comment reply now stops further auto-drafts on that artifact for the session.

Details 0 0 Feedback

When you decline a drafted reply to an artifact comment thread (in ask mode) and give a reason, that feedback is now surfaced back into context, and Claude Code stops auto-drafting replies to comments on that artifact for the rest of the session. You're pointed at a manual way to reply instead.

Improved
You'll notice
Useful2 Signal1
Artifacts

Artifact comments tool: reply/resolve can auto-approve via rule engine#

Replying to or resolving artifact comments can now auto-approve instead of always asking.

Details 0 0 Feedback

The comments tool's reply and resolve actions now check an auto-classifier rule set before falling back to asking the user, and can suggest an always-allow rule via suggestions. Previously these actions always asked and suppressed the always-allow option.

Improved
Under the hood
Useful2 Signal1
Structured Output no docs found

Structured-output tool now lints schemas for unsatisfiability#

StructuredOutput schemas are now linted for internally-contradictory constraints.

Details 0 0 Feedback
tengu_structured_output_schema_lint

StructuredOutput tool schemas are now analyzed for internally-contradictory constraints, such as crossed min/max bounds, required properties missing from properties with additionalProperties: false, and enum/const type mismatches, in addition to the existing strict-schema conversion. Findings are surfaced via a new unsatisfiable field and reported through the tengu_structured_output_schema_lint telemetry event.

Improved
You'll notice
Useful2 Signal1
Elsewhere

toolSearchEnabled now also covers Chat sessions and has version-tiered request shaping#

Tool search setting now also applies to Chat sessions, with version-based request shaping.

Details 0 0 Feedback
toolSearchEnabled

The toolSearchEnabled setting's description now states it applies to Cowork, Code, and Chat sessions, up from a narrower scope. Behavior also now differs by app version: apps bundling Claude Code 2.1.247 or later add only the tool-search beta shape, while older builds instead lift full experimental-beta suppression.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts

Artifact reads now check per-URL deny rules#

Artifact reads now respect your deny rules matched on the artifact URL.

Details 0 0 Feedback

Artifact read and asset requests, specifically list_assets and read_asset (but not delete_asset), are now checked against the user's permission deny rules matched on the artifact URL before proceeding. A request blocked this way is refused with a message naming the specific tool and deny rule, for example "Reading this artifact is blocked by your ${toolName} deny rule."

Improved
You'll notice
Useful2 Signal1
Settings

Settings screen warns when editing a remote/cloud session's config#

Settings now warns you when editing config for a remote session that won't apply live.

Details 0 0 Feedback

The settings dialog now shows a note when editing a remote/cloud session's config, explaining that changes made from this machine apply only to future cloud sessions and to this machine's local settings, not to the currently running remote session. The dialog's height calculation was adjusted to make room for this note.

Improved
You'll notice
Useful2 Signal1
Subagents

Remote agent isolation falls back to worktree when unavailable#

Remote agent isolation now falls back to worktree or local when remote execution isn't available.

Details 0 0 Feedback

When isolation:'remote' is requested for a spawned agent but remote execution isn't available, for example due to no claude.ai login, the feature gate being off, restricted mode, or no git root, Claude Code now logs the reason and falls back to worktree isolation, or runs the agent locally, instead of failing.

Improved
Under the hood
Useful2 Signal1
Admin Settings

Hosted/hybrid managed-config validation hardened against credential leakage and unbounded arrays#

Managed config validation now rejects entries that look like they leak credentials.

Details 0 0 Feedback

Managed-config validation for the hosted control plane (hybrid channel) now rejects entries that look like they contain a credential header, that carry disallowed query strings or fragments on base URLs, or that exceed array-length bounds. Rejected entries are not stored, and the error points admins to a helper script instead.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts

Artifact publish now reports server-side file copies#

Artifact publish now lists each file the server copied in, with its source.

Details 0 0 Feedback

When publishing or updating an Artifact, if the server copies files in on your behalf, the tool result now lists each destination path along with its source URL and source path. The message clarifies that these copied files are now independent and addressable by their new path.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts no docs found

Artifact publish can notify a comment thread it was seeded from#

Publish results can note when an artifact was seeded from a comment thread, prompting a reply.

Feature flag
tengu_madrone_spindle_corbel Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
seededThread

Artifact publish results can now include a seededThread field indicating the artifact was seeded from a comment thread, prompting the model to reply on that thread since republishing does not itself notify the commenter.

Improved
Under the hood
Useful2 Signal1
Plugins no docs found

Plugin marketplace errors now distinguish unreadable catalogs and hidden registrations#

Plugin errors now distinguish unreadable marketplace catalogs from hidden registrations.

Details 0 0 Feedback
registrationHiddencatalogReadFailed

Plugin loading now tracks unreadableCatalogs, marketplace catalogs that failed to read, and surfaces richer error info per plugin: whether its marketplace registration was hidden by policy (registrationHidden), whether its source is unverifiable, and whether a catalog read specifically failed (catalogReadFailed) as opposed to merely being missing from cache.

Improved
You'll notice
Useful2 Signal1
Artifacts no docs found

New guard against copying files from an unconsented Artifact source#

Copying files from another artifact is now blocked outright when no one is present to consent.

Details 0 0 Feedback
safetyCheck

Publishing that copies another Artifact's files into the current publish is now denied outright when there is no live human present to consent, with a new safetyCheck reason explaining that copying needs a consent surface and no one can answer the prompt in this session.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Admin Settings no docs found

New URL validation rejects credentials/backslashes in managed-config URLs#

Managed config URLs with embedded credentials or backslashes are now rejected.

Details 0 0 Feedback
urlWithSchemeCoercion

A new urlWithSchemeCoercion refinement rejects URLs whose authority contains userinfo (user:pass@) or a backslash, replacing the old bare .url() check. Managed config settings that take a URL now fail validation with the message URL must not contain credentials or a backslash in the authority instead of silently accepting a credentialed or spoofable URL.

Improved
You'll notice
Useful2 Signal1
Models

Model switch now probes availability before showing the picker#

/model now shows a checking-availability step before displaying model choices.

Details 0 0 Feedback
/model

The /model picker now shows a Checking model availability… interstitial before displaying model choices, running an availability check first instead of rendering the menu immediately.

Improved
Under the hood
Useful2 Signal1
Plugins no docs found

Plugin hook loading now detects and reports when a managed plugin's hooks silently disappear#

Claude Code now detects and warns when a managed plugin silently loses its hooks.

Details 0 0 Feedback
managed_plugin_unloaded

Plugin hook loading now tracks which plugin sources actually delivered hooks across registration passes, and distinguishes a managed plugin that "loaded without its hooks" from one that "did not load" at all. If a previously-hook-bearing managed plugin loses its hooks or fails, this is now logged as a warning and reported via a new managed_plugin_unloaded telemetry event.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts no docs found

Artifact auto-reply gains an 'ask mode' path instead of only allow/deny#

Artifact auto-reply now has an ask-mode path instead of only allowing or denying.

Details 0 0 Feedback
needs_user

The artifact-comments autoreact pipeline now has a third outcome besides allow and deny. When a permission decision is neither a clean allow nor a hard denial, the thread is marked with status needs_user and reason approval_required instead of being silently declined, and a held-reply notice with its own summary is surfaced to the user.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Git Integration

GitLab remote URL / subgroup support in repo detection#

Repo detection now recognizes GitLab remotes, including nested subgroup paths.

Details 0 0 Feedback

Repository host detection now specifically recognizes GitLab remotes, including nested subgroup paths, via a new URL parser that validates the host is GitLab and splits owner path segments. This feeds into the git repo/host caching used by the review and ultrareview flow.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Under the hood
Useful2 Signal1
Sessions no docs found

Background remote session bridge can now record created PRs#

Background remote sessions can now record PRs they created back to the backend.

Details 0 0 Feedback
recordCreatedPR

The remote bridge session object gained a recordCreatedPR method that posts owner, repo, pr_number, and head_ref to a new session endpoint, allowing the backend to track PRs created during a bridged or background session.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Under the hood
Useful2 Signal1
MCP no docs found

MCP server manifest resolution: local servers can now satisfy first-party host references#

Local MCP servers can now satisfy manifest references to first-party hosts by name match.

Details 0 0 Feedback
local_server_as_first_party

When resolving a capability manifest's MCP server entries against a first-party host id, the resolver now also checks whether a locally-configured server's name (or its normalized form) matches that host. If it does, the manifest entry is treated as referring to that local server (local_server_as_first_party) instead of being flagged as unresolved or opaque.

Improved
You'll notice
Useful2 Signal1
CLI

--json-schema now warns on unusable schemas instead of failing silently#

An unusable --json-schema now warns you with the specific problem instead of failing silently.

Details 0 0 Feedback

In --print/non-interactive mode, passing a --json-schema that can't actually be satisfied (for example, one missing the required object/properties structure) now produces a warning naming the specific problem before the CLI proceeds, instead of failing silently.

Improved
You'll notice
Useful2 Signal1
Permissions

New 'standing permission unavailable' explanation added to the approval card#

The approval card now explains when 'Always allow' isn't available for a host.

Details 0 0 Feedback

The permission-approval UI has a new localized message explaining that "Always allow" isn't yet available for a given host. It renders on both the command-approval and file-approval cards so users understand why the standing-permission option is missing.

Improved
Under the hood
Useful2 Signal1
SDK

Headless-session turn events now settle with a timeout before ending a turn#

Headless SDK turns now wait briefly for side-effect events to settle before ending.

Details 0 0 Feedback

Headless SDK sessions now wait for pending turn-side-effect events to settle, via a new severable event collector, before completing a turn. A configurable settle timeout bounds this wait; if the events don't settle in time, the turn ends anyway and a warning notes that their late notes were dropped.

Improved
You'll notice
Useful2 Signal1
Artifacts no docs found

Artifact 'handlers' terminology renamed to 'endpoints'#

Artifact 'handlers' terminology is renamed to 'endpoints' throughout.

Details 0 0 Feedback
get_endpointscall_endpoint

Artifact server-side handler actions are renamed from get_handlers/call_handler to get_endpoints/call_endpoint. The default description text also changes from "server-side handlers" to "server-side endpoints" to match.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts

Artifact tool now enforces deny permission rules on all non-read actions#

The artifact tool now checks deny rules before running any non-read action.

Details 0 0 Feedback

The artifact tool's checkPermissions now checks deny rules before running any action other than read, blocking the call with a message naming the matching deny rule if one applies.

Improved
You'll notice
Useful2 Signal1
File History no docs found

FileHistory rewind now tracks failed restores separately from skipped links#

File rewind now separately tracks files that failed to restore versus symlinks it skipped.

Details 0 0 Feedback
filesFailed

FileHistory's rewind-restore now returns a filesFailed array instead of just a skip count, letting callers tell files that failed to restore or delete apart from files skipped because they're symlinks. Failures caught in the restore's catch block are now recorded in this list too.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
AskUserQuestion

Follow-up questions supported in the Q&A summary UI#

The Q&A summary UI now shows when Claude was asked follow-up questions.

Details 0 0 Feedback

The Q&A summary UI that shows answered AskUserQuestion turns can now also render a follow-up state, displaying "User asked Claude for more questions" (with or without answers so far) instead of only the "User answered Claude's questions" message.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Auth

Vertex/Bedrock/Foundry inference settings hardened#

Several Vertex/Bedrock/Foundry settings are now more locked down with consent and redaction changes.

Details 0 0 Feedback

Several Vertex, Bedrock, and Foundry inference settings are now more locked down: Vertex's region/baseUrl and Bedrock's ssoRegion gained readers: ["desktop", "m365"] restrictions and/or requiresUserConsent on remote policy. The Vertex OAuth clientSecret field's redaction changed from redact: "drop" to redact: "presence", with a new hint that Google treats installed-app client secrets as non-confidential, so it may be set from hosted config.

Improved
You'll notice
Useful2 Signal1
Elsewhere

Claude.ai data-import toggle no longer force-hidden in enterprise config UI#

The Claude.ai data-import toggle is no longer hidden in enterprise settings UI.

Details 0 0 Feedback

The organization/enterprise config field for "Claude.ai data import" is no longer force-hidden in the settings UI; it previously carried a predicates: { show: () => !1 } rule that hid it unconditionally, and that predicate has been removed. Its description now spells out the behavior in detail: it lets users import Claude.ai chats and projects, plus earlier Claude sessions on this computer, when enabled is true, and notes that automatic3pImport is a separate switch. Its egress requirements now also branch on an "arm" state (configured vs. default hosts).

Improved
Under the hood
Useful2 Signal1
Elsewhere

Workflow tool: stricter schema validation for structured agent() output#

agent() structured output schemas now must be valid objects, or they fail immediately.

Details 0 0 Feedback

Schemas passed to agent() for structured output in the workflow scripting API must now have {type: 'object', properties: {...}} at the root, and required must be a subset of properties. Unsatisfiable schemas now throw immediately at the agent() call instead of failing later.

Improved
You'll notice
Useful2 Signal1
Elsewhere

MCP registry lookup dropped from 'nonessential services' block list#

The MCP registry lookup is no longer blocked by the nonessential-services privacy setting.

Details 0 0 Feedback
disableNonessentialServices

The "block nonessential services" privacy setting no longer blocks the connector directory (Anthropic MCP registry) lookup. It now covers three outbound fetches instead of four: connector favicons, the artifact-preview iframe, and the MCP Apps widget iframe.

Improved
You'll notice
Useful2 Signal1
Elsewhere

kill-session-after-min clarified: idle/prompt-parked sessions are released, not killed, at the cap#

--kill-session-after-min now clarifies idle sessions are released and resumable, not killed.

Details 0 0 Feedback

The help text for --kill-session-after-min now clarifies what actually happens at the wall-clock deadline: a session that is idle, parked at a permission prompt, or still starting up is released (paused server-side and resumable) rather than killed. Only a session with a turn still running, or one where the server keeps declining the release, gets SIGTERMed at the hard cap.

Improved
Under the hood
Useful2 Signal1
Thinking Mode

Thinking-block stripping can now preserve thinking up to a given occurrence#

Thinking-block stripping can now preserve earlier thinking blocks up to a given occurrence.

Details 0 0 Feedback

The function that strips thinking and redacted_thinking blocks from assistant messages now accepts an index n, so only thinking blocks after the nth occurrence are removed. Earlier thinking blocks, and any empty text following them, are now kept instead of always stripping everything.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Sandbox

macOS Keychain files added to sandbox-protected paths#

macOS Keychain files are now always protected by the sandbox.

Details 0 0 Feedback

On macOS, the sandbox's list of always-protected paths now also includes ~/Library/Keychains, alongside the existing SSH, GPG, and AWS backup directories.

Improved
You'll notice
Useful2 Signal1
Sandbox

Egress allowlist widened to claude.ai and claude.com domains#

Egress allowlist now accepts claude.ai and claude.com domains, not just anthropic.com.

Details 0 0 Feedback

The egress allowlist now accepts hosts under the claude.ai and claude.com domains in addition to anthropic.com, via a new domain-matching helper. New named host constants were also added for claude.ai and Google Cloud Storage signed URLs.

Improved
You'll notice
Useful2 Signal1
Plugins

Marketplace-not-found error now distinguishes registry-read failures and hidden registrations#

Marketplace-not-found errors now distinguish unreadable registries from hidden registrations.

Details 0 0 Feedback
/reload-plugins

The marketplace-not-found error now distinguishes three cases instead of always saying "not found": if the marketplace registry couldn't be read, it points to known_marketplaces.json and suggests running /reload-plugins; if the marketplace is registered but hidden (refused, visible in the debug log), it suggests removing and re-adding the marketplace; otherwise it falls back to the old "available marketplaces" message.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Compaction

Auto-compact setting now can fully satisfy context-window sizing for large models#

Auto-compact can now use a large model's full default context window without extra enforcement.

Details 0 0 Feedback

When a model's context window meets a new size threshold and doesn't replace the default, and auto-compact is enabled, Claude Code now uses the model-default window at full size instead of subjecting it to unknown-model window enforcement.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Git Integration no docs found

New 'unpushed_shared' git repo warning state#

A new warning state flags repos with unpushed commits shared with another finished session.

Details 0 0 Feedback
unpushed_shared

A new unpushed_shared repo-state reason is now reported for repos that have unpushed commits and are also recorded by another finished session, alongside the existing unpushed reason, for use in session-selection/reuse warnings.

Improved
You'll notice
Useful2 Signal1
Elsewhere no docs found

'/setup-cowork' command renamed to '/setup-claude'#

/setup-cowork is renamed to /setup-claude, with the old name still working.

Details 0 0 Feedback
/setup-claude/setup-cowork

The /setup-cowork guided setup command has been renamed to /setup-claude, with setup-cowork kept as an alias for backward compatibility. The onboarding heading also changed from "Setup Cowork" to "Guided setup".

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Sessions

New unpushed-commit summary in worktree-kept messages#

claude rm now prints a readable summary of unpushed commits kept in a worktree.

Details 0 0 Feedback
claude rm

When claude rm keeps a worktree because it has unpushed commits, it now prints a human-readable summary such as "N unpushed commit(s) on <branch>" including each commit's short SHA and subject, generated from a new git log helper.

Improved
You'll notice
Useful2 Signal1
Compaction

Autocompact eligibility extended to side_question and extract_memories query sources#

Autocompact now also applies to side-question and memory-extraction query types under large windows.

Details 0 0 Feedback

Autocompact eligibility now extends to the side_question and extract_memories query sources, which were previously excluded. This only applies when the effective context-window setting didn't come from env or settings, the window is at least 1,000,000 tokens, and an additional condition holds.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Artifacts

Artifact publish: files copied server-side from other artifacts are now itemized in the ask-permission message#

Publish permission prompts now itemize server-copied files by name and ownership.

Details 0 0 Feedback

When publishing an artifact that includes files copied server-side from other existing artifacts, the permission prompt now itemizes those files by name and ownership status: "someone else's", "ownership unconfirmed", or "yours; a co-writer has also published to it".

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Under the hood
Useful2 Signal1
Elsewhere

New diagnostics for unexpected prompt-cache breaks#

A new diagnostic explains why the prompt-cache hit rate suddenly dropped.

Details 0 0 Feedback

A new diagnostic analyzes why a prompt-cache hit rate suddenly dropped, checking causes like a changed system prompt, changed tools, TTL expiry, or a changed model. It logs a categorized 'causes' list at warn level with a [PROMPT CACHE BREAK] ... line, including source, call count, and cache read/creation details.

Improved
Under the hood
Useful2 Signal1
Bedrock

Bedrock upstream gains native CountTokens support#

Bedrock now uses its native token-counting API instead of a workaround request.

Details 0 0 Feedback

The Bedrock SDK client wrapper now exposes a countTokens method that calls Bedrock's native CountTokens API through a lazily-created client, with a fallback warning path that uses a max_tokens: 1 request for the aborted-request token count if the call fails.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
Under the hood
Useful2 Signal1
Admin Settings no docs found

Permission tool-rules now redactable in config exports#

Permission tool rules can now be redacted properly when exporting config.

Details 0 0 Feedback
toolRules

The settings redaction system has a new "toolRules" redact policy for permission rule keys/values. It maps values through parseBuiltinRule, hashing rule values except for the literal "allow"/"ask", while preserving recognizable tool names, and is used when exporting or redacting managed config that includes permission tool rules.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Auth

Custom inference headers now blocked from carrying credentials, with legacy key deprecated#

Custom inference headers now explicitly warn against putting credentials in them.

Details 0 0 Feedback
inferenceCustomHeadersinferenceGatewayHeaders

The inferenceCustomHeaders field's guidance now explicitly warns not to put API keys, bearer tokens, or other credentials in it, a change from the previous guidance allowing generic per-request headers including auth. The legacy flat key inferenceGatewayHeaders is now marked deprecated, with an explicit message describing its fallback effect.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Sandbox

Egress allowlist entries now carry human-readable purposes#

Egress allowlist entries now explain in plain language why each host is contacted.

Details 0 0 Feedback

Every entry in EGRESS_SERVICES, the desktop app's network egress declaration used for firewall/allowlist UI, now includes a human-readable purpose message explaining why that host is contacted, plus a firewallAlsoPurpose field for secondary hosts. These are surfaced to admins and users deciding what network access to allow.

Improved
You'll notice
Useful2 Signal1
Cloud Sessions no docs found

New approval/call statuses for stalled uploads#

New status messages explain when a stalled connection left an upload or approval unconfirmed.

Details 0 0 Feedback
write_unresolvedapproval_write_unresolved

Two new call outcome states, write_unresolved and approval_write_unresolved, now surface when a stalled connection prevents a tool call from being confirmed as sent. The user-facing message explains that the session's connection to the service was backed up, with the upload either not completing or ending without an answer. A parallel message covers the matching case for approvals: the tool itself may not have received the approval because the session's upload of that approval could not be confirmed in time.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful2 Signal1
Diff View

/diff fullscreen toggle live by default via a kill-switch flag#

The /diff fullscreen toggle is now on by default for everyone, with a kill-switch to disable it.

Feature flag
tengu_jazzy_ripple Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
/difftengu_jazzy_ripple

The /diff command's fullscreen behavior — "Toggle the diff panel showing uncommitted changes" with immediate fullscreen mode — is now active by default for everyone. It is controlled by a kill-switch flag, tengu_jazzy_ripple, that must be explicitly turned on to suppress the new behavior.

Improved
You'll notice
Useful2 Signal1
Compaction

Autocompaction now skips huge-context side-question/extract-memories subagent calls#

Autocompaction now skips huge-context side-question and memory-extraction subagent calls entirely.

Details 0 0 Feedback

A new guard skips autocompaction entirely for query sources of type side_question or extract_memories when the effective context window is at least 1,000,000 tokens and that window wasn't set via env or settings config. This is a live behavioral change, not gated behind an experiment flag, and is reachable whenever CLAUDE_CODE_REMOTE isn't restricting the session.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Group of 2 Sessions

Init frame now reports skills and plugins#

Remote session init now also captures the skills and plugins list, not just commands and model.

Details 0 0 Feedback

The init frame handshake now carries skills and plugins fields in addition to what it already sent. For a remote/cloud session, the client-side hook that processes the worker's init frame now captures skills and plugins as well as the previously-captured slash_commands and model, presumably to surface available skills and plugins for that session's UI.

In the stream-json/Agent SDK init handshake, the same skills and plugins arrays are now parsed from the init frame alongside the existing tools field, with an error logged if either is malformed, presumably surfacing enabled skills and plugins to SDK consumers.

Improved
You'll notice
Useful1 Signal1
Group of 2 MCP

MCP websearch built-in server steers API keys out of headers#

Web-search MCP server config now steers you away from putting API keys directly in headers.

Details 0 0 Feedback

The built-in websearch MCP server's config schema now more strongly steers users toward a headers-helper script instead of storing provider API keys directly in the headers field, with new copy framing the API key as a credential that should not be stored inline.

The headers subfield's redaction annotation changed its redact mode from drop to presence, so config/telemetry snapshots now record only that headers were set rather than fully dropping the field.

Improved
You'll notice
Useful1 Signal1
Structured Output

Ajv validation error messages now include actual values#

Validation error messages now show the actual value that violated a schema constraint.

Details 0 0 Feedback

StructuredOutput validation error messages for minLength/maxLength, minItems/maxItems, minProperties/maxProperties, enum, and const violations now include the actual observed value or count, for example "(got 5)", instead of a bare Ajv message.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Artifacts no docs found

Publish result can report refused sidecar copies#

Publish results now list any copied sidecar files that were refused for their content type.

Details 0 0 Feedback
refusedClassSidecarTypes

The publish result object can now include a refusedClassSidecarTypes field listing copied files whose content type was refused as a renderable or executable sidecar.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Artifacts

file_read results now flag Artifact-type-authored files as untrusted#

Files from an Artifact type's publisher are now flagged as untrusted when read.

Details 0 0 Feedback

When file_read returns a file that originates from an Artifact type rather than the user or a co-writer, the result now warns that the file was written by the type's publisher and should be treated as untrusted data, with an explicit instruction not to act on embedded instruction-like text.

Improved
You'll notice
Useful1 Signal1
Structured Output

Workflow agent StructuredOutput retry-cap error now includes the last failure reason#

Retry-cap errors now include the last actual failure reason instead of just a count.

Details 0 0 Feedback

When a workflow agent exceeds its StructuredOutput retry cap, the thrown error now appends the text of the last StructuredOutput tool error instead of just reporting the retry count, giving more actionable context for diagnosing the failure.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Telemetry

OTLP endpoint description broadened beyond Cowork#

OTLP endpoint setting description now covers general telemetry, not just Cowork.

Details 0 0 Feedback

The OTLP endpoint setting's description was broadened from Cowork-specific telemetry to general telemetry, and the field now lists readers desktop and m365, indicating it now also applies to Code/desktop sessions rather than only Cowork.

Improved
You'll notice
Useful1 Signal1
Artifacts

"list files/assets" MCP approval scope narrowed#

Listing artifact assets now asks for consent per-listing instead of for the whole conversation.

Details 0 0 Feedback

The consent text for listing an artifact's published files/assets was changed from granting a standing approval covering the rest of the conversation to covering only that single listing.

Improved
You'll notice
Useful1 Signal1
Auth

Vertex Workforce Identity billing project now requires user consent#

Vertex Workforce billing project setting now requires user consent before being pushed remotely.

Details 0 0 Feedback
inferenceVertexWorkforceUserProject

The inferenceVertexWorkforceUserProject config field (the GCP billing project for Vertex Workforce Identity) now sets remotePolicy: { requiresUserConsent: true }, so it can no longer be pushed without the user's consent, matching the stricter handling already applied to other connection fields.

Improved
You'll notice
Useful1 Signal1
Sandbox

Sandbox mask sweep now gated by macOS 'relaxed' sandbox mode too#

Credential-file mask sweep now also runs on macOS in relaxed sandbox mode.

Details 0 0 Feedback

The credential-file mask-sweep eligibility check, previously limited to Linux and WSL, now also runs on macOS when the sandbox mode is set to relaxed, so masked credential files get swept for glob-pattern matches in that case too.

Improved
You'll notice
Useful1 Signal1
Artifacts

Artifact comments: reply required to clear "awaiting reply" flag#

Guidance clarifies that only an actual reply clears an artifact comment's awaiting-reply flag.

Details 0 0 Feedback

Artifact tool guidance now clarifies that a comment marked awaiting_reply is only resolved by an actual reply on its thread; editing or republishing the artifact, or answering within the session, does not notify the commenter.

Improved
You'll notice
Useful1 Signal1
Elsewhere no docs found

AutoUpdateConfig description rebranded from Cowork to Claude Desktop, and reorganized into a new settings group#

The block-auto-updates setting description now refers to Claude Desktop instead of Cowork.

Details 0 0 Feedback
AutoUpdateConfig

The "Block auto-updates" (AutoUpdateConfig) setting's description now refers to "Claude Desktop" instead of "Cowork," reading that it stops fetching updates entirely with no time limit, and you'll need to push new versions yourself. The setting also moved out of the inline af group into the new exported UPDATES_GROUP.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Sandbox

Sandbox settings UI renamed#

Sandbox settings page section titles were shortened: Limits, Plugins, Egress.

Details 0 0 Feedback

Several sandbox settings page section titles are shorter: "Usage limits" is now "Limits," "Plugins & skills" is now "Plugins," and "Egress Requirements" is now "Egress."

Improved
You'll notice
Useful1 Signal1
Sandbox

Sandbox read-deny settings now called out alongside Read rules in withheld-file explanations#

File-withheld explanations now also mention sandbox read-deny settings as a cause.

Details 0 0 Feedback

Messages explaining why files were withheld from git or context now mention a sandbox read-deny setting as a possible cause, in addition to a Read permission rule. This appears both in the credential-scrub explanation and the git-upload refusal message, and similarly in messages about files left out of a cloud/session upload.

Improved
You'll notice
Useful1 Signal1
Settings

Unreadable-settings error now covers sandbox settings too, and points to /status#

Unreadable-settings warnings now cover sandbox settings and point to /status.

Details 0 0 Feedback
/status

The warning shown when a settings file has errors during a teleport/cloud-session bundle now also covers sandbox settings, not just Read rules, and lists which specific settings files could not be read.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Sandbox

Sandbox/Read-rule denial messages now mention sandbox settings#

Read-rule denial messages now also mention sandbox settings as a possible cause.

Details 0 0 Feedback

The explanation shown when a sync is blocked by a Read rule now also covers the case where a sandbox read-deny setting is the cause, and likewise for cases where the rules can't be read.

Improved
You'll notice
Useful1 Signal1
Telemetry

Essential/nonessential telemetry policy settings now apply unverified and fail closed#

Telemetry-disable settings now apply before verification completes and fail closed.

Details 0 0 Feedback
disableEssentialTelemetrydisableNonessentialTelemetry

The disableEssentialTelemetry and disableNonessentialTelemetry managed settings now carry remotePolicy.applyUnverified: true and failClosedValue: true, so they are honored even before signature verification completes and default to the blocking (true) value if verification fails.

Improved
You'll notice
Useful1 Signal1
Admin Settings

Claude.ai sign-in disable setting can now apply unverified, fails closed, excluded from hybrid scope#

The disable-sign-in setting now applies before verification and fails closed.

Details 0 0 Feedback
disableDeploymentModeChooser

The disableDeploymentModeChooser setting ("Disable Claude.ai sign-in") now has remotePolicy.hybrid.scope: 'excluded', applyUnverified: true, and failClosedValue: true, so it applies before verification completes, defaults to blocking if verification fails, and is excluded from hybrid scope.

Improved
You'll notice
Useful1 Signal1
Admin Settings

Managed settings now fail closed for nonessential-services and deep-link blocking#

Two more managed settings now fail closed if their value can't be verified.

Details 0 0 Feedback
disableNonessentialServicesdisableDeepLinkRegistration

The disableNonessentialServices and disableDeepLinkRegistration managed settings now have failClosedValue: true, so if the managed-settings value can't be read or verified, the CLI defaults to the safe, blocking behavior instead of leaving the feature open.

Improved
You'll notice
Useful1 Signal1
Sandbox

Sandbox read-deny setting now surfaced in file-denial reasons#

File read denial reasons now also note sandbox read-deny settings as a cause.

Details 0 0 Feedback

When a file read is denied, the explanation shown now also notes that a sandbox read-deny setting could be the cause, not just a Read permission rule.

Improved
You'll notice
Useful1 Signal1
Plugins

New marketplace-not-found error surfacing rule#

A marketplace-not-found error is now suppressed from the UI in certain hidden-registration cases.

Details 0 0 Feedback

A new marketplace-not-found error type is now suppressed from UI display whenever registrationHidden is unset or set to "network-location".

Improved
You'll notice
Useful1 Signal1
Artifacts no docs found

Local endpoint tool actions renamed from 'handler' to 'endpoint'#

Local dev-server tool actions renamed from handler to endpoint.

Details 0 0 Feedback
get_endpointscall_endpoint

The local dev-server tool's action names have been renamed: get_handlers is now get_endpoints and call_handler is now call_endpoint. The run_script action is unchanged.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Cloud Sessions

New cloud-terminal restriction message for /statusline#

/statusline in a cloud session now tells you to run it locally instead.

Details 0 0 Feedback
/statusline

Running /statusline in a cloud/remote session now shows a message directing you to run it in a local claude session instead, since the status line it sets up shows in cloud terminals too.

Improved
Under the hood
Useful1 Signal1
Elsewhere

Enterprise/Team account check gates a feature#

A feature gate now checks for enterprise/team plans, enabling optimistically while loading.

Details 0 0 Feedback

A feature gate now checks the user's subscription type and enables it only for enterprise or team plans. While account data is still loading and the subscription type is unresolved, the check falls back to enabling the feature optimistically.

Improved
You'll notice
Useful1 Signal1
Plugins

New plugin reload/remote-session restriction messages#

New messages explain plugin reload and MCP server change limits over remote sessions.

Details 0 0 Feedback
/reload-plugins

Two new messages tell users about remote-session limits: /reload-plugins isn't available over a remote connection in this session, and a note that plugin MCP server changes take effect in your next session.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Chrome & Browser no docs found

Chrome install upsell also checks org policy mid-wait and up-front#

Chrome extension install setup now checks org policy at more points, including mid-wait.

Details 0 0 Feedback
chrome_policy_denied

The Chrome extension install-upsell flow now checks org policy at more points: it can now stop with chrome_policy_denied when the dialog first opens, or chrome_policy_denied_mid_wait if the policy check fails while waiting for the extension to connect during setup, reporting "Install setup stopped: organization policy (allow_claude_browser_extension) denied Claude in Chrome" accordingly.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Artifacts no docs found

New 'copy_from' action rendered in artifact tool-call UI#

The tool-call UI now shows a readable line for copy_from asset actions.

Details 0 0 Feedback
copy_from

The artifact tool-call renderer now handles a copy_from action, showing "copy N asset(s) from <source><destination>", with verbose mode adding extra address and warning details.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Structured Output

Structured-output retries now report model-fallback retractions#

Retry failures now specifically report when a model fallback retracted an attempt.

Details 0 0 Feedback

Structured-output retry failures now report more specifically when some attempts were retracted by a model fallback, rather than treating them as ordinary validation failures, with a message like "Failed to provide surviving structured output after ${t} attempts (${r} retracted by a model fallback)".

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Elsewhere

PreModelSwitch/PostModelSwitch hook-load failures now give more actionable errors#

Failed model-switch hook loads now give a specific, actionable error message.

Details 0 0 Feedback
PreModelSwitchPostModelSwitch

When plugin-delivered PreModelSwitch hooks can't be loaded, the block reason is now a specific message explaining why, and notes that switching models again will re-check the hooks. PostModelSwitch hook-load failures similarly now include the underlying reason inline, instead of a generic message saying plugin hooks could not be loaded.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Artifacts

Artifact live-content merge warnings now flag co-written / externally-edited content#

Merge instructions now flag co-written or externally-edited live content as data, not instructions.

Details 0 0 Feedback

When a changed artifact is re-published and the merge instructions tell Claude to merge its edits onto the live content, those instructions now call out cases where the live content includes contributions from others, was edited in-page, or is data-island content. In those cases Claude is warned to treat that content as data to merge, not as instructions.

Improved
You'll notice
Useful1 Signal1
MCP

AWS region regex loosened#

Managed MCP servers are now capped at 100 entries per org.

Details 0 0 Feedback

The ManagedMcpServers schema now enforces a maximum of 100 entries, capping how many managed MCP servers an org can configure where previously there was no explicit limit.

Improved
You'll notice
Useful1 Signal1
Chrome & Browser no docs found

Browser-extension access now also gated in a general permission-scope check#

Browser-extension access is now also checked by the general MCP/tool permission-scope gate.

Details 0 0 Feedback
allow_claude_browser_extension

Browser-extension connections are now denied by the generic MCP/tool scope-permission check (Ah) when they don't come from the SDK, independent of the existing scope allowlist. This closes off a path that previously wasn't checked against the allow_claude_browser_extension gate.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Background Tasks

Background-task status narration prompt now sees the previous line#

Background task status lines now stay stable, only changing when something actually happened.

Details 0 0 Feedback

The prompt that generates the one-line status text shown while a background or agent task runs now receives the previously-shown line and is told to repeat it verbatim if it's still accurate, only changing it when something actually happened or the goal moved. Its system prompt also adds explicit style rules: a 14-word maximum, no file paths or commands unless the user typed them, and describing the goal rather than mechanical steps.

Improved
You'll notice
Useful1 Signal1
Structured Output

Structured-output-retry SDK error now surfaces the actual validation error#

SDK structured-output retry errors now show the actual validation failure instead of a generic message.

Details 0 0 Feedback

When an SDK-driven structured-output query exhausts its retries, the error message now includes the specific validation error from the last attempt, falling back to the previous generic "Failed to provide valid structured output after maximum retries" message only when no specific error is available.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Cloud Sessions no docs found

New directory-sync failure reason: checkout refused as-is#

Directory sync now has a distinct explanation when a checkout is refused as-is.

Details 0 0 Feedback
refused_here

Cloud directory sync can now classify a checkout failure as refused_here, a distinct reason from generic git errors, with its own user-facing and Claude-facing explanation that the checkout was refused as it stands.

Improved
You'll notice
Useful1 Signal1
Cloud Sessions

notSent() now distinguishes a 'rule' rejection from a git-read failure#

Directory sync now explains separately whether changes weren't sent due to a rule or a git read failure.

Details 0 0 Feedback

The directory-sync notSent reporter now takes a second parameter distinguishing a "rule" rejection from a git-read failure. For rule violations it explains that Claude's changes from this turn were not sent because of o, and that they go out with the first turn after that is fixed; a git-read failure produces separate explanatory text.

Improved
You'll notice
Useful1 Signal1
Sessions

Resume/rewind dialog gains a confirmDescription override#

The resume/rewind picker can now show a custom description instead of the default summary.

Details 0 0 Feedback

The session resume/rewind picker now accepts a confirmDescription prop. Choosing "nevermind" shows a fixed note that the conversation will be unchanged, while other selections can show a caller-supplied description in place of the default restore-option summary.

Improved
Under the hood
Useful1 Signal1
Artifacts

Watch-artifact session-start message dedup logic reworked#

The watch-artifact session-start message now dedupes across slug variants, not just one slug.

Details 0 0 Feedback

The synthetic "user started this session watching the artifact ... (via claude --watch-artifact)" meta-message now uses new helper functions to decide whether it should be suppressed, checking slug variants seen in transcript history instead of the prior single-slug check.

Improved
You'll notice
Useful1 Signal1
Telemetry

OTLP trace export no longer labeled beta#

OTLP trace export is no longer labeled as beta.

Details 0 0 Feedback
otlpTracesEnabled

The otlpTracesEnabled setting's title and description no longer mention beta status: "Export traces (beta)" is now "Export traces", and the description now refers to "Claude Code's session tracing" instead of "Claude Code's session-tracing beta".

Improved
You'll notice
Useful1 Signal1
Admin Settings

Cowork/Code surface toggles now fail closed and reject unverified remote policy#

Cowork/Code toggles now default to disabled instead of enabled if config can't be verified.

Details 0 0 Feedback
coworkTabEnabledisClaudeCodeForDesktopEnabled

The coworkTabEnabled and isClaudeCodeForDesktopEnabled settings now set failClosedValue: false and remotePolicy: { applyUnverified: false }. If the managed configuration can't be verified or parsed, these surfaces now default to disabled instead of defaulting on.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Cloud Sessions

"Send this machine's settings to cloud sessions" prompt now also mentions sandbox settings#

The send-settings-to-cloud prompt now also mentions sandbox settings as something that gets skipped.

Details 0 0 Feedback

The "send this machine's settings to cloud sessions" confirmation prompt now also mentions sandbox settings: it explains that forwarding skips credential files and anything your Read rules or sandbox settings deny, rather than mentioning only Read rules.

Improved
Under the hood
Useful1 Signal1
MCP

MCP toolPolicy simplified: ask-session mode dropped from the wildcard rule docs#

MCP toolPolicy docs and wildcard logic were simplified by dropping the ask-session case.

Details 0 0 Feedback
toolPolicy

The long-form docs for managedMcpServers' toolPolicy were rewritten and simplified. The previous documentation of an "ask-session" clamp — session-scoped "Allow for this task" tool approval with special wildcard precedence rules — no longer appears, and the wildcard precedence logic itself was simplified to remove the special ask-session case.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Improved
You'll notice
Useful1 Signal1
Elsewhere

ANTHROPIC_BETAS env var can be blocked by org compliance policy#

Org compliance policy can now block the ANTHROPIC_BETAS environment variable entirely.

Details 0 0 Feedback
ANTHROPIC_BETAS

When the org-compliance check is active, the ANTHROPIC_BETAS environment variable is now ignored entirely instead of being applied, and a debug log records that experimental betas are disabled by org compliance policy.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

40 entries

Bug Fixesopen

Fixed
You'll notice
Useful2 Signal1
Sandbox

Sandbox filesystem glob matching is now case-insensitive on non-Linux platforms#

Sandbox file rules on Windows and macOS now match paths regardless of letter case.

Details 0 0 Feedback

On Windows and macOS, sandbox filesystem allow/deny glob rules now also match using Unicode case-folding (NFD normalize, lowercase, uppercase, NFC normalize) in addition to exact matching, so differently-cased paths referring to the same file are treated consistently.

Fixed
You'll notice
Useful2 Signal1
Artifacts

Artifact auto-open is now suppressed for remote-control sessions#

Artifacts no longer auto-open a browser tab when you're driving Claude Code remotely from mobile or web.

Details 0 0 Feedback

Artifact auto-open is now suppressed when the session's messageClientPlatform is ios, android, web_claude_ai, or desktop_app, via a new mode called auto_open_skipped_remote_control. The skipped artifact's slug is recorded in a new remoteControlSkippedSlugs set, and its deferred-surface entry is kept around instead of cleared, so it can retry surfacing later instead of force-opening a browser tab while Claude Code is being driven from a mobile, web, or desktop remote-control client. This path fires unconditionally, with no experiment flag gating it.

Fixed
You'll notice
Useful2 Signal1
Sessions no docs found

Rewind now evicts cached file/memory reads for the discarded messages#

Rewinding a conversation now clears cached file reads so you don't see stale content after rewind.

Details 0 0 Feedback
rewind_conversation

Rewinding a conversation (rewind_conversation) now evicts cached file and memory reads tied to the discarded messages instead of just dropping them. Claude Code walks the spliced-off messages, determines which files and which nested CLAUDE.md/memory files were read during that span, and clears them from the in-memory read-file cache and from the agent's read-file state via a new evictNestedMemoryPaths callback. Previously a later re-read after a rewind could have served stale cached content for files that changed between the original read and the rewind point.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful2 Signal1
Elsewhere

Chat input flushes pending pastes on mount#

Pastes that arrived before the chat input was ready are no longer dropped.

Details 0 0 Feedback

The chat input component now flushes any pending pastes (via takePendingPastes) through the paste handler once it mounts and is not hidden or disabled, fixing paste events that arrived before the input was ready to accept them.

Fixed
Under the hood
Useful2 Signal1
MCP

MCP server reconnect/config-diff pathway reworked with client cleanup#

Removed or replaced MCP server clients are now properly cleaned up on config changes.

Details 0 0 Feedback

The internal function that applies dynamic/authoritative MCP server config changes (mcp_set_servers, tool_register, etc.) was restructured to compute a diff via a new merge helper, and now explicitly cleans up removed or replaced clients by calling cleanup() on each, which previously did not happen.

Fixed
You'll notice
Useful2 Signal1
Permissions

Ambiguous backslash/parenthesis detection in permission rules#

Permission rules with ambiguous backslashes, common in Windows paths, now error clearly instead of misparsing.

Details 0 0 Feedback

Permission rule validation, such as for Bash(...) allow/deny rules, now catches rules where a backslash before a parenthesis is ambiguous, a pattern common in Windows paths, and returns a dedicated error instead of silently misparsing the rule. The error suggests using forward slashes or doubling backslashes and escaping parentheses.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful2 Signal1
Plugins

Plugin $.tool.register now bounds MCP server connect time#

Plugin tool registration now times out instead of hanging on a slow MCP server connect.

Details 0 0 Feedback

Registering a runtime tool from a plugin via $.tool.register now races addMcpServer against a timeout constant instead of waiting indefinitely, so a slow or hanging MCP server connect gets aborted rather than blocking the registration forever.

Fixed
You'll notice
Useful2 Signal1
Cloud Sessions

Git checkout now validates .git/info/attributes for cloud-session safety#

Cloud checkouts now refuse to proceed if git attributes rules could cause inconsistent results.

Details 0 0 Feedback

Before doing an index-based checkout, the code now reads .git/info/attributes and refuses to proceed if the file is missing, oversized, not a plain file, or sets a filter, working-tree-encoding, or ident rule. Such rules would only be obeyed by this cloud checkout and could otherwise produce inconsistent results; the error message tells you to delete the offending line.

Fixed
You'll notice
Useful2 Signal1
Artifacts

New artifact-hosting validation: refuses <base href> pointing outside the artifact#

Artifact publishing now refuses pages whose base href points outside the artifact.

Details 0 0 Feedback

Artifact publishing now refuses pages whose <base href> points outside the artifact, such as at another site or the site root, since artifact hosting only serves the artifact's own folder. Depending on whether additional files can still be added to the artifact, the model is told to remove the tag and either publish referenced files alongside the page or inline what the page needs.

Fixed
Under the hood
Useful2 Signal1
Chrome & Browser

claude-in-chrome MCP server now adopts into existing connection owner#

The Chrome MCP server now properly attaches to the session's existing MCP connection owner.

Details 0 0 Feedback

The claude-in-chrome MCP server now wires its browser MCP server config into the session's existing MCP connections owner, logging a warning (no MCP connections owner on this session; the browser tools land on the next reconcile) if none exists yet and deferring adoption until the next reconcile. A related helper now detects MCP server configs referencing the --claude-in-chrome-mcp flag (via command or args), likely to identify the Chrome MCP connector during config processing.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful2 Signal1
MCP no docs found

New MCP-call-not-sent error states with clearer messaging#

MCP call failures now clarify when a call never reached the service and is safe to retry.

Details 0 0 Feedback
stalled_unsent

MCP/bridge call failures now distinguish a stalled_unsent state from plain stalled, covering calls whose upload was withdrawn before leaving the session, with dedicated messaging explaining the call never reached the service and is safe to retry. A related unresolved-delivery message now explains that the outcome could not be confirmed and advises checking whether the call took effect before re-running it.

Fixed
Under the hood
Useful2 Signal1
Cloud Sessions

Git dir-sync snapshotting normalizes line endings via merge instead of write-time only#

Git dir-sync now handles line-ending and merge-driver rules more robustly during snapshotting.

Details 0 0 Feedback

Git dir-sync snapshotting has reworked how .git/info/attributes line-ending pinning and merge drivers are handled. Merges now explicitly disable configured merge drivers and set merge.renormalize=false, and reads of info/attributes are now stamp/content-verified rather than judged by a simple pinned/unpinned check.

Fixed
You'll notice
Useful2 Signal1
Models

Model-name validation now rejects hidden/control characters#

Model names with hidden or control characters are now rejected before being probed.

Details 0 0 Feedback

Before probing a model name against the server, the client now rejects names containing whitespace or Unicode control/format characters, guarding against spoofed or lookalike model names. This check is skipped when going through a gateway or a first-party endpoint that isn't clearly Anthropic's.

Fixed
You'll notice
Useful2 Signal1
Sessions

Rewind now tracks files touched via tool calls, not just attachments#

Rewind now also re-syncs files that were touched via Edit/Write tool calls, not just attachments.

Details 0 0 Feedback

collectRewoundFileTrackingPaths, which computes which file paths need re-syncing after a conversation rewind, now also scans assistant message tool_use blocks (Edit, Write, and notebook-edit-style tools) and adds their file or notebook_path targets to the tracked paths. Previously it only tracked file attachments such as images, PDFs, edited text files, and nested or relevant memories.

Fixed
You'll notice
Useful2 Signal1
File History no docs found

File History rewind now tolerates partial restore failures#

File History rewind now throws an error instead of silently succeeding when all restores fail.

Details 0 0 Feedback
filesFailed

Rewinding to a File History snapshot now tracks files that failed to restore (filesFailed) separately from files changed and skipped links. If every differing file fails to restore, the rewind now throws an error instead of silently reporting success, and a new failure telemetry event fires in that case.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Transcript

Redaction of internal task-forwarding markers from transcripts#

Internal task-forwarding markers are now stripped from transcripts before display.

Details 0 0 Feedback

New text-scrubbing helpers now strip internal markers forwarded_user_turns and forwarded_turn (plus a generic transcript marker) out of text before it's shown or sent, using a regex-based redactor together with a new cleanup helper for command display text.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Artifacts

Published-path validation now rejects line/paragraph separator characters#

Artifact file path validation now also rejects hidden line/paragraph separator characters.

Details 0 0 Feedback

The validator for published artifact file paths now also rejects Unicode line-separator (U+2028) and paragraph-separator (U+2029) characters, in addition to the existing checks for control, formatting, and private-use characters.

Fixed
You'll notice
Useful1 Signal1
Sandbox

Directory-add prompts now also flag sandbox settings failures#

Sync failure messages now also mention sandbox settings as a possible cause, not just Read rules.

Details 0 0 Feedback

Session-sync "unreadable" refusal messages, which previously only cited Read-permission rules as the reason files couldn't sync, now also mention sandbox read-deny settings as a possible cause and list which settings files were unreadable.

Fixed
You'll notice
Useful1 Signal1
Plugins

Late-loaded plugins now get session.start events replayed#

Plugins loaded late now correctly receive the session-start event they previously missed.

Details 0 0 Feedback
session.start

Plugins loaded after the initial session.start dispatch now get that event raised retroactively for them, instead of silently missing it.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Artifacts

Malformed/unreadable artifact asset_list and file_list records degrade gracefully#

Malformed artifact list responses now show a placeholder instead of crashing.

Details 0 0 Feedback

Rendering of asset_list, file_list, and file_read tool results now checks the shape of the record before reading its .assets, .files, or .size_bytes fields. A malformed server response now shows text like "listed assets (record unreadable)" instead of throwing.

Fixed
You'll notice
Useful1 Signal1
Plugins

New spawn-hook error: worktree/cwd conflict#

Spawn hooks setting both cwd and worktree isolation now fail with a clear error.

Details 0 0 Feedback

If a plugin's agent.spawn hook sets a cwd on a spawn that is isolated via a worktree, the launch now fails explicitly with an error stating that cwd and isolation: "worktree" are mutually exclusive, instead of silently conflicting.

Fixed
You'll notice
Useful1 Signal1
Plugins

New spawn-hook error: permission-rule conflicts with rewritten spawn#

Spawn hooks that conflict with a permission rule now block the launch with an explicit error.

Details 0 0 Feedback

If a plugin's agent.spawn hook rewrites a spawn into a form that a permission rule would allow, deny, or ask about, Claude Code now detects that conflict explicitly and blocks the launch, telling the caller to dispatch the spawn directly instead.

Fixed
You'll notice
Useful1 Signal1
Subagents

Fixed agent_empty_result counting for workflow agents#

Fixed a wrong empty-result count shown in the subagent usage summary.

Details 0 0 Feedback

The routine that builds the <usage> summary block for subagent/workflow runs (<agents_done>, <agents_error>, <agents_skipped>, <agents_empty_result>) previously checked resultPreview against a stale outer-scope variable instead of the current loop item, which could produce a wrong empty-result count. It now checks R.resultPreview on the actual agent being iterated, fixing the agents_empty_result count reported in the usage summary.

Fixed
You'll notice
Useful1 Signal1
Artifacts no docs found

list_types now degrades gracefully instead of throwing when the type catalog is off#

Listing artifact types when the catalog is off no longer throws, just returns empty.

Details 0 0 Feedback
list_types

Calling the artifact list_types action when frozenArtifactTypes.typeCatalogOn is not true no longer throws a hard "listing Artifact types is not available in this session" error. It now returns an empty list with an unavailable flag and logs a local telemetry event instead of failing the tool call.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Sessions

Rewind no longer crashes if file-tracking eviction throws#

Rewind no longer crashes if clearing cached file state throws an error.

Details 0 0 Feedback

rewindConversationTo now wraps the call that evicts file-tracking state for rewound messages in a try/catch, logging any error through the standard error handler instead of letting it propagate and potentially abort the rewind.

Fixed
You'll notice
Useful1 Signal1
Artifacts no docs found

MCP manifest validation gains a first-party server name collision check#

Artifact publish now catches local MCP server names colliding with first-party server names.

Details 0 0 Feedback
first_party_server_collision

Artifact publish's MCP host-server manifest validator now detects when a locally-configured server name collides with a first-party server name, rejecting the manifest and reporting it as its own telemetry reason, first_party_server_collision.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Git Integration

Git remote bridge skips nested GitLab projects for branch tracking#

Branch tracking now correctly skips nested GitLab projects.

Details 0 0 Feedback

The remote-control branch-watching feature now checks whether a git remote is a nested GitLab project before resolving its owner/name, and skips setting up branch/worktree-state tracking for such repos.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Elsewhere

PATH executable resolution now skips symlinked/broken entries#

PATH lookup for command completion now skips broken or unsafe symlinked executables.

Details 0 0 Feedback

When resolving command names against PATH directories for autocompletion and glob-style lookups, candidate paths are now checked with a new async guard that rejects empty paths, certain path shapes, and paths that resolve to symlinks pointing outside an allowed area, before treating them as candidate executables.

Fixed
You'll notice
Useful1 Signal1
Sessions

GitLab nested-project git sources no longer sent for teleport/bundle#

Nested GitLab projects are no longer sent as a git source for remote session bundles.

Details 0 0 Feedback

When detecting a git remote for background/remote session creation, a nested GitLab project is now treated as null so it is no longer sent as a git source for the remote session bundle.

Fixed
You'll notice
Useful1 Signal1
Artifacts

New artifact-publish refusal: local server name collision with first-party server#

Publishing now refuses when a local MCP server name would conflict with a built-in server name.

Details 0 0 Feedback

Publishing an Artifact page now refuses when a declared MCP server name would bind the Claude app's own built-in server while the session also has a local MCP server of that name. The refusal tells the user to rename or remove the conflicting local server, since the page may have been built against a server no viewer can reach.

Fixed
You'll notice
Useful1 Signal1
Permissions

Permission rule parser rewritten with clearer error for malformed Tool(content) rules#

Malformed permission rules now get a clearer, more specific syntax error message.

Details 0 0 Feedback

Permission rule validation now classifies malformed Tool(content) rules more precisely instead of only checking for balanced parentheses, and reports a rule-syntax-specific error message.

Fixed
You'll notice
Useful1 Signal1
Sessions

Session-name registry update failures are now surfaced#

Failed session-name registry updates are now logged instead of failing silently.

Details 0 0 Feedback

When a background session's display name updates locally but the shared session-registry record fails to update, Claude Code now logs a warning instead of failing silently, since other sessions could otherwise keep showing the stale name.

Fixed
You'll notice
Useful1 Signal1
Elsewhere

Deploy error message for over-budget failures now strips redundant text#

Over-budget deploy error messages are now cleaner, with redundant text stripped.

Details 0 0 Feedback

The 422 live_over_budget deploy error handler now trims the server message and strips a redundant pattern from it before truncating, producing a cleaner error message for the user.

Fixed
You'll notice
Useful1 Signal1
Chrome & Browser

Chrome extension no longer covers connector directory lookup#

The Chrome extension disable warning no longer wrongly claims it also disables connector directory lookup.

Details 0 0 Feedback

The warning shown when disabling Claude-in-Chrome connector features no longer states that it also disables the connector directory lookup; that feature is no longer described as affected by this toggle.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Plugins no docs found

Marketplace-not-found errors can now be suppressed when registry read failed#

Marketplace-not-found errors now surface more often instead of being silently excluded.

Details 0 0 Feedback
registryReadFailed

Plugin validation now excludes marketplace-not-found errors only when registryReadFailed is not true, instead of always excluding them. This means marketplace-not-found is now surfaced as a real error in more cases, mirroring the existing handling for plugin-not-installed errors.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Elsewhere

Vertex model IDs now validated for illegal characters#

Custom Vertex model IDs are now validated for illegal characters up front.

Details 0 0 Feedback

Custom Vertex AI model IDs are now validated up front and rejected with an explicit error message if they contain /, \, ?, #, %, or whitespace, instead of only checking for the claude- prefix.

Fixed
You'll notice
Useful1 Signal1
Worktrees

Worktree resume: distinguishing whether binding could actually be cleared#

Resume now explains clearly when a worktree binding can't be cleared because transcripts are off.

Details 0 0 Feedback
--fork-session

When a resumed session's pinned worktree can't be verified and transcript saving is off, Claude Code now says so explicitly: "The worktree binding could not be cleared because transcript saving is off," and suggests using --fork-session or starting a new conversation instead of silently clearing or keeping the binding.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Fixed
You'll notice
Useful1 Signal1
Artifacts

Artifact publish/read paths now reject names colliding with the service's own reserved views#

Artifact publishing now rejects file names colliding with the service's reserved view names.

Details 0 0 Feedback

Artifact publish (files:) and read (path) validation now share a check that rejects file paths colliding with names the artifact service reserves for its own views. Previously only the literal index.html.json and leading-underscore names were rejected. The error message explains that such a file could never be read back and suggests renaming it.

21 entries

In Developmentopen

In dev
Under the hood
Useful3 Signal3
Subagents no docs found

Agent-intent forwarding to spawned subagents#

Spawned subagents can now receive recent conversation context forwarded from the coordinator.

Details 0 0 Feedback
forwardedIntent

Spawning a subagent can now forward recent human/relay conversation turns to it as a synthetic queued_command attachment called forwardedIntent, giving the subagent background context on what the user or channel said to the coordinator, explicitly framed as non-instructional context. This is gated behind an internal check, and it emits agent_intent_forward telemetry with turn and character counts, or select_failed on error.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful3 Signal3
AskUserQuestion no docs found

extendedQuestionsEnabled added to session config state#

Extended question types are now gated behind a session-level flag rather than always on.

Details 0 0 Feedback
extendedQuestionsEnabled

Session config gains extendedQuestionsEnabled() and replaceExtendedQuestionsEnabled() accessors, gating the extended AskUserQuestion fields (kind, min, max, step, etc.) behind a session-level flag rather than enabling them unconditionally.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Under the hood
Useful2 Signal3
Usage & Limits

Policy limits fetched via bearer token, first-party only#

A new function fetches policy limits via bearer token, but only for first-party accounts behind a gate.

Details 0 0 Feedback

A new function fetches "policy limits" using a bearer token in the request's authorization header. It only runs when the account type is first-party and an additional internal gate passes; otherwise it returns null immediately without making a request.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Dictation no docs found

New Dictation configuration surface#

A voice dictation streaming endpoint is defined but only computed once dictation is enabled.

Details 0 0 Feedback
dictation.enabled

A new DictationConfig object and supporting helpers (dictationBaseUrl, websocketCspSource, dictationCspSource, dictationEndpoints) derive a dictation streaming/ticket endpoint from the configured gateway inference provider. This requires an https or loopback baseUrl, an interactive OIDC-less credential, and no optional client auth, and endpoints are only computed when dictation.enabled is set.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal3
Dictation

New 'dictation' core egress service#

A dictation network service was added to the always-allowed egress group ahead of the feature launching.

Details 0 0 Feedback
dictation

A new dictation entry was added to EGRESS_SERVICES with toggleKey set to null, placing it in the always-allowed core group. Its endpoint is conditionally added from dictationCsp (host/scheme) when that value is present.

In dev
Nothing to try yet
Useful2 Signal3
Artifacts no docs found

Artifact get_endpoints/call_endpoint actions renamed and scoped to remote-cowork entrypoints only#

Renamed endpoint actions remain invisible outside remote-cowork sessions.

Details 0 0 Feedback
get_endpointscall_endpoint

The artifacts tool's get_handlers/call_handler actions from the previous build are renamed to get_endpoints/call_endpoint this release. Their availability, along with read, read_page_data, read_db, list_files, and list_assets, is still gated behind the same helper, which only returns true when the process's entrypoint is a remote-cowork session, so this functionality remains invisible in normal local CLI usage.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal2
Artifacts

Multi-file artifact publish can now also copy published files between artifacts#

Multi-file artifact publish can copy published files between artifacts, tracked while still gated off.

Feature flag
tengu_cobalt_plinth_samphire Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback

A multi-file artifact publish's files map can now reference another artifact's already-published file to be copied server-side into the new version, instead of only uploading local files. Publish-time validation recognizes a copy_from_flag_off failure path, and a distinct n_copied telemetry count is recorded when this copy is attempted while the feature is off.

In dev
Under the hood
Useful2 Signal2
Subagents

Provenance-labeled context banners for forwarded intent#

New banner text will label forwarded context to subagents by where it came from.

Details 0 0 Feedback

Three new banner strings label forwarded background context shown to a subagent depending on its provenance: typed by the user, relayed from a messaging channel, or unattributed. Each banner explicitly states that the content is not an instruction to the agent.

In dev
Nothing to try yet
Useful2 Signal2
AskUserQuestion no docs found

New 'text'/'number' question kinds behind extendedQuestionsEnabled#

Text and number question types are gated behind extended questions mode.

Details 0 0 Feedback
extendedQuestionsEnabled

The clarifying-question tool now supports kind: "text" for free-text input and kind: "number" for a numeric value, in addition to the existing multiple-choice questions, when extendedQuestionsEnabled is active. A choice question with fewer than 2 options is now rejected with a message telling the caller to re-ask it with "kind": "text" if it's actually open-ended.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful2 Signal2
Artifacts

Artifact publishing can copy files from other artifacts, but it's off by default#

Artifact publishing can copy files from other artifacts server-side, but it's off by default.

Feature flag
tengu_cobalt_plinth_samphire Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
copiedcopy_from

Artifact publishing can now copy files from another artifact instead of only using local files, via a copied list in the publish input with from_url/from_path entries, or a files entry shaped {artifact, path, ver?} that copies a published file server-side without downloading and re-uploading it. A separate copy_from action accepts from_url plus up to a capped number of asset_ids to copy assets between artifacts. Validation blocks copying an artifact's own index.html, blocks copying HTML/SVG/XML documents entirely, requires ver to be a valid version id, and caps the number of distinct source-artifact versions per publish.

This whole feature is off by default, gated by a remote flag (tengu_cobalt_plinth_samphire) that defaults to false. While off, any attempt to copy returns the fixed refusal "copying files from another artifact is not enabled for this account — nothing was published; publish with local files instead" and logs a tengu_artifact_publish event with reason copy_from_flag_off.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Under the hood
Useful2 Signal2
MCP

MCP startup policy seeding for remote sessions#

Remote sessions can now seed MCP startup policy state behind a new gate.

Feature flag
tengu_mcp_startup_policy_seed Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: on

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
CLAUDE_CODE_REMOTE

When Claude Code runs under CLAUDE_CODE_REMOTE, MCP server configs can now seed startup policy state, controlled by a new gate.

In dev
Under the hood
Useful1 Signal2
Feature Gates no docs found

New remote-controlled acquire-timeout setting for a lock/queue primitive#

A lock primitive's timeout can now be remotely tuned, though no server value is set yet.

Feature flag
tengu_cobalt_plinth_sill Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_cobalt_plinth_sill

A lock/queue primitive's acquire-timeout handling was replaced by Wbt(), which reads a remote numeric setting tengu_cobalt_plinth_sill and, if it's a finite number of 0 or more, uses Math.min(Math.floor(e), L7) as the timeout. The prior strict input-validator for opts.acquireTimeoutMs is gone. tengu_cobalt_plinth_sill defaults to null, so absent a server-pushed value, the code falls back to the existing constant jvn, leaving the new remote-tunable branch present but unexercised by default.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Under the hood
Useful1 Signal2
API Configuration

API client now sends anthropic-beta custom header value only when a flag is on#

A custom anthropic-beta header can be forwarded, but only once a gate is enabled.

Details 0 0 Feedback
ANTHROPIC_CUSTOM_HEADERS

Outgoing Anthropic API requests now merge in a header set from a new Cv() function, which forwards a custom anthropic-beta header from ANTHROPIC_CUSTOM_HEADERS only with its value stripped, and only when a gate is enabled; otherwise it returns an empty object. This matches the existing behavior of stripping custom Authorization headers.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful1 Signal2
Artifacts no docs found

Copy-from asset language pre-written into upload/read consent prompts#

Consent prompt wording for copying assets between artifacts is written but not yet shown.

Feature flag
tengu_cobalt_plinth_samphire Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
copy_from

Several ask-rule consent messages in the artifacts permission logic are now pre-wired to append wording about approvals also covering "copies of other artifacts' assets" or "copies of them into other artifacts," though this text only renders once the corresponding copy_from gate is turned on.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful1 Signal2
Diff View

New /diff command toggle wording behind tengu_jazzy_ripple#

/diff's description wording can change to reflect a toggle, behind an internal flag.

Feature flag
tengu_jazzy_ripple Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
/difftengu_jazzy_ripple

The /diff command's description text can now read "Toggle the diff panel showing uncommitted changes" instead of "View uncommitted changes and per-turn diffs", depending on an internal flag check.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Nothing to try yet
Useful1 Signal2
Chrome & Browser no docs found

Chrome install upsell eligibility check reworked#

Chrome install upsell eligibility logic was reworked, still off by default.

Feature flag
tengu_chrome_install_upsell Off by default, switched on for this account

The shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.

This account: on · anonymous baseline: on · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_chrome_install_upsell

The logic deciding whether to show the Chrome install upsell was reworked, replacing an old check with new checks, still gated behind the tengu_chrome_install_upsell flag, which defaults off.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Under the hood
Useful1 Signal2
Permissions no docs found

Remote-tool "standing approvals" capability now checked and threaded through, source of the flag unclear#

Remote tools can now advertise a standing-approvals capability that Claude Code checks for.

Details 0 0 Feedback
standing_approvals

A new standing_approvals capability string is checked against a remote/MCP host's advertised description and threaded through the permission-suggestion flow as keepsStandingApprovals. It gates whether an accepted permission suggestion is offered as an addRules suggestion for remote tool calls. This is entirely host-driven, with no local flag controlling it, so it only takes effect once a remote host starts advertising standing_approvals in its capabilities.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Under the hood
Useful1 Signal2
Artifacts

New 'remaining' field on artifact-handover-read result — no traced consumer#

Artifact handover reads now return unread-line info that nothing currently consumes.

Details 0 0 Feedback

The artifact-handover-read function now returns a remaining field alongside artifactRead and commit, populated with unread-line info (path, slug, ver, lines, unterminated, unread) whenever a handover exists, the reader hasn't met the required-lines threshold, and the artifact was handed to that agent. No in-bundle call site currently reads this new field.

In dev
Under the hood
Useful1 Signal2
Compaction

New thinking-block-stripping decision during manual compaction, behind an unlaunched flag#

Manual compaction now decides whether to strip thinking blocks, gated for adaptive thinking only.

Feature flag
tengu_wise_comet Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback

A new function decides whether to strip thinking blocks from the kept tail of a compacted conversation during manual compaction, and is now actively called, logging a line noting what the kept tail holds. The decision depends on the model's resolved thinking type: only when that type is "adaptive" does it consult a feature flag, otherwise stripping stays hardcoded off.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

In dev
Under the hood
Useful1 Signal1
Compaction

Reactive-compact "summarize everything" fallback continues to depend on an experiment flag#

The reactive-compact summarize-all fallback still depends on the same experiment flag as before.

Feature flag
tengu_hidden_frog Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback

The reactive-compact entry point's fallback mode, which splits off a final summarize-all pass once the round-ladder is exhausted, is still gated by an allowFallback flag combined with a feature gate check at function entry. This release's rewrite adds compactionRequestKind and groups params, but the fallback path continues to route through the same gate.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

105 entries

Internal Changesopen

·Internal
Under the hood
Useful3 Signal3
Admin Settings

New per-group override schema for hybrid (Anthropic-hosted) managed config#

Hybrid managed config now supports per-group overrides of settings and token limits.

Details 0 0 Feedback

Claude Desktop's hybrid (Anthropic-hosted) config server now supports org-level group overrides via a GroupSettings/GroupServableConfig schema: specific groups, identified by group_id, can override a subset of managed-config leaves (verbatim scalars, arrays, or objects, or a nameSubset restricting the org's models list), plus per-group tokenLimits (maxPerWindow/windowHours). Fields refused for hybrid, control-plane-derived, or inference leaves can't carry a group override, enforced by a build-time check that throws on drift.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal3
Models no docs found

New 'Fable' model-picker entitlement probe with retry/backoff and telemetry#

A new Fable entitlement probe checks model access with retries and telemetry before offering it.

Details 0 0 Feedback
model_picker_fable_probe

A new 'Fable' probe checks whether the account is entitled to a given model before offering it in the model picker, caching in-flight probes and tracking attempt counts against a cap with retry/backoff. It emits model_picker_fable_probe telemetry events with outcomes accepted, refused, or failed, including a superseded_credential discard case.

·Internal
Under the hood
Useful3 Signal2
Bootstrap Config

Bootstrap config intake reworked with fail-closed handling and deprecation reporting#

Bootstrap config parsing now fails closed on bad keys instead of passing them through.

Details 0 0 Feedback

The managed-config bootstrap parser has been reworked to fail closed: keys that fail validation are "stood in" with a safe default (via onFailClosed/standInFailClosed) rather than passed through. It also reports structured deprecation warnings via describeDeprecation, returns additional sentKeys and issueDetails fields, and distinguishes reader channels such as desktop from others via isReadBy/getFieldMeta.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal3
Dictation

Dictation (voice) config wired into managed-config schema, endpoints unused so far#

Voice dictation config fields exist in settings schema but nothing uses them yet.

Details 0 0 Feedback
dictation

A new dictation key was added to the managed/MDM config schema, backed by an empty DictationConfig placeholder object for future fields. Four helper exports, dictationBaseUrl, dictationCspSource, dictationEndpoints, and websocketCspSource, derive a dictation service URL and CSP/websocket origins from the existing gateway inference config, gated on dictation?.enabled. These are wired into the config module's exports alongside isChatTabEnabled, but nothing in the bundle calls them yet.

·Internal
Under the hood
Useful2 Signal2
Chrome & Browser

New bearer-token verification path for Chrome extension policy#

Chrome extension now verifies the bearer token against org policy to gate the bridge connection itself.

Details 0 0 Feedback

Claude in Chrome gained functions to verify the current OAuth bearer token against the allow_claude_browser_extension policy, tracking denied/unverified/verified states to gate the browser bridge connection itself rather than just command availability.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal2
Artifacts

Artifact tool availability now has an explicit off-switch with telemetry#

Whether the artifact tool is offered now follows an explicit, logged chain of checks.

Feature flag
tengu_cobalt_plinth Gate removed from the code

This release deleted the gate from the code while it was still reading on for the account this site reads, so the code path no longer asks a flag before running.

This account: on · anonymous baseline: on · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
CLAUDE_CODE_ARTIFACT

Whether the artifact tool is offered in a session is now decided by an explicit chain of checks: org/session policy (switched_off), provider type (third_party_provider when not first-party), traffic restrictions (essential_traffic_only), an explicit CLAUDE_CODE_ARTIFACT env override (artifact_env_off), and an SDK default-off case (sdk_default_off). Each reason the tool is withheld, and any later recovery, is now logged via telemetry.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal2
Sessions

Background workflow session-restore cache stored with a fixed-shape schema#

A background workflow session record schema now tracks process kind and identity fields.

Details 0 0 Feedback

An internal schema constant previously used for the AWS Bedrock SDK's job-request shape now instead describes background workflow session records, with fields pid, sessionId, cwd, startedAt, version, kind (interactive, bg, daemon, or daemon-worker), entrypoint, and pidDomain. This points to a persisted table tracking Claude Code process instances by kind.

·Internal
Under the hood
Useful2 Signal2
Headless SDK no docs found

New localStdinOrigin field threaded through turn dispatch#

Turns can now be tagged as originating from local stdin input.

Details 0 0 Feedback
localStdinOrigin

Command/turn objects now carry a new localStdinOrigin field alongside bridgeOrigin and modelScheduledOrigin, providing a way to tag turns that originated from local stdin input, such as in headless or bridge sessions.

·Internal
Under the hood
Useful2 Signal2
Headless SDK no docs found

Turn-lifecycle event hooks added to session loop#

The session loop now emits turn-start and turn-step lifecycle markers.

Details 0 0 Feedback
turn.startturn.step

The headless session loop now emits turn.start and turn.step lifecycle markers as messages are processed, recording turn events for later use such as intent forwarding's turnEvents.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal2
Bootstrap Config

Hybrid-only bootstrap keys are now dropped outside the hybrid channel#

Hybrid-only config keys are now dropped when not delivered via the hybrid channel.

Details 0 0 Feedback

Bootstrap config keys whose remote policy scope is only — meant to be delivered solely by the Anthropic-hosted control plane in hybrid mode — are now explicitly dropped when the bootstrap channel isn't hybrid, with a message reported back explaining the key is only honored when delivered by the Anthropic-hosted control plane.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal2
Auth

Profile-credential OAuth path added for the app's own API auth headers#

API auth can now use a cached OAuth bearer token for eligible enterprise/team profiles.

Details 0 0 Feedback

The API auth-header builder now has a new branch that checks a combination of enterprise/team profile eligibility and OAuth scope status, and when satisfied, authenticates using a Bearer token from the cached OAuth credential's accessToken plus an anthropic-beta header, falling back to the existing API-key lookup otherwise.

·Internal
Under the hood
Useful2 Signal2
Compaction no docs found

Compaction now decides whether to strip thinking blocks via a 'wise comet' policy#

Compaction now uses a named policy to decide whether to strip trailing thinking blocks.

Feature flag
tengu_wise_comet Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
thinking_stripped

Compaction now uses a new helper to decide, per-compaction, whether trailing thinking blocks in the kept tail should be stripped, based on the resolved model and thinking type. It logs the decision, whether from an env override, the thinking_type default, or a flag, and marks the boundary with a thinking_stripped marker when stripping occurs.

During reactive compaction, preserved messages now pass through a new step that may strip thinking blocks and insert a marker attachment, with new telemetry fields tracking how many thinking blocks were kept versus stripped and what determined the decision.

·Internal
Under the hood
Useful2 Signal2
Artifacts

claude.ai URL/slug parsing refactored to support a configurable custom origin#

Artifact URL parsing now supports a configurable custom origin instead of a hardcoded host.

Details 0 0 Feedback

URL-to-slug matching for claude.ai/staging/frame links now goes through a new host-override lookup, allowing a configurable custom origin instead of always assuming the default host. A new Gp() helper builds artifact URLs against that override, falling back to CLAUDE_AI_ORIGIN when none is set.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal2
Artifacts

Asset gateway relay now supports 'copy' operations, not just upload/list/delete#

The asset gateway relay now supports copy operations alongside upload/list/delete.

Details 0 0 Feedback

The session-gateway asset relay now handles asset copy operations in addition to uploads, listing, and deletes. Artifact-service-hosted sessions get an explicit direct-copy fast path (Dbt()) outside the relay.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal2
Elsewhere

System prompt snapshot recording now tracks provenance and hash#

System prompt snapshotting now tracks provenance and a hash to detect drift.

Details 0 0 Feedback

The system prompt snapshot mechanism, used to detect and replay system prompt drift, now tags results with a source value of from_snapshot, live_recorded, or live_unrecorded, along with a snapshotHash. It also factors in a hostPrompt fingerprint that accounts for custom or appended system prompts and whether the session is local, remote, or Chrome-launched.

·Internal
Under the hood
Useful2 Signal1
Group of 2 Self-Hosted Runner

Background session runner gains an onMaxLifetime lifecycle hook#

Runner sessions gain lifecycle hooks for max-lifetime and termination events.

Details 0 0 Feedback

The child-process session manager (mr/Sr) constructor now accepts onMaxLifetime and onTerminating callbacks, and the created instance is stored on a ref (St.current) so other code can reach the active runner session, e.g. to check terminationRequested. The background-session runner's max-lifetime timeout now calls the onMaxLifetime hook to decide whether to wait or kill the child process, instead of always killing unless a turn is in flight; hook errors fall back to the previous default behavior. The background-result follow-up clear callback also now reports whether termination was requested (B?.(!1, k || St.current?.terminationRequested === !0)).

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal2
Artifacts

New telemetry events for copy-file refusals during publish#

New telemetry events cover various copy-file refusal cases during publish.

Details 0 0 Feedback

Several new artifact_publish telemetry events cover the copy-files feature: refusals for sidecar files on workshop pages, refusals for document types, and refusals for disguised scripts, plus copy_no_preflight, copy_echo_malformed, copy_upload_failed, and copy_upload_relay_error.

·Internal
Under the hood
Useful1 Signal2
Admin Settings

Settings schema metadata gains an m365 config reader and hybrid/remote-only classification#

Settings metadata now tracks which config fields an M365 integration can read.

Details 0 0 Feedback
m365

The internal settings-schema metadata module adds a CONFIG_READERS list including a new m365 reader alongside desktop, plus helpers isRemoteOnly, isHybridExcluded, isHybridDerived, readersOf, readersDeclared, isReadBy, and openEnumItemsOf for describing which config fields exist and their visibility, redaction, and remote policy. This is plumbing for exposing or restricting settings fields to a Microsoft 365 integration and to hybrid (local+remote) policy scopes.

·Internal
Under the hood
Useful1 Signal2
Artifacts no docs found

copy_from asset id validation rules#

copy_from asset ids now have strict validation rules with specific denial messages.

Details 0 0 Feedback
copy_from

Asset ids passed to copy_from must be exactly 32-character ids matching list_assets output, contain no duplicates, and stay within a fixed per-call cap; violations now produce specific denial messages rather than being silently truncated.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal2
Artifacts no docs found

Publish tool now tracks approved asset-copy sources across a session#

Publish now tracks approved asset-copy sources per session so consent persists.

Details 0 0 Feedback
copy_from

The artifact publish permission-check path now threads an approvedCopySources set, keyed by toolUseId, through the publish flow, minted into the tool-call metadata (copies) alongside existing path/redirect/sha256 pin data. This is the plumbing that lets copy_from's per-session consent persist without re-prompting.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal2
Dictation no docs found

Dictation config surface added to session config object#

Dictation config fields are now exposed on the session config object.

Details 0 0 Feedback
dictationBaseUrl

The exported session/runtime config object now exposes dictationBaseUrl, dictationCspSource, dictationEndpoints, and websocketCspSource fields alongside the existing isChatTabEnabled, plumbing network and CSP configuration for a dictation (voice input) feature.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal2
Feature Gates no docs found

New internal flag tengu_teal_corbel_newel#

A new unclear flag likely affects auto-allow rules for artifact reads.

Feature flag
tengu_teal_corbel_newel Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_teal_corbel_newel

A new gated condition combines several existing checks with a new experiment flag, tengu_teal_corbel_newel; its purpose is unclear but it likely relates to auto-allow rule behavior for artifact reads.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal2
Permissions

Host profile collection has its own telemetry#

Forced-ask permission decisions now include a suggested standing allow rule where applicable.

Details 0 0 Feedback

When building a forced 'ask' permission decision, the code now computes a suggestion via Cs(e,c). If the request keepsStandingApprovals and carries a non-empty suggestions list, the ask decision includes a suggestions: [T] entry proposing an addRules/allow/localSettings rule for the trimmed bash command, instead of just setting suppressAlwaysAllowRule: true. keepsStandingApprovals is populated from a live call site, To(n).

·Internal
Under the hood
Useful2 Signal1
SDK no docs found

Bridge SDK transcript forwarding now stamps assistant replies to their triggering user message#

SDK bridge sessions now stamp assistant replies with the user message that triggered them.

Details 0 0 Feedback
stampReply

The bridge:sdk transcript-forward logic, used when embedding Claude Code via SDK bridge sessions, now tracks an anchor/userMessageUuid pair and calls a new stampReply on the bridge object. This associates the eventual assistant reply with the user message that triggered it, rather than just streaming messages as before.

·Internal
Under the hood
Useful2 Signal1
Headless SDK

New streaming latency telemetry fields on SDK turn results#

SDK turn results now capture finer streaming latency timing for the first content frame.

Details 0 0 Feedback
first_content_frame_ms

Headless SDK query results now capture finer-grained streaming latency: first_content_frame_ms and timing for when the first stream chunk was posted/acknowledged, including wall-clock variants, added alongside the existing ttft metrics.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
Self-Hosted Runner

Self-hosted runner sessions get max-lifetime and termination hooks#

Runner child processes gain max-lifetime and terminating lifecycle callbacks.

Details 0 0 Feedback

The self-hosted runner's child process spawn now wires up onMaxLifetime and onChildTerminating callbacks alongside the existing onChildLifecycle/onChildInit, so the runner can react when a session hits a max lifetime limit or when a child begins terminating.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
API Configuration

API dispatch requests can now include a side-query header with fallback retry#

Side-query API requests now retry once without the side-query header on certain failures.

Details 0 0 Feedback

Outgoing beta.messages.create API dispatch requests may now attach a header identifying the query as a "side query." If such a request fails with a 5xx error, a connection error, or a 408/409/429 with retries remaining, it is retried once without the header or the maxRetries override, and telemetry is emitted for the fallback.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
Auth no docs found

Bedrock/inference config: bearer-token exclusion list added per provider#

Inference config now has a per-provider list of contexts that should not carry bearer tokens.

Details 0 0 Feedback
noBearerFor

The inference provider config schema adds a noBearerFor list per provider (covering bedrock, vertex, foundry, and Anthropic's interactive, vendor-profile, static, and helper-script contexts). A new helper decides whether a credential should carry a bearer token, denying one for OAuth-token-bearing static Anthropic API keys and for x-api-key auth schemes.

·Internal
Under the hood
Useful2 Signal1
Self-Hosted Runner

New "max session age" retirement path for cloud/runner sessions#

Runner sessions now retire with a distinct max-age reason instead of generic shutdown.

Details 0 0 Feedback

Cloud/runner sessions can now retire with a dedicated "max-age" reason (max session age reached), distinct from the existing "shutdown" and "retire" outcomes, with its own "max-session-age grace" period label. The runner's Prometheus metrics now treat a max-session-age release as a clean completion, while hitting the max-lifetime hard cap still counts as an interruption.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
Elsewhere

Prompt-cache miss telemetry now records a cause#

Prompt-cache miss telemetry now records the specific reason for the miss.

Details 0 0 Feedback

Prompt-cache telemetry now records why a cache miss happened. The tracking data gains last_miss_cause (with tools_added, tools_removed, and system_char_delta detail) and miss_causes, backed by a lookup table mapping internal cause codes such as system_prompt_changed, betas_changed, and ttl_expired_5m to human-readable strings.

·Internal
Under the hood
Useful2 Signal1
Headless SDK

Ephemeral event delivery generalized beyond thinking-token updates#

Ephemeral event delivery is now generalized beyond just thinking-token updates.

Details 0 0 Feedback

Ephemeral system-event delivery, previously special-cased for thinking_tokens updates, now routes through a general mapper that can deliver other ephemeral system event types the same way, not just thinking-token deltas.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
Permissions

Tool-permission rule string parsing reworked to explicit kinds#

Permission rule string parsing now returns explicit kinds instead of a loose fallback.

Details 0 0 Feedback

The parser for permission rule strings like Tool(args) now returns a discriminated result of kind bare, malformed, or call instead of always falling back to a bare tool name, and explicitly rejects rule content containing stray parentheses.

·Internal
Under the hood
Useful2 Signal1
Sessions

Session-forwarding outcome now classified rather than deleted via HTTP#

Remote session forwarding now classifies outcomes directly instead of using an HTTP DELETE.

Details 0 0 Feedback

Remote session forwarding no longer closes a session by sending an HTTP DELETE. Instead, forwarding outcomes are now classified directly: sent, unchanged, and conflict_resolved map to success, while outcomes like raced, lane_full, unauthorized, deadline, failed, and aborted map to failure. This is part of a reworked remote command-forwarding/session-sync path.

·Internal
Under the hood
Useful2 Signal1
Plugins no docs found

New plugin UI event types ui.input / ui.select#

Plugin UI gains input/select interaction events alongside existing button press events.

Details 0 0 Feedback
ui.inputui.select

Two new plugin-facing UI interaction events, ui.input and ui.select, have been added alongside the existing ui.press, letting a plugin's Input and Select components submit values back through the same handler-chain plumbing used for button presses.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
Sandbox no docs found

Bash/PowerShell telemetry now records whether shell dispatch was user-typed#

Bash/PowerShell telemetry and sandbox checks now track whether the user typed the command directly.

Details 0 0 Feedback
userTypedShellDispatch

The tengu_bash_tool_command_executed and tengu_powershell_tool_command_executed/failed telemetry events now include a user_typed_shell_dispatch field, and sandbox policy checks take a matching userTypedShellDispatch flag to distinguish commands the user typed directly from ones issued by a tool. When a command runs through bash-mode dispatch outside a recognized Claude Code session kind, its tool input now carries userTypedShellDispatch: true.

·Internal
Under the hood
Useful2 Signal1
Context Window no docs found

New 'get_context_usage' summary detail mode#

Context-usage requests can now return a lighter summary payload for a memory viewer.

Details 0 0 Feedback
get_context_usage

Context-usage requests to a remote/cloud session can now request a summary detail level via { subtype: "get_context_usage", detail: "summary" }, returning a lighter payload that just enumerates memory file names and token counts for the new memory viewer, separate from the full context payload used by /context.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal1
Terminal UI

Startup onboarding/dialog sequence rewritten to a step-list runner#

The startup onboarding sequence was rewritten as a step-list runner, folding in the Chrome policy check.

Details 0 0 Feedback

The startup flow covering onboarding, the trust dialog, MCP project approval, CLAUDE.md external includes, the Grove policy dialog, the pro trial screen, powerup discovery, API key approval, Bedrock/Vertex upgrade offers, dev channels, and Claude-in-Chrome offers has been restructured from sequential inline awaits into an array of step functions run by a shared runner (na), with per-step early-outs. This is primarily an internal refactor, but it also folds in the new allow_claude_browser_extension check.

·Internal
Under the hood
Useful2 Signal1
Telemetry

Claude Code usage telemetry now also sent from inside the agent sandbox#

Usage telemetry can now also be sent from inside the agent sandbox itself.

Details 0 0 Feedback

The anthropic-telemetry egress service now has a second endpoint, with origin subprocess, hitting the same /api/event_logging/ path, described as usage telemetry sent from inside the agent sandbox. A new subprocessHostsForServices helper computes which hosts are reachable from within the sandbox for this purpose.

·Internal
Under the hood
Useful1 Signal1
Group of 2 Bedrock

New shared header block Cv() added to Anthropic/Bedrock/Mantle requests#

Bedrock/Mantle requests now send an additional shared header block.

Details 0 0 Feedback

Outgoing requests to the Bedrock and Mantle providers, as well as the Anthropic API client, now merge in a new Cv() header block on top of the existing Em() headers.

This applies across all auth code paths: API key, skip-auth, profile bearer, AWS bearer-token, and credential-chain paths in Anthropic client construction.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Context Window

Context-window breakdown now separates 'System tools (deferred)' bucket sizing more precisely#

Context-usage accounting now splits deferred MCP and system tool buckets more precisely.

Details 0 0 Feedback

The token-usage breakdown behind the context-usage visualization now tracks deferred MCP tools and deferred system tools as separate categories, each carrying an isDeferred flag, alongside a reworked auto-compact threshold calculation. This is an internal accounting change, not a new user-facing toggle.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Context Window

Attachment/content redaction helper for edits, writes, media and reads#

A helper now trims large stored payloads from past edits/writes/reads to save space.

Details 0 0 Feedback

A new redaction helper can strip sensitive or large payloads from stored tool-call attachments: it nulls out originalFile for edits, blanks content and originalFile for writes, blanks base64 data for image/PDF attachments, and blanks text content for reads when that content matches a companion tool result via a line-numbered diff check. This trims context/storage size for already-delivered read/edit/write results.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Artifacts

New telemetry for artifact tool being withheld/recovered mid-session#

New telemetry tracks when the artifact tool disappears and reappears mid-session.

Details 0 0 Feedback

Two telemetry events, tengu_artifact_tool_recovered and tengu_artifact_tool_withheld, now track when the artifact tool disappears from a session and reappears. Withholding reasons include surface_excluded, nested_child_session, admin_policy/subscription_ineligible, and switched_off; this is telemetry only, with no user-facing behavior change.

·Internal
Under the hood
Useful1 Signal1
Sessions

Bridge environment registration can now include a host profile#

Remote environment registration can now include a host's tool and MCP server profile.

Details 0 0 Feedback

The bridge_environment_register API call used when registering a remote/worker environment can now include a host field carrying host tools and the MCP server list, alongside the existing machine, directory, and branch metadata. The debug log now reports tool/MCP counts for that host profile instead of dumping the full object.

·Internal
Under the hood
Useful1 Signal1
Artifacts no docs found

New 'summonSeeds' state tracks artifact summon/gesture events#

A new internal structure tracks artifact summon/gesture events to correlate follow-up replies.

Details 0 0 Feedback
summonSeeds

A new summonSeeds structure tracks artifact summon/gesture events as open/settled slug/threadId/gestureAt tuples with an LRU-style cap, replacing the older shareStatus.pendingNoticeSlugs mechanism. It's used to correlate a follow-up artifact interaction, such as a reply, back to the gesture that triggered it.

·Internal
Under the hood
Useful1 Signal1
Artifacts

New telemetry events for artifact tool recovery#

New telemetry events log when artifact tool calls recover after being withheld.

Details 0 0 Feedback

Two new event names were added to the telemetry allowlist for artifact-related tool calls, including tengu_artifact_tool_recovered, for tool_use blocks that get retried and succeed after being withheld.

·Internal
Under the hood
Useful1 Signal1
MCP

MCP tool call metadata expanded: conversation_id and compaction_id#

MCP tool call approvals now carry conversation and compaction IDs for correlation.

Details 0 0 Feedback

The permission/approval request schema for MCP tool calls (ccr_container/local_process) now carries conversation_id and compaction_id fields alongside instance_id, tightening how approvals are correlated back to a specific conversation and compaction state.

·Internal
Under the hood
Useful1 Signal1
Feature Gates no docs found

New default-on flag tengu_gravel_chorus#

A new default-on internal flag was added with an unclear purpose.

Feature flag
tengu_gravel_chorus Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: on

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_gravel_chorus

A new gate function, tengu_gravel_chorus, was added, defaulting to true.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Transcript no docs found

Clear-view action emits telemetry event repl_clear_view#

Clearing the transcript view now logs a telemetry event.

Details 0 0 Feedback
repl_clear_view

Invoking the new clear-view store now logs a repl_clear_view telemetry event, letting Anthropic track how often and when users clear their transcript view, separately from other session events.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
MCP

MCP client auth-needed marking refactored#

MCP auth-needed marking was refactored to a simpler call signature.

Details 0 0 Feedback

The internal call that marks an MCP client as needing re-authentication now calls markNeedsAuth(serverName) on a different object reference with a single argument, instead of the previous two-argument call routed through the Nt() accessor. This looks like an internal API consolidation rather than a behavior change.

·Internal
Under the hood
Useful1 Signal1
Artifacts

Artifact publish errors gained a maxErrorChars field#

Artifact publish errors can now be truncated to a server-controlled length.

Details 0 0 Feedback

Errors from the artifact-publish flow, including the stale-version guard and publish-conflict errors, now carry a maxErrorChars value, indicating the error text shown to the model can be truncated under server control.

·Internal
Under the hood
Useful1 Signal1
Context Window

get_context_usage no longer factors in appendSubagentSystemPrompt#

Context-usage estimates for embedding hosts no longer count the subagent system-prompt append.

Details 0 0 Feedback

The options built for the get_context_usage control-protocol subtype no longer include appendSubagentSystemPrompt alongside appendSystemPrompt and systemPromptSnapshot. Context-usage and token estimates reported to embedding hosts no longer account for the subagent system-prompt append when sizing context. The appendSubagentSystemPrompt setting itself is unaffected and still used elsewhere, including when building actual prompts; this is a scoped change to the usage-estimation path only.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Artifacts

Artifact 'read' action's inline threshold made configurable#

The artifact inline-read threshold is now configurable rather than fixed.

Details 0 0 Feedback

The threshold below which an artifact read action inlines content is now the max of the built-in default and a value from a new helper function, instead of always using the fixed constant.

·Internal
Under the hood
Useful1 Signal1
Artifacts

Artifact read now passes a files-listed hint for artifact reads#

Artifact reads now pass a hint indicating whether files were already listed.

Details 0 0 Feedback

Artifact read action calls now pass a filesListed hint, derived from a new helper, indicating whether the artifact's files have already been enumerated.

·Internal
Under the hood
Useful1 Signal1
Feature Gates no docs found

New gate replaces hardcoded-off feature switch#

A helper that always returned false now checks a remote gate first.

Feature flag
tengu_ochre_bittern Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.260: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_ochre_bittern

The internal helper ar(), which previously always returned false, now checks the tengu_ochre_bittern remote-config gate first and falls back to false only if the gate is off.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Headless SDK no docs found

New localStdinOrigin option threaded through prompt processing#

Prompt processing now forwards the local-stdin origin tag.

Details 0 0 Feedback
localStdinOrigin

The prompt-processing call in headless sessions now accepts and forwards a localStdinOrigin field, alongside existing origin-tracking fields like bridgeOrigin and modelScheduledOrigin.

·Internal
Under the hood
Useful1 Signal1
Artifacts

New telemetry for asset copy operations#

New telemetry tracks asset copy requests and rejects same-artifact copies.

Details 0 0 Feedback

A new artifact_asset_copy telemetry event tracks asset copy requests. It validates slug formats, rejects copies where the source and destination artifact are the same (same_artifact), and caps the number of ids allowed per copy.

·Internal
Under the hood
Useful1 Signal1
Sandbox no docs found

New telemetry event tracks sandbox filesystem rule sync completeness#

New telemetry tracks completeness of sandbox filesystem rule syncing.

Details 0 0 Feedback
tengu_dir_sync_upload_rules

A new function computes sandbox deny-read rules, credential file rules, and 'reopen' (allowRead) rules across all settings sources, and fires a tengu_dir_sync_upload_rules telemetry event summarizing the counts and completeness of that computation, deduplicated by payload hash.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Admin Settings

Legacy string-encoded key/value config values now get a deprecation notice#

Legacy string-encoded config values now get flagged for scheduled deprecation.

Details 0 0 Feedback

A new legacyKvEncodingNotice helper flags managed-config fields that still accept the old "Name=value,…" string or ["Name: value", …] array encodings instead of a JSON object, tagging them for a scheduled deprecation batch.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Remote Control no docs found

REPL bridge exposes a stampBridgeReply hook#

The REPL bridge hook gains a stampBridgeReply function.

Details 0 0 Feedback
stampBridgeReply

The remote-control REPL bridge hook now also returns a stampBridgeReply function, which forwards to the underlying binding's stampReply method, alongside the existing sendBridgeResult.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Bedrock

New description text for Bedrock/gateway auth config fields#

Bedrock auth settings now document exactly which env var each is passed as.

Details 0 0 Feedback
AWS_PROFILEAWS_CONFIG_FILE

Settings fields inferenceBedrockProfile, inferenceBedrockAwsDir, inferenceBedrockAwsCliPath, and inferenceBedrockRegion now have explicit description.short text stating exactly which environment variable each is passed to the helper script as, for example AWS_PROFILE or AWS_CONFIG_FILE.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
AskUserQuestion

AskUserQuestion telemetry can include extended per-question fields and a title#

AskUserQuestion telemetry can now capture extended per-question fields and a title.

Details 0 0 Feedback

Telemetry for AskUserQuestion can now capture more detail per question: when a gate function returns true, kind, description, placeholder, min, max, step, default, and unit fields are serialized, and a [title: ...] prefix is prepended from the question's title.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
MCP

MCP client registry gains a 'connections' accessor slot#

The MCP client registry gains centralized connection registration accessors.

Details 0 0 Feedback

The internal MCP server-state class, which already tracked approved servers, a clients accessor, connected-client wiring, and a tools swapper, now also exposes registerConnections, acquireConnections, and connections(), so MCP connection objects can be centrally registered rather than looked up ad hoc.

·Internal
Under the hood
Useful1 Signal1
Elsewhere no docs found

Remote-tools stalled-call telemetry distinguishes taken-back vs cancelled#

Stalled remote-tool call telemetry now distinguishes taken-back from cancelled outcomes.

Details 0 0 Feedback
write_unresolved

When a remote-tools call stalls past its deadline, internal telemetry now records more specific outcomes: whether the call was taken back before any write carried it, or cancelled while a write was already in flight. A new unconfirmed outcome (write_unresolved) is also recorded when the carrying write never resolves by the deadline.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Sessions no docs found

New 'taken back' state for stalled session liveness checks#

Session liveness checks gain a distinct taken-back state instead of generic stalled.

Details 0 0 Feedback
taken_back

Session liveness and probe results gained a taken_back variant alongside stalled, surfaced as takenBack: true on the stalled result. Run and monitor completion messages can now report a task as something other than 'stopped' via a lookup table when it was taken back.

·Internal
Under the hood
Useful1 Signal1
Self-Hosted Runner

New session-release reason for max-age expiry#

Session releases from hitting max age are now tracked as their own outcome.

Details 0 0 Feedback

The self-hosted runner's session release/retire state machine gained distinct released_false_max_age and released_false_max_age_parked outcomes, so a session release triggered by hitting a max-age limit is now tracked separately from the existing shutting-down and retiring outcomes.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Chrome & Browser

Claude in Chrome tool guidance rewritten as inline instructions#

Chrome tool guidance for the model is now inline instead of a separate file reference.

Details 0 0 Feedback

The tool-use guidance for Claude in Chrome is now inline instead of file-referenced. It tells the model that Claude-in-Chrome tools need no separate enabling if present (identified by names containing claude-in-chrome or Claude_in_Chrome), with fallback guidance to use Claude_Browser-named tools or tell the user Chrome isn't connected.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Elsewhere

New allowlist of dev-toolchain binaries#

A new allowlist recognizes common dev-toolchain binaries by name.

Details 0 0 Feedback

A new allowlist of dev-toolchain binary names has been added, covering xcodebuild, swift, swiftc, xcrun, git, make, clang, clang++, gcc, g++, python3, and pip3.

·Internal
Under the hood
Useful1 Signal1
Admin Settings

New CONFIG_RELAUNCH_IDLE_MINUTES export#

A new constant for config relaunch idle minutes was added.

Details 0 0 Feedback

A new CONFIG_RELAUNCH_IDLE_MINUTES constant has been added to the shared config module.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Elsewhere no docs found

New env vars added to pass-through/deletion allowlists#

Two new env vars were added to internal forwarding and auth-token handling lists.

Details 0 0 Feedback
CLAUDE_CODE_FORWARD_USER_INTENT

Two new environment variables, CLAUDE_CODE_FORWARD_USER_INTENT and CLAUDE_CODE_MCP_SERVE_AUTH_TOKEN, have been added to internal handling lists, the former governing subprocess/child env forwarding and the latter serving as an auth token for claude mcp serve.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Compaction no docs found

Compaction requests now tagged as auto vs manual#

Compaction requests are now tagged as auto or manual.

Details 0 0 Feedback
compactionRequestKind

Context-compaction requests now carry a compactionRequestKind field set to auto or manual depending on whether compaction was triggered automatically or by the user.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Plugins

Stale-catalog flag added to plugin/skill catalog telemetry#

Plugin/skill catalog telemetry now flags whether the fetched catalog was stale.

Details 0 0 Feedback

Plugin/skill catalog-fetch telemetry now records a stale boolean flag alongside the existing source (fallback/served/published) and fetchedAt fields, distinguishing stale cached catalogs from freshly served ones.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Chrome & Browser no docs found

No-op stub tools explain that Chrome browser tools need no enabling#

No-op stub tools tell the model Chrome browser tools need no separate enabling step.

Details 0 0 Feedback
enable__mcp__claude-in-chrome

Two new no-op stub tools, enable__mcp__claude-in-chrome and a generic 'Browser' variant, do nothing when called. They exist to tell the model that if tools named with Claude_Browser are already present in the session, they're already usable, so the model should use those directly instead of wasting a call trying to "enable" them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Sessions

Detailed file-sync timing guidance added for remote/subagent workflows#

New guidance text explains exactly when synced edits reach a remote host.

Details 0 0 Feedback

New helper text explains exactly when edits made in a synced local copy reach a remote host: at turn end, just before each remote call, or mid-task. It also clarifies that output from remote-run commands must be read on the remote host itself rather than assumed to already be synced locally.

·Internal
Under the hood
Useful1 Signal1
Sessions

New git/credentials guidance for remote-host tool descriptions#

Remote host guidance now clarifies credentials are never copied to the local environment.

Details 0 0 Feedback

Remote host status text now explicitly tells the model that SSH keys, commit-signing keys, git credential helpers, and gh login are never copied into the local environment. It instructs running git push/pull, signed commits, and gh operations on the remote host itself rather than asking the user for a token.

·Internal
Under the hood
Useful1 Signal1
Elsewhere

Remote tool-call reply handling now supports withdrawing queued asks#

Queued remote tool-call asks can now be withdrawn client-side instead of only cancelled.

Details 0 0 Feedback

The remote tool-call reply resolver now supports a withdrawable option, letting a queued-but-undelivered ask be withdrawn client-side instead of only cancelled. Settlement now distinguishes a takenBack outcome ("stalled, takenBack") from a plain cancel.

·Internal
Under the hood
Useful1 Signal1
MCP no docs found

Managed MCP server list now capped at 100 entries#

Stalled remote approvals taken back before sending now get a distinct error code.

Details 0 0 Feedback
stalled_unsent

The remote-tool approval path now surfaces a stalled_unsent error code for a stalled approval request that was taken back before being sent, distinct from the prior generic stalled code.

·Internal
Under the hood
Useful1 Signal1
Self-Hosted Runner no docs found

Self-hosted runner now distinguishes idle-release at max session age#

Runner sessions released for hitting max age now get their own telemetry tag.

Details 0 0 Feedback
released_false_max_age

Self-hosted runner sessions released for hitting the maximum session age are now logged and tagged in telemetry as released_false_max_age, instead of being lumped in with plain idle releases under the generic released_false.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Background Tasks

Narration generation now distinguishes a 'truncated' outcome#

Status-line narration that gets cut off by max tokens is now tracked as its own outcome.

Details 0 0 Feedback

When the model call that generates the status-line narration hits stop_reason: "max_tokens", it's now classified as a distinct truncated outcome with its own telemetry, rather than being treated as a generic failure.

·Internal
Under the hood
Useful1 Signal1
Sessions no docs found

CCR (background worker) client: tool results can be blanked/trimmed before upload#

Background-worker uploads now trim tool results before sending, with telemetry if blanked.

Details 0 0 Feedback
ccr_tool_result_blank

Events uploaded by the background-worker (CCR) client now pass tool_use_result content through an upload-trim step before sending; if trimming blanks out the result, a one-time ccr_tool_result_blank telemetry event fires. Transcript uploads also gain a separate "envelope strip" step.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Sessions no docs found

CCR client: transcript envelope stripping telemetry#

Background-worker transcript uploads now strip an internal envelope wrapper, logged once.

Details 0 0 Feedback
ccr_worker_envelope_strip

When the CCR client writes internal events, a payload transform can strip an 'envelope' wrapper from transcript entries, and the first time this actually changes a payload it logs a ccr_worker_envelope_strip telemetry event.

·Internal
Under the hood
Useful1 Signal1
Bootstrap Config

Gateway desktop bootstrap config now flags deprecated keys explicitly#

Desktop bootstrap config validation now explicitly flags deprecated keys.

Details 0 0 Feedback

Desktop-bootstrap config validation used by the Claude Code gateway gains a new deprecated diagnostic kind, produced by a new detectDeprecations/describeDeprecation pass separate from the existing unknown/refused-key logic. Mapping a legacy flat key back to its canonical name now goes through flatConfigKeys/getFieldMeta(...).legacyFlatKey instead of the old resolveLegacyFlatKeys.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Chrome & Browser

Claude in Chrome MCP server config now recognizes DCR OAuth mode as not-BYO#

Chrome MCP config now determines bring-your-own-auth status by checking for non-DCR mode.

Details 0 0 Feedback

The Claude in Chrome MCP server config now determines bring-your-own-auth-server status by checking t.oauth.mode !== "dcr" instead of checking for mode === "byo". MCP OAuth entries using dynamic client registration (dcr mode) are no longer treated as bring-your-own-auth-server for egress-hostname purposes.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Sessions no docs found

job_delete telemetry now records whether worktree discard was confirmed#

Job deletion telemetry now records whether worktree discard was actually confirmed.

Details 0 0 Feedback
discard_confirmed

job_delete telemetry events, for both the worktree-left-in-place path and the default path, now include a discard_confirmed field (discardConfirmed on the delete-session return value) reflecting whether the user confirmed discarding a worktree.

·Internal
Under the hood
Useful1 Signal1
File History no docs found

New telemetry event for failed rewinds#

A new telemetry event logs when a file-history rewind fails entirely.

Details 0 0 Feedback
tengu_file_history_rewind_failed

A new tengu_file_history_rewind_failed telemetry event is emitted, with trackedFilesCount, filesFailedCount, and skippedLinksCount, when a rewind fails because no files could be restored.

·Internal
Under the hood
Useful1 Signal1
Sessions no docs found

New telemetry gate for CCR upload trimming#

A new telemetry gate fires when background-worker upload trimming occurs.

Feature flag
tengu_ccr_upload_trim Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.260: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.260. It isn't a statement about your account. What a flag value here can and cannot tell you

Details 0 0 Feedback
tengu_ccr_upload_trim

Client/worker request config now wires an uploadTrim callback that fires the telemetry event tengu_ccr_upload_trim, joining the existing reactivation-beat and heartbeat-skip telemetry hooks.

·Internal
Under the hood
Useful1 Signal1
Chrome & Browser

New trusted-context check for claude_browser frame relay#

A new helper checks whether a browser context is already trusted for frame relay purposes.

Details 0 0 Feedback

A helper UJe now compares a context string against a hard-coded list (currently just claude_browser), using a normalized (lowercased, alnum-only) match, and this is used to decide whether a browser context is treated as an already-trusted host in the artifact frame relay's bot-context logic.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal1
Plugins no docs found

hostPrompt field threaded through plugin/skill tool schema#

A new hostPrompt field is now threaded through plugin/skill tool schema building.

Details 0 0 Feedback
hostPrompt

A new optional hostPrompt field was added to the plugin-loaded prompt-snapshot schema and is now propagated through skill/tool description building, alongside systemPrompt and tools.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful2 Signal0
Plugins

Plugin state management refactored into a dedicated store class#

Plugin state management was consolidated into a dedicated store class.

Details 0 0 Feedback

Plugin state updates — errors, warnings, needsRefresh, marketplace installation status, and applying a refresh — are now centralized in a dedicated store class with explicit methods (addErrors, addWarnings, markNeedsRefresh, setPendingMarketplaces, setMarketplaceStatus, applyRefresh), replacing inline state-object spreads in the plugin-refresh pipeline.

·Internal
Under the hood
Useful2 Signal0
Terminal UI

Terminal control-mode tracking centralized into a mode-set class#

Terminal escape-sequence state handling was centralized into one mode-set class.

Details 0 0 Feedback

Terminal escape-sequence state, covering bracketed paste, theme reports, extended keys, alt screen, alt-screen keys, mouse tracking, background color queries, and focus events, is now tracked by a single ordered mode-set class with set/reset/suspend/resume operations, replacing ad hoc raw writes scattered through the render and raw-mode code. This is an internal restructuring of how terminal modes are entered, exited, and restored (for example on suspend/resume when shelling out or exiting) rather than a user-facing change.

·Internal
Under the hood
Useful1 Signal0
Worktrees

Minor formatting fix in worktree-removal tool result#

Worktree-removal result formatting was cleaned up with no behavior change.

Details 0 0 Feedback

The object literal for the worktree remove tool-result payload (originalCwd, worktreePath, worktreeBranch, discardedFiles, discardedCommits, message) was reindented and cleaned up. This is a formatting fix only, with no behavior change.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal0
Transcript

Transcript turn summary rendering refactor#

Turn summary rendering code was refactored internally with no visible change.

Details 0 0 Feedback

The component that renders per-turn summaries (edits, scratchpad edits, workshop edits, thinking duration, and git commit/push/branch/PR status) was refactored internally, with a new helper consolidating repeated feature-check calls. What's displayed, including edit counts, "Ran N PreToolUse hooks", "Recalled" memory entries, and commit/push/branch/PR status lines, is unchanged.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal0
Sandbox

/sandbox command now declares explicit requirements metadata#

/sandbox now declares metadata marking it as interactive-only, no workspace required.

Details 0 0 Feedback
/sandbox

The /sandbox command now declares explicit requirements metadata, marking itself as interactive (ink) UI only and as not requiring a workspace, matching the pattern used by other local-jsx commands. This affects command availability checks rather than any user-visible text.

·Internal
Under the hood
Useful1 Signal0
Worktrees

ExitWorktree tool restructured to session-scoped create() pattern#

The ExitWorktree tool was restructured to a session-scoped factory pattern, no behavior change.

Details 0 0 Feedback

The ExitWorktree tool's validateInput/call logic now lives behind a create(e) factory, matching the pattern used elsewhere for session-bound tools. This is an internal restructuring; the existing worktree-removal safety checks, covering uncommitted changes, commit counts, and ownership, are unchanged.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal0
MCP

Permission-denied MCP tool errors now mark the MCP client as needing auth via session wiring#

MCP auth-needed marking on permission errors was refactored, no behavior change expected.

Details 0 0 Feedback

When a tool call throws an MCP permission-denied/auth error, the code now marks the client as needing auth through session.mcpSessionWiring.connections()?.markNeedsAuth(...) instead of dynamically importing a helper module. This is an internal refactor of how MCP auth-needed state propagates, with no behavior change expected.

·Internal
Under the hood
Useful1 Signal0
Elsewhere

New hasUnknownModelCost / narration block indexes plumbing#

Internal cost/narration telemetry fields were refactored with no clear user effect.

Details 0 0 Feedback

The hasUnknownModelCost schema field is now built through a helper rather than declared inline, and a new helper computes narration_block_indexes from an array. Both are internal cost/narration telemetry changes with no clear user-facing effect.

·Internal
Under the hood
Useful1 Signal0
Elsewhere

Eval-suite result schema gained partial-run reasons#

Internal eval-suite results now record why a run was only partial.

Details 0 0 Feedback

The internal eval-suite result schema used by Claude Code's own evaluation tooling now records whether a run was partial and why, with reasons covering cost_ceiling, interrupted, and auth_failed, along with a schema version field.

·Internal
Under the hood
Useful1 Signal0
Git Integration

Git diff stat/numstat calls consolidated onto a shared flag array#

Git diff calls for telemetry were consolidated onto shared flags, no behavior change.

Details 0 0 Feedback

The several git diff invocations used for change-summary telemetry, numstat, shortstat, and hunk diffing, now share a common flag array instead of each repeating --no-optional-locks -c diff.relative=false diff inline. Behavior is unchanged.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal0
Elsewhere

Push-notification and connector-search tools refactored to a create()-based lazy-injection pattern#

Several tools were refactored to a lazy dependency-injection factory pattern.

Details 0 0 Feedback

The send-notification, connector search/lookup/list, remote-trigger management, and project tools were restructured from a flat call(e,t) signature to a create({credentials, mcpClients, ...}) factory that returns call/checkPermissions closures. This is an internal dependency-injection change with no described behavior difference.

·Internal
Under the hood
Useful1 Signal0
Context Window

/context fullscreen detection changed#

/context now checks fullscreen state directly instead of via a heuristic.

Details 0 0 Feedback
/context

The /context command now decides whether to collapse detail sections by checking i.presentation === "fullscreen" directly, replacing the prior xt() heuristic function.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal0
Worktrees

Worktree-session cleanup on resume consolidated into a shared helper#

Worktree cleanup logic on resume was consolidated into a shared helper.

Details 0 0 Feedback

The worktree-session cleanup logic that runs on --resume (both the fork and normal paths) is now consolidated into a shared lf helper taking {persist, storageV5}, replacing duplicated inline code. Behavior such as printing worktree-gone messages and persisting bindings is preserved but centralized.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

·Internal
Under the hood
Useful1 Signal0
Terminal UI

Stdin key-parsing loop rewritten as pure functions#

Stdin key-parsing was rewritten as pure functions, functionally equivalent.

Details 0 0 Feedback

The terminal input reader's handling of incomplete escape sequences, including mouse-prefix drop timers, paste mode, and byte-run deadlines, has been refactored from mutable instance-method state into pure functions that thread an explicit reader state object. This centralizes logic previously duplicated between flushIncomplete and processInput and is functionally equivalent.

4 entries

Removedopen

Removed
You'll notice
Useful3 Signal2
Bash Tool

cd-then-read deny-rule circuit breaker removed#

Bash no longer warns before cd-ing into a directory covered by a Read deny rule.

Details 0 0 Feedback

The safety check that intercepted Bash commands doing cd into a directory and asked the user before running when a subsequent Read() deny rule would cover files under that directory has been removed entirely. That prompt no longer fires.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Removed
You'll notice
Useful2 Signal1
Permissions

"ask-session" tool policy value deprecated for built-in tools#

The 'ask-session' tool policy value is deprecated and now just rewritten to 'ask'.

Details 0 0 Feedback
builtinToolPolicyask-session

Setting a builtinToolPolicy entry to "ask-session" is now a formally deprecated value. It is flagged via BUILTIN_TOOL_POLICY_ASK_SESSION and is rewritten and read back as "ask".

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Removed
You'll notice
Useful2 Signal1
Sandbox

anthropic-mcp-registry egress service removed#

The MCP registry egress service entry was removed from the egress allowlist system.

Details 0 0 Feedback

The anthropic-mcp-registry egress service entry, which covered the mcp-registry and api/directory hosts under disableNonessentialServices, has been removed from EGRESS_SERVICES.

Removed
You'll notice
Useful1 Signal1
Artifacts

copy_from artifact action deprecated in favor of publish+from_url#

The copy_from artifact action is deprecated in favor of publish with from_url.

Details 0 0 Feedback
copy_fromfrom_url

References to the copy_from artifact action are now rewritten with guidance to use publish with asset: true and from_url instead, joining the existing delete_asset rewrite rule.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.260. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

Of these 66 bullets, 15 name something an entry on this page also names, 26 name something no entry here does, and 25 name nothing specific enough to line up either way. The pairings are made on names both sides wrote down, a flag or a setting or a slash command, so read one as probably the same thing rather than as a fact, and read the middle number as candidates rather than as a miss count.

  • Added a diff panel that opens beside the conversation in fullscreen mode and shows your uncommitted changes as Claude edits; toggle it with /diff Probably new-diff-command-toggle-wording-behind-tengu-jazzy-ripple, diff-fullscreen-toggle-live-by-default-via-a-kill-switch-fl, diff-dialog-gains-a-fullscreen-presentation-mode
  • Added a likely cause for prompt-cache misses (e.g. tool definitions or system prompt changed, idle past the TTL) to /cost and the status line's prompt_cache field No entry names this
  • Added /reload-plugins to headless sessions, so it appears in the Claude Code Desktop and SDK command lists Probably marketplace-not-found-error-now-distinguishes-registry-read, new-plugin-reloadremote-session-restriction-messages, new-plugin-dev-mode-hot-reload-with-a-reload-storm-circuit-b, cloud-session-plugin-visibility-panel, reload-plugins-command-now-works-non-interactively
  • Added a text form of /advisor (/advisor, /advisor <model>, /advisor off) for the desktop app, Remote Control, and other headless (-p/Agent SDK) sessions Probably advisor-command-reports-a-consent-pending-telemetry-state
  • Added oidc.scope_on_refresh to the Claude apps gateway for IdPs that return an id_token on refresh only when asked for openid again No entry names this
  • Added Claude apps gateway support for newer Claude Desktop keys in desktop policy blocks, including userPluginMarketplacesEnabled and userPluginUploadsEnabled Probably admin-toggles-for-user-added-pluginsmarketplaces
  • Fixed Edit/Write/Read permission rules whose path contains parentheses being dropped as invalid or ignored by the Bash sandbox, which left "read-only" folders writable Probably bootstrap-config-intake-reworked-with-fail-closed-handling-a, plugin-marketplace-errors-now-distinguish-unreadable-catalog, settings-schema-metadata-gains-an-m365-config-reader-and-hyb, new-telemetry-event-tracks-sandbox-filesystem-rule-sync-comp, cd-then-read-deny-rule-circuit-breaker-removed, plugin-cache-miss-diagnostics-now-record-install-path-and-se, marketplace-not-found-errors-can-now-be-suppressed-when-regi, sandbox-read-deny-setting-now-surfaced-in-file-denial-reason, new-remaining-field-on-artifact-handover-read-result-no, argument-scoped-permission-rules-for-built-in-tool-controls, cloudremote-sessions-get-a-read-only-skills-dialog, new-proactive-permission-mode-resolution
  • Fixed one file permission rule with an uncompilable pattern (e.g. an unclosed [) making every file edit fail with Invalid regular expression; such a deny rule now guards the literal path it spells No entry names this
  • Fixed Bash permission checks auto-approving zsh commands that hide a command substitution in a REPORTTIME, REPORTMEMORY or DIRSTACKSIZE assignment; these now prompt for approval Nothing to match on
  • Fixed Bedrock model discovery, token counting and AWS SSO/STS credential calls failing with "unable to get local issuer certificate" when the corporate root CA is only in the OS certificate store No entry names this
  • Fixed permissions.blockReadsOutsideWorkingDirectories on macOS hiding the user's git config from sandboxed git and hiding a worktree-isolated sub-agent's own checkout No entry names this
  • Fixed managed settings not loading for claude.ai Enterprise/Team users who also had a leftover API key from an earlier /login No entry names this
  • Fixed /status listing a signed-in claude.ai account and a configured API key as if both were in effect; the credential not in use is now marked Probably unreadable-settings-error-now-covers-sandbox-settings-too-a, new-cloud-terminal-restriction-message-for-statusline
  • Fixed managed skillOverrides entries keyed on a bundled skill's alias (e.g. checkup for /doctor) not applying, and Skill(name) deny rules not covering a nested skill listed as <dir>:name No entry names this
  • Fixed model: fable agents ignoring the [1m] tag on an ANTHROPIC_DEFAULT_FABLE_MODEL pin and silently running with a 200K context window No entry names this
  • Fixed the /model picker not showing Fable 5.1 for organizations that can use it, which was only accepted when typed as /model claude-fable-5-1 Probably new-unrecognized-model-telemetry-on-model-switch, model-switch-now-probes-availability-before-showing-the-pick, fable-51-advisor-feature-surfaced-with-setup-prompt
  • Fixed prompt caching on Claude Fable 5.1 not covering the context attached after tool results, so it was re-sent as uncached input on every tool-call turn Nothing to match on
  • Fixed model switching staying blocked for the rest of the session after a plugin hook load failure; each switch now re-checks and the refusal names the cause Nothing to match on
  • Fixed model switching being blocked for the session when an organization-managed plugin's marketplace could not be loaded Nothing to match on
  • Fixed SDK-provided MCP servers (e.g. Desktop connectors) sometimes missing from the first turn and only appearing on the next one Nothing to match on
  • Fixed Claude in Chrome tools failing with "Not connected" mid-task in cloud-hosted claude.ai sessions when a connector was added or removed No entry names this
  • Fixed flags, joined emoji and accented letters splitting across wrapped lines, and stale text staying on screen when a flag or joined emoji falls in the terminal's last two columns (now shown as ) Nothing to match on
  • Fixed Remote Control accepting a model pick that is not a valid model name; it is now refused with an error instead of failing on the next message Nothing to match on
  • Fixed /rewind and --rewind-files reporting success when checkpoint backup files were missing and nothing was actually restored Probably resumerewind-dialog-gains-a-confirmdescription-override
  • Fixed /rewind leaving stale file-read tracking from the rewound-away turns, which caused "File unchanged since last read" stubs and full-file re-injection after external edits Probably resumerewind-dialog-gains-a-confirmdescription-override
  • Fixed -p --resume/--continue (as used by the desktop app) failing on every retry once a session's worktree directory lost its git metadata; it now fails once, then resumes without the worktree Probably worktree-session-cleanup-on-resume-consolidated-into-a-share
  • Fixed a subagent that resumed another agent via SendMessage never being woken by that agent's completion (the notification went to the main conversation instead) Nothing to match on
  • Fixed agent teams: an in-process teammate's transcript losing messages, or going blank, during long API retry waits (e.g. under CLAUDE_CODE_RETRY_WATCHDOG) as retry notices evicted real messages No entry names this
  • Fixed a session that moved to the background appearing twice in ListAgents (once as a phantom "interactive" twin with the same name) and receiving SendMessage deliveries in the viewer Nothing to match on
  • Fixed intermittent "task output swap refused" errors when many sessions share a project directory No entry names this
  • Fixed Ctrl+Z in fullscreen leaving the shell on the alternate screen, drawn over the paused interface Nothing to match on
  • Fixed Workflow tool subagents being restarted as stalled while a long context compaction was still in progress Nothing to match on
  • Fixed plugins from a URL marketplace failing to install with "marketplace entry path does not stay inside the marketplace directory" when a host app (e.g. Claude Desktop) stores it as a directory Nothing to match on
  • Fixed an extra browser tab opening when an artifact is published in a session you're driving from claude.ai, the desktop app, or mobile (Remote Control) Nothing to match on
  • Fixed the Artifact tool's first call failing with an "Invalid tool parameters" validation error in some Cowork sessions No entry names this
  • Fixed IDE line selections being dropped when running a skill or slash command (the "N lines selected" context now reaches Claude) No entry names this
  • Fixed repository detection for GitLab projects in nested subgroups (e.g. gitlab.com/group/subgroup/project) No entry names this
  • Fixed owner/repo#123 issue references in rendered output linking to github.com when working in a GitLab repository; they now link to the gitlab.com issue No entry names this
  • Glob/Grep: Fixed the search path being probed on disk before the permission check; a missing path is now reported after permission is decided, as Read does Nothing to match on
  • Reverted the 2.1.259 change applying Read() deny rules to Bash arguments; it denied npm run build under a Read(.//build/) rule in every mode and made cd … && grep prompt even in auto mode Probably cd-then-read-deny-rule-circuit-breaker-removed
  • Improved structured output: Workflow agent({schema}) rejects a JSON Schema that can never be satisfied up front, and retry-cap errors now include the last validation failure No entry names this
  • Improved deleting a background session whose worktree has unpushed commits: the message now names the branch and commit count, and deleting again discards the worktree Nothing to match on
  • Improved the Claude apps gateway's refresh-failure log to name the step that failed Nothing to match on
  • Improved idle CPU usage of non-interactive (-p / SDK) sessions Nothing to match on
  • Improved the Claude apps gateway on Amazon Bedrock: input tokens for an aborted request are now counted with AWS's free CountTokens API (grant bedrock:CountTokens) instead of a one-token request No entry names this
  • Improved the settings error for rules such as Edit(C:\dir\(name)\**), where \( is read as an escaped parenthesis rather than a path separator, to suggest an unambiguous spelling No entry names this
  • Improved auto-compact for 1M-context models: Opus and Fable sessions now compact shortly before the 1M-token limit, and recovery compaction on very large contexts no longer times out at 10 minutes Nothing to match on
  • Improved /ultrareview and claude ultrareview to wait up to 45 minutes (previously 30) for long-running cloud reviews No entry names this
  • Improved /effort on Claude Fable 5.1 so changing effort mid-session no longer invalidates the prompt cache No entry names this
  • Updated the bundled claude-api skill so its Go, Java, and C# samples use current-generation model IDs, and clarified that cheaper worker or sub-agent models should be current-generation too No entry names this
  • Changed ctrl+l / cmd+k in fullscreen mode to clear the transcript view like a terminal clear; scroll up to see earlier messages Nothing to match on
  • Changed permission rules with text after the closing parenthesis (e.g. Bash(ls) x), which never matched anything, to be reported as invalid settings instead of being silently ignored No entry names this
  • Changed server-managed settings so a managed CLAUDE.md (claudeMd) no longer triggers the security approval dialog; hooks, shell-command, sandbox, and unsafe env settings still require approval No entry names this
  • Changed Claude in Chrome to follow your organization's Claude in Chrome admin setting; when an admin turns it off, --chrome, /chrome and the browser tools are unavailable Probably claude-in-chrome-mcp-tool-calls-now-re-check-org-policy-at-c
  • Changed Claude apps gateway to send orgPluginSettings in the list form read by Claude Desktop 1.15200.0 and later; older desktops ignore it Probably orgpluginsettings-served-in-a-new-array-form-but-old-deskto
  • Changed Claude apps gateway to also refuse to start, naming the field, when a desktop policy misspells a field in a nested object of a managedMcpServers or orgPluginSettings entry Probably managed-mcp-server-config-gets-a-formal-deprecationmigratio, orgpluginsettings-served-in-a-new-array-form-but-old-deskto, mcp-toolpolicy-simplified-ask-session-mode-dropped-from-the, new-credential-header-safety-warning-for-mcp-config-and-infe
  • Changed commands typed at the ! bash-mode prompt to run outside the sandbox even when strict sandbox mode (sandbox.allowUnsandboxedCommands: false) is on, like typing into your own terminal No entry names this
  • Changed self-hosted runner --kill-session-after-min to release a session that is only waiting on its user (paused, resumable on the next message) instead of killing it and reporting a failure Probably kill-session-after-min-clarified-idleprompt-parked-session
  • Removed the one-hour time limit on background commands started by subagents; they now run until they exit or are stopped, matching the main session Nothing to match on
  • [VSCode] Added the selected effort level to the footer model pill, fixed a stale effort level after switching models, and returned the footer pills to their earlier compact size Nothing to match on
  • [VSCode] Added Open and Closed to the session list's status filter menu Nothing to match on
  • [VSCode] Fixed the welcome screen disappearing in a new session when Remote Control turns on automatically Nothing to match on
  • [VSCode] Fixed the session history picker loading a session a second time when it is already open in another tab; it now switches to that tab Nothing to match on
  • [VSCode] Fixed the session tab's Rename command silently doing nothing while the tab's view was reloading; it now always applies Nothing to match on
  • [VSCode] Fixed a half-finished message, an empty tool card or an extra "Thought for" line staying on screen after Claude Code retried a dropped response No entry names this
  • [VSCode] Fixed "Enable Remote Control for all sessions" not applying to a session tab that was still starting when the toggle was flipped No entry names this
System prompt

No change to the system prompt since v2.1.259.

Claude Code, interactive mode

Documentation

What the docs did around this release

285 documentation changes were recorded within 24 hours either side of this release, nearest first. The closest 12 are below. They're here because they happened near this release in time. That's not a claim that this release caused the edit, or that the page documents anything in it.

Every time above is when this site's poller recorded the change, which is up to half an hour after the edit on an ordinary read and up to a day after it on a full sweep. Upstream's own edit time is used instead wherever a capture carries one. None of these do.

Switches

Every name in this release

The 211 literal strings found in the bundle, with the number of entries that name each one. Picking one searches for it. A name is here because this build's code mentions it, which is not the same as it working or being finished.

Slash commands

CLI flags

Environment variables

Settings and names in the code