What's changed
- Added Claude Fable 5.1 (
claude-fable-5-1), now the default Fable model — 1M context, $10/$50 per Mtok with $0.25/Mtok cache reads - Added "Time format" (
timeFormat) andtimeZonesettings: 12-hour, 24-hour, 24-hour UTC, or a strftime pattern for the turn-end clock and transcript-view timestamps - Added a Containment Escape rule to auto mode so cloud metadata-credential fetches, egress evasion, and cross-tenant reach are no longer auto-approved unless your environment marks them expected
- Added
CLAUDE_CODE_SUBAGENT_MODEL_FORCEto applyCLAUDE_CODE_SUBAGENT_MODEL(or the main model) to every subagent, ignoring per-spawn and agent-definition model overrides - Added
sin/effortto change effort for the current session only, matching/model - Added a
/doctorwarning for stale sandbox mask files left by a killed session - Added a one-time prompt in auto mode before the first file read outside the working directories, with the option to block such reads (
permissions.blockReadsOutsideWorkingDirectories) - Added support for a gateway-supplied
descriptionon discovered/modelpicker entries (CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY); entries without one still read "From gateway" - Fixed settings in a
.claude/folder created after startup not being picked up until restart - Fixed sessions dispatched from an agent view opened with
←always starting in the original session's permission mode, overriding the target directory'sdefaultModeand the agent'spermissionMode - Fixed
keybindings.jsonrebinds of Ctrl+G being ignored inclaude agents; its Ctrl+S / Ctrl+T are now rebindable via the newAgentscontext - Fixed background sessions failing to start on macOS npm installs during a self-update, and on Windows when a stale daemon lock file pointed at a reused process id
- Fixed the working spinner stopping while a response streams behind a slash-command panel
- Fixed a background session's
state.jsondetailrepeating its own dispatch prompt after a scheduled wake-up - Fixed
claude agentskeeping a background session you re-prompted buried in Completed after it finished again; Completed now orders by the latest finish - Fixed
claude --bgfrom a directory that was just deleted reporting "backgrounded" and leaving a crashed session row; it now prints the reason and exits 1 - Fixed Remote Control connecting mid-session re-sending the Bash tool definition, causing a prompt-cache miss
- Fixed a doubly-listed custom
Authorizationheader overriding the configured credential on Bedrock, Mantle, Vertex, and WIF, and the Vertex setup wizard picking up a leftover Anthropic profile from~/.config/anthropic - Fixed Claude apps gateway sending stray host
Authorizationor profile headers to Foundry, Vertex, and Bedrock, and Foundry Entra ID upstreams not starting whenANTHROPIC_FOUNDRY_API_KEYis set - Fixed a leftover Anthropic API key or auth token being sent alongside your Foundry subscription key in API-key mode
- Fixed
/scheduleroutines whose prompt was saved without a message role and then ran with nothing to do - Fixed
claude agentsnot saying that a background session is waiting for you to approve a message from another session, or who sent it - Fixed a prompt stashed with Ctrl+S inside an opened background session being lost when the session went idle or was stopped and then reopened
- Fixed telemetry (OTEL) settings pushed through server-managed settings being ignored on warm starts, including desktop-app Code sessions
- Fixed a teammate permission request being answered twice when the leader's mailbox write was briefly locked
- Fixed a phantom duplicate slash-command row rendering below the in-flight turn while a command's auto-continued response streamed
- Fixed
policyHelpertimeoutMsandrefreshIntervalMsvalues above the timer maximum (2147483647) causing failures or re-runs every millisecond; they are now clamped - Fixed the token counter freezing or crawling after switching to another subagent's transcript, and made background subagents' and teammates' counters update live while a response streams
- Fixed sandbox network hosts written with a trailing dot (
example.com.): adeniedDomainsentry didn't block the host inside the sandbox, and "don't ask again" for such a host kept prompting - Fixed dismissing the Remote Control consent prompt (Esc, or
natclaude remote-control) counting as consent, so the next request connected without asking - Fixed
/mcpreconnect and enable still connecting a settings-file MCP server that a managed MCP allow/deny list orstrictPluginOnlyCustomizationloaded after startup should block - Fixed
claude mcp removeleaving a remote server's stored OAuth credentials behind whenstrictPluginOnlyCustomizationlocks MCP to plugin-only servers - Fixed Remote Control (
claude remote-control) sessions started from the Claude app ignoring the selected model and running on the machine's default instead - Fixed
--disallowedToolsand session deny rules being dropped after the first settings reload whenallowManagedPermissionRulesOnlyis enabled - Fixed
--resumelisting a backgrounded conversation twice and--continuereopening its stalled pre-background copy;--continuenow also opens finished background sessions - Fixed fullscreen mode not letting you click
!shell command output to expand it - Fixed background sessions left running an older Claude Code binary piling up across auto-updates instead of being retired
- Fixed
claude agents --jsonbriefly switching the terminal to raw mode and undoing another program's terminal settings on exit - Fixed Proactive output style sessions busy-looping with filler messages and repeated log reads instead of idling while a background command or Monitor they started is still running