Added a diff panel that opens beside the conversation in fullscreen mode and shows your uncommitted changes as Claude edits; toggle it with `/diff`
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
Added/reload-plugins to headless sessions, so it appears in the Claude Code Desktop and SDK command lists
Added a text form of /advisor (`/advisor`, `/advisor <model>`, `/advisor off`) for the desktop app, Remote Control, and other headless (`-p`/Agent SDK) sessions
Addedoidc.scope_on_refresh to the Claude apps gateway for IdPs that return an id_token on refresh only when asked for `openid` again
Added Claude apps gateway support for newer Claude Desktop keys in `desktop` policy blocks, including `userPluginMarketplacesEnabled` and `userPluginUploadsEnabled`
VSCodeAdded 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
VSCodeAdded Open and Closed to the session list's status filter menu
~changed 10
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
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
Changedctrl+l / `cmd+k` in fullscreen mode to clear the transcript view like a terminal `clear`; scroll up to see earlier messages
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
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
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
Changed Claude apps gateway to send `orgPluginSettings` in the list form read by Claude Desktop 1.15200.0 and later; older desktops ignore it
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
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
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
−removed 1
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
↑improved 9
Improvedstructured 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
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
Improved the Claude apps gateway's refresh-failure log to name the step that failed
Improved idle CPU usage of non-interactive (`-p` / SDK) sessions
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
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
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
Improved/ultrareview and `claude ultrareview` to wait up to 45 minutes (previously 30) for long-running cloud reviews
Improved/effort on Claude Fable 5.1 so changing effort mid-session no longer invalidates the prompt cache
✓fixed 38
FixedEdit/`Write`/`Read` permission rules whose path contains parentheses being dropped as invalid or ignored by the Bash sandbox, which left "read-only" folders writable
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
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
FixedBedrock 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
Fixed managed settings not loading for claude.ai Enterprise/Team users who also had a leftover API key from an earlier `/login`
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
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`
Fixedmodel: fable agents ignoring the `[1m]` tag on an `ANTHROPIC_DEFAULT_FABLE_MODEL` pin and silently running with a 200K context window
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`
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
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
Fixed model switching being blocked for the session when an organization-managed plugin's marketplace could not be loaded
FixedSDK-provided MCP servers (e.g. Desktop connectors) sometimes missing from the first turn and only appearing on the next one
Fixed Claude in Chrome tools failing with "Not connected" mid-task in cloud-hosted claude.ai sessions when a connector was added or removed
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 `…`)
FixedRemote 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
Fixed/rewind and `--rewind-files` reporting success when checkpoint backup files were missing and nothing was actually restored
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
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
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)
Fixedagent 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
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
Fixed intermittent "task output swap refused" errors when many sessions share a project directory
Fixed Ctrl+Z in fullscreen leaving the shell on the alternate screen, drawn over the paused interface
Fixed Workflow tool subagents being restarted as stalled while a long context compaction was still in progress
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
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)
Fixed the Artifact tool's first call failing with an "Invalid tool parameters" validation error in some Cowork sessions
Fixed IDE line selections being dropped when running a skill or slash command (the "N lines selected" context now reaches Claude)
Fixed repository detection for GitLab projects in nested subgroups (e.g. `gitlab.com/group/subgroup/project`)
Fixedowner/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
Glob/GrepFixed the search path being probed on disk before the permission check; a missing path is now reported after permission is decided, as Read does
VSCodeFixed the welcome screen disappearing in a new session when Remote Control turns on automatically
VSCodeFixed the session history picker loading a session a second time when it is already open in another tab; it now switches to that tab
VSCodeFixed the session tab's Rename command silently doing nothing while the tab's view was reloading; it now always applies
VSCodeFixed a half-finished message, an empty tool card or an extra "Thought for" line staying on screen after Claude Code retried a dropped response