Update Sep 4, 2026 tracked by Updatify
2.1.260
-
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
/costand the status line’sprompt_cachefield -
Added
/reload-pluginsto 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 -
Added
oidc.scope_on_refreshto the Claude apps gateway for IdPs that return an id_token on refresh only when asked foropenidagain -
Added Claude apps gateway support for newer Claude Desktop keys in
desktoppolicy blocks, includinguserPluginMarketplacesEnabledanduserPluginUploadsEnabled -
Fixed
Edit/Write/Readpermission 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 withInvalid 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
- 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
-
Fixed
permissions.blockReadsOutsideWorkingDirectorieson macOS hiding the user’s git config from sandboxed git and hiding a worktree-isolated sub-agent’s own checkout -
Fixed managed settings not loading for claude.ai Enterprise/Team users who also had a leftover API key from an earlier
/login -
Fixed
/statuslisting 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
skillOverridesentries keyed on a bundled skill’s alias (e.g.checkupfor/doctor) not applying, andSkill(name)deny rules not covering a nested skill listed as<dir>:name -
Fixed
model: fableagents ignoring the[1m]tag on anANTHROPIC_DEFAULT_FABLE_MODELpin and silently running with a 200K context window -
Fixed the
/modelpicker 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
- Fixed SDK-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
…) - 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
-
Fixed
/rewindand--rewind-filesreporting success when checkpoint backup files were missing and nothing was actually restored -
Fixed
/rewindleaving 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)
-
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 - 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) -
Fixed
owner/repo#123issue references in rendered output linking to github.com when working in a GitLab repository; they now link to the gitlab.com issue - 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
-
Reverted the 2.1.259 change applying
Read()deny rules to Bash arguments; it deniednpm run buildunder aRead(./**/build/**)rule in every mode and madecd … && grepprompt even in auto mode -
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 - 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
/ultrareviewandclaude ultrareviewto wait up to 45 minutes (previously 30) for long-running cloud reviews -
Improved
/efforton Claude Fable 5.1 so changing effort mid-session no longer invalidates the prompt cache -
Updated the bundled
claude-apiskill 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 -
Changed
ctrl+l/cmd+kin fullscreen mode to clear the transcript view like a terminalclear; 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 unsafeenvsettings still require approval -
Changed Claude in Chrome to follow your organization’s Claude in Chrome admin setting; when an admin turns it off,
--chrome,/chromeand the browser tools are unavailable -
Changed Claude apps gateway to send
orgPluginSettingsin 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
desktoppolicy misspells a field in a nested object of amanagedMcpServersororgPluginSettingsentry -
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-minto 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 the one-hour time limit on background commands started by subagents; they now run until they exit or are stopped, matching the main session
- [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
- [VSCode] Added Open and Closed to the session list’s status filter menu
- [VSCode] Fixed the welcome screen disappearing in a new session when Remote Control turns on automatically
- [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
- [VSCode] Fixed the session tab’s Rename command silently doing nothing while the tab’s view was reloading; it now always applies
- [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
- [VSCode] Fixed “Enable Remote Control for all sessions” not applying to a session tab that was still starting when the toggle was flipped