mirror of
https://github.com/anthropics/claude-code.git
synced 2026-08-13 10:22:25 -06:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9923819368 | |||
| 681a8be245 | |||
| 54cc51a08a | |||
| 2bb6069614 | |||
| 53f9910f6e | |||
| 66edf53583 | |||
| 5cf69b18c8 | |||
| 3b272769d0 | |||
| dd79613923 |
+207
@@ -1,5 +1,212 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.229
|
||||
|
||||
- Documented `claude remote-control --continue` for resuming the most recent Remote Control session
|
||||
- Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior
|
||||
- Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams
|
||||
- Added plugin marketplace `command` sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; `mode: "link"` uses it in place
|
||||
- `ListAgents` now marks disconnected Remote Control sessions as `offline` and labels your cloud sessions as `cloud`
|
||||
- Fixed long responses partly disappearing while streaming and being printed twice in the terminal
|
||||
- Fixed a crash to the error screen (including on `--resume` of the affected session) when a tool call had a non-string `glob`, `file_path`, or `command` value
|
||||
- Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window (could also crash `claude --continue`/`--resume` at startup)
|
||||
- Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (`\\?\`) or UNC path
|
||||
- Fixed auto mode failing on every tool call for users who disable the attribution header via `CLAUDE_CODE_ATTRIBUTION_HEADER` (direct Anthropic API connections)
|
||||
- Fixed `/model` rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom `ANTHROPIC_BASE_URL` gateway
|
||||
- Fixed MCP OAuth with strict authorization servers by using `127.0.0.1` instead of `localhost` in the redirect URI
|
||||
- Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal
|
||||
- Fixed the Claude Code Review workflow generated by `/install-github-app` completing without posting its review on the pull request
|
||||
- Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected
|
||||
- Fixed one-shot `claude plugin` commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions
|
||||
- Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit
|
||||
- Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem
|
||||
- Fixed SDK and `--input-format stream-json` sessions getting a 400 API error when a whitespace-only message was submitted
|
||||
- Fixed conversations whose messages alone exceed the API's 32 MB request limit retrying compaction when no images or documents can be stripped; they now fail once with a clear message
|
||||
- Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint
|
||||
- Fixed self-hosted runner and other remote sessions exiting at startup when `managed-mcp.json` is deployed and the server delivers MCP servers; those servers are now skipped with a warning
|
||||
- Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing
|
||||
- Improved workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it (`CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0` disables)
|
||||
- Improved "prompt is too long" errors to explain why automatic compaction could not recover instead of only suggesting `/compact`
|
||||
- Improved sandbox: IPv6 literals in network domain lists are now bracketed (`[::1]:443`), and ambiguous spellings are enforced fail-closed and flagged by `/doctor`
|
||||
- Updated `/login` to repeat the `CLAUDE_CODE_OAUTH_TOKEN` override warning after a successful login
|
||||
- Changed `/commit-push-pr` so git/gh commands with dangerous flags (`--force`, `--amend`, `--no-verify`, etc.) are no longer auto-approved
|
||||
- Changed self-hosted runner Windows startup to require an explicit `--base-dir`; there is no default checkout directory on Windows
|
||||
- [VSCode] "Report a problem" and `/bug` now open the built-in feedback dialog instead of a retired survey link
|
||||
- [VSCode] Made the `/btw` side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts
|
||||
- [VSCode] Added session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once
|
||||
|
||||
## 2.1.228
|
||||
|
||||
- Fixed interactive sessions that could stop redrawing entirely, while the process kept running, after a rare internal layout error
|
||||
- Fixed `git` / Git Bash not being found on Windows when Claude Code is launched from a parent folder of the git installation
|
||||
- Fixed `/tui` reverting the session to an earlier model when `/model` had been changed since the last response
|
||||
- Fixed cross-session messaging sometimes starting without an inbox in the first session after install or upgrade
|
||||
- Fixed Remote Control `/resume` while connected leaking the resumed conversation's title or history into the connected session
|
||||
- Fixed `claude self-hosted-runner` sessions failing on every fresh runner when the `checkout` hook fails for a repository the session doesn't push to; that repository is now skipped with a warning
|
||||
- Fixed self-hosted runners ending sessions in the gap between a background task finishing and the follow-up turn starting
|
||||
- Fixed session cleanup deleting contents inside a project's memory folder
|
||||
- Fixed background plugin-cache cleanup deleting a plugin's cache when its only version is a symlinked development checkout
|
||||
- Fixed a settings-merge issue where a marketplace entry redefined in a higher-precedence settings tier could inherit another tier's custom headers; marketplace entries now merge as whole entries
|
||||
- Fixed the deferred-tools reminder occasionally being sent to the model twice after a skill invocation
|
||||
- Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, their descriptions are sanitized and labeled, and on your machine their bodies don't run `!` commands or expand `@` files
|
||||
- Improved cross-session messages: the sender and body now display inline instead of a collapsed line, and messages to Remote Control sessions on other machines show your Remote Control session name as the sender
|
||||
- Improved Vertex AI credential handling: expired or missing Google Cloud credentials now fail within seconds instead of retrying for minutes
|
||||
- Improved compaction progress: the retry countdown and stall hint now appear during compaction instead of only a progress bar
|
||||
- Updated terminal title busy-spinner glyphs to reduce tab-bar jitter on some terminals
|
||||
- Changed the Write tool so newer models can overwrite an existing file they haven't read this session, matching the Edit tool's rules; older models still require the read first
|
||||
- Removed the outdated note about auto mode sessions costing slightly more from the first-use notice for Pro, Max, and Team plans
|
||||
|
||||
## 2.1.227
|
||||
|
||||
- Fixed feature flags being evaluated without the user's subscription tier when a session started with an expired login token, which could wrongly prompt Max plan users to enable usage credits for Fable
|
||||
- Fixed every Bash command failing under `claude-code-action` with `allowed_non_write_users` on GitHub-hosted runners
|
||||
- Fixed `/tui` bringing back a conversation that had been rewound to before its first message
|
||||
- Improved slash-command menu: blue now marks only the selected row, matched characters are bolded instead of recolored, and emoji or accented names keep their glyphs
|
||||
- Improved performance: fewer event-loop stalls on file-not-found suggestions and at-mention size checks
|
||||
|
||||
## 2.1.226
|
||||
|
||||
- Bug fixes and reliability improvements
|
||||
|
||||
## 2.1.225
|
||||
|
||||
- Added gateway spend-limit support to Claude Code's usage warning; the limit-reached message now names the cap, its reset time, and the operator's message (requires the gateway on 2.1.225)
|
||||
- Added a workspace trust prompt to `claude agents` for untrusted directories, matching the behavior of `claude`
|
||||
- Fixed a transient 401 replacing a long-lived `CLAUDE_CODE_OAUTH_TOKEN` with a stored login's short-lived token, breaking headless sessions until restart
|
||||
- Fixed MCP OAuth servers on macOS intermittently failing with a burst of 401 errors, as if never authenticated, after a keychain read timed out
|
||||
- Fixed auto mode counting a safety-filter refusal of its own permission check toward the consecutive-block limit; the action is still denied, but the model is now told to move on rather than retry
|
||||
- Fixed cross-session messages staying parked without a notice or expiry in headless sessions and during startup
|
||||
- Fixed conversation history breaking on Remote Control session resume after very large conversations were compacted
|
||||
- Fixed hovering over a session in another project in the agents list changing the directory the next agent starts in
|
||||
- Fixed `claude self-hosted-runner` registering and then failing every session when `--base-dir` cannot be created or written; it now exits at startup with a clear error
|
||||
- Fixed Claude Code on the web sessions being misreported as stuck, re-sending a growing event backlog on every reconnect
|
||||
- Improved Remote Control: photos attached from the Claude app are now shown to Claude directly instead of being read from disk with a separate tool call
|
||||
- [VSCode] Fixed Focus view folding away the latest to-do list, a pending question's context, and settled answers; thinking-only folds show "Thought for Ns" and re-collapse when their turn completes
|
||||
- SendMessage can now start a conversation with your Remote Control sessions on other machines by name (`ListAgents` shows them as `name [ref]`), instead of only replying after they message you first
|
||||
- SendMessage: a Remote Control recipient you already confirmed is never swapped for a same-named session on this machine when its own list couldn't be checked
|
||||
|
||||
## 2.1.224
|
||||
|
||||
- Added self-hosted environments: `claude self-hosted-runner` turns your own machines or containers into a place Claude Code web, mobile, and desktop sessions can run, on Team and Enterprise plans
|
||||
- Added `archive` plugin source: install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinning
|
||||
- Added a cancel-and-confirm step when removing an unavailable paste changes a command's text
|
||||
- Added `ANTHROPIC_BEDROCK_REGION_PREFIX` env var for Bedrock to prefer a specific cross-region inference profile over the `AWS_REGION`-derived one
|
||||
- Added `crossSessionInbound` and `dialogExpiry` settings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliver
|
||||
- Added sandbox credential-masking options: `extract` and `onExtractNoMatch` for structured env values, `decode: "jwt"` with `maskClaims` for JWT-aware masking, and `awsPairs`/`sigv4` for AWS SigV4 re-signing; these need `network.tlsTerminate` and are honored only from user, managed, or `--settings` settings
|
||||
- Added cross-session `SendMessage`: Claude Code sessions can now message each other, on any of your machines, with `ListAgents` to discover them (macOS and Linux)
|
||||
- Fixed long (>200 char) project paths resolving to another project's session directory under a shared sanitized prefix; session list, rename, fork, delete and `/resume` no longer cross projects
|
||||
- Fixed `SendMessage` reporting "Message sent" when the write to a teammate's inbox had actually failed; failed deliveries are now reported as errors
|
||||
- Fixed sandbox filesystem deny entries written with a trailing slash (e.g. `denyRead: "~/.aws/"`) being silently bypassable on Linux and macOS
|
||||
- Fixed sandbox violation details never appearing in Bash tool results; Claude now sees which file or network access was denied and why
|
||||
- Fixed MCP tools that connect mid-turn being deferred for tool search without their names announced to the model
|
||||
- Fixed plugin install records being silently corrupted when the same plugin is installed in multiple projects
|
||||
- Fixed recalled or restored paste content occasionally attaching wrong data or silently losing text when the paste had aged out or placeholder numbers collided
|
||||
- Fixed copy-on-select on Wayland sometimes not reaching the clipboard; the two selection writes no longer race
|
||||
- Fixed the feedback survey's transcript share silently failing on long sessions; a failed share now shows an error instead of a success message
|
||||
- Fixed Remote Control auto-start intermittently failing with "Remote credentials fetch failed" on a cold start with a stale login token
|
||||
- Fixed Remote Control and SDK clients showing a blank "(no content)" message after `/clear` and other output-less commands
|
||||
- Fixed a Remote Control session recreated after its server session expired uploading prior local conversation history into the new session
|
||||
- Improved fullscreen mode to keep the full pre-compaction history in scrollback across repeated compactions, instead of only the most recent interval
|
||||
- Improved Remote Control: attached web and mobile clients now see compaction progress and the post-compaction boundary instead of a silent pause; `/clear` resets now propagate to attached clients
|
||||
- Improved Remote Control: connection failures now show a persistent failure indicator with details and a reconnect shortcut, instead of only an 8-second toast
|
||||
- Removed the 200-subagent-per-session spawn cap; long-running sessions no longer refuse new agents (concurrency and depth limits still apply)
|
||||
- Changed managed settings: the approval prompt no longer re-appears after re-login or org switching when the organization's settings are unchanged
|
||||
- Changed the feedback-survey transcript share: with your consent it now also uploads the last request's model settings — the system prompt (which includes your `CLAUDE.md` instructions), tool definitions, and model parameters. Secrets are redacted as before, and these fields are dropped first if the share is too large
|
||||
- Changed the Bash tool description to always note that command output is displayed to the model, not reliably to the user
|
||||
- Changed recalled paste placeholder numbers to renumber when accepted into the input
|
||||
- Changed Remote Control to archive the stale server session instead of leaving a dead one listed when a fresh session is minted after compaction or `/resume`
|
||||
- [VSCode] Fixed the extension showing Remote Control as connected after the connection failed
|
||||
- Fixed a session resume silently reconnecting Remote Control after the user turned it off (`--resume`, SDK hosts, and the VS Code extension)
|
||||
- [VSCode] Fixed sessions not honoring `remoteControlAtStartup` when explicitly enabled
|
||||
|
||||
## 2.1.223
|
||||
|
||||
- Added owner wildcard entries (`"owner/*"`) to the `strictKnownMarketplaces` and `blockedMarketplaces` managed settings for allowing or blocking all marketplace repos under a GitHub org
|
||||
- Added a warning when workflow agents, forked skills, slash commands, or resumed background agents' requested subagent model is restricted and the parent model runs instead
|
||||
- Added a `/teleport` hint in cloud sessions showing how to continue locally with `claude --teleport <session id>`
|
||||
- Fixed a Bash permission bypass where a crafted command could hide parts of itself from permission checks
|
||||
- Fixed permission prompts so commands padded with tabs or invisible Unicode can no longer hide part of the command from the approval dialog
|
||||
- Fixed workflow scripts being able to use dynamic `import()` to run code outside the workflow sandbox
|
||||
- Fixed a permission gap where an agent definition's `bypassPermissions` mode ignored the org bypass-permissions disable policy
|
||||
- Fixed resuming a session after a mid-session `/cd` coming back empty
|
||||
- Fixed gateway model discovery hiding Claude models registered under provider-prefixed IDs such as `vertex_ai/claude-*` or `bedrock/anthropic.claude-*`
|
||||
- Fixed `modelOverrides` keys that aren't Anthropic model IDs being treated as the session's canonical model ID; unknown keys are now ignored as documented
|
||||
- Fixed managed settings: server-delivered settings no longer disable the env block of a machine-local `managed-settings.json` or MDM profile; admin env now merges per key
|
||||
- Fixed sandboxed commands failing to start on Linux when `sandbox.filesystem.denyWrite` covers the working directory
|
||||
- Fixed forked background agents getting stuck "already resuming" for the rest of the session when rebuilding the fork's parent prompt failed during resume
|
||||
- Fixed a resumed session failing every turn, or leaving the interactive app on an unresponsive error screen, when its history held a malformed diagnostics attachment
|
||||
- Fixed a rare hang when parsing unusual `git push` output
|
||||
- Changed `CLAUDE_CODE_DISABLE_1M_CONTEXT` to hold every Claude model with a native 1M window to 200K via auto-compaction, not just a fixed list; a startup warning now appears when auto-compaction isn't holding the session to 200K
|
||||
- Changed auto-compact to keep sessions on unrecognized model IDs within the assumed context window instead of letting them grow past it; set `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1` to restore the previous behavior
|
||||
- Changed `/review` to be an alias of `/code-review`, which reviews the current diff or a PR (`/code-review <level> <pr#>`); use `/code-review ultra` for a deep cloud review
|
||||
- Changed `/code-review` with no effort level to reuse the level you typed last; type a level like `/code-review high` to change it
|
||||
|
||||
## 2.1.222
|
||||
|
||||
- Fixed worktree-isolated sessions and their subagents being able to run destructive git commands against the main checkout; isolation now applies to file edits and Bash in every session type
|
||||
- Fixed PreToolUse auto-allow hooks bypassing tool restrictions in background agent tasks (summaries, compaction, renames)
|
||||
- Fixed `/usage-credits` on Team and Enterprise showing "you've already sent a usage credit request" for members whose earlier request was dismissed, blocking them from sending a new one
|
||||
- Fixed the startup connectivity check hanging and then failing behind an HTTPS proxy; it now uses the same proxy-aware transport as API requests and times out with a clear message
|
||||
- Fixed "Connection closed mid-response" errors being reported on responses that had actually completed
|
||||
- Fixed `/usage` overattributing usage to MCP servers: a server's share now reflects only the requests that actually consumed its tool results, instead of every turn after any call to it
|
||||
- Fixed sessions not linking to pull requests created after the branch was pushed, including through the GitHub REST API
|
||||
- Fixed org-restricted `model: opus`-style subagent and teammate family aliases dropping to the parent model instead of stepping down to the newest org-allowed model in the family
|
||||
- Fixed stream idle timeout firing on custom `ANTHROPIC_BASE_URL` gateways despite server keep-alive pings arriving on the wire
|
||||
- Fixed claude.ai connectors being falsely marked as needing authorization when the session token is invalid — they now show a `/login` hint instead
|
||||
- Fixed tool errors not being displayed for tools no longer available locally, for example after an MCP server is removed
|
||||
- Fixed `SendMessage` rejecting a long summary — it now truncates instead, so sends no longer fail on a character limit
|
||||
- Fixed the spinner's effort label in a subagent's transcript view showing the session's effort level instead of the subagent's own `effort:` setting
|
||||
- Fixed rare crashes when a file watcher hit a filesystem error or during file-watcher teardown
|
||||
- Fixed screen readers re-reading the whole input line on every backspace in `--ax-screen-reader` mode — end-of-line deletions now echo just the deleted characters
|
||||
- Fixed host model-selection keys not taking precedence over a stale on-disk `managed-settings.json` when `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` is set
|
||||
- Improved auto mode safety: messages sent to other agent sessions via `SendMessage` are now evaluated by the permission classifier before dispatch
|
||||
- Improved the refusal when Claude tries to invoke a skill with `disable-model-invocation`: Claude is now told to ask you to run the skill instead of replicating its workflow
|
||||
- Improved the `/diff` view, the Remote Control workspace diff, and file-edit diffs in Claude Code on the web sessions to use raw git blob content, ignoring workspace-configured diff drivers and textconv
|
||||
- Changed Remote Control auto-start so repo-local settings (`.claude/settings.json` or `.claude/settings.local.json`) can no longer turn it on (they can still turn it off); enable it at user scope via `/config`
|
||||
- Removed ultraplan feature
|
||||
|
||||
## 2.1.221
|
||||
|
||||
- [VSCode] Added Focus view: a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator, toggled with `Ctrl+Alt+F` or the "Claude Code: Toggle Focus view" command
|
||||
- Added `mode: "mask"` for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (the whole file, or just the spans captured by an `extract` regex) while the sandbox proxy substitutes the real value on egress; on macOS file masking falls back to `deny`
|
||||
- Added warnings to `claude plugin validate` when a marketplace or plugin name would be rejected by Claude Desktop's managed marketplace sync
|
||||
- Added a `prompt-audit` subcommand to the `claude-api` skill for auditing prompts and tool descriptions for patterns written for older models
|
||||
- Fixed a Bash tool permission-check bypass where zsh could execute hidden commands in `[[ ]]` regex conditionals; affected commands now prompt for permission
|
||||
- Fixed PowerShell permission checks mishandling paths containing quote characters on Windows; such paths now prompt for approval
|
||||
- Fixed the thinking toggle having no effect for the rest of a session that started with thinking off; disabling an MCP server mid-connect no longer silently reverts
|
||||
- Fixed MCP servers from `--mcp-config` not being connected before the first turn in print mode (`-p`), which made the model emit tool calls as literal text
|
||||
- Fixed @-mentioned files being silently dropped when pressing Esc to retract a prompt and resubmitting it
|
||||
- Fixed a crash when preparing API requests for SDK MCP tools named after built-in object properties such as `constructor`
|
||||
- Fixed WebSearch failing with a 400 error at effort `xhigh`/`max` when thinking is disabled
|
||||
- Fixed sandboxed large uploads failing with TLS errors through the sandbox proxy
|
||||
- Fixed Team and Enterprise spend-limit message incorrectly blaming the org's monthly limit instead of your individual spend limit
|
||||
- Fixed Bedrock authentication with AWS SSO named profiles failing in desktop-managed sessions on Windows machines that set a stray `HOME` environment variable
|
||||
- Fixed `CLAUDE_CODE_RESUME_INTERRUPTED_TURN=0` not disabling interrupted-turn auto-resume; falsy values are now honored
|
||||
- Fixed a rare wake-from-sleep race where two Claude Code processes could both refresh the same MCP connector or WIF OAuth token at once, forcing re-authentication
|
||||
- Fixed renaming a session from Claude Code Desktop or claude.ai not updating the CLI's session name; session names from every rename surface are now sanitized
|
||||
- Fixed plugin- and org-delivered skills named after terminal-only built-ins (e.g. `/help`, `/feedback`) being un-invocable in non-interactive sessions
|
||||
- Fixed the "Plugins changed" notification lingering after plugins were reloaded instead of clearing
|
||||
- Fixed Vim mode: the yank register now survives dialogs, history search, and the transcript view instead of being silently emptied
|
||||
- Fixed Vim mode: undoing back to an empty prompt now arms the "press ← again" confirm before returning to the agent view
|
||||
- Improved tool search on Google Vertex AI: re-enabled for Claude 4.5-generation and newer models
|
||||
- Improved auto mode: permission checks for parallel tool calls are now cache-efficient, and switching modes while a check is pending reliably prompts instead of applying the stale result
|
||||
- Reduced prompt-cache costs for auto-mode permission checks by reusing the cached conversation prefix across decisions
|
||||
- Improved Stats panel to count cache tokens in its token totals, with a breakdown by input, output, cache read, and cache write
|
||||
- Improved `/ultrareview` error messages when a repo shares no history with its base: a checkout with no branches is now refused up front with advice to create one, and refusal hints no longer suggest `git fetch --unshallow` on clones that are already complete
|
||||
- Improved Windows startup: process creation times are now read via a native kernel32 call instead of spawning PowerShell, so endpoint security tools that gate `powershell.exe` no longer prompt
|
||||
- Changed background sessions to commit and push to preserve work, open a draft PR only when the task calls for one, follow your CLAUDE.md git instructions, and always end by reporting where the work lives
|
||||
- Changed `/plugin install` to refresh a stale marketplace catalog and retry before reporting a plugin not found
|
||||
- Changed plugins installed from `/plugin` to activate immediately when safe, instead of always requiring `/reload-plugins`
|
||||
- Changed plugins to accept `"."` as a `skills` path, and the root-level `SKILL.md` validation error now suggests using the plugin root
|
||||
- Changed `/status` to show the session kind: `interactive`, or a background job that is `attached` or `unattended`
|
||||
- Changed emoji autocomplete to accept common alternate shortcodes like `:thumbsup:`, `:thumbsdown:`, and `:love:`
|
||||
- Changed sessions forked with `/fork` to create a new worktree of their own instead of working in the original session's checkout
|
||||
- Changed Claude in Chrome to close the browser tabs it opens once it no longer needs them
|
||||
- Changed fast mode to report on the stream when usage credits run out mid-session, instead of failing silently
|
||||
- Changed Monitor: a watch that exits without producing any output now says so instead of reporting "stream ended"
|
||||
- Changed the Gateway `model` field validation: non-string values are rejected with a 400 instead of being forwarded
|
||||
- Removed the repeated "Permission mode changed while the auto-mode classifier call was queued" notice from approval prompts
|
||||
|
||||
## 2.1.220
|
||||
|
||||
- Bug fixes and reliability improvements
|
||||
|
||||
@@ -6,7 +6,241 @@
|
||||
<author><name>Anthropic</name></author>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"/>
|
||||
<link rel="self" type="application/atom+xml" href="https://raw.githubusercontent.com/anthropics/claude-code/main/feed.xml"/>
|
||||
<updated>2026-07-25T01:35:47Z</updated>
|
||||
<updated>2026-08-12T20:56:14Z</updated>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.229</id>
|
||||
<title>Claude Code v2.1.229</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.229"/>
|
||||
<updated>2026-08-12T20:56:14Z</updated>
|
||||
<content type="html"><p>• Documented claude remote-control --continue for resuming the most recent Remote Control session</p>
|
||||
<p>• Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior</p>
|
||||
<p>• Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams</p>
|
||||
<p>• Added plugin marketplace command sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; mode: "link" uses it in place</p>
|
||||
<p>• ListAgents now marks disconnected Remote Control sessions as offline and labels your cloud sessions as cloud</p>
|
||||
<p>• Fixed long responses partly disappearing while streaming and being printed twice in the terminal</p>
|
||||
<p>• Fixed a crash to the error screen (including on --resume of the affected session) when a tool call had a non-string glob, file_path, or command value</p>
|
||||
<p>• Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window (could also crash claude --continue/--resume at startup)</p>
|
||||
<p>• Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (\\?\) or UNC path</p>
|
||||
<p>• Fixed auto mode failing on every tool call for users who disable the attribution header via CLAUDE_CODE_ATTRIBUTION_HEADER (direct Anthropic API connections)</p>
|
||||
<p>• Fixed /model rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom ANTHROPIC_BASE_URL gateway</p>
|
||||
<p>• Fixed MCP OAuth with strict authorization servers by using 127.0.0.1 instead of localhost in the redirect URI</p>
|
||||
<p>• Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal</p>
|
||||
<p>• Fixed the Claude Code Review workflow generated by /install-github-app completing without posting its review on the pull request</p>
|
||||
<p>• Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected</p>
|
||||
<p>• Fixed one-shot claude plugin commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions</p>
|
||||
<p>• Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit</p>
|
||||
<p>• Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem</p>
|
||||
<p>• Fixed SDK and --input-format stream-json sessions getting a 400 API error when a whitespace-only message was submitted</p>
|
||||
<p>• Fixed conversations whose messages alone exceed the API's 32 MB request limit retrying compaction when no images or documents can be stripped; they now fail once with a clear message</p>
|
||||
<p>• Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint</p>
|
||||
<p>• Fixed self-hosted runner and other remote sessions exiting at startup when managed-mcp.json is deployed and the server delivers MCP servers; those servers are now skipped with a warning</p>
|
||||
<p>• Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing</p>
|
||||
<p>• Improved workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it (CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 disables)</p>
|
||||
<p>• Improved "prompt is too long" errors to explain why automatic compaction could not recover instead of only suggesting /compact</p>
|
||||
<p>• Improved sandbox: IPv6 literals in network domain lists are now bracketed ([::1]:443), and ambiguous spellings are enforced fail-closed and flagged by /doctor</p>
|
||||
<p>• Updated /login to repeat the CLAUDE_CODE_OAUTH_TOKEN override warning after a successful login</p>
|
||||
<p>• Changed /commit-push-pr so git/gh commands with dangerous flags (--force, --amend, --no-verify, etc.) are no longer auto-approved</p>
|
||||
<p>• Changed self-hosted runner Windows startup to require an explicit --base-dir; there is no default checkout directory on Windows</p>
|
||||
<p>• [VSCode] "Report a problem" and /bug now open the built-in feedback dialog instead of a retired survey link</p>
|
||||
<p>• [VSCode] Made the /btw side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts</p>
|
||||
<p>• [VSCode] Added session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.228</id>
|
||||
<title>Claude Code v2.1.228</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.228"/>
|
||||
<updated>2026-08-11T19:50:50Z</updated>
|
||||
<content type="html"><p>• Fixed interactive sessions that could stop redrawing entirely, while the process kept running, after a rare internal layout error</p>
|
||||
<p>• Fixed git / Git Bash not being found on Windows when Claude Code is launched from a parent folder of the git installation</p>
|
||||
<p>• Fixed /tui reverting the session to an earlier model when /model had been changed since the last response</p>
|
||||
<p>• Fixed cross-session messaging sometimes starting without an inbox in the first session after install or upgrade</p>
|
||||
<p>• Fixed Remote Control /resume while connected leaking the resumed conversation's title or history into the connected session</p>
|
||||
<p>• Fixed claude self-hosted-runner sessions failing on every fresh runner when the checkout hook fails for a repository the session doesn't push to; that repository is now skipped with a warning</p>
|
||||
<p>• Fixed self-hosted runners ending sessions in the gap between a background task finishing and the follow-up turn starting</p>
|
||||
<p>• Fixed session cleanup deleting contents inside a project's memory folder</p>
|
||||
<p>• Fixed background plugin-cache cleanup deleting a plugin's cache when its only version is a symlinked development checkout</p>
|
||||
<p>• Fixed a settings-merge issue where a marketplace entry redefined in a higher-precedence settings tier could inherit another tier's custom headers; marketplace entries now merge as whole entries</p>
|
||||
<p>• Fixed the deferred-tools reminder occasionally being sent to the model twice after a skill invocation</p>
|
||||
<p>• Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, their descriptions are sanitized and labeled, and on your machine their bodies don't run ! commands or expand @ files</p>
|
||||
<p>• Improved cross-session messages: the sender and body now display inline instead of a collapsed line, and messages to Remote Control sessions on other machines show your Remote Control session name as the sender</p>
|
||||
<p>• Improved Vertex AI credential handling: expired or missing Google Cloud credentials now fail within seconds instead of retrying for minutes</p>
|
||||
<p>• Improved compaction progress: the retry countdown and stall hint now appear during compaction instead of only a progress bar</p>
|
||||
<p>• Updated terminal title busy-spinner glyphs to reduce tab-bar jitter on some terminals</p>
|
||||
<p>• Changed the Write tool so newer models can overwrite an existing file they haven't read this session, matching the Edit tool's rules; older models still require the read first</p>
|
||||
<p>• Removed the outdated note about auto mode sessions costing slightly more from the first-use notice for Pro, Max, and Team plans</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.227</id>
|
||||
<title>Claude Code v2.1.227</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.227"/>
|
||||
<updated>2026-08-10T22:56:45Z</updated>
|
||||
<content type="html"><p>• Fixed feature flags being evaluated without the user's subscription tier when a session started with an expired login token, which could wrongly prompt Max plan users to enable usage credits for Fable</p>
|
||||
<p>• Fixed every Bash command failing under claude-code-action with allowed_non_write_users on GitHub-hosted runners</p>
|
||||
<p>• Fixed /tui bringing back a conversation that had been rewound to before its first message</p>
|
||||
<p>• Improved slash-command menu: blue now marks only the selected row, matched characters are bolded instead of recolored, and emoji or accented names keep their glyphs</p>
|
||||
<p>• Improved performance: fewer event-loop stalls on file-not-found suggestions and at-mention size checks</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.226</id>
|
||||
<title>Claude Code v2.1.226</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.226"/>
|
||||
<updated>2026-08-08T02:47:59Z</updated>
|
||||
<content type="html"><p>• Bug fixes and reliability improvements</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.225</id>
|
||||
<title>Claude Code v2.1.225</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.225"/>
|
||||
<updated>2026-08-08T01:09:19Z</updated>
|
||||
<content type="html"><p>• Added gateway spend-limit support to Claude Code's usage warning; the limit-reached message now names the cap, its reset time, and the operator's message (requires the gateway on 2.1.225)</p>
|
||||
<p>• Added a workspace trust prompt to claude agents for untrusted directories, matching the behavior of claude</p>
|
||||
<p>• Fixed a transient 401 replacing a long-lived CLAUDE_CODE_OAUTH_TOKEN with a stored login's short-lived token, breaking headless sessions until restart</p>
|
||||
<p>• Fixed MCP OAuth servers on macOS intermittently failing with a burst of 401 errors, as if never authenticated, after a keychain read timed out</p>
|
||||
<p>• Fixed auto mode counting a safety-filter refusal of its own permission check toward the consecutive-block limit; the action is still denied, but the model is now told to move on rather than retry</p>
|
||||
<p>• Fixed cross-session messages staying parked without a notice or expiry in headless sessions and during startup</p>
|
||||
<p>• Fixed conversation history breaking on Remote Control session resume after very large conversations were compacted</p>
|
||||
<p>• Fixed hovering over a session in another project in the agents list changing the directory the next agent starts in</p>
|
||||
<p>• Fixed claude self-hosted-runner registering and then failing every session when --base-dir cannot be created or written; it now exits at startup with a clear error</p>
|
||||
<p>• Fixed Claude Code on the web sessions being misreported as stuck, re-sending a growing event backlog on every reconnect</p>
|
||||
<p>• Improved Remote Control: photos attached from the Claude app are now shown to Claude directly instead of being read from disk with a separate tool call</p>
|
||||
<p>• [VSCode] Fixed Focus view folding away the latest to-do list, a pending question's context, and settled answers; thinking-only folds show "Thought for Ns" and re-collapse when their turn completes</p>
|
||||
<p>• SendMessage can now start a conversation with your Remote Control sessions on other machines by name (ListAgents shows them as name [ref]), instead of only replying after they message you first</p>
|
||||
<p>• SendMessage: a Remote Control recipient you already confirmed is never swapped for a same-named session on this machine when its own list couldn't be checked</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.224</id>
|
||||
<title>Claude Code v2.1.224</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.224"/>
|
||||
<updated>2026-08-07T04:00:51Z</updated>
|
||||
<content type="html"><p>• Added self-hosted environments: claude self-hosted-runner turns your own machines or containers into a place Claude Code web, mobile, and desktop sessions can run, on Team and Enterprise plans</p>
|
||||
<p>• Added archive plugin source: install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinning</p>
|
||||
<p>• Added a cancel-and-confirm step when removing an unavailable paste changes a command's text</p>
|
||||
<p>• Added ANTHROPIC_BEDROCK_REGION_PREFIX env var for Bedrock to prefer a specific cross-region inference profile over the AWS_REGION-derived one</p>
|
||||
<p>• Added crossSessionInbound and dialogExpiry settings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliver</p>
|
||||
<p>• Added sandbox credential-masking options: extract and onExtractNoMatch for structured env values, decode: "jwt" with maskClaims for JWT-aware masking, and awsPairs/sigv4 for AWS SigV4 re-signing; these need network.tlsTerminate and are honored only from user, managed, or --settings settings</p>
|
||||
<p>• Added cross-session SendMessage: Claude Code sessions can now message each other, on any of your machines, with ListAgents to discover them (macOS and Linux)</p>
|
||||
<p>• Fixed long (&gt;200 char) project paths resolving to another project's session directory under a shared sanitized prefix; session list, rename, fork, delete and /resume no longer cross projects</p>
|
||||
<p>• Fixed SendMessage reporting "Message sent" when the write to a teammate's inbox had actually failed; failed deliveries are now reported as errors</p>
|
||||
<p>• Fixed sandbox filesystem deny entries written with a trailing slash (e.g. denyRead: "~/.aws/") being silently bypassable on Linux and macOS</p>
|
||||
<p>• Fixed sandbox violation details never appearing in Bash tool results; Claude now sees which file or network access was denied and why</p>
|
||||
<p>• Fixed MCP tools that connect mid-turn being deferred for tool search without their names announced to the model</p>
|
||||
<p>• Fixed plugin install records being silently corrupted when the same plugin is installed in multiple projects</p>
|
||||
<p>• Fixed recalled or restored paste content occasionally attaching wrong data or silently losing text when the paste had aged out or placeholder numbers collided</p>
|
||||
<p>• Fixed copy-on-select on Wayland sometimes not reaching the clipboard; the two selection writes no longer race</p>
|
||||
<p>• Fixed the feedback survey's transcript share silently failing on long sessions; a failed share now shows an error instead of a success message</p>
|
||||
<p>• Fixed Remote Control auto-start intermittently failing with "Remote credentials fetch failed" on a cold start with a stale login token</p>
|
||||
<p>• Fixed Remote Control and SDK clients showing a blank "(no content)" message after /clear and other output-less commands</p>
|
||||
<p>• Fixed a Remote Control session recreated after its server session expired uploading prior local conversation history into the new session</p>
|
||||
<p>• Improved fullscreen mode to keep the full pre-compaction history in scrollback across repeated compactions, instead of only the most recent interval</p>
|
||||
<p>• Improved Remote Control: attached web and mobile clients now see compaction progress and the post-compaction boundary instead of a silent pause; /clear resets now propagate to attached clients</p>
|
||||
<p>• Improved Remote Control: connection failures now show a persistent failure indicator with details and a reconnect shortcut, instead of only an 8-second toast</p>
|
||||
<p>• Removed the 200-subagent-per-session spawn cap; long-running sessions no longer refuse new agents (concurrency and depth limits still apply)</p>
|
||||
<p>• Changed managed settings: the approval prompt no longer re-appears after re-login or org switching when the organization's settings are unchanged</p>
|
||||
<p>• Changed the feedback-survey transcript share: with your consent it now also uploads the last request's model settings — the system prompt (which includes your CLAUDE.md instructions), tool definitions, and model parameters. Secrets are redacted as before, and these fields are dropped first if the share is too large</p>
|
||||
<p>• Changed the Bash tool description to always note that command output is displayed to the model, not reliably to the user</p>
|
||||
<p>• Changed recalled paste placeholder numbers to renumber when accepted into the input</p>
|
||||
<p>• Changed Remote Control to archive the stale server session instead of leaving a dead one listed when a fresh session is minted after compaction or /resume</p>
|
||||
<p>• [VSCode] Fixed the extension showing Remote Control as connected after the connection failed</p>
|
||||
<p>• Fixed a session resume silently reconnecting Remote Control after the user turned it off (--resume, SDK hosts, and the VS Code extension)</p>
|
||||
<p>• [VSCode] Fixed sessions not honoring remoteControlAtStartup when explicitly enabled</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.223</id>
|
||||
<title>Claude Code v2.1.223</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.223"/>
|
||||
<updated>2026-08-06T00:52:31Z</updated>
|
||||
<content type="html"><p>• Added owner wildcard entries ("owner/*") to the strictKnownMarketplaces and blockedMarketplaces managed settings for allowing or blocking all marketplace repos under a GitHub org</p>
|
||||
<p>• Added a warning when workflow agents, forked skills, slash commands, or resumed background agents' requested subagent model is restricted and the parent model runs instead</p>
|
||||
<p>• Added a /teleport hint in cloud sessions showing how to continue locally with claude --teleport &lt;session id&gt;</p>
|
||||
<p>• Fixed a Bash permission bypass where a crafted command could hide parts of itself from permission checks</p>
|
||||
<p>• Fixed permission prompts so commands padded with tabs or invisible Unicode can no longer hide part of the command from the approval dialog</p>
|
||||
<p>• Fixed workflow scripts being able to use dynamic import() to run code outside the workflow sandbox</p>
|
||||
<p>• Fixed a permission gap where an agent definition's bypassPermissions mode ignored the org bypass-permissions disable policy</p>
|
||||
<p>• Fixed resuming a session after a mid-session /cd coming back empty</p>
|
||||
<p>• Fixed gateway model discovery hiding Claude models registered under provider-prefixed IDs such as vertex_ai/claude-* or bedrock/anthropic.claude-*</p>
|
||||
<p>• Fixed modelOverrides keys that aren't Anthropic model IDs being treated as the session's canonical model ID; unknown keys are now ignored as documented</p>
|
||||
<p>• Fixed managed settings: server-delivered settings no longer disable the env block of a machine-local managed-settings.json or MDM profile; admin env now merges per key</p>
|
||||
<p>• Fixed sandboxed commands failing to start on Linux when sandbox.filesystem.denyWrite covers the working directory</p>
|
||||
<p>• Fixed forked background agents getting stuck "already resuming" for the rest of the session when rebuilding the fork's parent prompt failed during resume</p>
|
||||
<p>• Fixed a resumed session failing every turn, or leaving the interactive app on an unresponsive error screen, when its history held a malformed diagnostics attachment</p>
|
||||
<p>• Fixed a rare hang when parsing unusual git push output</p>
|
||||
<p>• Changed CLAUDE_CODE_DISABLE_1M_CONTEXT to hold every Claude model with a native 1M window to 200K via auto-compaction, not just a fixed list; a startup warning now appears when auto-compaction isn't holding the session to 200K</p>
|
||||
<p>• Changed auto-compact to keep sessions on unrecognized model IDs within the assumed context window instead of letting them grow past it; set CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 to restore the previous behavior</p>
|
||||
<p>• Changed /review to be an alias of /code-review, which reviews the current diff or a PR (/code-review &lt;level&gt; &lt;pr#&gt;); use /code-review ultra for a deep cloud review</p>
|
||||
<p>• Changed /code-review with no effort level to reuse the level you typed last; type a level like /code-review high to change it</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.222</id>
|
||||
<title>Claude Code v2.1.222</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.222"/>
|
||||
<updated>2026-08-04T22:39:48Z</updated>
|
||||
<content type="html"><p>• Fixed worktree-isolated sessions and their subagents being able to run destructive git commands against the main checkout; isolation now applies to file edits and Bash in every session type</p>
|
||||
<p>• Fixed PreToolUse auto-allow hooks bypassing tool restrictions in background agent tasks (summaries, compaction, renames)</p>
|
||||
<p>• Fixed /usage-credits on Team and Enterprise showing "you've already sent a usage credit request" for members whose earlier request was dismissed, blocking them from sending a new one</p>
|
||||
<p>• Fixed the startup connectivity check hanging and then failing behind an HTTPS proxy; it now uses the same proxy-aware transport as API requests and times out with a clear message</p>
|
||||
<p>• Fixed "Connection closed mid-response" errors being reported on responses that had actually completed</p>
|
||||
<p>• Fixed /usage overattributing usage to MCP servers: a server's share now reflects only the requests that actually consumed its tool results, instead of every turn after any call to it</p>
|
||||
<p>• Fixed sessions not linking to pull requests created after the branch was pushed, including through the GitHub REST API</p>
|
||||
<p>• Fixed org-restricted model: opus-style subagent and teammate family aliases dropping to the parent model instead of stepping down to the newest org-allowed model in the family</p>
|
||||
<p>• Fixed stream idle timeout firing on custom ANTHROPIC_BASE_URL gateways despite server keep-alive pings arriving on the wire</p>
|
||||
<p>• Fixed claude.ai connectors being falsely marked as needing authorization when the session token is invalid — they now show a /login hint instead</p>
|
||||
<p>• Fixed tool errors not being displayed for tools no longer available locally, for example after an MCP server is removed</p>
|
||||
<p>• Fixed SendMessage rejecting a long summary — it now truncates instead, so sends no longer fail on a character limit</p>
|
||||
<p>• Fixed the spinner's effort label in a subagent's transcript view showing the session's effort level instead of the subagent's own effort: setting</p>
|
||||
<p>• Fixed rare crashes when a file watcher hit a filesystem error or during file-watcher teardown</p>
|
||||
<p>• Fixed screen readers re-reading the whole input line on every backspace in --ax-screen-reader mode — end-of-line deletions now echo just the deleted characters</p>
|
||||
<p>• Fixed host model-selection keys not taking precedence over a stale on-disk managed-settings.json when CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST is set</p>
|
||||
<p>• Improved auto mode safety: messages sent to other agent sessions via SendMessage are now evaluated by the permission classifier before dispatch</p>
|
||||
<p>• Improved the refusal when Claude tries to invoke a skill with disable-model-invocation: Claude is now told to ask you to run the skill instead of replicating its workflow</p>
|
||||
<p>• Improved the /diff view, the Remote Control workspace diff, and file-edit diffs in Claude Code on the web sessions to use raw git blob content, ignoring workspace-configured diff drivers and textconv</p>
|
||||
<p>• Changed Remote Control auto-start so repo-local settings (.claude/settings.json or .claude/settings.local.json) can no longer turn it on (they can still turn it off); enable it at user scope via /config</p>
|
||||
<p>• Removed ultraplan feature</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.221</id>
|
||||
<title>Claude Code v2.1.221</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.221"/>
|
||||
<updated>2026-08-04T00:14:17Z</updated>
|
||||
<content type="html"><p>• [VSCode] Added Focus view: a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator, toggled with Ctrl+Alt+F or the "Claude Code: Toggle Focus view" command</p>
|
||||
<p>• Added mode: "mask" for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (the whole file, or just the spans captured by an extract regex) while the sandbox proxy substitutes the real value on egress; on macOS file masking falls back to deny</p>
|
||||
<p>• Added warnings to claude plugin validate when a marketplace or plugin name would be rejected by Claude Desktop's managed marketplace sync</p>
|
||||
<p>• Added a prompt-audit subcommand to the claude-api skill for auditing prompts and tool descriptions for patterns written for older models</p>
|
||||
<p>• Fixed a Bash tool permission-check bypass where zsh could execute hidden commands in [[ ]] regex conditionals; affected commands now prompt for permission</p>
|
||||
<p>• Fixed PowerShell permission checks mishandling paths containing quote characters on Windows; such paths now prompt for approval</p>
|
||||
<p>• Fixed the thinking toggle having no effect for the rest of a session that started with thinking off; disabling an MCP server mid-connect no longer silently reverts</p>
|
||||
<p>• Fixed MCP servers from --mcp-config not being connected before the first turn in print mode (-p), which made the model emit tool calls as literal text</p>
|
||||
<p>• Fixed @-mentioned files being silently dropped when pressing Esc to retract a prompt and resubmitting it</p>
|
||||
<p>• Fixed a crash when preparing API requests for SDK MCP tools named after built-in object properties such as constructor</p>
|
||||
<p>• Fixed WebSearch failing with a 400 error at effort xhigh/max when thinking is disabled</p>
|
||||
<p>• Fixed sandboxed large uploads failing with TLS errors through the sandbox proxy</p>
|
||||
<p>• Fixed Team and Enterprise spend-limit message incorrectly blaming the org's monthly limit instead of your individual spend limit</p>
|
||||
<p>• Fixed Bedrock authentication with AWS SSO named profiles failing in desktop-managed sessions on Windows machines that set a stray HOME environment variable</p>
|
||||
<p>• Fixed CLAUDE_CODE_RESUME_INTERRUPTED_TURN=0 not disabling interrupted-turn auto-resume; falsy values are now honored</p>
|
||||
<p>• Fixed a rare wake-from-sleep race where two Claude Code processes could both refresh the same MCP connector or WIF OAuth token at once, forcing re-authentication</p>
|
||||
<p>• Fixed renaming a session from Claude Code Desktop or claude.ai not updating the CLI's session name; session names from every rename surface are now sanitized</p>
|
||||
<p>• Fixed plugin- and org-delivered skills named after terminal-only built-ins (e.g. /help, /feedback) being un-invocable in non-interactive sessions</p>
|
||||
<p>• Fixed the "Plugins changed" notification lingering after plugins were reloaded instead of clearing</p>
|
||||
<p>• Fixed Vim mode: the yank register now survives dialogs, history search, and the transcript view instead of being silently emptied</p>
|
||||
<p>• Fixed Vim mode: undoing back to an empty prompt now arms the "press ← again" confirm before returning to the agent view</p>
|
||||
<p>• Improved tool search on Google Vertex AI: re-enabled for Claude 4.5-generation and newer models</p>
|
||||
<p>• Improved auto mode: permission checks for parallel tool calls are now cache-efficient, and switching modes while a check is pending reliably prompts instead of applying the stale result</p>
|
||||
<p>• Reduced prompt-cache costs for auto-mode permission checks by reusing the cached conversation prefix across decisions</p>
|
||||
<p>• Improved Stats panel to count cache tokens in its token totals, with a breakdown by input, output, cache read, and cache write</p>
|
||||
<p>• Improved /ultrareview error messages when a repo shares no history with its base: a checkout with no branches is now refused up front with advice to create one, and refusal hints no longer suggest git fetch --unshallow on clones that are already complete</p>
|
||||
<p>• Improved Windows startup: process creation times are now read via a native kernel32 call instead of spawning PowerShell, so endpoint security tools that gate powershell.exe no longer prompt</p>
|
||||
<p>• Changed background sessions to commit and push to preserve work, open a draft PR only when the task calls for one, follow your CLAUDE.md git instructions, and always end by reporting where the work lives</p>
|
||||
<p>• Changed /plugin install to refresh a stale marketplace catalog and retry before reporting a plugin not found</p>
|
||||
<p>• Changed plugins installed from /plugin to activate immediately when safe, instead of always requiring /reload-plugins</p>
|
||||
<p>• Changed plugins to accept "." as a skills path, and the root-level SKILL.md validation error now suggests using the plugin root</p>
|
||||
<p>• Changed /status to show the session kind: interactive, or a background job that is attached or unattended</p>
|
||||
<p>• Changed emoji autocomplete to accept common alternate shortcodes like :thumbsup:, :thumbsdown:, and :love:</p>
|
||||
<p>• Changed sessions forked with /fork to create a new worktree of their own instead of working in the original session's checkout</p>
|
||||
<p>• Changed Claude in Chrome to close the browser tabs it opens once it no longer needs them</p>
|
||||
<p>• Changed fast mode to report on the stream when usage credits run out mid-session, instead of failing silently</p>
|
||||
<p>• Changed Monitor: a watch that exits without producing any output now says so instead of reporting "stream ended"</p>
|
||||
<p>• Changed the Gateway model field validation: non-string values are rejected with a 400 instead of being forwarded</p>
|
||||
<p>• Removed the repeated "Permission mode changed while the auto-mode classifier call was queued" notice from approval prompts</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.220</id>
|
||||
<title>Claude Code v2.1.220</title>
|
||||
@@ -361,252 +595,4 @@
|
||||
<updated>2026-07-14T06:36:21Z</updated>
|
||||
<content type="html"><p>• Fixed /model and other dialogs being blocked in claude agents background sessions (reverts an overly broad guard)</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.208</id>
|
||||
<title>Claude Code v2.1.208</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.208"/>
|
||||
<updated>2026-07-14T01:10:34Z</updated>
|
||||
<content type="html"><p>• Added screen reader mode: opt-in plain-text rendering for screen reader users. Run claude --ax-screen-reader, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.</p>
|
||||
<p>• Added vimInsertModeRemaps setting: map two-key insert-mode sequences like jj to Escape in vim mode</p>
|
||||
<p>• Added CLAUDE_CODE_PROCESS_WRAPPER: agent view and the background service now honor a corporate launcher by running every Claude Code self-spawn through a required wrapper executable</p>
|
||||
<p>• Added mouse-click support for multi-select menus and "Other" input rows in fullscreen mode</p>
|
||||
<p>• Changed the Fable 5 usage-credits consent prompt to start with the decline option focused</p>
|
||||
<p>• Fixed fast mode staying off after switching back to a model that supports it — it now restores automatically when enabled in settings</p>
|
||||
<p>• Fixed replies typed to a background agent being lost when delivery fails — the text is now saved and delivered when the session restarts</p>
|
||||
<p>• Fixed background-session attach failing permanently ("Couldn't start the background daemon") after an update replaced the binary a running claude agents process was launched from</p>
|
||||
<p>• Fixed the context window (and auto-compact indicator) briefly resetting to 200k after the CLI auto-updates, causing a false "100% context used" when resuming long-context sessions</p>
|
||||
<p>• Fixed supervised and background sessions crashing when a server closed an HTTP/2 connection with a GOAWAY while requests were in flight</p>
|
||||
<p>• Fixed truncated stream-json/JSON output and missing result message when piping large responses from claude -p</p>
|
||||
<p>• Fixed CLAUDE_CODE_MAX_OUTPUT_TOKENS and similar env vars silently using the mantissa of scientific-notation values (1e6 became 1)</p>
|
||||
<p>• Fixed very large markdown tables stalling rendering or using excessive memory; tables over 200 rows show the first 200 with a "… N more rows" notice</p>
|
||||
<p>• Fixed the Edit tool failing on files modified after reading when the target text still matches uniquely</p>
|
||||
<p>• Fixed Read reporting empty files as "shorter than offset", Grep silently returning "No files found" for invalid regex patterns, Grep count mode under-reporting totals when paginated, and Glob crashing with an unclear error when the pattern, path, or working directory contained a null byte</p>
|
||||
<p>• Fixed apiKeyHelper script failures being hidden behind a generic 401 after ~10 silent retries; the script's own error is now shown within 3 attempts</p>
|
||||
<p>• Fixed Bedrock streaming requests failing with a misleading "Truncated event message received" when a gateway transforms the response — the error now names the content-type and points at the proxy</p>
|
||||
<p>• Fixed /upgrade showing a login flow instead of the upgrade URL when the browser fails to open</p>
|
||||
<p>• Fixed stream-json input killing the session on blank CRLF or whitespace-only lines from Windows-style SDK hosts</p>
|
||||
<p>• Fixed headless stream-json sessions hanging permanently when a control_request carried a non-string set_model payload; the CLI now answers with an error response</p>
|
||||
<p>• Fixed repeated "No completion record was found" notices on session resume — orphaned background tasks now collapse into a single summary</p>
|
||||
<p>• Fixed Remote Control clients attaching to a terminal-hosted session not seeing background agents and workflow progress until a task started or stopped</p>
|
||||
<p>• Fixed the Agent tool launching with no tools when a subagent's tools list resolves to nothing — it now returns a clear error naming the unrecognized entries</p>
|
||||
<p>• Fixed /usage showing stale cached bars over fresher data, and /mcp not reclassifying placeholder servers after config edits</p>
|
||||
<p>• Fixed "Change directory" in SDK hosts (e.g. Claude Desktop) failing with "A turn is in progress" on idle sessions that have a running background task</p>
|
||||
<p>• Fixed the workflow save dialog showing ~/.claude/workflows/ instead of the CLAUDE_CONFIG_DIR location for user-scope saves</p>
|
||||
<p>• Fixed /release-notes adding the viewed notes to the model's context — "Show all" previously injected the entire changelog into every subsequent request</p>
|
||||
<p>• Fixed a memory leak in the agent view where pasted images were retained for the screen's lifetime after sending peek replies</p>
|
||||
<p>• Fixed SDK sessions losing agents defined via the initialize request when a plugin refresh ran before the client attached</p>
|
||||
<p>• Fixed several memory leaks in long sessions: MCP stdio server stderr accumulating up to 64 MB per server, LSP documents staying open indefinitely (now LRU with 50-doc cap), async hook output retained after backgrounding, and unbounded growth in headless/SDK sessions from large tool-result payloads</p>
|
||||
<p>• Fixed a memory blowup when reading files with extremely long single lines using offset/limit — the read now returns a clean error instead of loading the whole line</p>
|
||||
<p>• Fixed multi-second per-turn slowdowns in sessions with many permission deny/ask rules — rule matchers are now compiled once and cached</p>
|
||||
<p>• Improved input responsiveness while agent task lists update — task updates no longer re-render the entire UI</p>
|
||||
<p>• Reduced per-tool-call CPU overhead in print/SDK sessions with many MCP tools by caching tool-pool assembly (up to 7x faster tool rounds at high tool counts)</p>
|
||||
<p>• Reduced memory usage by bounding the file edit read cache to 16 MB instead of pinning up to 1,000 full files</p>
|
||||
<p>• Reduced session transcript size (up to 79x in edit-heavy sessions) and bounded checkpoint disk usage by pruning superseded file-history backups</p>
|
||||
<p>• Reduced memory usage when resuming sessions with background agents or forks spawned from large conversations</p>
|
||||
<p>• Completed background agents now stay listed in /tasks until cleanup instead of vanishing the moment they finish</p>
|
||||
<p>• Attaching to a stopped background agent now shows its transcript immediately while the session warms up, instead of a blank "Session is starting" screen</p>
|
||||
<p>• Background sessions: an older daemon no longer silently restarts workers spawned by a newer version onto the older binary</p>
|
||||
<p>• Agent view: Ctrl+X now deletes renamed-branch worktrees, never destroys unpushed commits, keeps the session row when a worktree is kept, and reused worktree names reset to the current base</p>
|
||||
<p>• Catastrophic removals (e.g. rm -rf ~) in commands containing $(…)/backticks/&lt;(…) now prompt in --dangerously-skip-permissions and auto mode, matching the plain form</p>
|
||||
<p>• /install-github-app and the /mcp settings menu no longer open in background sessions</p>
|
||||
<p>• MCP servers configured with an empty URL now show as "not configured" in /mcp instead of a config error</p>
|
||||
<p>• /usage now shows your last-known usage bars with an "as of" note when the usage endpoint is rate-limited, instead of an error screen</p>
|
||||
<p>• Fixed Bedrock auth failing with "Session token not found or invalid" for AWS SSO profiles whose sso_region differs from the Bedrock region (2.1.207 regression)</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.207</id>
|
||||
<title>Claude Code v2.1.207</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.207"/>
|
||||
<updated>2026-07-11T00:52:04Z</updated>
|
||||
<content type="html"><p>• Auto mode is now available without CLAUDE_CODE_ENABLE_AUTO_MODE opt-in on Bedrock, Vertex AI, and Foundry; disable via disableAutoMode in settings</p>
|
||||
<p>• Fixed the terminal freezing and keystrokes lagging while streaming responses containing very long lists, tables, paragraphs, or code blocks</p>
|
||||
<p>• Fixed remote managed settings from a non-interactive run (claude -p, the SDK) being permanently recorded as consented without ever showing the security consent dialog</p>
|
||||
<p>• Fixed spurious prompt-injection warnings triggered by benign system-generated conversation updates</p>
|
||||
<p>• Fixed the auto-updater overwriting a custom launcher script or symlink at ~/.local/bin/claude on every release; /doctor now reports an externally managed launcher</p>
|
||||
<p>• Fixed compound commands with cd prompting for permission when the only output redirect was to /dev/null</p>
|
||||
<p>• Fixed the transcript jumping above the start of the answer when a response finishes streaming</p>
|
||||
<p>• Fixed extensions.worktreeConfig being left in the repo's .git/config (breaking go-git tools like tea) after the last worktree.sparsePaths worktree was removed</p>
|
||||
<p>• Fixed malformed bracket patterns in rules globs, skill paths, .ignore, and .worktreeinclude breaking file reads, file suggestions, and worktree creation</p>
|
||||
<p>• Fixed a crash loop in agent teams where a malformed teammate mailbox message caused repeated errors every second until the mailbox file was manually deleted</p>
|
||||
<p>• Fixed background sessions auto-named by accepting a plan not showing that name on their agent-view row</p>
|
||||
<p>• Fixed background sessions that entered a git worktree resuming blank after a cold reopen from the agent list</p>
|
||||
<p>• Fixed Remote Control task status updates being lost when the connection recovered from a network interruption or credential refresh</p>
|
||||
<p>• Fixed Remote Control sessions hosted by the desktop app not showing background agent and workflow progress on mobile and web</p>
|
||||
<p>• Fixed Deep research runs labeling every Fetch-phase agent "unknown" — chips now show the source hostname</p>
|
||||
<p>• Fixed Bedrock repeatedly requesting fresh AWS SSO credentials from IAM Identity Center on every API request</p>
|
||||
<p>• Improved agent view: pasting the same text again now expands the collapsed [Pasted text #N] placeholder instead of adding a second one</p>
|
||||
<p>• Improved agent view: blocked session peeks now lead with the question and show a worded staleness clock (waiting 3m) instead of the same timestamp twice</p>
|
||||
<p>• Changed Bedrock, Vertex, and Claude Platform on AWS to default to Claude Opus 4.8</p>
|
||||
<p>• Changed auto mode to no longer read autoMode from .claude/settings.local.json (repo-resident); use ~/.claude/settings.json instead</p>
|
||||
<p>• Fixed an indefinite hang on Windows when AWS credential resolution stalls (e.g. a stuck credential_process): the 60-second stall guard now fires instead of waiting forever.</p>
|
||||
<p>• Plugin hooks/monitors/MCP headersHelper: ${user_config.*} in shell-form commands is now rejected (shell-injection fix). Hooks: use exec form (args array) or $CLAUDE_PLUGIN_OPTION_&lt;KEY&gt;; monitors and headersHelper: read the value inside the script (config file or the server's env block).</p>
|
||||
<p>• Plugin option values (pluginConfigs) are no longer read from project-level .claude/settings.json; only user, --settings, and managed settings are honored</p>
|
||||
<p>• Fixed /usage-credits amount inputs silently stripping malformed values (e.g. a pasted timestamp) to digits; malformed amounts are now rejected with an error, and amounts over $1,000 require a typed confirmation</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.206</id>
|
||||
<title>Claude Code v2.1.206</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.206"/>
|
||||
<updated>2026-07-09T23:34:23Z</updated>
|
||||
<content type="html"><p>• Added directory path suggestions to /cd, matching /add-dir behavior</p>
|
||||
<p>• Added a /doctor check that proposes trimming checked-in CLAUDE.md files by cutting content Claude could derive from the codebase</p>
|
||||
<p>• /commit-push-pr now auto-allows git push to the repo's configured push remote (remote.pushDefault, or the sole remote when only one is configured) in addition to origin</p>
|
||||
<p>• Gateway: /login now supports Anthropic-operated public gateway endpoints</p>
|
||||
<p>• EnterWorktree now asks for confirmation before entering a git worktree outside the project's .claude/worktrees/ directory</p>
|
||||
<p>• Background agents now upgrade to a new version in the background right after a Claude Code update, instead of paying a slow stale-session upgrade when you attach</p>
|
||||
<p>• Fixed an expired login failing every model with a misleading "There's an issue with the selected model" error instead of prompting to run /login</p>
|
||||
<p>• Fixed claude --resume and --continue not responding to keyboard input on startup</p>
|
||||
<p>• Fixed MCP servers configured via --mcp-config or .mcp.json ignoring a per-server request_timeout_ms, which caused long-running MCP tool calls to time out at the 60s default in fresh sessions</p>
|
||||
<p>• Fixed CLAUDE_CODE_EXTRA_BODY being silently ignored by claude agents / --bg background workers; the shell-exported override now follows the dispatching session</p>
|
||||
<p>• Fixed OAuth MCP servers requiring manual re-authentication after a single failed token refresh</p>
|
||||
<p>• Fixed --permission-prompt-tool pointing at an MCP server crashing with "MCP tool not found" on cold start before the server finishes connecting</p>
|
||||
<p>• Fixed /model picker rows printing a price for a different model than the row named, and stopped quoting first-party list prices on providers that don't bill them</p>
|
||||
<p>• Fixed server-provided model rows being misplaced in the /model picker when an entitlement or allowlist restriction drops the row they were positioned against</p>
|
||||
<p>• Fixed desktop sessions getting stuck showing "running" after a slash command was sent mid-turn</p>
|
||||
<p>• Fixed keyboard input being ignored in the agents view when a setup prompt appeared before a bare claude --resume on Windows</p>
|
||||
<p>• Fixed claude rm leaving the removed job in the daemon roster, causing the row to reappear in claude agents</p>
|
||||
<p>• Fixed /remote-control showing "Unknown command" when logged out — it now explains how to sign in</p>
|
||||
<p>• Fixed left arrow not stepping back out of a phase or agent in the workflow detail view</p>
|
||||
<p>• Fixed /status listing the same broken-install warning twice</p>
|
||||
<p>• Fixed false "disused plugin" tips and skewed disuse telemetry for LSP plugins</p>
|
||||
<p>• Fixed /doctor's update check to compare Homebrew installs against their cask's channel instead of the settings channel</p>
|
||||
<p>• Fixed the fullscreen jump-to-bottom pill suggesting Ctrl+End on macOS, not showing rebound chords, and wrapping over the transcript</p>
|
||||
<p>• Bedrock: fixed a multi-minute startup hang when using an awsCredentialExport helper on networks with restricted egress</p>
|
||||
<p>• Improved /code-review findings quality on claude-opus-4-8 across all effort levels</p>
|
||||
<p>• Improved agents view: status column now uses full terminal width instead of truncating at 64 characters</p>
|
||||
<p>• Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice; deleted background jobs stay deleted</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.205</id>
|
||||
<title>Claude Code v2.1.205</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.205"/>
|
||||
<updated>2026-07-08T21:21:58Z</updated>
|
||||
<content type="html"><p>• Added an auto mode rule that blocks tampering with session transcript files</p>
|
||||
<p>• Fixed --json-schema silently producing unstructured output when the schema was invalid, and schemas using the format keyword being rejected</p>
|
||||
<p>• Fixed a message sent while Claude was working being silently lost when the turn ended at the --max-turns limit</p>
|
||||
<p>• Fixed Windows worktree removal deleting files outside the worktree when an NTFS junction or directory symlink existed inside it</p>
|
||||
<p>• Fixed background agents staying shown as "failed" or "completed" in the agent list after being resumed with SendMessage</p>
|
||||
<p>• Fixed background jobs flipping from "needs input" back to "working" in the agent list when the agent's turn contained no readable text</p>
|
||||
<p>• Fixed claude attach erroring when a background agent was mid-upgrade restart instead of waiting for it to come back</p>
|
||||
<p>• Fixed session-to-PR linking missing a PR created in a Bash call whose output exceeded the 30K inline limit</p>
|
||||
<p>• Fixed claude mcp add-from-claude-desktop getting stuck when a server name contains unsupported characters; invalid names are now reported and remaining servers still import</p>
|
||||
<p>• Fixed a plugin LSP server that fails to initialize preventing a valid LSP server from another plugin handling the same file extension</p>
|
||||
<p>• Fixed a Windows crash when the directory Claude was launched from is deleted, locked, or unmounted while a command is running</p>
|
||||
<p>• Fixed a crash when a file watcher was closed while a directory scan was still in flight</p>
|
||||
<p>• Fixed project verify skills being rewritten on every session instead of only when a documented command changed</p>
|
||||
<p>• Fixed the agent view rendering one line too high and clipping its header when the job list slightly overflowed the screen</p>
|
||||
<p>• Fixed background tasks in the web and mobile Remote Control panels showing stale "Running" status by forwarding full task state on every membership change</p>
|
||||
<p>• Improved auto mode to ask before running rm -rf on a variable it can't resolve from context</p>
|
||||
<p>• Auto-update binary downloads now stream to disk instead of buffering in memory, cutting the updater's peak memory usage by roughly 400 MB</p>
|
||||
<p>• Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on</p>
|
||||
<p>• Improved agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in claude agents</p>
|
||||
<p>• Improved agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, and the peek opens with full status including the exact ask for blocked sessions</p>
|
||||
<p>• /doctor is now a full setup checkup that can diagnose and fix issues; /checkup is its alias</p>
|
||||
<p>• Reserved the "Claude Browser" MCP server name (alongside "Claude Preview") ahead of the Claude Desktop pane rename; user-configured MCP servers can no longer register under either name</p>
|
||||
<p>• Fixed Cowork VM-mode local-agent sessions failing to start with "Not logged in · Please run /login" on CLI 2.1.203+</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.204</id>
|
||||
<title>Claude Code v2.1.204</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.204"/>
|
||||
<updated>2026-07-08T00:27:43Z</updated>
|
||||
<content type="html"><p>• Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.203</id>
|
||||
<title>Claude Code v2.1.203</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.203"/>
|
||||
<updated>2026-07-07T21:06:03Z</updated>
|
||||
<content type="html"><p>• Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted</p>
|
||||
<p>• Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible</p>
|
||||
<p>• Added the session's additional working directories to MCP roots/list, with notifications/roots/list_changed sent when the set changes</p>
|
||||
<p>• Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196)</p>
|
||||
<p>• Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically</p>
|
||||
<p>• Fixed returning to claude agents silently stopping running subagents and re-running the prompt from scratch — their work now carries over</p>
|
||||
<p>• Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn</p>
|
||||
<p>• Fixed background agents inheriting a stale PATH from the daemon instead of the dispatching shell, causing missing tools on Windows</p>
|
||||
<p>• Fixed background and agent-view sessions dropping a shell-exported ANTHROPIC_BASE_URL, which sent API keys to the default endpoint and failed with 401</p>
|
||||
<p>• Fixed Bash failing with "argument list too long" in repos with many git worktrees</p>
|
||||
<p>• Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree</p>
|
||||
<p>• Fixed worktree creation rejecting nested repositories in multi-repo workspaces, leaving background sessions unable to isolate and edit</p>
|
||||
<p>• Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path — they now fail once with a clear error</p>
|
||||
<p>• Fixed a background daemon auto-upgrade failure silently killing all running background sessions</p>
|
||||
<p>• Fixed TaskStop and TaskOutput failing to find background agents spawned by another agent — errors now list running agents by id and description</p>
|
||||
<p>• Fixed the claude agents composer discarding your typed message when a slash command isn't available there</p>
|
||||
<p>• Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session</p>
|
||||
<p>• Fixed background sessions showing "Needs input" in the agent list after the question was already answered</p>
|
||||
<p>• Fixed background agent startup failures showing only "exit_with_message" instead of the actual error</p>
|
||||
<p>• Fixed background sessions ignoring effortLevel changes in settings.json when forked through the daemon</p>
|
||||
<p>• Fixed attached background sessions ignoring CLAUDE_CODE_DISABLE_MOUSE and CLAUDE_CODE_DISABLE_MOUSE_CLICKS opt-outs</p>
|
||||
<p>• Fixed /exit incorrectly warning about running background agents after all named agents had completed</p>
|
||||
<p>• Fixed background sessions started from a non-git directory unable to edit files when a WorktreeCreate hook was configured</p>
|
||||
<p>• Fixed the @ directory picker in claude agents not showing registered git worktrees</p>
|
||||
<p>• Fixed background task output on Windows being permanently replaced by an empty file after /clear</p>
|
||||
<p>• Fixed content jumping when scrolling up through long transcript history</p>
|
||||
<p>• Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown</p>
|
||||
<p>• Fixed literal ^[[I / ^[[O escape codes being printed when reattaching to a background session</p>
|
||||
<p>• Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests</p>
|
||||
<p>• Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen</p>
|
||||
<p>• Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent</p>
|
||||
<p>• Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it</p>
|
||||
<p>• Changed left arrow to no longer close the background tasks, diff, and workflow detail views — press Esc instead</p>
|
||||
<p>• Changed the empty claude agents view to always show the organized sections (Needs input / Working / Completed) with descriptions</p>
|
||||
<p>• Removed the startup "claude command missing or broken" warnings — they now appear in /doctor and /status instead</p>
|
||||
<p>• Removed a redundant navigation hint from the claude agents footer</p>
|
||||
<p>• [VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.202</id>
|
||||
<title>Claude Code v2.1.202</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.202"/>
|
||||
<updated>2026-07-06T22:51:10Z</updated>
|
||||
<content type="html"><p>• Added a "Dynamic workflow size" setting in /config for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap</p>
|
||||
<p>• Added workflow.run_id and workflow.name OpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run's activity can be reconstructed from OTel data</p>
|
||||
<p>• Fixed a crash in the inline Ctrl+R history search when accepting or cancelling while the search was still scanning the history file</p>
|
||||
<p>• Fixed /rename on background sessions being reverted when the job restarts, which broke addressing the session by its new name</p>
|
||||
<p>• Fixed transient mTLS handshake failures when settings were re-applied during an in-place client certificate rotation</p>
|
||||
<p>• Fixed commands sent from Remote Control (mobile/web) into an interactive session failing with "Unknown command"</p>
|
||||
<p>• Fixed images and files sent from the Remote Control mobile or web app without a caption being silently dropped</p>
|
||||
<p>• Fixed the sign-in URL printed by claude auth login and claude mcp login --no-browser not being reliably clickable when it wraps over SSH — it is now emitted as a single hyperlink</p>
|
||||
<p>• Fixed opening a chat from claude agents sometimes failing with "currently running as a background agent" followed by a worker crash/respawn loop</p>
|
||||
<p>• Fixed workflow scripts with unicode quote escapes in strings being corrupted before parsing; workflow parse errors now show the offending line instead of always blaming TypeScript</p>
|
||||
<p>• Fixed voice dictation retrying in an unbounded loop when the microphone or audio recorder fails — repeated capture failures now pause voice input</p>
|
||||
<p>• Fixed /remote-control sessions showing the wrong permission mode in the mobile and web apps</p>
|
||||
<p>• Fixed resuming a session by name, or opening the resume picker, taking minutes and using a large amount of memory in repositories with many git worktrees</p>
|
||||
<p>• Fixed installer and updater downloads failing immediately with "aborted" when a proxy or network drops the connection mid-download — transient connection drops now retry</p>
|
||||
<p>• Fixed re-invoking an already-loaded skill appending a duplicate copy of its instructions to context</p>
|
||||
<p>• Improved /workflows agent list layout: wider titles, a dedicated time column, shorter model names, and no per-row tool-call counts</p>
|
||||
<p>• Improved MCP error messages: clearer error when a server config has url but no type, suggesting "type": "http" instead of the misleading "command: expected string"</p>
|
||||
<p>• Changed /review &lt;pr&gt; back to a fast single-pass review; use /code-review &lt;level&gt; &lt;pr#&gt; for the multi-agent review at a chosen effort level</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.201</id>
|
||||
<title>Claude Code v2.1.201</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.201"/>
|
||||
<updated>2026-07-03T23:50:29Z</updated>
|
||||
<content type="html"><p>• Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.200</id>
|
||||
<title>Claude Code v2.1.200</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.200"/>
|
||||
<updated>2026-07-03T16:52:26Z</updated>
|
||||
<content type="html"><p>• Changed AskUserQuestion dialogs to no longer auto-continue by default; opt into an idle timeout via /config</p>
|
||||
<p>• Changed the "default" permission mode to "Manual" across the CLI, --help, VS Code, and JetBrains; --permission-mode manual and "defaultMode": "manual" are accepted alongside default</p>
|
||||
<p>• Fixed a crash at startup when disabledMcpServers or enabledMcpServers in .claude.json is set to a non-array value</p>
|
||||
<p>• Fixed background sessions silently stopping mid-turn after sleep/wake or when reopening a stalled session</p>
|
||||
<p>• Fixed background sessions re-running a turn cancelled with Esc after a stall respawn</p>
|
||||
<p>• Fixed background agents never starting again after a crash left a stale daemon.lock whose PID the OS reused</p>
|
||||
<p>• Fixed background-agent daemon handover so a reinstalled older build can no longer take over the daemon; build recency is now judged by the version's embedded build timestamp</p>
|
||||
<p>• Fixed background-agent roster issues: transient corruption permanently disabling orphan cleanup, older binaries not preserving fields written by newer versions, and socket auth tokens being stripped during daemon restarts</p>
|
||||
<p>• Fixed subagents cut off by a rate limit before producing any text output returning an empty result instead of failing cleanly</p>
|
||||
<p>• Fixed control bytes from background-agent output reaching the terminal in the agent view</p>
|
||||
<p>• Fixed claude agents --plugin-dir &lt;dir&gt; not showing the plugin's agents and skills in the agent view when the flag is placed after agents</p>
|
||||
<p>• Fixed project-scoped plugins not loading correctly from git worktrees of the same repository</p>
|
||||
<p>• Fixed /mcp server list not tracking focus for screen readers and magnifiers</p>
|
||||
<p>• Fixed voice dictation showing a misleading "Voice connection failed" message when a recording captures no audio</p>
|
||||
<p>• Fixed rendering flicker under tmux 3.4+ by enabling synchronized terminal output</p>
|
||||
<p>• Improved screen-reader output: decorative glyphs are now hidden, transcript symbols read as short labels, and nested tables read as Header: value. lines</p>
|
||||
<p>• Improved the install script to explain when installation is killed by the system running out of memory</p></content>
|
||||
</entry>
|
||||
</feed>
|
||||
|
||||
Reference in New Issue
Block a user