Claude Code 2.1.260
66changes- Add a fullscreen /diff panel beside the conversation.
- Show likely causes of prompt-cache misses.
- Use /advisor controls in headless sessions.
- Improve auto-compaction for 1M-context models.
- Preserve the Fable 5.1 prompt cache when effort changes.
New features
8Live diff panel in fullscreen
Use /diff in fullscreen mode to view live uncommitted edits beside the conversation.
▤ In the docsExplain prompt cache misses
Find likely prompt-cache miss causes in /cost and the status line prompt_cache field.
Text commands for /advisor
Control /advisor by text in Desktop, Remote Control and headless or Agent SDK sessions.
More changes (5) Fewer changes
Reload plugins in headless sessions
Reload plugins in headless sessions, including the Desktop and SDK command lists.
OIDC scope on token refresh
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
New Claude Desktop policy keys
Added Claude apps gateway support for newer Claude Desktop keys in desktop policy blocks, including userPluginMarketplacesEnabled and userPluginUploadsEnabled
[VSCode] Effort level in the footer
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
[VSCode] Open and Closed session filters
Added Open and Closed to the session list's status filter menu
Improvements
18Compaction for 1M-context models
Opus and Fable compact near the 1M limit; recovery compaction on very large contexts no longer times out at 10 minutes.
Preserve the cache when changing Fable effort
Changing /effort mid-session preserves the prompt cache on Claude Fable 5.1.
Validate workflow output schemas
Workflow agents reject impossible JSON schemas up front and include the last validation failure when retries run out.
More changes (15) Fewer changes
Delete worktrees with unpushed commits
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
Clearer gateway refresh failures
Improved the Claude apps gateway's refresh-failure log to name the step that failed
Lower idle CPU usage
Improved idle CPU usage of non-interactive (-p / SDK) sessions
Count aborted Bedrock request tokens
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
Clearer permission path errors
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
Longer cloud review timeout
Improved /ultrareview and claude ultrareview to wait up to 45 minutes (previously 30) for long-running cloud reviews
Updated Claude API skill examples
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
Clear the fullscreen transcript view
Changed ctrl+l / cmd+k in fullscreen mode to clear the transcript view like a terminal clear; scroll up to see earlier messages
Validate trailing permission-rule text
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
Managed CLAUDE.md approval behavior
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
Honor Chrome organization settings
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
Updated Desktop plugin policy format
Changed Claude apps gateway to send orgPluginSettings in the list form read by Claude Desktop 1.15200.0 and later; older desktops ignore it
Validate nested Desktop policy fields
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
Run interactive Bash outside the sandbox
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
Pause idle self-hosted sessions
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
Bug fixes
39Permission paths with parentheses
Fixes ignored file-permission rules on paths with parentheses that could leave read-only folders writable.
Approval checks for zsh assignments
zsh assignments that hide command substitution now require approval instead of being automatically approved.
Managed settings with leftover API keys
Fixed managed settings not loading for claude.ai Enterprise/Team users who also had a leftover API key from an earlier /login
Skill aliases and nested deny rules
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
More changes (35) Fewer changes
Invalid file permission patterns
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
Bedrock system certificate support
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
Sandboxed git configuration access
Fixed permissions.blockReadsOutsideWorkingDirectories on macOS hiding the user's git config from sandboxed git and hiding a worktree-isolated sub-agent's own checkout
Show which credentials are active
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
Fable agent 1M context selection
Fixed model: fable agents ignoring the [1m] tag on an ANTHROPIC_DEFAULT_FABLE_MODEL pin and silently running with a 200K context window
Fable 5.1 in the model picker
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
Fable 5.1 tool-result caching
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
Model switching after hook failures
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
Model switching after marketplace failures
Fixed model switching being blocked for the session when an organization-managed plugin's marketplace could not be loaded
MCP tools on the first SDK turn
Fixed SDK-provided MCP servers (e.g. Desktop connectors) sometimes missing from the first turn and only appearing on the next one
Chrome connection after connector changes
Fixed Claude in Chrome tools failing with "Not connected" mid-task in cloud-hosted claude.ai sessions when a connector was added or removed
Emoji and accented text wrapping
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 …)
Validate Remote Control model choices
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
Report missing rewind checkpoints
Fixed /rewind and --rewind-files reporting success when checkpoint backup files were missing and nothing was actually restored
Clear read tracking after rewind
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
Resume after missing worktree metadata
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
Wake subagents after resumed agents finish
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)
Preserve teammate transcripts during retries
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
Remove duplicate background session entries
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
Concurrent task output writes
Fixed intermittent "task output swap refused" errors when many sessions share a project directory
Restore the terminal after Ctrl+Z
Fixed Ctrl+Z in fullscreen leaving the shell on the alternate screen, drawn over the paused interface
Avoid restarts during context compaction
Fixed Workflow tool subagents being restarted as stalled while a long context compaction was still in progress
Install plugins from URL marketplaces
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
Avoid duplicate artifact browser tabs
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)
Validate the first Artifact call
Fixed the Artifact tool's first call failing with an "Invalid tool parameters" validation error in some Cowork sessions
Preserve IDE selections in skills
Fixed IDE line selections being dropped when running a skill or slash command (the "N lines selected" context now reaches Claude)
Nested GitLab subgroup detection
Fixed repository detection for GitLab projects in nested subgroups (e.g. gitlab.com/group/subgroup/project)
Correct GitLab issue links
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
Check permissions before search paths
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
Revert Bash argument read-deny changes
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
[VSCode] Keep the welcome screen visible
Fixed the welcome screen disappearing in a new session when Remote Control turns on automatically
[VSCode] Switch to already-open sessions
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
[VSCode] Rename during view reloads
Fixed the session tab's Rename command silently doing nothing while the tab's view was reloading; it now always applies
[VSCode] Clear partial responses after retries
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
[VSCode] Remote Control for starting sessions
Fixed "Enable Remote Control for all sessions" not applying to a session tab that was still starting when the toggle was flipped