Skip to content

Claude Code v2.1.283

Released · Anthropic

Changes MCP server config, skills and plugins, sandbox settings, hooks, permission rules, context and compaction settings

What the release notes say

What's changed

  • Added x-claude-code-prompt-id to the gateway hint headers so LLM gateways can group the requests that serve one user prompt; opt in with CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
  • Added availableModelsMatch managed setting: with "exact", an availableModels entry allows only the model version it names, so new releases stay blocked until listed
  • Added deniedModels managed setting to block specific models, even when availableModels allows them
  • Added MCP tool, WebFetch and WebSearch outputs to the tool.output OpenTelemetry span event when OTEL_LOG_TOOL_CONTENT=1
  • Added /doctor prompt-audit (also /checkup prompt-audit) to audit your CLAUDE.md files, skills, agents and commands for prompting patterns written for older models
  • Added click-to-expand for truncated messages from your other sessions in fullscreen mode
  • Added path to --plugin-dir load-failure entries in the stream-json system/init plugin_errors, naming the directory that did not load
  • Added an opt-in load_test_mode block to the Claude apps gateway config: requests are built and signed but not sent upstream, and clients get a canned reply, so a deployment can be load tested
  • Added a mantle upstream provider to the Claude apps gateway for Amazon Bedrock's Mantle endpoint
  • Fixed SDK sessions losing a deferred tool call or finished tool result when a turn ended early, a held approval prompt after a worker restart, and a non-streaming fallback's result.usage
  • Fixed MCP progress notifications being discarded once a long-running tool call moved to the background; the background task now shows the latest progress
  • Fixed stdio MCP servers being left running when the session ended while they were still starting
  • Fixed a brief HTTP 404 from a stateless remote MCP server (for example a proxy mid-redeploy) leaving that server unusable for the rest of the session while still shown as connected
  • Fixed MCP sign-in for a server with no valid URL failing with an opaque SDK error; /mcp no longer offers Authenticate for such servers
  • Fixed the weekly Fable limit not appearing in /usage and the VS Code usage meters when telemetry is disabled
  • Fixed /model accepting Sonnet 4.6 or Sonnet 5 with [1m] when the id carried a date or -v1:0 suffix, in the cases where the plain id was refused
  • Fixed /model picker showing a hardcoded Haiku version and price when ANTHROPIC_DEFAULT_HAIKU_MODEL pins a different model
  • Fixed dynamic workflows started during a model fallback running every agent on the fallback model instead of retrying the configured model
  • Fixed DISABLE_PROMPT_CACHING_HAIKU having no effect when Haiku is the session's main model
  • Fixed claude plugin validate saying Claude Code accepts a plugin or marketplace name it cannot install; such names in marketplace.json now fail validation
  • Fixed claude plugin validate passing plugins whose outputStyles, themes, monitors, or lspServers paths are missing or point outside the plugin directory
  • Fixed claude plugin details showing 0 MCP servers for plugins that declare their servers in plugin.json
  • Fixed claude plugin marketplace remove not saying which installed plugins it uninstalled with the marketplace; it now lists them
  • Fixed claude plugin uninstall removing the other of two installed plugins whose ids differ only in case, with its options and secrets, when the one named had no enabledPlugins entry at that scope
  • Fixed plugins that declare no version being silently restored at their source's newest commit, not the installed one, when their cached files were missing
  • Fixed user-installed plugins and marketplaces failing to load with "cache-miss" after the home or config directory was moved, for example in bind-mounted devcontainers
  • Fixed installed_plugins.json showing no plugins when it holds a record under an invalid plugin id; such a file loads again
  • Fixed installed_plugins.json being rewritten, losing records, when it holds a record this version cannot read; claude plugin commands now name the record and say how to recover
  • Fixed permission dialogs in screen-reader mode reading quoted commands and paths as if they were the dialog's own text
  • Fixed /context not counting MCP server instructions: they now appear as their own row and count toward the total
  • Fixed markdown links in the Warp terminal rendering as plain text instead of clickable hyperlinks
  • Fixed claude mcp add, add-json, and remove reporting success when the user or local config file could not be written, for example inside a sandbox
  • Fixed the first words of a reply in a cloud session sometimes appearing late instead of streaming as Claude writes them
  • Fixed Claude's built-in keybindings guide saying chords time out after 1 second instead of 3, and calling cmd an alias of meta, which could produce cmd+ shortcuts most terminals never send
  • Fixed keybindings.json silently accepting a misspelled modifier such as ctl+k; it now warns in the debug log and suggests the fix
  • Fixed footer hints still saying "Enter to view" after footer:openSelected was rebound or unbound in keybindings.json
  • Fixed keys typed quickly together (type-ahead, key repeat, bursts over ssh or tmux) sometimes being handled against stale state
  • Fixed worktree checkouts failing certificate verification (for example on Git LFS downloads) when the CA certificate is passed to git as GIT_CONFIG_COUNT environment pairs
  • Fixed sandboxed git asking credential helpers to store the sandbox proxy's login, which printed "failed to store"
  • Fixed managed sandbox settings being ignored entirely when one nested value was invalid; the invalid value now fails closed and the rest of the block still applies
  • Fixed Claude's edits to its own auto-memory notes being blocked as sensitive-file writes when Claude Code was started in a subdirectory of a git repository