diff --git a/CHANGELOG.md b/CHANGELOG.md index 859e1c98..02730b4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,87 @@ # Changelog +## 2.1.309 + +- Fixed sandboxed Bash commands on macOS and Linux running the shell's startup files outside the sandbox before each command +- Fixed macOS sandbox `denyWrite` glob patterns not applying at a path's real location when the pattern's folder is reached through a symlink +- Fixed sandboxed commands and auto-accepted edits being able to modify the MCP config file passed with `--mcp-config` +- Fixed a disabled MCP server being reconnected by a later permission prompt in print and SDK sessions +- Fixed the Bash permission check trusting a variable set by a command whose redirect can fail to open +- Fixed Bash permission checks not prompting for some compound commands that change directory before running git when the `cd` is wrapped or prefixed, as they do for a plain `cd` +- Fixed an `Edit(path)` deny rule not blocking a Bash redirect to that path in some commands that also held a subshell +- Fixed worktree-isolated sessions accepting some locale-prefixed commands the isolation guard should refuse +- Fixed worktree-isolated sessions on zsh accepting some arithmetic commands that the isolation guard should refuse +- Fixed worktrees and branch checkouts that Claude Code creates so they ignore git replace refs, as its other git operations already do +- Fixed profile store write protection not applying when the config directory is reached through a symlink +- Fixed sessions compacting repeatedly after reading files under a very large nested CLAUDE.md; a nested CLAUDE.md over the size limit now loads only its start +- Fixed ctrl+enter (send now) only queuing a message when pressed before the response had started, and restarting a prompt's hooks while leaving the message queued when pressed while those hooks were running +- Fixed key-bound slash commands running in the shell from `!` mode +- Fixed ctrl+o not showing messages from other agents and sessions that are still waiting to be delivered; they now appear in full under the transcript, marked as waiting +- Fixed long tool output previews being cut through an emoji, leaving session transcripts that `jq` could not parse +- Fixed Read reporting "File does not exist" for PDF page ranges in Linux sandboxes that share the parent's `/proc` +- Fixed messages from a Claude Desktop-hosted session sometimes being lost when its connection refreshed +- Fixed features missing from Claude Code sessions in the Claude desktop app when the terminal on the same computer was signed in to a different account or organization +- Fixed the `claude remote-control` status line showing `HEAD` as the branch for a folder that is not in a git repository +- Fixed split-pane agent teammates not inheriting the tool deny and `--tools` rules given on the leader's command line +- Fixed sessions renamed with `/rename` appearing to other sessions under a generated name after a VS Code window reload or a non-interactive `--resume` +- Fixed the `/rewind` list showing "No code changes" for a turn that changed checkpointed files through `/code-review --fix`, a subagent or a shell command +- Fixed `/privacy-settings` showing an out-of-date "Help improve our AI models" value; it now also says when the setting can't be fetched +- Fixed feedback saying "try again later" when your organization does not accept feedback; it now shows the server's reason and where to report a bug +- Fixed oversized /feedback reports failing instead of being resent without the transcript +- Fixed a skill in an `--add-dir` folder being unreachable when another skill already held its name; it is now offered as `:` +- Fixed `/verify` and `/code-review` not finding a nested package's own skill when its files were changed from the shell +- Fixed the /claude-api skill saying that `ant beta:worker poll --on-work` passes trace context to the command +- Fixed the /claude-api skill's C# tracing setup missing spans from the cloud platform clients +- Fixed the /claude-api skill saying that API spans for requests to Claude Platform on AWS can't join the caller's trace +- Fixed hooks that run in PowerShell not blocking when the hook's program exits with code 2, and on Windows `PreToolUse` and `PermissionRequest` hooks with `"shell": "powershell"` failing open when Git for Windows isn't installed +- Fixed a mod's `turn.step` hook that names a model by alias, such as `haiku`, failing every request with a model error: the alias now resolves to its model +- Fixed plugins and skills synced from claude.ai being removed, sometimes mid-session, after a disk read error +- Fixed artifact publishes and updates being refused for some ordinary pages, such as pages with certain minified scripts or artifacts Claude could not read first +- Fixed Claude asking for permission on each artifact update for the rest of a turn after the conversation was compacted in that turn +- Fixed fine-grained tool streaming staying off on Amazon Bedrock when `ANTHROPIC_BEDROCK_BASE_URL` is set to the default `bedrock-runtime..amazonaws.com` endpoint +- Fixed the "Waiting for API response" hint flickering behind gateways that send only keepalive pings: routes off Anthropic's backend now wait 45 seconds +- Fixed Claude notifying unrelated GitHub users by writing role names and placeholders as mentions in PRs, issues and comments +- Linux: Fixed sandbox write denies lifting when a background command outlived the session +- Windows: Fixed PowerShell permission checks auto-approving some `Set-Location` or `cd` commands that target the current directory and carry extra arguments; these now prompt for approval +- macOS: Fixed the "Install Command Line Developer Tools" dialog opening each time Claude Code starts on a Mac without Xcode or the Command Line Tools +- Self-hosted runner: Fixed `--startup-timeout-min` stopping a session whose first prompt, such as `/code-review`, was still working in a subagent; a frozen process is still stopped +- Improved the speed of many git commands Claude Code runs for itself on Windows; on every platform, errors from those commands now show in English even when git is set to another language +- Improved the error when a hooks module is nested too deep to load: it now names the file instead of showing a bare stack-overflow message +- Improved disk-full handling: a Bash command cut off by a full disk now says so and names the folder to free up, and starting on a full temp volume prints a clear message, not a raw ENOSPC error +- Improved the /claude-api skill to offer API tracing alongside SDK tracing when asked to add OpenTelemetry +- Improved the /claude-api skill to check the live docs before saying a feature is unsupported +- Self-hosted runner: Improved sessions that move to a new runner: Claude now sees the tool call that was interrupted, marked as outcome unknown +- Updated the bundled dataviz skill to accept APCA as a text-contrast measure (keeping WCAG 2 ratios where AA conformance is required), add an `apca(text, background)` function to its palette validator scripts, and say whether a label inside a colored chart fill should be white or near-black +- Updated the /claude-api skill: service account keys and Workload Identity Federation tokens can now manage OpenTelemetry destinations +- Changed `sed -i` to get the standard Bash prompt and run as written, not a simulated file-edit preview; like other Bash edits, it is no longer restored by `/rewind` +- Changed `claude ultrareview` to require workspace trust: it asks on a terminal, else refuses; scripts pass `--trust-workspace`, which takes no value (put a PR number or base branch before it), or set `CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1` +- Changed the dangerous `rm` and `rmdir` prompt in bypass permissions mode in the Desktop app and VS Code to deny the command at once with a rewrite hint, so unattended sessions keep going +- Changed commands the settings exclude from the sandbox to ask before writing to its write-list paths while the sandbox is enabled but cannot run; the unsandboxed fallback is refused there +- Changed worktree creation and reuse so git no longer fetches objects on demand, in ordinary clones and in partial clones with a Bash sandbox configured; such a partial clone fetches them first +- Changed the `/claude-api` skill to build Managed Agents subagent teams on `multiagent_20261001` with dynamic workflows on by default, instead of `coordinator` +- [VSCode] Added a log warning that says what to do when dictation or the extension's own requests fail certificate verification, such as behind a TLS-inspecting proxy +- [VSCode] Fixed the Claude panel staying blank after the editor cached an incomplete copy of its files; it now recovers by itself, or says what went wrong and how to fix it +- [VSCode] Fixed Session history filling up with empty "Untitled" sessions each time you start a new session without sending a message +- [VSCode] Fixed long slash-command messages such as `/goal` filling the chat panel; they now fold behind Show more like other prompts (anthropics/claude-code#97469) +- [VSCode] Fixed long messages not folding behind Show more after the chat panel is made narrower +- [VSCode] Fixed Ctrl+J in the chat input always inserting a newline: it is now left to VS Code and the OS when "ctrl+j" is set to null in the Chat context of ~/.claude/keybindings.json +- [VSCode] Fixed a mod's "From the … plugin" label above the prompt being drawn over the slash command and @-mention menus (anthropics/claude-code#102981) +- [VSCode] Fixed an empty list item, paragraph or code block, and list items renumbered from 1, when pasting copied LaTeX math +- [VSCode] Fixed the feedback error showing only an HTTP status when your organization does not accept feedback +- [VSCode] Improved Edit and Write speed in the chat panel: the wait for new problems after each edit is now 0.75 seconds in most cases, down from 1 to 1.5 seconds +- [Cloud sessions] Fixed the Add connector list in routine forms saying no connectors were available while they were still loading +- [Cloud sessions] Fixed the cloud environment editor shuffling environment variables and adding backslashes to values that contain both kinds of quote +- [Cloud sessions] Fixed the self-hosted environment details dialog in admin settings so its title, tabs and buttons stay in view while only the content scrolls +- [Cloud sessions] Fixed the "read documentation" tool row in cloud sessions, which showed escaped JSON instead of a readable page +- [Cloud sessions] Improved a cloud session's Changes pane, which now says when it lists only pushed commits or only Claude's edits +- [Claude Tag] Fixed Claude in Slack posting a draft you approved for a channel into your DM by mistake; a post with no channel is now refused so it can go to the approved channel +- [Claude Tag] Fixed Allow and Deny on Claude's approval cards in Slack doing nothing when the session had stopped; your answer now restarts the session +- [Claude Tag] Fixed Claude ignoring untagged messages in a Slack channel after its workspace moved to a different Claude organization, including unshared channels on Enterprise Grid +- [Claude Tag] Fixed Claude in a Slack channel posting a threaded reply before reading a newer message someone had just added to that thread +- [Claude Tag] Fixed the Slack page in Claude Tag admin settings saying no workspaces were connected when the list failed to load; it now shows an error with a Retry button +- [Code Review] Fixed a finished review showing no check on the pull request when earlier tries to create it failed; a final try now adds a completed check +- [Code Review] Fixed a push queued behind a running review still starting a review after `@claude review stop`; its check now closes and says why + ## 2.1.308 - Bug fixes and reliability improvements diff --git a/feed.xml b/feed.xml index b92d2761..f8f396fe 100644 --- a/feed.xml +++ b/feed.xml @@ -6,7 +6,92 @@ Anthropic - 2026-10-22T04:34:32Z + 2026-10-22T22:18:33Z + + https://github.com/anthropics/claude-code/releases/tag/v2.1.309 + Claude Code v2.1.309 + + 2026-10-22T22:18:33Z + <p>• Fixed sandboxed Bash commands on macOS and Linux running the shell's startup files outside the sandbox before each command</p> +<p>• Fixed macOS sandbox denyWrite glob patterns not applying at a path's real location when the pattern's folder is reached through a symlink</p> +<p>• Fixed sandboxed commands and auto-accepted edits being able to modify the MCP config file passed with --mcp-config</p> +<p>• Fixed a disabled MCP server being reconnected by a later permission prompt in print and SDK sessions</p> +<p>• Fixed the Bash permission check trusting a variable set by a command whose redirect can fail to open</p> +<p>• Fixed Bash permission checks not prompting for some compound commands that change directory before running git when the cd is wrapped or prefixed, as they do for a plain cd</p> +<p>• Fixed an Edit(path) deny rule not blocking a Bash redirect to that path in some commands that also held a subshell</p> +<p>• Fixed worktree-isolated sessions accepting some locale-prefixed commands the isolation guard should refuse</p> +<p>• Fixed worktree-isolated sessions on zsh accepting some arithmetic commands that the isolation guard should refuse</p> +<p>• Fixed worktrees and branch checkouts that Claude Code creates so they ignore git replace refs, as its other git operations already do</p> +<p>• Fixed profile store write protection not applying when the config directory is reached through a symlink</p> +<p>• Fixed sessions compacting repeatedly after reading files under a very large nested CLAUDE.md; a nested CLAUDE.md over the size limit now loads only its start</p> +<p>• Fixed ctrl+enter (send now) only queuing a message when pressed before the response had started, and restarting a prompt's hooks while leaving the message queued when pressed while those hooks were running</p> +<p>• Fixed key-bound slash commands running in the shell from ! mode</p> +<p>• Fixed ctrl+o not showing messages from other agents and sessions that are still waiting to be delivered; they now appear in full under the transcript, marked as waiting</p> +<p>• Fixed long tool output previews being cut through an emoji, leaving session transcripts that jq could not parse</p> +<p>• Fixed Read reporting "File does not exist" for PDF page ranges in Linux sandboxes that share the parent's /proc</p> +<p>• Fixed messages from a Claude Desktop-hosted session sometimes being lost when its connection refreshed</p> +<p>• Fixed features missing from Claude Code sessions in the Claude desktop app when the terminal on the same computer was signed in to a different account or organization</p> +<p>• Fixed the claude remote-control status line showing HEAD as the branch for a folder that is not in a git repository</p> +<p>• Fixed split-pane agent teammates not inheriting the tool deny and --tools rules given on the leader's command line</p> +<p>• Fixed sessions renamed with /rename appearing to other sessions under a generated name after a VS Code window reload or a non-interactive --resume</p> +<p>• Fixed the /rewind list showing "No code changes" for a turn that changed checkpointed files through /code-review --fix, a subagent or a shell command</p> +<p>• Fixed /privacy-settings showing an out-of-date "Help improve our AI models" value; it now also says when the setting can't be fetched</p> +<p>• Fixed feedback saying "try again later" when your organization does not accept feedback; it now shows the server's reason and where to report a bug</p> +<p>• Fixed oversized /feedback reports failing instead of being resent without the transcript</p> +<p>• Fixed a skill in an --add-dir folder being unreachable when another skill already held its name; it is now offered as &lt;folder&gt;:&lt;name&gt;</p> +<p>• Fixed /verify and /code-review not finding a nested package's own skill when its files were changed from the shell</p> +<p>• Fixed the /claude-api skill saying that ant beta:worker poll --on-work passes trace context to the command</p> +<p>• Fixed the /claude-api skill's C# tracing setup missing spans from the cloud platform clients</p> +<p>• Fixed the /claude-api skill saying that API spans for requests to Claude Platform on AWS can't join the caller's trace</p> +<p>• Fixed hooks that run in PowerShell not blocking when the hook's program exits with code 2, and on Windows PreToolUse and PermissionRequest hooks with "shell": "powershell" failing open when Git for Windows isn't installed</p> +<p>• Fixed a mod's turn.step hook that names a model by alias, such as haiku, failing every request with a model error: the alias now resolves to its model</p> +<p>• Fixed plugins and skills synced from claude.ai being removed, sometimes mid-session, after a disk read error</p> +<p>• Fixed artifact publishes and updates being refused for some ordinary pages, such as pages with certain minified scripts or artifacts Claude could not read first</p> +<p>• Fixed Claude asking for permission on each artifact update for the rest of a turn after the conversation was compacted in that turn</p> +<p>• Fixed fine-grained tool streaming staying off on Amazon Bedrock when ANTHROPIC_BEDROCK_BASE_URL is set to the default bedrock-runtime.&lt;region&gt;.amazonaws.com endpoint</p> +<p>• Fixed the "Waiting for API response" hint flickering behind gateways that send only keepalive pings: routes off Anthropic's backend now wait 45 seconds</p> +<p>• Fixed Claude notifying unrelated GitHub users by writing role names and placeholders as mentions in PRs, issues and comments</p> +<p>• Linux: Fixed sandbox write denies lifting when a background command outlived the session</p> +<p>• Windows: Fixed PowerShell permission checks auto-approving some Set-Location or cd commands that target the current directory and carry extra arguments; these now prompt for approval</p> +<p>• macOS: Fixed the "Install Command Line Developer Tools" dialog opening each time Claude Code starts on a Mac without Xcode or the Command Line Tools</p> +<p>• Self-hosted runner: Fixed --startup-timeout-min stopping a session whose first prompt, such as /code-review, was still working in a subagent; a frozen process is still stopped</p> +<p>• Improved the speed of many git commands Claude Code runs for itself on Windows; on every platform, errors from those commands now show in English even when git is set to another language</p> +<p>• Improved the error when a hooks module is nested too deep to load: it now names the file instead of showing a bare stack-overflow message</p> +<p>• Improved disk-full handling: a Bash command cut off by a full disk now says so and names the folder to free up, and starting on a full temp volume prints a clear message, not a raw ENOSPC error</p> +<p>• Improved the /claude-api skill to offer API tracing alongside SDK tracing when asked to add OpenTelemetry</p> +<p>• Improved the /claude-api skill to check the live docs before saying a feature is unsupported</p> +<p>• Self-hosted runner: Improved sessions that move to a new runner: Claude now sees the tool call that was interrupted, marked as outcome unknown</p> +<p>• Updated the bundled dataviz skill to accept APCA as a text-contrast measure (keeping WCAG 2 ratios where AA conformance is required), add an apca(text, background) function to its palette validator scripts, and say whether a label inside a colored chart fill should be white or near-black</p> +<p>• Updated the /claude-api skill: service account keys and Workload Identity Federation tokens can now manage OpenTelemetry destinations</p> +<p>• Changed sed -i to get the standard Bash prompt and run as written, not a simulated file-edit preview; like other Bash edits, it is no longer restored by /rewind</p> +<p>• Changed claude ultrareview to require workspace trust: it asks on a terminal, else refuses; scripts pass --trust-workspace, which takes no value (put a PR number or base branch before it), or set CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1</p> +<p>• Changed the dangerous rm and rmdir prompt in bypass permissions mode in the Desktop app and VS Code to deny the command at once with a rewrite hint, so unattended sessions keep going</p> +<p>• Changed commands the settings exclude from the sandbox to ask before writing to its write-list paths while the sandbox is enabled but cannot run; the unsandboxed fallback is refused there</p> +<p>• Changed worktree creation and reuse so git no longer fetches objects on demand, in ordinary clones and in partial clones with a Bash sandbox configured; such a partial clone fetches them first</p> +<p>• Changed the /claude-api skill to build Managed Agents subagent teams on multiagent_20261001 with dynamic workflows on by default, instead of coordinator</p> +<p>• [VSCode] Added a log warning that says what to do when dictation or the extension's own requests fail certificate verification, such as behind a TLS-inspecting proxy</p> +<p>• [VSCode] Fixed the Claude panel staying blank after the editor cached an incomplete copy of its files; it now recovers by itself, or says what went wrong and how to fix it</p> +<p>• [VSCode] Fixed Session history filling up with empty "Untitled" sessions each time you start a new session without sending a message</p> +<p>• [VSCode] Fixed long slash-command messages such as /goal filling the chat panel; they now fold behind Show more like other prompts (anthropics/claude-code#97469)</p> +<p>• [VSCode] Fixed long messages not folding behind Show more after the chat panel is made narrower</p> +<p>• [VSCode] Fixed Ctrl+J in the chat input always inserting a newline: it is now left to VS Code and the OS when "ctrl+j" is set to null in the Chat context of ~/.claude/keybindings.json</p> +<p>• [VSCode] Fixed a mod's "From the … plugin" label above the prompt being drawn over the slash command and @-mention menus (anthropics/claude-code#102981)</p> +<p>• [VSCode] Fixed an empty list item, paragraph or code block, and list items renumbered from 1, when pasting copied LaTeX math</p> +<p>• [VSCode] Fixed the feedback error showing only an HTTP status when your organization does not accept feedback</p> +<p>• [VSCode] Improved Edit and Write speed in the chat panel: the wait for new problems after each edit is now 0.75 seconds in most cases, down from 1 to 1.5 seconds</p> +<p>• [Cloud sessions] Fixed the Add connector list in routine forms saying no connectors were available while they were still loading</p> +<p>• [Cloud sessions] Fixed the cloud environment editor shuffling environment variables and adding backslashes to values that contain both kinds of quote</p> +<p>• [Cloud sessions] Fixed the self-hosted environment details dialog in admin settings so its title, tabs and buttons stay in view while only the content scrolls</p> +<p>• [Cloud sessions] Fixed the "read documentation" tool row in cloud sessions, which showed escaped JSON instead of a readable page</p> +<p>• [Cloud sessions] Improved a cloud session's Changes pane, which now says when it lists only pushed commits or only Claude's edits</p> +<p>• [Claude Tag] Fixed Claude in Slack posting a draft you approved for a channel into your DM by mistake; a post with no channel is now refused so it can go to the approved channel</p> +<p>• [Claude Tag] Fixed Allow and Deny on Claude's approval cards in Slack doing nothing when the session had stopped; your answer now restarts the session</p> +<p>• [Claude Tag] Fixed Claude ignoring untagged messages in a Slack channel after its workspace moved to a different Claude organization, including unshared channels on Enterprise Grid</p> +<p>• [Claude Tag] Fixed Claude in a Slack channel posting a threaded reply before reading a newer message someone had just added to that thread</p> +<p>• [Claude Tag] Fixed the Slack page in Claude Tag admin settings saying no workspaces were connected when the list failed to load; it now shows an error with a Retry button</p> +<p>• [Code Review] Fixed a finished review showing no check on the pull request when earlier tries to create it failed; a final try now adds a completed check</p> +<p>• [Code Review] Fixed a push queued behind a running review still starting a review after @claude review stop; its check now closes and says why</p> + https://github.com/anthropics/claude-code/releases/tag/v2.1.308 Claude Code v2.1.308 @@ -1354,116 +1439,4 @@ <p>• [Claude Tag] Improved save errors on a channel's Configure page: too-long channel instructions now say to shorten them, and a save refused for lost access no longer says to try again</p> <p>• Fixed claude plugin test reporting mods as turned off remotely when it had only read an out-of-date saved setting</p> - - https://github.com/anthropics/claude-code/releases/tag/v2.1.287 - Claude Code v2.1.287 - - 2026-10-01T17:59:57Z - <p>• Added Claude Mods: plugins may now modify deeper behavior</p> -<p>• Added You should know, a built-in mod where a side agent watches your back and flags things you or Claude might miss. Turn it on with /plugin enable cc-plugin-you-should-know@builtin (for first-party sessions with telemetry on)</p> -<p>• Added an n:&lt;text&gt; filter to the agents view that matches session names and tasks; a filter now shows matches in collapsed sections and Enter opens the first match</p> -<p>• Added prompt_text to the OpenTelemetry user_prompt event, a copy of prompt for backends that nest dotted keys; drop or mask it wherever you drop or mask prompt (anthropics/claude-code#70763)</p> -<p>• Added URL prompts from MCP servers on the 2025-11-25 protocol, for example to sign in. If a server no longer connects after this update, add "bareElicitationCapability": true to its MCP config entry</p> -<p>• Windows: Added a startup warning when denying the Bash tool also turns off the PowerShell tool, so Claude has no shell tool</p> -<p>• Self-hosted runner: Added a built-in gh api (REST only) for sessions that use Anthropic-managed git on macOS and Linux machines where the GitHub CLI is not installed</p> -<p>• Fixed fast mode staying off in remote sessions owned by an agent with no user account, even when the organization allows it</p> -<p>• Fixed Remote Control not receiving messages for minutes at a time when a reconnect request got no response; it now gives up after 30 seconds and retries</p> -<p>• Fixed hooks configured with asyncRewake waking Claude over and over with "found issues" notifications when the hook's script file is missing; the broken hook is now reported once</p> -<p>• Fixed tool heartbeats not reaching SDK hosts while the model's response stream was stalled with no data arriving</p> -<p>• Fixed Bedrock and Vertex startup model checks ignoring an enforced availableModels list, which could collapse /model to one Opus row</p> -<p>• Fixed the Claude in Chrome browser picker showing a JSON parse error when Chrome could not be reached</p> -<p>• Fixed picking Fable in /model on a claude.ai login saving the current version's id, so your saved default now follows the newest Fable like Opus and Sonnet do</p> -<p>• Fixed switching between Opus 5.5 and Sonnet 5.5 (/model, opusplan) rewriting earlier MCP tool announcements, which could drop earlier extended thinking</p> -<p>• Fixed Amazon Bedrock Guardrails blocks that arrive mid-response ending the turn with an API error instead of the guardrail's message when the reply began with thinking</p> -<p>• Fixed a dangerous rm (such as one on / or the home directory) losing its always-ask safeguard when the same command also redirected output to a ~ or wildcard path</p> -<p>• Fixed claude -p and SDK sessions repeating a model fallback on every later message after the model was switched while a reply was running</p> -<p>• Fixed a folder's CLAUDE.md being attached a second time after resuming a session or after a compaction</p> -<p>• Fixed background sessions that could not be reopened from claude agents after the agent exited and removed the worktree the session was started in</p> -<p>• Fixed /advisor pairing checks: Sonnet 5.5 can now advise Opus 4.7 and 4.8, and advisors the API would refuse are flagged up front instead of being silently dropped</p> -<p>• Fixed Bash permission prompts showing internal parser names such as "Contains simple_expansion" instead of a plain explanation</p> -<p>• Fixed a cause of fullscreen sessions on slow or busy machines exiting with "Claude Code exited after an unrecoverable interface error" while a scroll key was held in a long conversation</p> -<p>• Fixed organization per-tool permission ceilings being silently dropped for an MCP tool named __proto__</p> -<p>• Fixed Claude being told to page large MCP results saved as JSON with Read's offset and limit, which cannot split one long line</p> -<p>• Fixed the commit attribution reminder being delivered inside a tool result after a compaction</p> -<p>• Fixed screen reader mode leaving the cursor away from the typed text in search boxes (such as /resume and /permissions) and sign-in code fields</p> -<p>• Fixed screen reader mode refusing Enter with nothing typed on /rewind's summarize options, whose added context is optional</p> -<p>• Fixed screen reader mode showing a "Tab to amend" hint on approval prompts, where Tab does nothing</p> -<p>• Fixed screen reader mode listing arrow keys that do nothing in /permissions and /mcp, and saying "Select with numbers" in empty menus or while a search box has the keys</p> -<p>• Fixed screen reader mode leaving out the changed lines in file edit approval prompts and other diffs</p> -<p>• Fixed screen reader mode sending the claude --teleport progress screen, and an MCP form field while it is being checked, to the screen reader again on every spinner frame</p> -<p>• Fixed CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS not removing the structured-output format from session-title and prompt-hook requests, which Bedrock-backed gateways reject</p> -<p>• Fixed screen reader mode leaving out the top lines of a second approval prompt, a changed /config row or the rejected-plan line when the previous screen was taller than the terminal window</p> -<p>• Fixed --include-partial-messages sending a cut-short reply's message_stop late or never, so apps could show the reply as still in progress</p> -<p>• Fixed claude agents sometimes not showing the permission prompt a background session is waiting on</p> -<p>• Fixed /ultrareview giving advice about .git/info/attributes when the upload stops on a committed .gitattributes it cannot read, such as one saved as UTF-16</p> -<p>• Fixed claude remote-control failing to register behind an HTTP proxy with a misleading "Check your organization permissions" error (anthropics/claude-code#97352)</p> -<p>• Fixed sandboxed Bash commands on Linux inheriting an open handle on the Claude Code executable</p> -<p>• Fixed the running-tool dot and three spinners still moving with the "Reduce motion" setting on, and /rewind's confirm screen updating its "ago" time while you type a note</p> -<p>• Fixed times in claude agents changing every second in screen reader mode; they now change at most every 10 seconds</p> -<p>• Fixed a revoked claude.ai login showing a generic API Error: 401 instead of "OAuth token revoked"; in -p mode the error now starts with "Failed to authenticate"</p> -<p>• Fixed /ultrareview upload refusals advising you to copy a variable named by a repository's settings file into your own user settings</p> -<p>• Fixed --output-format stream-json and the SDK not streaming the turns of a context: fork skill run by typing /&lt;skill&gt; as the prompt, as they do for the Skill tool's fork</p> -<p>• Fixed /feedback and /bug: the pre-filled GitHub issue no longer includes your recent error messages, and the confirmation screen now lists them as part of the report</p> -<p>• Fixed claude plugin marketplace add --sparse and git-subdir plugin installs failing with "transport 'http' not allowed" when the repository is served over plain http</p> -<p>• Fixed cloud sessions sometimes losing the earlier conversation when the session restarted while it was being compacted</p> -<p>• Fixed a plugin reload that overlapped the startup --plugin-url download corrupting the session's cached copy of the plugin archive</p> -<p>• Fixed /desktop quoting partial output when opening Claude Desktop timed out or printed too much output; the error now names the cause</p> -<p>• Fixed an MCP connector tool call occasionally running twice, or the connector's calls failing until restart, when its server changed which MCP protocol version it supports</p> -<p>• Fixed SessionStart hooks from synced plugins not running in new cloud sessions</p> -<p>• Fixed the transcript's "N hooks ran" summary and the verbose debug log's matched-hooks count including Claude Code's internal callbacks, so one configured hook no longer shows as two</p> -<p>• Fixed files Claude sends from cloud and Remote Control sessions failing when the upload finished just after the 30-second timeout; it now waits 35 seconds</p> -<p>• Fixed repositories added mid-session in cloud and SDK sessions not loading their skills and plugins, and loading CLAUDE.md late, after Claude changed directory</p> -<p>• Fixed PNG, JPEG and WebP images over 8,000 pixels on a side failing to send from a remote session; Claude now sends a scaled-down copy</p> -<p>• Fixed messages sent from the Claude apps with 17 to 20 attached files delivering only the first 16</p> -<p>• Fixed headless sessions reporting an MCP server as needing authentication after one refused call, even though later calls succeed</p> -<p>• macOS: Fixed Remote Control sessions started with claude remote-control stopping mid-turn when the Mac went to idle sleep</p> -<p>• Windows: Fixed interactive claude hanging or crashing with "Raw mode is not supported" when its input is piped or redirected; it now says why and exits (use -p for piped input)</p> -<p>• Bedrock, Vertex, Mantle: Fixed model availability checks under CLAUDE_CODE_SKIP_*_AUTH sending a different Authorization header than real requests when ANTHROPIC_CUSTOM_HEADERS repeats it</p> -<p>• Improved /config: settings that cycle show ‹ › and step both ways with ←/→, narrow terminals stack each value under its label, and PgUp/PgDn page the list</p> -<p>• Improved plugin marketplace errors to say in plain words why a marketplace was ignored or refused, and what to do</p> -<p>• Improved plugin listings to note when a plugin's dependencies were not installed, and updating a plugin now retries an install that did not finish</p> -<p>• Improved the Claude apps gateway's error when Amazon Bedrock rejects a model ID: developers now see which model is unavailable, and the gateway log names the ID that was sent</p> -<p>• Improved SDK sessions so a message sent with priority "now" no longer cancels a running web fetch or web search; it keeps loading in the background</p> -<p>• Improved /memory: the left and right arrow keys now flip its on/off settings, such as Auto-memory</p> -<p>• Improved /skill names typed mid-message: Claude is now told they are skills, including disable-model-invocation ones</p> -<p>• Improved the contrast of the prompt input border in light themes and of the ❯ before your earlier messages</p> -<p>• Improved delivery of files Claude sends from cloud sessions and Remote Control: an upload that fails on a timeout, a network error or a 502, 503 or 504 is now retried once</p> -<p>• Improved what Claude says when a file cannot be sent for a reason that may be temporary: it now mentions that you can ask for the file again in a few minutes</p> -<p>• Improved the prompt for a held message from another session to show the message between dashed lines, matching other permission prompts</p> -<p>• Improved MCP and other tool permission prompts to show the tool call between dashed lines, matching file edit prompts</p> -<p>• Improved MCP startup in headless mode: a remote server whose first connect fails transiently is now retried without waiting for the slowest server to finish connecting</p> -<p>• Improved files Claude sends from a remote session: large files now stream from disk instead of being read into memory, and a file over the size limit is refused with the server's limit named</p> -<p>• Improved the explanation Claude gives when the server refuses a file it sends from a Remote Control or cloud session, such as an oversized image</p> -<p>• Improved handling of large MCP tool results: less memory, smaller session files, and no extra upload to count tokens for results far over the limit</p> -<p>• Windows: Improved Bash tool speed by removing a subshell that ran before every command</p> -<p>• Changed a shell write through a repo-committed symlink onto a sensitive file or out of the working tree to name where it lands and wait for a person, on lines with a ~ target too</p> -<p>• Changed Opus 4.7+ and Fable to use a 1M context window by default on Bedrock, Vertex, Foundry and the Claude apps gateway, with no [1m] suffix (CLAUDE_CODE_DISABLE_1M_CONTEXT=1 keeps 200K)</p> -<p>• Changed replies from claude agents to arrive as queued messages; slash commands other than /stop sent while a turn is running now run when it ends</p> -<p>• Changed whole-tool Bash allow rules and allowing hooks to prompt for, not run, shell writes to files Claude Code's file tools refuse outright (the Anthropic profile store, the host credentials file)</p> -<p>• Changed right-click paste on Windows and Linux, and middle-click paste on Linux, to happen when the button is released; moving the pointer away before releasing cancels it</p> -<p>• Changed MCP server alwaysLoad: false to defer all of that server's tools behind tool search</p> -<p>• Changed screen reader mode to write new or changed lines without first pausing with the cursor at the start of the line; set CLAUDE_AX_PREPARK_MS=50 to restore the pause</p> -<p>• Changed automatic model switches after a flagged message to keep your current effort level instead of the new model's default</p> -<p>• Changed waiting permission prompts to show oldest first, so a new prompt no longer covers the one you're reading (prompts with a countdown still open on top)</p> -<p>• [VSCode] Added "Run in background" to a running command or sub-agent, to move it to the background and keep working</p> -<p>• [VSCode] Added the output of background shells and Monitors to their cards in the agent map</p> -<p>• [VSCode] Fixed settings dialogs blaming a timeout when Claude Code's reply was too large to confirm a save</p> -<p>• [VSCode] Fixed reopening a cloud session that the side bar already brought to this machine opening it again in a new tab; the side bar is shown instead</p> -<p>• [VSCode] Fixed the side bar's Web tab not listing cloud sessions started after the window loaded; a failed load now says "Remote server is not connected" instead of "No web sessions yet"</p> -<p>• [VSCode] Fixed a tab restored after a reload starting a second Claude process on a conversation the side bar already has open; it now shows the "still open somewhere else" notice</p> -<p>• [VSCode] Fixed tool-row file links, session-list links and two hints showing in plain text</p> -<p>• [VSCode] Fixed a background agent's still-running command showing as failed once the main turn ended</p> -<p>• [VSCode] Fixed a user's own /usage or /context command opening the extension's dialog instead of running when picked from the command menu</p> -<p>• [VSCode] Fixed file links in the plan preview tab doing nothing when clicked; they now open the file like links in chat replies</p> -<p>• [VSCode] Fixed opening a tool's input or output in an editor tab failing with "Timeout waiting after 1000ms" on remote hosts such as WSL when the tab is slow to appear</p> -<p>• [VSCode] Improved the Manage plugins dialog: a failed marketplace add, remove or refresh now says what went wrong</p> -<p>• [VSCode] Changed the Claude in Chrome "Enabled by default" switch to also connect the editor's own sessions, which still ask before browser actions</p> -<p>• [Cloud sessions] Fixed occasional failures to fetch from or push to GitHub when GitHub briefly refused a newly issued access token</p> -<p>• [Claude Tag] Fixed Claude posting a failure warning, such as a spend limit notice, in a Slack thread when a background event like GitHub activity woke it and nobody was waiting on a reply</p> -<p>• [Claude Tag] Fixed Claude Tag's spend limits page in admin settings leaving out recently created and private channels in organizations with many channels</p> -<p>• [Claude Tag] Improved Claude's task list in long Slack threads: background work no longer reposts it as a new message on its own, so people following the thread aren't notified</p> -<p>• [Code Review] Fixed finding comments and their "Why this was flagged" text stopping mid-sentence; they now end on a complete sentence</p> -<p>• [Code Review] Fixed Code Review skipping a pull request after a new push when its review had failed twice on the previous commit; it now reviews the latest commit</p> -<p>• [Code Review] Improved the failed-review card on a pull request whose conversation is locked: it now says the lock blocked the review and that nothing was posted or charged</p> -