Claude Code v2.1.283
Primary source
github.com ↗
Overview
What's changed
- Added
x-claude-code-prompt-idto the gateway hint headers so LLM gateways can group the requests that serve one user prompt; opt in withCLAUDE_CODE_GATEWAY_HINT_HEADERS=1 - Added
availableModelsMatchmanaged setting: with"exact", anavailableModelsentry allows only the model version it names, so new releases stay blocked until listed - Added
deniedModelsmanaged setting to block specific models, even whenavailableModelsallows them - Added MCP tool, WebFetch and WebSearch outputs to the
tool.outputOpenTelemetry span event whenOTEL_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
pathto--plugin-dirload-failure entries in the stream-jsonsystem/initplugin_errors, naming the directory that did not load - Added an opt-in
load_test_modeblock 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
mantleupstream 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;
/mcpno longer offers Authenticate for such servers - Fixed the weekly Fable limit not appearing in
/usageand the VS Code usage meters when telemetry is disabled - Fixed
/modelaccepting Sonnet 4.6 or Sonnet 5 with[1m]when the id carried a date or-v1:0suffix, in the cases where the plain id was refused - Fixed
/modelpicker showing a hardcoded Haiku version and price whenANTHROPIC_DEFAULT_HAIKU_MODELpins 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_HAIKUhaving no effect when Haiku is the session's main model - Fixed
claude plugin validatesaying Claude Code accepts a plugin or marketplace name it cannot install; such names inmarketplace.jsonnow fail validation - Fixed
claude plugin validatepassing plugins whoseoutputStyles,themes,monitors, orlspServerspaths are missing or point outside the plugin directory - Fixed
claude plugin detailsshowing 0 MCP servers for plugins that declare their servers inplugin.json - Fixed
claude plugin marketplace removenot saying which installed plugins it uninstalled with the marketplace; it now lists them - Fixed
claude plugin uninstallremoving the other of two installed plugins whose ids differ only in case, with its options and secrets, when the one named had noenabledPluginsentry 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.jsonshowing no plugins when it holds a record under an invalid plugin id; such a file loads again - Fixed
installed_plugins.jsonbeing rewritten, losing records, when it holds a record this version cannot read;claude plugincommands 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
/contextnot 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, andremovereporting 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
cmdan alias ofmeta, which could producecmd+shortcuts most terminals never send - Fixed
keybindings.jsonsilently accepting a misspelled modifier such asctl+k; it now warns in the debug log and suggests the fix - Fixed footer hints still saying "Enter to view" after
footer:openSelectedwas rebound or unbound inkeybindings.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_COUNTenvironment pairs - Fixed sandboxed
gitasking credential helpers to store the sandbox proxy's login, which printed "failed to store" - Fixed managed
sandboxsettings 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
- Fixed Remote Control being unavailable on paid plans when telemetry is turned off with
DISABLE_TELEMETRYorDO_NOT_TRACK - Fixed the
/remote-controlmenu cutting its QR-code hint mid-word in narrow terminals - Fixed vim mode
.dropping a Shift+Enter newline, leaving the cursor inside an accented letter, and repeating an older change after3Jor Visual-modeJon the last line - Fixed vim mode cursor placement: recalling a prompt over 10,000 characters in normal mode no longer leaves the cursor past the end, and
Vthenpnow lands on the first non-blank - Fixed vim mode
Jjoining lines with different spacing than Vim (such as a space before)or after a tab), and3Jor Visual-modeJon the last line not moving the cursor as Vim does - Windows: Fixed the PowerShell tool letting
cmd /c rd,rmdir,delorerasedelete drive roots, the home folder and other folders thatRemove-Itemrefuses - Improved the
/mcptool list: it shows more tools at once, scrolls with the page keys and mouse, and marks tools your organization blocked with a warning icon - Improved MCP tool results: images returned by MCP tools are now also saved to a file, so Bash, Read and other tools can open them
- Improved
/tasks: rows show a status icon, the name and whole facts, the title and key hints stay on screen with many tasks, and the list gains paging keys, the mouse wheel and clicks - Improved lists in
/help,/hooks,/copy,/chrome,/memory,/ide,/release-notes,/rewind,/diff,/remote-env,/pluginand other pickers with page keys, mouse wheel and clicks - Improved lists beside a search box, such as
/skillsand/artifacts, to draw their pointer dim while the search box has the keys, so only one pointer is highlighted - Improved the compaction spinner: its timer now starts when compaction begins and it counts the summary's tokens as they stream, replacing the percentage bar
- Improved the browser page shown after signing in to an MCP server: centered layout, dark mode, and new artwork
- Improved the Skill tool's reply when a skill belongs to a plugin that failed to load, so Claude tells you the plugin could not be loaded instead of calling the skill uninstalled
- Improved
prompt-auditon Claude Code configuration: stale paths, stale commands and contradicting instruction files now lead the report, and thinking keywords that Claude Code documents are kept - Improved recovery from an
installed_plugins.jsonthat cannot be read at all: its contents are kept in a file beside it before it is rebuilt, andclaude plugin listnames that file - Improved artifact database reads: an ordered query that returns a full page now says it is one page and how to read the rest
- Improved first-reply latency: a pattern-compile step that ran at the end of a session's first reply now runs while the reply streams in
- Improved first-request latency by reusing the preconnected API connection
- Improved startup:
claude -pand Claude Code Remote no longer load the interactive UI, and the auto-mode classifier's rules and the Artifact tool load on first use instead of at launch - Improved startup for claude.ai accounts whose Artifact tool features aren't known yet, as on a first run: the prompt no longer waits up to 1.5 s to check them; the first message waits if needed
- Changed interactive sessions on third-party providers or with telemetry off to start in auto mode when no permission mode is configured;
permissions.defaultModestill overrides it - Changed the
/ultrareviewlaunch dialog to say that reviewing a local branch may upload uncommitted changes to tracked files - Changed the
/modelpicker's Opus row and the Default model's name to drop "(1M context)" where Opus already has a 1M context window; the window is unchanged - Changed prompt suggestions in the terminal to appear less often after 20 in a row go unused; using one brings them back
- Changed
--system-promptand--append-system-promptto accept their text and-fileforms together; the file's text comes first - Changed
Skill(anthropic-skills:<name>)deny rules to also block that skill when Claude Desktop delivers it as a plugin, andSkill(skill:<name>)denies to match the skill's alias and display name - Changed
/rewindand/difflists to move on the same keybinding actions as every other list (select:*);messageSelector:*/diff:*rebinds still work - Changed the
/workflowsrun list to size itself like other lists: half the terminal inline, and it keeps its title on screen when the prompt shows below - Changed
claude plugin evalto require git 2.31 or later when git is installed; a run on an older git is refused with a message naming the version - Changed artifact watching: a watch that was armed automatically (not one you asked for) now ends after 3.5 hours with no activity; publishing or watching the artifact again re-arms it
- Self-hosted runner: Changed lifecycle hooks' git to skip a repository's Git LFS
pre-pushhook, ignore a writable systemcore.hooksPath, and not sign commits without--configure-git - Self-hosted runner: Changed
GIT_SSL_CAINFOandGIT_SSL_NO_VERIFYunder Anthropic-managed git: the runner's own git always verifies Anthropic's git route, and warning lines say what applies where - Reverted the 2.1.282 reservation of the
claude-ainame: skills, commands, workflows and MCP servers' skills and prompts so named load again, andSkill(claude-ai:*)rules are ordinary prefix rules - [VSCode] Fixed the permission mode indicator showing Default while the session kept running in auto or bypass mode after an automatic switch out of it failed; the switch is now retried until it lands
- [VSCode] Fixed a session teleported from the web dropping the messages sent while Claude was working
- [VSCode] Fixed a Web session staying hidden from the session list, and an empty chat opening in its place, when an older version had saved an empty local copy of it
- [VSCode] Fixed a reopened session splitting a turn at a message Claude received mid-turn, such as an automatic continuation
- [VSCode] Fixed a reloaded session showing a rewound-away turn, or only the rows before a compaction
- [VSCode] Fixed the footer's agents pill drawing its icon off-center, with the status dot against the edge, in narrow panels
- [VSCode] Fixed the chat input showing its text slightly below the cursor and selection after pasting lines that end with a line break into a long prompt
- [Cloud sessions] Improved adding a repository to a running cloud session: a private repository your GitHub account can read but not push to now attaches for reading
- [Cloud sessions] Fixed cloud sessions occasionally redoing an already-finished step, such as posting a duplicate comment or push, after recovering from a server-side restart
- [Cloud sessions] Changed new routine schedules to default to a few minutes past the hour, with a note that routines set exactly on the hour can start several minutes late
- [Claude Tag] Added a "Channels Claude can search" admin setting that limits Claude's Slack search to public channels it has been added to, set per organization, workspace or channel
- [Claude Tag] Added a Back to Slack button on the page shown after connecting your Claude account, returning you to the thread you started from
- [Claude Tag] Fixed a channel's configure page listing no connectors or plugins when the channel gets its access bundle through an attach rule; rule-attached bundles are now shown
- [Claude Tag] Fixed access-bundle repository search missing repositories on GitHub App installs that are limited to a large list of selected repositories
- [Claude Tag] Fixed Claude occasionally posting the same reply twice when a new message interrupted it mid-reply
- [Claude Tag] Fixed channel routines that stopped running in older private channels whose Slack channel ID changed, for example after a Slack Connect share
- [Claude Tag] Fixed conversations in a channel set to "Channel only" all ending when a non-guest member joined and Slack was slow to confirm their membership
- [Code Review] Fixed "@claude review" requests going silent when GitHub failed to return the pull request: the request is retried once, and a comment explains if it still fails
- [Code Review] Fixed billing for a review that stopped at its time limit with nothing verified: it now shows as incomplete, isn't charged, and is retried once
Source
Originally published at github.com.
Related Articles
From our network: explore the AI assistant platform behind this site.
Visit tunx.ai →
Note: This story is aggregated and summarized from the primary source linked above; the original publisher retains all rights. Details may evolve after publication — always confirm against the source. Nothing here is professional, legal or investment advice.
