Release notes
Claude Code v2.1.325
What's changed
- Fixed a security issue in how zstd-compressed responses are decoded
- Added a spinner tip in VS Code and similar integrated terminals about re-running a notebook cell, shown once Claude has read or edited a Jupyter notebook
- Added a line under the error shown when your organization's policy blocks a request, saying how to continue: run
/rewindand change the message, or run/clear - Added a note for Claude when a sandboxed
git checkout,git stashor autostash pull cannot update protected files such as those in.claude - Fixed
/security-reviewand skills' inline git commands stopping with an error in worktrees of bare repositories,--separate-git-dircheckouts and Androidrepocheckouts - Fixed subagents with their own model being moved to the plan-mode model when the model setting is
opusplanorhaiku - Fixed subagents on a different model sizing file reads and MCP results with the main session's model
- Fixed sessions on many third-party gateways and Foundry stopping with a context length error on every turn instead of compacting
- Fixed recent turns sometimes going missing from a resumed session after Claude Code stopped without a clean exit
- Fixed shell commands running in the launch directory after the working directory was deleted; the command now fails with a message and can be re-issued
- Fixed an approved plan edit being lost when the
plansDirectoryfolder can't take it: the plan is now saved in the default plans folder, and a warning says where and why - Fixed a saved
sonnet[1m]model setting being rewritten on a new install to a model id the API rejects - Fixed focus view hiding the reply to your prompt when a scheduled task replied after it
- Fixed the prompt sometimes missing from a background subagent's view when fullscreen is off
- Fixed long options in lists and permission prompts being partly overwritten when they wrap, and first-run screens losing lines on narrow terminals
- Fixed startup warnings about permission rules and the "N MCP servers need authentication" notice being recorded as seen when they were scrolled out of view
- Fixed the welcome header showing control characters or splitting across lines when an agent's name or the working folder contains them or a line break
- Fixed the red error shown when Claude tries a command only you can run: a dim line now says it runs only when you type it at the prompt
- Fixed
/statsshowing an Active days total that was one day too high - Fixed
/insightssaying a report was ready when no session qualified for analysis, and writing two values into its HTML report without escaping them - Fixed
/voicesaying voice mode changed when managed settings,--settings, or the project's.claude/settings.jsonor.claude/settings.local.jsonkept it as it was; it now says what holds it - Fixed the IDE welcome dialog showing Cmd+Esc for Quick Launch on Windows and Linux
- Fixed Slack app tips showing when your organization's policy denies cloud sessions
- Fixed
claude purgehanging silently when there is no terminal to read keys from, and its project picker and-iprompts ignoring the keyboard when stdin is piped - Fixed
claude plugin eval --output-dir ''writing the report into the current folder; it now exits with an error - Fixed
claude -ptext output on a terminal passing control sequences other than text styling; pipes and files are unchanged - Fixed leftover
.oauth_refresh.lock.owner.tmp.*files piling up in the config directory - Fixed
/fastsaying "Fast mode has been disabled by your organization" under the keyless Console sign-in, where Claude Code had not asked the server - Fixed
/modelsaying that your organization restricts a model when Claude Code could not check that, for example with no network - Fixed "Sign in with your Console account" in
/loginreplacing your existing login when you pressed Esc right after the browser step - Fixed the browser showing the sign-in success page in some cases where sign-in failed or was canceled
- Fixed
claude auth statusand other short commands leaving a lock behind on a Console profile, which made the next session hang for about a minute - Fixed background sessions started on your claude.ai login using (and billing) an API key or token from the shell that started the background service
- Fixed more cases of a session moving to another sign-in in the background; these moves are now refused, with a message saying what works
- Fixed a second Enter in the exit dialog stopping background work after the move to the background was refused
- Fixed token counting on Amazon Bedrock sending the conversation to Bedrock when the
allowedProvidersmanaged setting does not allow it - Fixed AWS
credential_processhelpers and Google Cloud default credentials failing when Claude Code is started without aHOMEenvironment variable - Fixed a session sometimes going back to an earlier permission mode after a subagent's plan was approved
- Fixed one invalid value in an Agent SDK
applyFlagSettings()call silently discarding all settings from earlier calls; a call that would do this is now refused with an error - Fixed sessions showing as waiting for input when a finished pull request only needed your own review or merge
- Fixed an unrecognized
teammateModesettings value being ignored without a warning:claude -p, the startup warning andclaude doctornow list it as a skipped entry (still not applied) - Fixed
--worktreeskipping aWorktreeCreatehook from a plugin inCLAUDE_CODE_PLUGIN_SEED_DIRon the first run in a new home directory - Fixed brief-mode sessions, such as Dispatch, sending a reply again after the turn had already replied
- Fixed Claude saying a working Atlassian, Asana or Sentry connector had failed in cloud sessions when a plugin listed it at a different URL
- Fixed Claude Desktop and SDK sessions listing a folder's own MCP servers (
.mcp.json, local) as host-added or not at all, and not connecting WebSocket ones, after a folder move or pre-warmed start - Fixed
/mcpstill listing a plugin's MCP server after a plugin reload removed it while it was connecting - Fixed an MCP server staying "needs authentication", and its
mcp_toolhooks being skipped, after a token refresh that was refused only for a moment - Fixed MCP elicitation requests being cancelled without asking in headless mode after a server's connection was replaced during a tool call
- Fixed MCP tool calls from an SDK host answering "Not connected" after a tool call had reconnected the MCP server
- Fixed an MCP task getting stuck after its question was closed with Esc or asked again: the footer now says it needs your input, and Enter in
/tasksshows the question again - Fixed background MCP tasks that stopped updating after another call to the same server lost the connection, when a later call reconnects
- Fixed a background MCP task's question opening over a message you were still typing; it now waits until you send or clear the draft, and the spinner and turn timer keep running
- Fixed
worktree.sparsePathsand sparse plugin and marketplace clones leaving out the repository's root files on older git versions, such as 2.34 - Fixed self-hosted runner sessions with several repositories being unable to use a repository added mid-session
- Fixed Claude asking for permission before reading your own artifact or its data
- Fixed deny and ask permission rules and hooks for the Artifact tool not applying in some cloud sessions
- Fixed Code Mode scripts ignoring a worktree entered with
EnterWorktree, writing~paths into the project, and leaving/mcpshowing an MCP server as connected after its sign-in expired - Fixed words typed with a Yes at a permission dialog or plan approval not reaching Claude in Code Mode
- Fixed Claude starting work by itself when you resumed a session that ended during a Code Mode script; it now waits for your next prompt
- Fixed a missing OpenTelemetry
user_prompt
…