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.280" description="September 22, 2026">
10 * Added Claude Opus 5.5 (`claude-opus-5-5`), now the default Opus model — 1M context, $4/$20 per Mtok with \$0.20/Mtok cache reads
11 * Added mouse support to more lists in fullscreen mode: the wheel scrolls the `/skills` list, and a skill's state options in `/plugin` can be clicked
12 * Added `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` to change the 2,048-character cap on MCP tool descriptions and server instructions for every MCP server in the session
13 * Added hook output sizes and the number of oversized outputs saved to a file to the `hook_execution_complete` OpenTelemetry event
14 * Fixed writes through a symlinked path being judged by their in-tree spelling: the prompt names where the write lands, and `acceptEdits`, allow rules and auto mode no longer approve one landing outside
15 * Fixed auto mode retrying an action over and over when a safety check declined to review it; the action is now denied once, noting that retrying won't help
16 * Fixed auto mode denying actions over and over without pause when a safety check gave no answer; retries now back off, and the turn stops with a message after ten in a row
17 * Fixed Write calls failing validation when a model sends `path`, `file_text`, `file_content` or a stray `description` instead of `file_path` and `content`
18 * Fixed Ctrl+C or Ctrl+D pressed twice in most dialogs (`/model`, `/effort`, `/config`, `/status`, `/usage`, `/plugin`, `/sandbox`, `/permissions`, `/artifacts`, `/mobile`, `/login`, `/upgrade`, `/usage-credits`, `/install-github-app`, `/setup-bedrock`, `/setup-vertex`) quitting Claude Code instead of closing the dialog
19 * Fixed a click that only brought the terminal window to the front also triggering the item under the pointer — in search pickers, tab bars, agent/workflow rows, slash-command links and suggestion dropdowns
20 * Fixed a stray `n` closing dialogs and a stray `y` confirming them; Enter and Esc accept and cancel (bind `y`/`n` to `confirm:yes`/`confirm:no` in `keybindings.json` to restore)
21 * Fixed text fields in dialogs losing a typed letter, digit or Space to a keybinding on that key
22 * Fixed the prompt line staying scrambled on Windows terminals after invisible characters were removed on Enter; the screen is now repainted so you review the exact text that will be sent
23 * Fixed the invisible-character cleanup removing the zero-width non-joiner that Persian and Arabic text uses to attach a suffix to a Latin word or number, such as the plural of "PDF"
24 * Fixed voice dictation not stopping on Ctrl+C (the prompt cleared but the microphone kept recording), Esc not cancelling while a transcript was processing, and held Space starting dictation from the transcript view and vim NORMAL mode
25 * Fixed a model switch made from a host app (Claude Desktop, VS Code, SDK) while Claude is working causing a prompt-cache miss on the next prompt
26 * Fixed resumed fork subagents rebuilding their tool list instead of re-sending the one they first used, which broke prompt caching for that agent
27 * Fixed subagent hand-back messages showing an internal provenance preamble when expanded outside verbose mode
28 * Fixed `installed_plugins.json` keeping the install-time commit after updating a plugin from a GitHub repository or git URL that tracks a branch or tag
29 * Fixed skills in `~/.claude/skills/` being moved to `~/.claude/skills/.trash/` when a `manifest.json` in that folder listed their names
30 * Fixed the session feedback survey showing no hover highlight on light and ANSI themes
31 * Fixed `/workflows` briefly showing a one-row list before opening the only run
32 * Fixed the mouse wheel not scrolling selection lists with hidden options (such as `/model` and `/permissions`) in fullscreen mode
33 * Fixed a skill you switched off showing the same red ✘ as a plugin that failed to load in `/plugin` and `/skills`; off now shows a dim ◯
34 * Fixed multi-select option descriptions being indented under the option number instead of under the label
35 * Fixed the search box in `/plugin`, `/skills` and `/mcp` losing its right border in fullscreen mode
36 * Fixed `/mcp` showing △ in the server list but ⚠ in the detail view for the same server; the list, detail views and `/plugin` now all show ⚠
37 * Fixed Home and End doing nothing in the `/config` settings list and in selection lists such as `/model`, `/memory` and permission prompts
38 * Fixed PgUp/PgDn in the `/skills` menu wrapping past the first or last skill instead of stopping there
39 * Fixed Tab silently changing the selected setting's value in the `/config` list; it now does nothing there
40 * Fixed conversations failing on every turn with a "role 'system' must precede an 'assistant' message" API error
41 * Fixed conversations with the advisor on failing every turn with API Error 400 "Input tag 'advisor\_20260301'" behind a proxy or gateway that doesn't support it; the request now retries without it
42 * Fixed a session failing on every turn and `/compact` when its saved history held a malformed notice about MCP tools that could not be loaded
43 * Fixed a crash when resuming a session whose saved transcript holds a malformed system message or a memory-saved notice without its file list
44 * Fixed one cause of long-running fullscreen sessions exiting with "Claude Code exited after an unrecoverable interface error": a damaged cached message list is now rebuilt
45 * Fixed Claude Code hanging when a settings file, or a file it re-reads after an edit, is replaced by a named pipe mid-read
46 * Fixed `/config` crashing and some on/off preferences being misread when a preference that has moved to `settings.json` still holds a value like `null` or `"false"` in `~/.claude.json`
47 * Fixed resuming a session with unfinished background agents, shells or workflows starting a model turn on its own before you typed anything
48 * Fixed messages sent to a background subagent being silently lost in headless and SDK sessions when the subagent was finishing its turn
49 * Fixed a finished subagent's report being lost when the conversation that launched it was compacted before the report was read
50 * Fixed background subagents being unable to use the LSP tool when an LSP plugin is active
51 * Fixed background shell tasks reporting benign non-zero exits (e.g. grep with no matches) as failures
52 * Fixed background sessions (`claude --bg`) being unable to run git, hooks, plugins and other helper programs when an environment variable handed to the session contained a NUL character
53 * Fixed Ctrl+C needing three or four presses to exit while background subagents are running; two presses now exit
54 * Fixed IDE selection being dropped when a sent prompt comes back into the input, such as pressing Esc to edit it, rewinding to it, or pressing Esc while startup hooks run
55 * Fixed a `!` shell-mode prompt stashed with Ctrl+S coming back as a plain prompt when restored, and `/` listing file paths right after stashing one
56 * Fixed `claude agents` showing a blank, unresponsive screen instead of an error when the temp directory is full, not writable or owned by another user
57 * Fixed an MCP server re-added under the same name after `claude mcp remove` still showing as needing authentication instead of reconnecting
58 * Fixed background plugin marketplace auto-update ignoring git credential helpers, so private-repo marketplaces were re-cloned every run or never updated
59 * Fixed `claude plugin update` clearing a plugin's recorded commit and moving it to version "unknown" when the official marketplace's snapshot file is a link or too large
60 * Fixed the Artifact tool silently disappearing when your organization's policy can't be loaded (for example behind a web proxy); Claude now says what's blocking it
61 * Fixed artifact republishes silently resetting stored database access rules or dropping the viewer profile scope when that capability was re-sent without them; they are now refused
62 * Fixed `/ultrareview` reporting a stopped cloud review as completed or as an error to retry, and waiting out the full timeout when its session was deleted or the signed-in account changed
63 * Fixed the Claude app showing a missing or stale context usage figure for Remote Control and cloud sessions right after /compact or /clear
64 * Fixed the Claude app's diff view for Remote Control and cloud sessions dropping a branch's committed files whenever there are also uncommitted changes
65 * Fixed cloud and self-hosted runner sessions failing with "Authentication failed" after waiting out a long overload during which the session's access token was rotated
66 * Fixed memory write conflicts in Cowork sessions showing Claude only the start and end of a memory file over about 10,800 characters, so the retried write dropped the middle
67 * Self-hosted runner: Fixed lifecycle-hook commits failing to sign under `--configure-git`
68 * Windows: Fixed background cleanup deleting a directory symlink or junction used to relocate `~/.claude/session-env`, `image-cache` or another cleaned-up folder
69 * Self-hosted runner: Fixed a turn that ended right at a `--retire-at` release losing its finished signal; the runner now briefly waits for the turn to be reported before stopping the session
70 * Reverted `ctrl+l` / `cmd+k` in fullscreen mode clearing the transcript view (added in 2.1.260); they redraw the screen again
71 * Improved `/permissions`: focus returns to the rule list after viewing, adding or deleting a rule, and the delete-rule and remove-directory confirmations now default to No
72 * Improved `/permissions` tab navigation: ←/→ and Tab pressed in a rule list now switch tabs without moving focus to the tab bar
73 * Improved `/cost` cache-miss causes to name thinking mode and thinking display changes
74 * Improved the Artifact tool so that when Claude cannot read an artifact link it was given, it tells the user before continuing
75 * Improved `/install-github-app`: the GitHub CLI check and repository selection steps now show "Esc to cancel"
76 * Improved the `/artifacts` and `/workflows` lists: a scrollbar at the right edge shows how much of a long list is hidden and where you are in it
77 * Improved the workflow progress tree: running agents and phases now show a dim dot instead of ⟳
78 * Improved `/plugin`'s Add Marketplace form in fullscreen: it no longer draws a box inside the pane, and its text and key hints line up with the rest of `/plugin`
79 * Improved the `/workflows` detail view in fullscreen: it no longer draws a second horizontal rule under the pane's divider
80 * Improved code blocks that don't name a language: they are now colored like inline code, so commands stand out from the surrounding text
81 * Improved `/btw` asked while a tool is still running: the side question now knows that call is in progress instead of reading it as a failed one
82 * Improved the UserPromptSubmit hook timeout notice and the debug log to name which hook command timed out
83 * Improved `@` file suggestions: a file whose name contains the query now ranks above one that only matches across its folder names
84 * Improved artifact pages: no Print buttons, confirm dialogs or device features the viewer blocks, email and phone details shown as text, and dark mode that reaches form controls and scrollbars
85 * Improved `/ultrareview` uploads: renamed copies of key files, such as `id_rsa copy` or `kubeconfig (1).yaml`, now also stay on your machine
86 * Improved the cross-session messaging startup warning to explain that `--debug-file` writes a debug log to a path you choose
87 * Changed the default model on Pro and Team Standard plans from Sonnet to Opus, matching Max, Team Premium, and Enterprise
88 * Changed an effort level saved before `/effort` became per-model to no longer apply to newly released models such as Opus 5.5; they start at their default until you pick a level
89 * Changed Opus 4.7, Opus 4.8 and Fable 5 to stop holding their launch-default effort over `/effort` in `-p` or the Agent SDK, a project, managed or `--settings` `effortLevel`, or a per-model level
90 * Changed `/autocompact`'s footer hint to name ←/→, the keys that adjust other ordered values
91 * Changed `/fast`'s footer to name Space as the toggle key
92 * Self-hosted runner: Changed git in lifecycle hooks to ignore hook folders and programs named in the runner's shared git files; local-path and `git://` remotes there now need `GIT_ALLOW_PROTOCOL`
93 * Changed plugin marketplaces whose name imitates a reserved marketplace name to be refused when added, and to stop loading if one was already added
94 * Changed `PermissionRequest` hooks: an agent-type hook no longer runs there, since its answer could never allow or deny the request; it now shows an error pointing to command or http hooks
95 * \[VSCode] Added a Status dialog, with a typed `/status`, showing the session's version, account, model and server details
96 * \[VSCode] Added a Sandbox dialog for the sandbox mode, the unsandboxed fallback and excluded commands, opened from the panel menu or by typing `/sandbox`
97 * \[VSCode] Added a Claude in Chrome dialog (extension status, the install, reconnect and permissions pages, the enabled-by-default setting), opened from the panel menu or by typing `/chrome`
98 * \[VSCode] Added Export conversation, with a typed `/export`, to copy or save the conversation as plain text
99 * \[VSCode] Added each skill's source, token estimate and on/off state to the Slash commands dialog, with a click to change the state, and a typed `/skills` that opens it
100 * \[VSCode] Added a typed `/plan` that switches to plan mode, sends a first planning prompt, or shows the session's plan
101 * \[VSCode] Improved pasted-text handling in the chat box: a paste over 800 characters or over 2 line breaks is now marked so Claude can tell it from what you typed
102 * \[VSCode] Improved prompt handling in the chat box: invisible Unicode formatting and tag characters are removed from pasted text with a notice, and from anything else before it is sent
103 * \[VSCode] Changed "Open in New Tab" to open Claude beside the editor group you are working in rather than after the last group
104 * \[VSCode] Fixed the effort chip showing a stale saved effort level instead of the level the session runs at
105 * \[VSCode] Fixed Claude Code never starting when the Python extension hangs while activating; it now starts after 60 seconds without the Python environment
106 * \[VSCode] Fixed the plan approval card never offering auto mode: when auto mode is available, its first option is now "Yes, and use auto mode", as in the terminal
107 * \[VSCode] Fixed arrow-key navigation in the session list stopping after archiving or unarchiving a session from the keyboard
108 * \[VSCode] Fixed paste marker lines showing in your own messages after reopening a session
109 * \[Claude Code on the web] Changed the admin Routines on/off setting to live under Admin settings → Capabilities → Remote sessions; the Claude Code admin page now links to it
110 * \[Claude Code on the web] Fixed `gh` and GitHub API calls inside a cloud session on a GitHub Enterprise Server repository failing after about eight hours; the token now renews automatically
111 * \[Claude Code on the web] Fixed a routine that resumes an existing session running with its old prompt and name when it was edited moments before the scheduled run started
112 * \[Claude Code on the web] Fixed file links in a cloud session transcript that point outside the session's working directory opening a file card that never loads; they're now disabled and say why
113 * \[Claude Code on the web] Fixed auto mode refusing to retry a tool call because an approval prompt that expired unanswered, or was superseded by a newer message, had been recorded as your rejection
114 * \[Claude Code on the web] Improved cloud sessions viewed in the Claude app: Claude now saves files meant for you where the app can open them
115 * \[Claude Code on the web] Removed the empty repository picker shown when starting a session on a self-hosted environment in an organization where an admin has turned GitHub off
116 * \[Claude Tag] Added Slack's native Working indicator, Stop button and thread title to Claude's threads in channels; the indicator stays up until Claude finishes, and Stop interrupts the task
117 * \[Claude Tag] Added a short notice in the Slack channel when a guest joining, or the last guest leaving, changes how Claude responds there under a Restrict or Channel only guest setting
118 * \[Claude Tag] Fixed scheduled routines silently failing to run in Slack workspaces that were connected to Claude before the workspace joined its Enterprise Grid
119 * \[Claude Tag] Fixed Claude asking you to re-upload a Slack file when a brief file-scanning outage, not the file, was the problem; it now retries the scan and is told when the scanner is down
120 * \[Claude Tag] Fixed a bullet in Claude's Slack reply whose text starts with +, - or \* rendering as an empty bullet with a stray nested item; it now shows as one bullet with the character kept
121 * \[Claude Tag] Fixed the Slack notice for a failed cloud environment setup script sometimes being a generic "mention me to retry"; it now names the setup script and says to fix it first
122 * \[Claude Tag] Improved the GitHub banner in Claude Tag admin settings to say why GitHub isn't connected: not signed in, app not linked or not installed, sign-in expired, or SSO not authorized
123 * \[Code Review] Improved the Code Review check run to say when REVIEW\.md instructions were cut or left out of a review for exceeding a size limit, naming the file and the limit
124</Update>
125
9126<Update label="2.1.278" description="September 19, 2026">
10127 * Changed auto mode for Claude API and Enterprise users, and on Bedrock, Vertex, Foundry and gateways, to default to the server-side classifier, which does not charge for classifier overhead (`CLAUDE_CODE_AUTO_MODE_SERVER=0` opts out on Bedrock, Vertex, Foundry and gateways); warns on billed fallback. See [https://code.claude.com/docs/en/auto-mode-classifier-billing](https://code.claude.com/docs/en/auto-mode-classifier-billing)
11128 * Added an `Auto mode server` row to `/status` showing whether this session's auto mode classifier runs on the server
from line 1785
16681785 * Fixed a PowerShell permission bypass where variable-writing parameters could silently overwrite `$PSDefaultParameterValues` and redirect later commands' file access
16691786 * Fixed a Windows permission bypass where Git Bash followed Cygwin-style symlinks that path validation saw as regular files; writes through them now require permission approval
16701787 * Fixed nested git repositories inheriting trust from a parent directory; each repository now requires its own trust confirmation
1671 * Fixed MCP connections hanging for the full 30-second connect timeout when a server fails to answer or sends a malformed reply to the protocol-version probe
1672 * Fixed Remote Control sessions hosted by a bridge inside a cloud session inheriting that session's transcript or credentials
1673 * Fixed Remote Control sessions started from Claude Desktop or an IDE appearing as a new claude.ai session each time the local session was resumed; they now reattach to the existing one
1674 * Fixed Remote Control sessions appearing unreachable to newly attached clients while idle
1675 * Fixed Remote Control bridge sessions not restoring conversation history when the session worker restarts
1676 * Remote Control: resuming a conversation whose session was deleted from claude.ai or the app now starts a replacement instead of failing with a message about your login (regressed in v2.1.227)
1677 * Fixed Cloud gateway `/login` exiting silently or leaving an unresponsive terminal after "Press Enter to continue" when managed settings failed to load; the reason is now shown
1678 * Fixed voice mode on native builds getting stuck on "listening…" when the voice service rejected the connection; the rejection is now shown immediately
1679 * Fixed mTLS client certificate rotation requiring a restart; Claude Code now reloads the rotated cert and key automatically on connection errors
1680 * Fixed malformed AWS or Vertex region values being used to build request URLs; they now fall back to the default region
1681 * Fixed stream idle timeout errors failing the request instead of recovering on Bedrock, Vertex, and gateway deployments
1682 * Fixed content-sized overlays containing truncated text rendering one column too wide, and start-truncated text collapsing to an ellipsis
1683 * Fixed a stray garbled character where a long shell-command or agent-description preview was cut off mid-emoji
1684 * Fixed a startup race that could silently unregister a plugin marketplace due to concurrent writes to `known_marketplaces.json`
1685 * Fixed `/update` and `/tui` refusing to restart while work that survives the relaunch was running
1686 * Fixed usage-limit guidance suggesting unavailable slash commands in SDK and remote sessions
1687 * Fixed the consent message for interactive `--advisor fable` launches, which told you to run `/model fable` in an interactive session that had just exited
1688 * Improved fullscreen streaming: long sessions stay responsive because the whole conversation is no longer re-normalized on every update
1689 * Improved the managed settings approval dialog: shows endpoint URLs, uses clearer wording for telemetry-only changes, skips routine OpenTelemetry options, and requires approval for server-managed sandbox binary overrides (`sandbox.bwrapPath`, `sandbox.socatPath`, `sandbox.ripgrep`)
1690 * `/feedback` and `/bug` now open immediately when invoked while Claude is responding, instead of waiting for the turn to finish
1691 * `/plugin install plugin@marketplace` now refreshes the marketplace first, so newly published plugins install without a manual marketplace update
1692 * `/code-review` at high, xhigh, and max effort now runs in a background agent like the other levels
1693 * Pasted and clipboard images are read without blocking the event loop
1694 * Remote Control now keeps reconnecting for about 30 minutes after a network blip and no longer drops after a few blips spread across an hour
1695 * Remote Control: resuming a conversation no longer silently takes Remote Control away from another Claude Code on the same machine that still has it; run `/remote-control` there to move it
1696 * Updated agent panel: completed subagents hide immediately with a `/tasks` footer hint, and the "↓ N more" overflow indicator moved left for visibility
1697 * Remote Control: the terminal now says whether a session was taken over by another device, ended from another app, or deleted, and stops suggesting a reconnect that would undo it
1698 * Bash input redirections (`< file`) are now permission-checked like their argument spellings on all platforms
1699 * Shortened the message shown when resuming a completed background agent
1700 * Cowork sessions no longer inline external @-imports from user-scope memory files
1701 * Hardened the auto-generated cross-session messaging socket directory on shared `/tmp`: a pre-planted symlink or another user's directory is now refused instead of used
1702 * Hardened the Linux filesystem sandbox against a protected-path bypass
1703 * Changed `sandbox.ripgrep` to be honored only from user, managed, and `--settings` settings; project settings can no longer override the sandbox's ripgrep binary
1704 * Removed the startup tip suggesting you create custom subagents, and the matching nudge in the `/powerup` tour
1705</Update>
1706
1707<Update label="2.1.231" description="August 13, 2026">
1708 * Fixed MCP OAuth sign-in failing with a redirect URI mismatch for servers that use a pre-registered OAuth client, such as Slack
1709</Update>
1710
1711<Update label="2.1.229" description="August 12, 2026">
1712 * Documented `claude remote-control --continue` for resuming the most recent Remote Control session
1713 * Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior
1714 * Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams
1715 * 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
1716 * `ListAgents` now marks disconnected Remote Control sessions as `offline` and labels your cloud sessions as `cloud`
1717 * Fixed long responses partly disappearing while streaming and being printed twice in the terminal
1718 * 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
1719 * 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)
1720 * Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (`\\?\`) or UNC path
1721 * Fixed auto mode failing on every tool call for users who disable the attribution header via `CLAUDE_CODE_ATTRIBUTION_HEADER` (direct Anthropic API connections)
1722 * Fixed `/model` rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom `ANTHROPIC_BASE_URL` gateway
1723 * Fixed MCP OAuth with strict authorization servers by using `127.0.0.1` instead of `localhost` in the redirect URI
1724 * Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal
1725 * Fixed the Claude Code Review workflow generated by `/install-github-app` completing without posting its review on the pull request
1726 * Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected
1727 * Fixed one-shot `claude plugin` commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions
1728 * Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit
1729 * 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
1730 * Fixed SDK and `--input-format stream-json` sessions getting a 400 API error when a whitespace-only message was submitted
1731 * 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
1732 * Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint
1733 * 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
1734 * Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing
1735 * 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)
1736 * Improved "prompt is too long" errors to explain why automatic compaction could not recover instead of only suggesting `/compact`
1737 * Improved sandbox: IPv6 literals in network domain lists are now bracketed (`[::1]:443`), and ambiguous spellings are enforced fail-closed and flagged by `/doctor`
1738 * Updated `/login` to repeat the `CLAUDE_CODE_OAUTH_TOKEN` override warning after a successful login
1739 * Changed `/commit-push-pr` so git/gh commands with dangerous flags (`--force`, `--amend`, `--no-verify`, etc.) are no longer auto-approved
1740 * Changed self-hosted runner Windows startup to require an explicit `--base-dir`; there is no default checkout directory on Windows
1741 * \[VSCode] "Report a problem" and `/bug` now open the built-in feedback dialog instead of a retired survey link
1742 * \[VSCode] Made the `/btw` side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts
1743 * \[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
1744</Update>
1745
1746<Update label="2.1.228" description="August 11, 2026">
1747 * Fixed interactive sessions that could stop redrawing entirely, while the process kept running, after a rare internal layout error
1748 * Fixed `git` / Git Bash not being found on Windows when Claude Code is launched from a parent folder of the git installation
1749 * Fixed `/tui` reverting the session to an earlier model when `/model` had been changed since the last response
1750 * Fixed cross-session messaging sometimes starting without an inbox in the first session after install or upgrade
1751 * Fixed Remote Control `/resume` while connected leaking the resumed conversation's title or history into the connected session
1752 * 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
1753 * Fixed self-hosted runners ending sessions in the gap between a background task finishing and the follow-up turn starting
1754 * Fixed session cleanup deleting contents inside a project's memory folder
1755 * Fixed background plugin-cache cleanup deleting a plugin's cache when its only version is a symlinked development checkout
1756 * 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
1757 * Fixed the deferred-tools reminder occasionally being sent to the model twice after a skill invocation
1758 * 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
1759 * 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
1760 * Improved Vertex AI credential handling: expired or missing Google Cloud credentials now fail within seconds instead of retrying for minutes
1761 * Improved compaction progress: the retry countdown and stall hint now appear during compaction instead of only a progress bar
1762 * Updated terminal title busy-spinner glyphs to reduce tab-bar jitter on some terminals
1763 * 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
1764 * Removed the outdated note about auto mode sessions costing slightly more from the first-use notice for Pro, Max, and Team plans
1765</Update>
1766
1767<Update label="2.1.227" description="August 10, 2026">
1768 * 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
1769 * Fixed every Bash command failing under `claude-code-action` with `allowed_non_write_users` on GitHub-hosted runners
1770 * Fixed `/tui` bringing back a conversation that had been rewound to before its first message
1771 * 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
1772 * Improved performance: fewer event-loop stalls on file-not-found suggestions and at-mention size checks
1773</Update>
1774
1775<Update label="2.1.226" description="August 8, 2026">
1776 * Bug fixes and reliability improvements
1777</Update>
1778
1779<Update label="2.1.225" description="August 8, 2026">
1780 * 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)
1781 * Added a workspace trust prompt to `claude agents` for untrusted directories, matching the behavior of `claude`
1782 * 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
1783 * Fixed MCP OAuth servers on macOS intermittently failing with a burst of 401 errors, as if never authenticated, after a keychain read timed out
1784 * 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
1785 * Fixed cross-session messages staying parked without a notice or expiry in headless sessions and during startup
1786 * Fixed conversation history breaking on Remote Control session resume after very large conversations were compacted
1787 * Fixed hovering over a session in another project in the agents list changing the directory the next agent starts in
1788 * 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
1789 * Fixed Claude Code on the web sessions being misreported as stuck, re-sending a growing event backlog on every reconnect
1790 * 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
1791 * \[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
1792 * 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
1793 * 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
1794</Update>
1795
1796<Update label="2.1.224" description="August 7, 2026">
1797 * 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
1798 * Added `archive` plugin source: install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinning
1799 * Added a cancel-and-confirm step when removing an unavailable paste changes a command's text
1800 * Added `ANTHROPIC_BEDROCK_REGION_PREFIX` env var for Bedrock to prefer a specific cross-region inference profile over the `AWS_REGION`-derived one
1801 * 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
1802 * 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
1803 * 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)
1804 * 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
1805 * Fixed `SendMessage` reporting "Message sent" when the write to a teammate's inbox had actually failed; failed deliveries are now reported as errors
1806 * Fixed sandbox filesystem deny entries written with a trailing slash (e.g. `denyRead: "~/.aws/"`) being silently bypassable on Linux and macOS
1807 * Fixed sandbox violation details never appearing in Bash tool results; Claude now sees which file or network access was denied and why
1808 * Fixed MCP tools that connect mid-turn being deferred for tool search without their names announced to the model
1809 * Fixed plugin install records being silently corrupted when the same plugin is installed in multiple projects
1810 * Fixed recalled or restored paste content occasionally attaching wrong data or silently losing text when the paste had aged out or placeholder numbers collided
1811 * Fixed copy-on-select on Wayland
1788 * Fixed MCP connections hanging