Claude Code 2.1.273
64changes- Fork a claude --remote-control session to run in the background on your computer.
- Stop auto-compact firing at roughly half the real context window.
- Skip re-processing the whole conversation for hook and sub-agent updates in long sessions.
- Use the local classifier by default for auto mode on Bedrock, Vertex, and Foundry.
- Fix a Bash permission gap that could skip prompts or hide a dangerous rm in bypass mode.
New features
4LLM gateway hint request headers
Added x-claude-code-request-class, x-claude-code-agent-type, x-claude-code-prev-tool-durations, x-claude-code-compaction and x-claude-code-context-compacted request headers for LLM gateways; opt in with CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
Fork Remote Control sessions
Added forking a session started with claude --remote-control or /remote-control from the Claude app; the fork runs as a background session on your computer
More changes (2) Fewer changes
Notify when MCP reconnection gives up
Added a notification when an MCP server disconnects mid-session and automatic reconnection gives up, pointing at /mcp
▤ In the docs[Claude Code on the web] Confirm before discarding routine edits
Added a "Discard unsaved changes?" confirmation before the New routine page or the Edit routine dialog throws away a routine name, prompt or edit you typed
Improvements
23Faster hook and subagent updates
Improved responsiveness in long sessions: hook progress and sub-agent activity no longer re-process the whole conversation on every update
Default to local auto mode classifier
Changed auto mode on Bedrock, Vertex and Foundry to use the local classifier by default for now; set CLAUDE_CODE_AUTO_MODE_SERVER=1 to use the platform's server-side classifier
Request plugin access at sign-in
Changed sign-in with a Claude account to also request access to your claude.ai plugins
More changes (20) Fewer changes
Clearer unsupported Artifact file errors
Improved the Artifact tool's error when a publish includes a file type artifacts don't serve: Claude is told which types are served and what to do instead, and the terminal shows one plain line
Show Artifact capabilities on page read
Improved the Artifact tool's page read to state the capabilities and database rules the artifact service holds for the page, for anyone who can publish to it
Remove single fields in artifact writes
Improved artifact database writes: an update can now remove a single field instead of rewriting the whole document
Retry dropped artifact publish safely
Improved artifact publishing: a publish whose connection drops after reaching claude.ai is now re-sent safely instead of failing or creating a duplicate version
Name the cause of GitHub errors
Improved the cloud-session GitHub error for an IP allow list, a suspended app installation or SAML single sign-on to show the cause instead of a generic install hint
Show gh's own error in /autofix-pr
Improved /autofix-pr: when gh pr view fails it now shows gh's own error (sign-in, SAML, rate limit) instead of a generic exit-code line
Explain /autofix-pr webhook setup failures
Improved /autofix-pr to say why GitHub webhook delivery couldn't be set up for the PR (for example, no linked GitHub account) instead of a generic warning
Clearer /web-setup token and proxy errors
Improved /web-setup errors: a refused GitHub token now lists the likely reasons and the fix, and a connection failure names a configured proxy or TLS certificate problem
Name SSL and proxy error causes
Improved the in-session SSL certificate and proxy connection errors to name the error code and what to fix, such as NODE_EXTRA_CA_CERTS for an untrusted corporate CA
Explain expired-login cloud session errors
Improved the error when a cloud session can't be created because your Claude login expired or was revoked: it now tells you to run /login
Guide re-auth on MCP sign-in expiry
Improved the error shown when an MCP server's sign-in expires mid-session to say how to re-authenticate (/mcp)
Name agents and plugins in OTEL metrics
Changed OTEL_LOG_TOOL_DETAILS=1 to also include real agent, skill, plugin and MCP server names on cost and token metrics
Limit /bug report data to model params
Changed /bug and /feedback reports to include only model-behavior params (model, system prompt, tools) from the last API request, omitting request metadata and CLAUDE_CODE_EXTRA_BODY fields
Recognize UNC paths from mapped drives
Windows: Improved the network-path permission check for UNC paths when a mapped network drive was added with --add-dir
[Claude Code on the web] Move Share cloud sessions setting
Changed the admin "Share cloud sessions" setting to live under Data and privacy instead of the Claude Code page, where Data and privacy admins can also manage it
[Claude Code on the web] Reorganize the routine detail page
Improved the routine detail page: menu and rename in the breadcrumb, the on/off switch and Run now at the top, and run history beside the routine's settings
[Claude Tag] Explain AWS signing failures
Improved AWS connection failures: when a request can't be signed, such as a hostname with no region, Claude is told why and how to fix it instead of a bare error
[Claude Tag] Auto-watch related public channels
Changed Claude to start watching related public channels on its own, such as an incident channel a conversation depends on, instead of only when asked
[Code Review] State what fixes must preserve
Improved suggested fixes to say what the fix must keep working when other code depends on the behavior being changed
[Code Review] Write full sentences for second locations
Improved review comments that point to a second affected location to state that location's issue in a full sentence instead of a cut-off stub
Bug fixes
36Fix advisor-turn context double counting
Fixed the context meter and auto-compact counting advisor-tool turns at roughly twice their real context size, which made auto-compact fire at about half the real window
Preserve prompt cache across /login
Fixed /login, /upgrade, and /extra-usage discarding earlier thinking from the conversation, which forced a full prompt-cache rewrite on the next request
Prompt again for unanalyzable Bash lines
Reverted a 2.1.268 change that checked Read and Edit deny rules on Bash lines the permission checker can't analyze (eval, env -C); commands like time -p make build prompt again instead of being denied
Close Bash permission check gaps
Fixed Bash commands the permission checker cannot fully analyze skipping the prompt under permissions.blockReadsOutsideWorkingDirectories, and a subshell hiding a dangerous rm in bypass mode
Block outside memory directories
Fixed permissions.blockReadsOutsideWorkingDirectories: a memory directory chosen by a repository's settings is no longer loaded into the prompt, recalled, indexed, or used by memory extraction
Apply managed MCP restrictions correctly
Fixed allowManagedMcpServersOnly, deniedMcpServers and disableClaudeAiConnectors set via MDM or managed-settings.json being ignored when server-managed settings are also present
Remove skills when Skills is disabled
Fixed skills synced from claude.ai staying available after your organization turns Skills off; they now move to the recoverable trash
More changes (29) Fewer changes
Clearer Bedrock and gateway 401/403 messages
Fixed 401/403 errors on Bedrock, Vertex and Foundry, and Claude apps gateway 403s, telling you to run /login; the message now names the credential to refresh or points to your gateway administrator
Skip approval for attached-file uploads
Fixed auto mode stopping for approval when the Artifact tool uploads a file you attached to the chat in a cloud or Remote Control session
Stop recreating stale .git/info/exclude
Fixed a long-running session recreating a stub .git/info/exclude after the repository's .git directory was removed or moved away
Type a leading ! in shell mode
Fixed the main prompt dropping a ! typed at the start while already in shell mode, so negated commands like ! grep … can be typed
Read dragged-in macOS screenshots
Fixed Read on macOS refusing a dragged-in screenshot, or any file the system reports under a second path, with "symlink resolution changed after permission was checked"
Deliver subagent results without usage data
Fixed sub-agents and background agents being reported as failed, with their result never delivered, when the final streamed reply omitted token usage or carried no model id
Restart /tui with finished teammates
Fixed /tui refusing to restart because of an agent-team teammate that had already finished its work and was no longer shown in the agents panel
Fix scheduled tasks after copying config
Fixed saved scheduled tasks running in the wrong session after .claude/scheduled_tasks.json was copied into another folder, such as a new worktree
Preserve subagent output after backgrounding
Fixed SDK and --output-format stream-json output dropping a subagent's remaining messages and final report after it is moved to the background mid-run (e.g. by CLAUDE_AUTO_BACKGROUND_TASKS)
Clarify SAML blocks in /install-github-app
Fixed /install-github-app reporting a SAML single sign-on block as "admin permissions required"
Report context usage to Remote Control
Fixed Remote Control clients attached to a Claude Desktop, VS Code or JetBrains session being refused when they ask for the session's context window usage
Fix doubled ellipsis in spinner text
Fixed the spinner showing a doubled ellipsis ("……") on compaction status lines such as "Running PreCompact hooks…"
Stop suggesting frontend-design after Artifacts
Fixed a false-positive spinner tip suggesting the frontend-design plugin after reading or publishing Artifacts
[VSCode] Honor disabled product feedback
Fixed "Report a problem" still appearing, and /bug / /feedback opening a report form, for organizations that have product feedback disabled
[VSCode] Hide false Windows exit banner
Fixed a red "Claude Code process exited with code 4294967295" banner appearing after completed turns on Windows
[Claude Code on the web] Reconnect routines after connector changes
Fixed routines losing access to an organization connector, and still calling the old one, after an admin removed and re-added that connector
[Claude Code on the web] Clean up failed environment creation
Fixed creating a self-hosted environment from organization settings occasionally failing with a server error and leaving a half-created environment behind
[Claude Tag] Fix silence after Enterprise Grid reinstall
Fixed Claude going silent minutes after reinstalling the app when an Enterprise Grid was disconnected but one of its workspaces stayed connected
[Claude Tag] Post scheduled tasks in shared channels
Fixed scheduled tasks set up in an organization-shared private Slack channel silently never posting; they now keep running in the thread they were created in
[Claude Tag] Preserve work when replying mid-task
Fixed replying in an older Slack thread while Claude is mid-task sometimes restarting it from scratch and losing work it had not pushed yet
[Claude Tag] Fix dropped messages after token refresh
Fixed Claude occasionally dropping a message with an incorrect "couldn't find a Claude Code environment" notice right after your account token refreshed
[Claude Tag] Support region-less AWS endpoints
Fixed AWS connections refusing region-less endpoints such as Budgets, Savings Plans, WAF Classic and Import/Export; Global Accelerator requests now sign correctly
[Claude Tag] Fix lowercase OAuth token types
Fixed OAuth client-credentials and JWT-bearer connections failing with providers that return a lowercase token type; requests now send the standard Bearer scheme
[Claude Tag] Allow adding channel managers more broadly
Fixed adding a channel manager being refused on Enterprise Grid shared channels, on channels where Claude hasn't been used yet, and on legacy private channels
[Claude Tag] List self-joined channels in admin Memory
Fixed the admin Memory page not listing Slack channels Claude set up on its own even when they had saved memory; admins can now open, edit and delete that memory
[Code Review] Skip full re-review after merges
Fixed merging the base branch into a PR whose earlier review listed "Additional findings" triggering a full re-review; these pushes now get the lighter follow-up review
[Code Review] Stop discarding whole REVIEW.md files
Fixed a whole REVIEW.md being ignored because of an @-mention, a code span wrapped across lines, or a backticked HTML tag; only lines linking to changed files are withheld
[Code Review] Post ultrareview findings exactly once
Fixed /ultrareview --post so a retry after a GitHub error posts the findings comment exactly once instead of never or twice; the comment now names the reviewed commit
[Code Review] Skip re-review for capitalized repo names
Fixed empty or content-identical pushes being re-reviewed on GitHub repositories whose owner or name contains a capital letter; these pushes are now skipped