The whole hunk
from line 6, old and new numbered
/
lines
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 6
66
77Run `claude --version` to check your installed version.
88
9<Update label="2.1.260" description="September 3, 2026">
10 * Added a diff panel that opens beside the conversation in fullscreen mode and shows your uncommitted changes as Claude edits; toggle it with `/diff`
11 * 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
12 * Added `/reload-plugins` to headless sessions, so it appears in the Claude Code Desktop and SDK command lists
13 * Added a text form of `/advisor` (`/advisor`, `/advisor <model>`, `/advisor off`) for the desktop app, Remote Control, and other headless (`-p`/Agent SDK) sessions
14 * 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
15 * Added Claude apps gateway support for newer Claude Desktop keys in `desktop` policy blocks, including `userPluginMarketplacesEnabled` and `userPluginUploadsEnabled`
16 * 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
17 * 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
18 * 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
19 * 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
20 * Fixed `permissions.blockReadsOutsideWorkingDirectories` on macOS hiding the user's git config from sandboxed git and hiding a worktree-isolated sub-agent's own checkout
21 * Fixed managed settings not loading for claude.ai Enterprise/Team users who also had a leftover API key from an earlier `/login`
22 * 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
23 * 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`
24 * Fixed `model: fable` agents ignoring the `[1m]` tag on an `ANTHROPIC_DEFAULT_FABLE_MODEL` pin and silently running with a 200K context window
25 * 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`
26 * 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
27 * 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
28 * Fixed model switching being blocked for the session when an organization-managed plugin's marketplace could not be loaded
29 * Fixed SDK-provided MCP servers (e.g. Desktop connectors) sometimes missing from the first turn and only appearing on the next one
30 * Fixed Claude in Chrome tools failing with "Not connected" mid-task in cloud-hosted claude.ai sessions when a connector was added or removed
31 * 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 `…`)
32 * 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
33 * Fixed `/rewind` and `--rewind-files` reporting success when checkpoint backup files were missing and nothing was actually restored
34 * 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
35 * 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
36 * 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)
37 * 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
38 * 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
39 * Fixed intermittent "task output swap refused" errors when many sessions share a project directory
40 * Fixed Ctrl+Z in fullscreen leaving the shell on the alternate screen, drawn over the paused interface
41 * Fixed Workflow tool subagents being restarted as stalled while a long context compaction was still in progress
42 * 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
43 * 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)
44 * Fixed the Artifact tool's first call failing with an "Invalid tool parameters" validation error in some Cowork sessions
45 * Fixed IDE line selections being dropped when running a skill or slash command (the "N lines selected" context now reaches Claude)
46 * Fixed repository detection for GitLab projects in nested subgroups (e.g. `gitlab.com/group/subgroup/project`)
47 * 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
48 * 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
49 * 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
50 * 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
51 * 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
52 * Improved the Claude apps gateway's refresh-failure log to name the step that failed
53 * Improved idle CPU usage of non-interactive (`-p` / SDK) sessions
54 * 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
55 * 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
56 * 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
57 * Improved `/ultrareview` and `claude ultrareview` to wait up to 45 minutes (previously 30) for long-running cloud reviews
58 * Improved `/effort` on Claude Fable 5.1 so changing effort mid-session no longer invalidates the prompt cache
59 * 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
60 * Changed `ctrl+l` / `cmd+k` in fullscreen mode to clear the transcript view like a terminal `clear`; scroll up to see earlier messages
61 * 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
62 * 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
63 * 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
64 * Changed Claude apps gateway to send `orgPluginSettings` in the list form read by Claude Desktop 1.15200.0 and later; older desktops ignore it
65 * 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
66 * 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
67 * 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
68 * 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
69 * \[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
70 * \[VSCode] Added Open and Closed to the session list's status filter menu
71 * \[VSCode] Fixed the welcome screen disappearing in a new session when Remote Control turns on automatically
72 * \[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
73 * \[VSCode] Fixed the session tab's Rename command silently doing nothing while the tab's view was reloading; it now always applies
74 * \[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
75 * \[VSCode] Fixed "Enable Remote Control for all sessions" not applying to a session tab that was still starting when the toggle was flipped
76</Update>
77
978<Update label="2.1.259" description="September 2, 2026">
1079 * Added `managedMcpServers` managed setting: organizations can provide HTTP/SSE MCP servers to every user (same entry shape as `.mcp.json`); entries that name a command to run are skipped
1180 * Added `--permission-prompts none` for unattended headless hosts: anything that would prompt is denied automatically while the active permission mode (including auto mode) keeps deciding
from line 2001
19322001<Update label="2.1.169" description="June 8, 2026">
19332002 * Added `--safe-mode` flag (and `CLAUDE_CODE_SAFE_MODE`) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting
19342003 * Added `/cd` command to move a session to a new working directory without breaking the prompt cache mid-session
1935 * Added a `disableBundledSkills` setting and `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` environment variable to hide bundled skills, workflows, and built-in slash commands from the model
1936 * Fixed Up/Down arrows jumping to command history past the wrapped rows of a long input line — they now move through each visual row first, and history recall enters at the near edge
1937 * Fixed enterprise managed MCP policies (`allowedMcpServers`/`deniedMcpServers`) not being enforced on reconnect, IDE-typed configs, `--mcp-config` servers during the first session after install, or before remote settings loaded; also fixed slow cold starts for orgs without remote settings
1938 * Fixed a \~30-50ms UI stall at the start of each turn for macOS users logged in with claude.ai credentials
1939 * Fixed `claude -p` being slow or appearing to hang on Windows while waiting for the slash-command/skill scan (regression in 2.1.161)
1940 * Fixed Remote Control getting stuck on "reconnecting" after resuming a session when an OAuth token refresh happened at the same time
1941 * Fixed Git Credential Manager's "Connect to GitHub" popup appearing on Windows at startup when background git commands ran without cached credentials
1942 * Fixed footer hints (e.g. "esc to interrupt") not showing for users with a custom statusline
1943 * Fixed stale permission and dialog prompts reappearing every time you reattached to a remote session whose worker had died while waiting on them
1944 * Fixed `claude agents --json` omitting blocked and just-dispatched background sessions; added `--all` to include completed sessions, plus new `id` and `state` fields
1945 * Fixed agents view leaving a stale/garbled frame after navigating back from an agent on WSL in Windows Terminal
1946 * Fixed background agents ignoring project-level settings `env` values (e.g. `ANTHROPIC_MODEL`) when dispatched onto a pre-warmed worker
1947 * Fixed MCPB plugin cache being spuriously invalidated on Windows, causing unnecessary re-extraction
1948 * Fixed plugin `.in_use` PID lock files accumulating without bound; stale markers from crashed sessions are now swept once per day
1949 * Fixed untrusted project settings being able to set OTEL client-certificate paths without trust confirmation
1950 * `/workflows` now opens immediately even while a turn is in progress
1951 * Improved `TaskCreate` reliability: malformed inputs are repaired automatically and validation errors for unloaded tools include the schema
1952 * Improved the error message shown when your organization has disabled API key authentication, with guidance based on where the active API key comes from
1953 * Reduced CPU usage while responses stream and during spinner animations
1954 * Restored a default 5-minute idle timeout on Vertex/Foundry so a stalled stream aborts instead of hanging indefinitely; set `API_FORCE_IDLE_TIMEOUT=0` to opt out
1955 * Remote-managed settings with an invalid entry now apply their remaining valid policies and surface the validation error, instead of silently dropping the whole payload
1956 * Background sessions now preserve `--ide`, `--chrome`, `--bare`, `--remote-control`, and other flags across retire→wake, and respawn state validation was hardened
1957 * Background sessions are now told that shared-checkout edits are blocked until they enter a worktree, avoiding a wasted rejected edit before `EnterWorktree`
1958 * The "CLAUDE.md is too long" warning threshold now scales with the model's context window
1959 * Auto-updater on Windows now stops retrying within a session once `claude.exe` is held by another process
1960 * Improved color contrast for skill tags in the slash-command menu
1961 * Promo credit claims for Apple/Google-billed subscribers without a payment method now explain where to add one
1962 * Added a tip suggesting `claude agents` when running multiple concurrent sessions
1963</Update>
1964
1965<Update label="2.1.168" description="June 6, 2026">
1966 * Bug fixes and reliability improvements
1967</Update>
1968
1969<Update label="2.1.167" description="June 6, 2026">
1970 * Bug fixes and reliability improvements
1971</Update>
1972
1973<Update label="2.1.166" description="June 6, 2026">
1974 * Added `fallbackModel` setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; `--fallback-model` now also applies to interactive sessions
1975 * Added glob pattern support in deny rule tool-name position (`"*"` denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup
1976 * Hardened cross-session messaging: messages relayed via `SendMessage` from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them
1977 * `MAX_THINKING_TOKENS=0`, `--thinking disabled`, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)
1978 * Claude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately
1979 * `claude update` now announces the target version before downloading instead of going silent
1980 * `claude agents`: typing a URL into the list now filters to the session whose first prompt contained it
1981 * Fixed a recurring "image could not be processed" error and extra token usage when an unprocessable image was sent in a session
1982 * Fixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup
1983 * Fixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output
1984 * Fixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)
1985 * Fixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes
1986 * Fixed orphaned `claude --bg-pty-host` processes spinning at 100% CPU after the daemon dies while connected on macOS
1987 * Fixed voice mode requiring `/login` to clear a stale auth check after toggling `/voice`
1988 * Fixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies
1989 * Fixed managed-settings `allowedMcpServers`/`deniedMcpServers` predicates not matching when they use `${VAR}` references
1990 * Fixed background agent sessions that entered a git worktree crash-looping with "No conversation found" when reopened from `claude agents`
1991 * Fixed duplicated thinking text in the Ctrl+O transcript view while streaming
1992 * Fixed `/doctor` showing a contradictory failed "Not inside a remote session" check when run inside a remote session
1993 * Fixed the cursor sticking at the end of the first line when typing a multiline prompt in the `claude agents` dispatch and reply inputs
1994 * Fixed blank lines appearing between background agent rows in the task list on terminals without Unicode support
1995</Update>
1996
1997<Update label="2.1.165" description="June 5, 2026">
1998 * Bug fixes and reliability improvements
1999</Update>
2000
2001<Update label="2.1.163" description="June 4, 2026">
2002 * Added `requiredMinimumVersion` and `requiredMaximumVersion` managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version
2003 * Added `/plugin list` command to list installed plugins, with `--enabled`/`--disabled` filters
2004 * Added a "c to copy" shortcut to `/btw` that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere
2005 * Hooks: Stop and SubagentStop hooks can now return `hookSpecificOutput.additionalContext` to give Claude feedback and keep the turn going without being labeled a hook error
2006 * Skills: added `\$` escape syntax to include a literal `$` before a digit in command bodies
2007 * stdio MCP servers now receive the same `CLAUDE_CODE_SESSION_ID` as hooks/Bash on `--resume`
2008 * Fixed `claude -p` hanging forever after its final result when a backgrounded command never exits — background shells are now stopped \~5s after the result once stdin closes
2009 * Fixed `claude -p` failing with "ANTHROPIC\_API\_KEY required" on Bedrock/Vertex/Foundry when `CI=true` and no Anthropic API key is set
2010 * Fixed bash commands failing under bazel and EDR-protected Go workflows: `$TMPDIR` was overridden to `/tmp/claude-{uid}` for all commands instead of only sandboxed ones (regression in 2.1.154)
2011 * Fixed Bash commands failing on Windows with "EEXIST: file already exists" on the session-env directory when it has the read-only attribute or is inside OneDrive
2012 * Fixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory
2013 * Fixed background sessions in `claude agents` losing their running background tasks when reattached after a Claude Code update
2014 * Fixed terminal misalignment and a multi-second hang when exiting the agent view by pressing Esc
2015 * Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone
2016 * Fixed keyboard input becoming permanently unresponsive after a paste operation whose end marker is dropped by the terminal
2017 * Fixed hook `if: "Bash(...)"` conditions firing on every Bash command containing `$()` or `$VAR`; the pattern now matches against commands inside subshells and backticks too
2018 * Fixed deny rules on home-directory paths (e.g. `Read(~/Desktop/**)`) not blocking Bash commands that reference the path via `$HOME`
2019 * Fixed a stray "(no content)" line left in the transcript after closing panel dialogs like /mcp and /plugins
2020 * Background agent sessions now update to a new Claude Code version in the background, so opening a session after an update no longer waits on a cold restart
2021 * Clearer descriptions for built-in commands and skills in the / menu
2022 * The subscription-switch suggestion now shows in the startup announcement slot instead of a toast
2023 * `claude agents` dispatching from the state-grouped view now starts the session in the directory the agent view was opened from
2024</Update>
2025
2026<Update label="2.1.162" description="June 3, 2026">
2027 * `claude agents --json` now includes `waitingFor` showing what a waiting session is blocked on (e.g. permission prompt)
2028 * `--tools`: explicitly listing Grep/Glob now provides the dedicated search tools on native builds with embedded search (previously these names were silently ignored)
2029 * `/effort` now confirms whe
2004 * Added a `disableBundledSkills` setting and `CL