Skip to content

Claude Code v2.1.304

Released · Anthropic

Security fixChanges permission rules, skills and plugins, hooks, context and compaction settings, MCP server config

What the release notes say

What's changed

  • Added a transcript line when a plugin that runs first skips one of your mod's hooks, naming the event and the plugin

  • Added decider: "person" to a mod's tool.check answer: only the permission dialog or a host's callback can approve the ask, and it is refused with the mod's reason where nobody can be asked

  • Added e.isReadOnly to a mod's tool.check event, set when the tool call is read-only

  • Added /auto-mode-setup: a guided setup that reads your project and recent sessions to teach auto mode about your environment, now also available on Bedrock, Vertex, Foundry, Claude apps gateway and telemetry-disabled sessions

  • Added /claude-api managed-agents-secure, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anything

  • Added the names of the tools called earlier to the compaction summary in the transcript view (Ctrl+O)

  • Added a warning on Pro and Max plans when resuming an inactive conversation would use a noticeable share of your 5-hour usage limit: resume anyway, or start a new conversation and Claude can look up the previous one if you refer to it

  • Fixed the organization policy not refreshing until the hourly check after approving an ANTHROPIC_API_KEY at startup or switching "Use custom API key" in /config

  • Fixed sandboxed commands failing to start on Linux when a sandbox.filesystem.denyRead glob contains brackets that are not a character class, such as a [user-id] route folder

  • Fixed rm -r of a mounted drive or a folder at its top level (/Volumes, /media, WSL's /mnt/c) not getting the safety prompt that rm -rf /Applications gets

  • Fixed CLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping messages from the saved transcript when the disk filled up while the file was being trimmed

  • Fixed a plugin keeping a headless run going past --max-turns, Stop, or ended input by spawning subagents or re-running a finished one

  • Fixed a failed mod reload removing the tools and commands of the version that stays loaded, and its messages being wrong or silent about whether the previous version is still loaded

  • Fixed a click on a mod's button being lost when buttons with the same label and no key were redrawn unchanged

  • Fixed mod sharing in the built-in plugin-authoring skill stopping at the secret scan on machines with managed settings and on Team and Enterprise plans

  • Fixed scheduled Cowork cloud sessions waiting five minutes again for each subagent whose WebFetch needed a URL approval that nobody was there to give

  • Fixed Write results and rejected edits showing a file outside the working directory as ../../…; they now show ~/… or the full path

  • Fixed a claude.ai Directory plugin's skills not running as commands when picked from the "/" menu in Cowork cloud sessions

  • Fixed Remote Control permanently withholding a desktop conversation's history when a different account was signed in to the terminal

  • Fixed Remote Control failing to start from Claude Desktop when DISABLE_TELEMETRY or DO_NOT_TRACK is set on a paid plan

  • Fixed model switches, messages and interrupts waiting behind a context usage check in SDK and desktop sessions

  • Fixed context_management: Extra inputs are not permitted errors behind LLM gateways; Claude Code now resends the request without that field

  • Fixed OpenTelemetry settings delivered through server-managed settings being ignored for the whole session after signing in during first-run setup or the first start after /logout

  • Fixed unsandboxed Bash commands in Claude Desktop Code tab sessions on macOS and Linux not seeing environment variables exported in shell startup files such as ~/.zshrc

  • Fixed the Consumer Terms notice being skipped for a day or longer after a server error

  • Fixed /privacy-settings offering choices that may not apply to you after a network or server error

  • Fixed a "Context limit reached" or "Prompt is too long" error after stopping a turn while Claude Code was compacting a conversation the API had rejected as too long

  • Fixed subagents sometimes forgetting their most recent work when they were messaged or resumed right after finishing

  • Fixed claude --help text for --tools, --resume, --debug, --json-schema, --disable-slash-commands, --system-prompt-snapshot and claude update to match actual behavior

  • Fixed claude --worktree removing the worktree and its branch without asking at exit when HEAD was detached or on another branch, which could lose commits

  • Fixed resumed and cloud sessions sending Claude the whole skill list again each time plugins reloaded at startup

  • Fixed an interrupt not ending a Read that waits on an idle pipe or device named like an image

  • Fixed /effort status, /effort ultracode and the prompt's effort indicator showing a guessed effort level when CLAUDE_CODE_EFFORT_LEVEL is auto or unset and no level is sent

  • Fixed a PreToolUse hook's deny reason being replaced by a timeout error when an Agent SDK callback hook on the same tool call timed out

  • Fixed Bash and PowerShell deleting a large command's output file when it could not be copied to the session's tool-results folder, unless the disk is full

  • Fixed notes typed into a multiple-choice question with previews being cut off with "…" in terminals under about 100 columns, hiding what was typed (anthropics/claude-code#82768)

  • Fixed self-paced /loop wakeups scheduled at the 1-hour maximum firing just after the 1-hour prompt cache expired, so those wakeups no longer re-read the conversation uncached

  • Fixed agent teams: approving a shutdown request from the main session no longer exits the whole CLI

  • Fixed a skill's once hook also removing another skill's identical hook after it ran

  • Fixed transcript mode's { and } landing the prompt on an inconsistent row, or off screen, instead of the transcript's first row