Skip to main content

Claude Code v2.1.273: Gateway Hint Headers, Forking Remote Control Sessions, and Managed MCP Fixes

Claude Code v2.1.273 adds opt-in request headers for LLM gateways, MCP disconnect notifications and forking Remote Control sessions from the Claude app, and fixes managed MCP settings being ignored.

Claude Code v2.1.273 is a feature and fix release with 64 changelog entries. It adds opt-in hint headers for LLM gateways, a notification when an MCP server’s automatic reconnection gives up, and forking of Remote Control sessions from the Claude app. It also reverts one permission change from 2.1.268, makes auto mode on Bedrock, Vertex and Foundry use the local classifier by default for now, and fixes several permission, managed-settings and error-message issues.

What’s New

Hint headers for LLM gateways

Claude Code can now send 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 to LLM gateways. They are opt-in: set CLAUDE_CODE_GATEWAY_HINT_HEADERS=1 to enable them.

MCP disconnect notifications

When an MCP server disconnects mid-session and automatic reconnection gives up, Claude Code now shows a notification pointing at /mcp. Separately, the error shown when an MCP server’s sign-in expires mid-session now says how to re-authenticate (/mcp).

Fork Remote Control sessions from the Claude app

A session started with claude --remote-control or /remote-control can now be forked from the Claude app. The fork runs as a background session on your computer.

Auto mode classifier on Bedrock, Vertex and Foundry

Auto mode on Bedrock, Vertex and Foundry now uses the local classifier by default for now. Set CLAUDE_CODE_AUTO_MODE_SERVER=1 to use the platform’s server-side classifier.

Reverted deny-rule check on unanalyzable Bash lines

A 2.1.268 change that checked Read and Edit deny rules on Bash lines the permission checker can’t analyze (eval, env -C) has been reverted. Commands like time -p make build prompt again instead of being denied.

Telemetry, sign-in and feedback report changes

  • OTEL_LOG_TOOL_DETAILS=1 now also includes real agent, skill, plugin and MCP server names on cost and token metrics.
  • Signing in with a Claude account now also requests access to your claude.ai plugins.
  • /bug and /feedback reports now include only model-behavior params (model, system prompt, tools) from the last API request, omitting request metadata and CLAUDE_CODE_EXTRA_BODY fields.

Fixes and Improvements

  • Permissions: Bash commands the permission checker cannot fully analyze no longer skip the prompt under permissions.blockReadsOutsideWorkingDirectories, and a subshell can no longer hide a dangerous rm in bypass mode. With that same setting, a memory directory chosen by a repository’s settings is no longer loaded into the prompt, recalled, indexed, or used by memory extraction.
  • Managed settings: allowManagedMcpServersOnly, deniedMcpServers and disableClaudeAiConnectors set via MDM or managed-settings.json are no longer ignored when server-managed settings are also present.
  • Skills: Skills synced from claude.ai no longer stay available after your organization turns Skills off; they now move to the recoverable trash.
  • Cloud provider errors: 401/403 errors on Bedrock, Vertex and Foundry, and Claude apps gateway 403s, no longer tell you to run /login; the message now names the credential to refresh or points to your gateway administrator.
  • Prompt cache: /login, /upgrade and /extra-usage no longer discard earlier thinking from the conversation, which had forced a full prompt-cache rewrite on the next request.
  • Context meter: The context meter and auto-compact no longer count advisor-tool turns at roughly twice their real context size, which had made auto-compact fire at about half the real window.
  • Subagents: Sub-agents and background agents are no longer reported as failed, with their result never delivered, when the final streamed reply omitted token usage or carried no model id. SDK and --output-format stream-json output no longer drop a subagent’s remaining messages and final report after it is moved to the background mid-run (e.g. by CLAUDE_AUTO_BACKGROUND_TASKS).
  • Auto mode and artifacts: Auto mode no longer stops for approval when the Artifact tool uploads a file you attached to the chat in a cloud or Remote Control session.
  • macOS: Read no longer refuses a dragged-in screenshot, or any file the system reports under a second path, with “symlink resolution changed after permission was checked”.
  • Shell mode: The main prompt no longer drops a ! typed at the start while already in shell mode, so negated commands like ! grep … can be typed.
  • Scheduled tasks and git: Saved scheduled tasks no longer run in the wrong session after .claude/scheduled_tasks.json is copied into another folder, such as a new worktree, and a long-running session no longer recreates a stub .git/info/exclude after the repository’s .git directory was removed or moved away.
  • Responsiveness: In long sessions, hook progress and sub-agent activity no longer re-process the whole conversation on every update.
  • Artifacts: An artifact database update can now remove a single field instead of rewriting the whole document, and a publish whose connection drops after reaching claude.ai is now re-sent safely instead of failing or creating a duplicate version.
  • Clearer errors: In-session SSL certificate and proxy connection errors now name the error code and what to fix, such as NODE_EXTRA_CA_CERTS for an untrusted corporate CA. /web-setup, /autofix-pr and cloud-session GitHub errors now give specific causes instead of generic messages, and a cloud session that can’t be created because your Claude login expired or was revoked now tells you to run /login.
  • VS Code: “Report a problem” no longer appears, and /bug / /feedback no longer open a report form, for organizations that have product feedback disabled; a red “Claude Code process exited with code 4294967295” banner no longer appears after completed turns on Windows.
  • Windows: The network-path permission check for UNC paths is improved when a mapped network drive was added with --add-dir.
  • Claude Code on the web: Routines no longer lose access to an organization connector after an admin removes and re-adds it, a “Discard unsaved changes?” confirmation now protects routine edits, and the admin “Share cloud sessions” setting now lives under Data and privacy.
  • Claude Tag: Claude now starts watching related public channels on its own, such as an incident channel a conversation depends on. Scheduled tasks set up in an organization-shared private Slack channel no longer silently fail to post, and replying in an older thread while Claude is mid-task no longer sometimes restarts it from scratch.
  • Code Review: Merging the base branch into a PR whose earlier review listed “Additional findings” now gets the lighter follow-up review instead of a full re-review, a whole REVIEW.md is no longer ignored because of an @-mention, a wrapped code span or a backticked HTML tag, and /ultrareview --post retries now post the findings comment exactly once and name the reviewed commit.

This release contains 64 changes in total; see the full changelog for the complete list.

How to Update

  1. Check your installed version: claude --version
  2. Update in place: claude update
  3. If you use auto mode on Bedrock, Vertex or Foundry and want the platform’s server-side classifier, set CLAUDE_CODE_AUTO_MODE_SERVER=1. To send the new gateway hint headers, opt in with CLAUDE_CODE_GATEWAY_HINT_HEADERS=1.