Skip to content

Claude Code 2.1.271

96changes
  • Enable fast mode in Claude Code Remote's cloud and self-hosted runner sessions.
  • Add per-command allowed_domains to auto mode's sandboxed Bash, PowerShell, and Monitor.
  • Let VS Code users turn off automatically attaching the open file.
  • Pause dynamic workflows at your usage limit and resume them automatically.
  • Close Bash permission-check bypasses in directory-changing and subshell commands.

New features

10
More changes (6) Fewer changes

Improvements

27
More changes (23) Fewer changes

Skip redundant model data validation

Improved startup time slightly by skipping a redundant validation of built-in model data on every launch

Show hook progress in the spinner

Improved hook feedback: while a SessionStart, UserPromptSubmit, PreToolUse or SessionEnd hook runs, the spinner says so with elapsed time, and Esc cancels a prompt waiting on a SessionStart hook

Clearer status during long thinking

Improved the spinner status during long thinking: it now reads "deep in thought" after 45s, and shows "picking the thought back up" while recovering from the output-token limit

Fewer empty Remote Control sessions

Improved Remote Control to leave fewer empty sessions on claude.ai when setup fails on a flaky network

Clearer Claude in Chrome error message

Improved the Claude in Chrome message in cloud sessions when the browser can't be reached: it now says the computer may be asleep before it suggests an install

Progress updates for claude mcp serve

Improved claude mcp serve: a running tool call now sends a progress update every 30 seconds, so clients show it is still running and idle timeouts don't abort a long command that prints nothing

Use alwaysLoad MCP servers sooner

Improved Foundry and Claude Platform on AWS sessions: an alwaysLoad MCP server that finishes connecting mid-conversation is usable on the next turn without a tool-search round trip

▤ In the docs

Styled rendering for Markdown artifacts

Improved Markdown files published as artifacts: they now render as styled document pages (title header, document typography, syntax-highlighted code)

Clearer Artifact tool publish errors

Improved Artifact tool publish errors: a publish with no file now says to write the page to a file first, and an unsupported file type is reported before a missing favicon

List capabilities on contract errors

Improved the Artifact tool's error when a page declares a capability its contract version lacks: it now lists every supported capability and notes when a newer contract version has it

Watch more artifacts at once

Improved artifact watching: a session can now watch up to 10 published artifacts at once for republishes made elsewhere, up from 5

Avoid guessed PDF page counts

Improved PDF @-mentions to say "page count unknown" instead of a page count guessed from the file size when pdfinfo cannot count the pages

Single QR code for /mobile

Improved /mobile to show a single QR code for claude.ai/mobile, which opens the right app store for your phone

▤ In the docs

Review subagent hand-back calls

Changed auto mode so a subagent reports back to its caller through a dedicated hand-back call that the safety classifier reviews, instead of its last message being reviewed after the fact

Monitor watches always have a deadline

Changed Monitor watches to always have a deadline (at most 30 minutes; 10 in single-prompt -p runs) and notify Claude to re-arm, replacing the no-timeout persistent option

New IDE selection pill in the prompt

Changed the IDE selection indicator in the prompt to a small pill that wraps with the text instead of squeezing multi-line prompts; delete it with Backspace to leave the selection out

Stop refreshing unused claude.ai logins

Changed Claude apps gateway, Bedrock, Vertex AI, and Foundry sessions so that they no longer refresh a leftover claude.ai login that the session does not use

Update the bundled claude-api skill

Updated the bundled claude-api skill to enable eager_input_streaming on streaming custom tools, and to start deliverable-shaped Managed Agents work with user.define_outcome

[VSCode] Clearer Hooks dialog save errors

Improved the Hooks dialog: a save refused because of the settings file itself now opens a popup with an "Open settings file" button and the reason behind "Copy error"

[VSCode] Toggle switches match editor theme

Changed the on state of toggle switches from Claude orange to the editor theme's button color

[Claude Code on the web] New Routines page layout

Changed the Routines page on claude.ai/code to a new layout with Yours and Templates tabs and two-column routine cards that show run status, and removed its calendar view

[Claude Code on the web] Clearer Cloud environments admin page

Improved the Cloud environments admin page: it shows the default environment for Claude Tag and Claude Code, with a link to change it, and marks the recommended kind to create

[Claude Tag] Clearer Environment picker

Improved the Environment picker in Claude Tag admin settings: options are labeled Anthropic-hosted or self-hosted, with links to edit that environment or create one

Bug fixes

59
More changes (52) Fewer changes

Org policy through Unix-socket proxies

Fixed org policy being fetched through, and rejected by, third-party local proxies set via ANTHROPIC_UNIX_SOCKET; they are again treated like other custom gateways, including for Remote Control

Subagent calls after worker restart

Fixed cloud sessions rejecting every subagent tool call ("updatedInput … failed schema validation") when a workflow or agent approval was applied after the session's worker restarted

/fast off when org disables fast mode

Fixed /fast off answering "Fast mode unavailable" instead of turning fast mode off when the organization has fast mode disabled

Stop retrying rejected fast mode

Fixed sessions started with CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK re-sending fast requests every turn after the API rejected fast mode; the rejection now stands and its reason is shown

Fast mode fallback under retry watchdog

Fixed fast mode under CLAUDE_CODE_RETRY_WATCHDOG failing the turn on a usage-credits limit, or retrying an overload at fast speed, instead of falling back to standard speed

Stale .git/config.lock after sandbox failure

Fixed a stale .git/config.lock breaking git checkout -b, git push -u and git config for the rest of a session after a sandboxed command failed to start (Linux)

Detect settings changes under file-event load

Fixed settings file changes made outside the session going unnoticed on macOS machines whose system file-event service is saturated; the watcher now falls back to polling

Resume claude -p with only MCP tools

Fixed resumed claude -p sessions whose tools all come from MCP servers failing with "At least one tool must have defer_loading=false"

Handle text/plain gateway replies

Fixed turns failing with "API returned an empty or malformed response" when an LLM gateway returns the non-streaming reply as text/plain

Avoid CPU spikes from list_changed loops

Fixed sustained high CPU usage and repeated tool-list requests when an MCP server sends list_changed notifications in a tight loop

Fix MCP OAuth client registration bugs

Fixed MCP OAuth mishandling client registrations: denying consent forced a new one, one for another redirect URI was reused, and a concurrent write could delete a valid one or keep a mismatched one

Match tools by their bare name

Fixed tool search returning no match when Claude selects an MCP tool by its bare name instead of its full mcp__server__tool name

Preserve pending MCP reconnects

Fixed Ctrl+O cancelling pending MCP server reconnects, and /mcp sent from Remote Control failing while the transcript view is open

Fix stale ToolSearch guidance for Chrome

Fixed the Claude in Chrome prompt telling the model to load tools through ToolSearch when ToolSearch is unavailable

Notify senders when messages are held

Fixed cross-session messages held by the receiving session's permission-mode policy leaving no trace: headless senders now get a delivery notice, and SendMessage results no longer imply it was read

Avoid duplicate background commands

Fixed Claude starting a second copy of a background command (such as a watch task or dev server) that was still running after the conversation was compacted

Skip cache warning on same-model switch

Fixed /model warning about losing the conversation cache when switching back to the model the conversation actually ran on

Match /reload-skills count after /cd

Fixed /reload-skills reporting a skill count that disagreed with the slash menu after /cd

Show more sessions on short terminals

Fixed /resume and /continue showing only 1-2 sessions in fullscreen mode on short terminals

Reset file-read tracking on resume

Fixed /resume and /teleport keeping the previous conversation's file-read tracking, so Claude could edit files the resumed conversation had never read

Preserve 1M context on resume

Fixed --resume dropping the 1M context window ([1m]) when the resumed session's model family differs from the configured default model

Keep /artifacts attachments after resume

Fixed artifacts attached with /artifacts disappearing from the session after --resume

Watch published artifacts in background

Fixed background sessions (claude --bg, claude agents) not watching the artifacts they publish for republishes made elsewhere

Load all items from inode-0 drives

Fixed custom agents, slash commands and output styles beyond the first not loading from a virtual drive that reports inode 0, such as an encrypted vault mounted as a Windows drive

Preserve large host config on runners

Fixed self-hosted runner sessions silently losing all host config (settings, skills, plugins, MCP servers) when the host config directory exceeds 64 MiB; added --host-config-snapshot disk|memory

Clean up synced skills after sign-out

Fixed skills synced from claude.ai staying on disk indefinitely after signing out; copies not refreshed within cleanupPeriodDays now move to the recoverable trash at the next launch

Filter spinner tips by availability

Fixed spinner tips suggesting commands that aren't available for your account type or are disabled in your session

Fix /add-dir path input keys

Fixed the /add-dir path input: the left and right arrow keys now move the cursor, and Enter adds only the typed path instead of also adding the highlighted completion

Fix leading ! reordering in text fields

Fixed text fields outside the main prompt moving a leading ! to the end of what you typed (!foo came out as foo!)

Fix /hooks crash on reserved names

Fixed the interactive /hooks menu crashing when a hook matcher is named after an inherited object property such as __proto__ or constructor

Fix stale background color glitch

Fixed a fullscreen rendering glitch where text kept a stale background color after the box around it lost its background

Fix Delete and Alt+arrow in st/rxvt

Fixed Delete in st and Alt+arrow keys in rxvt-unicode not working in attached background sessions

Fix leaked terminal capability replies

Fixed the terminal's replies to capability queries (^[[?1;2c) appearing at the shell prompt or in an editor when Claude Code exits, is suspended, or opens an editor right after starting

[VSCode] Fix Hooks/Permission save reporting

Fixed the Hooks and Permission rules dialogs reporting a save that landed as failed, and the Hooks dialog going blank under a plugin-only policy lock or showing color codes in save errors

[VSCode] Fix Hooks dialog save bugs

Fixed Hooks dialog saves: no duplicate hook on replace, a header name retyped in other capitals keeps its secret, and settings.local.json is gitignored before the save returns

[VSCode] Session history on mapped drives

Fixed session history showing only the current session when the workspace is on a Windows mapped network drive or SUBST drive

[VSCode] Fix Active filter hiding idle sessions

Fixed the session list's Active filter hiding open idle sessions when Open is also checked in the filter menu

[VSCode] Fix new chat reverting on refresh

Fixed a new chat switching back to the previous chat when the session list refreshed

[VSCode] Apply CLAUDE_CONFIG_DIR without reload

Fixed open tabs and the side bar keeping the old config folder until a window reload after CLAUDE_CONFIG_DIR changed in the environmentVariables setting

[VSCode] Fix console flashing on Windows

Fixed console windows flashing on Windows when the extension runs background commands such as git, ripgrep, and the sign-in status check

[VSCode] Fix delayed hover text and tooltips

Fixed the prompt cache clock's hover text appearing only after a delay, and the auto-compact icon showing the browser's own tooltip beside its popup

[Claude Code on the web] Faster restart after process exit

Fixed a cloud session sometimes taking about ten minutes to respond after its process exited while the session still looked live; sending a message now restarts it right away

[Claude Tag] Preserve context from thread activity

Fixed Claude in a channel where it stays active losing its working context about once an hour when the conversation is mostly in threads; thread activity now keeps it from being reset

[Claude Tag] Keep watching PRs after restart

Fixed a thread that asked Claude to watch a pull request no longer hearing about CI failures, comments and reviews after Claude was restarted in that thread

[Claude Tag] Stop work when first message deleted

Fixed deleting the first message of a thread Claude had already replied in not ending Claude's work there; it now stops, as it did when a message with no replies was deleted

[Claude Tag] Ignore instructions for other bots

Fixed Claude holding back a post because of an earlier instruction addressed to a different bot or assistant; only instructions addressed to Claude bind it, and it asks when unsure

[Claude Tag] Correct busy-channel reply-mode reason

Fixed the reply-mode card Claude posts on joining a busy channel saying it "sees a lot of automated posts" when the channel is only chatty or large; the card now names the real reason

[Code Review] Fix missed reviews on new commits

Fixed a pull request in a repository reviewed once per PR sometimes getting no review when a commit arrived while its review was waiting to start; it now reviews the requested commit

[Code Review] Fix duplicate finding posts

Fixed Code Review occasionally posting the same findings two or three times when GitHub reported an error for a review it had in fact created

[Code Review] Stop reposting resolved findings

Fixed follow-up reviews re-posting a security finding a person had already resolved when a later push moved the lines it was anchored to

[Code Review] Fix /ultrareview restart on reopen

Fixed reopening a finished /ultrareview cloud session in the Claude app starting the whole review over again unprompted

Windows: Fix PowerShell long temp paths

Windows: Fixed PowerShell commands failing with "Exit code 1" and no output when the session's temp output path reaches 260 characters

Change details