Follow Discord

Claude Code v2.1.304

448 entries read Grouped into 371 v2.1.303 → v2.1.304 Mods API: +6 added · 0 removed · 7 changed · 7 docs only Markdown JSON Follow Unofficial

Claude Code's bundled default model is now Opus 5.5 at medium effort, replacing Opus 5 at high effort. You can set CLAUDE_CODE_SKIP_PLUGIN_LOCAL_MCP_SERVERS to keep only the remote MCP servers that plugins bring. A program that runs claude mcp serve can pick which plugins load with CLAUDE_CODE_MCP_SERVE_ENABLED_PLUGINS. A new allowNestedUserNamespaces sandbox setting lets browsers or rootless podman run inside the sandbox on Linux. It is off by default because it weakens the sandbox. Plugin modules can now read and override the settings in effect through a new settings.read event.

Some work in this build is not switched on yet. In-app surveys for enterprise organizations stay off unless turned on remotely. Setting CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY skips them. Groundwork for showing skills as plugins has landed but cannot be reached. Leaving a worktree now checks whether to keep it, but that check always says no in this build. A launch option to turn off plan or auto mode is partly built, with no visible setting yet.

Creating a worktree no longer resets an existing branch with the same name. Claude Code now stops with an error instead. Your cached remote settings are no longer cleared when a proxy answers with a 204 or 404 reply. Very long timeouts are now capped instead of firing immediately. Removing one skill's hooks no longer removes matching hooks added by another skill. Claude Code no longer fetches skills from MCP servers when it connects to them.

Written by our agent from the shipped bundle, not by Anthropic.

Five to try today

Picked from 20 you can use now
  1. New environment variables for low-resource warnings, plugin MCP servers and child sessions

    New environment variables add low disk and memory warnings, limit plugin MCP servers, and pass startup and project details to child sessions

    Extensions
  2. Plugins can now supply setting values through a settings.read event

    A new settings.read event lets plugin hooks see and override your effective settings, re-checked whenever settings or plugins change

    Extensions
  3. Memory extraction can keep its place across worker restarts

    A new carry_across_restarts option lets post-turn memory extraction save and restore its progress when its worker restarts

    Sessions & agents
  4. Prompt filling and plugin hooks gain an answersPress value

    prompt.fill and suggest-prompt requests now carry answersPress, plugins get press_drawn and press_fill hook events, plus two new defaults

    Extensions
  5. New CLAUDE_CODE_ATTRIBUTION_PROJECT setting checked against claude.ai Project IDs

    Claude Code now recognises CLAUDE_CODE_ATTRIBUTION_PROJECT and drops a value that is not a valid claude.ai Project ID from saved jobs

    Elsewhere

Want the reasoning? Read walks the 43 entries that probably matter to you, each one opening to what changed and why.

Read this release → Every row →
342 of 371 shownClear
Reading as
Show only
Who it's for
Tier
Flag state
Names
Pick an entry · j / k steps through · rest on a row to peek
130 entries here

Internal Changesopen

Continued from page 3

13 more of these are in What probably matters to you, on page 1.

3 entries hereMonitor Tool · none marked notable
3 entries hereSandbox · none marked notable
·Internal
Under the hood
Useful1 Signal2
Sandbox unclear

Sandbox can report itself unavailable in some sessions#

In some sessions Claude Code now reports that the sandbox is enabled but unavailable in this session

Unclear Which sessions this condition applies to is not known.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Sandbox unclear

Sandbox network refusals can use other status codes and error headers#

When the sandbox proxy blocks a request, the reply can now use a status other than 403 and a different error header

Unclear Which blocked requests now get a status other than 403 or a different header is not stated.

Details 0 0 Feedback
3 entries hereScheduled Tasks · none marked notable
3 entries hereSkills · none marked notable
·Internal
Under the hood
Useful2 Signal3
Skills unclear

Run skill's Playwright helper can start in a preview mode#

The run skill's Playwright MCP helper can now pass --preview to its script, and new live-page files ship with it

Unclear What turns the preview option on is not stated.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Skills unclear

Resumed sessions no longer restore which skills Claude was already shown#

On resume, Claude Code no longer restores its record of which skills it already listed to Claude, and replayed skills now note whether they came from an MCP server

Unclear It is not clear whether the record of already-listed skills is rebuilt somewhere else, so the list may or may not be sent again after a resume.

Details 0 0 Feedback
3 entries hereStartup · none marked notable
·Internal
Under the hood
Useful1 Signal3
Startup unclear

Some startup and cleanup work is skipped in a certain mode#

Several startup and cleanup jobs now stop early in a certain mode, and --branches is no longer on a list of allowed git options

Unclear Which mode makes these jobs stop early is not stated.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
Startup unclear

Startup settings fetch records more about the login it used#

Claude Code's startup fetch now records a hash of the login token and whether its address moved, and is hardened in one mode

Unclear It is not stated which mode turns off proxies and redirects for this fetch.

Details 0 0 Feedback
3 entries hereUsage & Limits · none marked notable
·Internal
Under the hood
Useful1 Signal3
Usage & Limits unclear

Usage-limit screen gains tracking for an offer about unused resets#

Claude Code's usage-limit interface now keeps state for an offer about unused resets, usable when not paused and resets remain

Unclear Whether any of this is shown to users yet is not stated.

Details 0 0 Feedback
3 entries hereWorkflows · none marked notable
2 entries hereAgent Teams · none marked notable
2 entries hereAuto Mode · none marked notable
2 entries hereBrowser · none marked notable
2 entries hereConfiguration · none marked notable
2 entries herePermissions · none marked notable
2 entries herePlan Mode · none marked notable
·Internal
Under the hood
Useful2 Signal3
Plan Mode unclear

Plan mode can now hand the plan to the exit tool instead of a file#

In plan mode, Claude is now told when the plan goes to the tool for leaving plan mode, and the plan file is sometimes not read

Unclear When the plan file is skipped, and whether that is on by default, is not stated.

Details 0 0 Feedback
2 entries herePrivacy Settings · none marked notable
2 entries hereSDK · none marked notable
2 entries hereUsage Credits · none marked notable
2 entries hereWorktrees · none marked notable
3 entries here

Removedopen

−Removed
You'll notice
Useful1 Signal1
Sessions unclear

A setting was removed from remote session attaching in this build#

A setting that used to be included when attaching to a remote session is switched off at build time in this release

Unclear It is not known what the removed option did, so it is unclear whether attaching to a remote session behaves any differently.

Details 0 0 Feedback
Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.304. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

Of these 76 bullets, 13 name something an entry on this page also names, 24 name something no entry here does, and 39 name nothing specific enough to line up either way. The pairings are made on names both sides wrote down, a flag or a setting or a slash command, so read one as probably the same thing rather than as a fact, and read the middle number as candidates rather than as a miss count.

  • Added a transcript line when a plugin that runs first skips one of your mod's hooks, naming the event and the plugin Nothing to match on
  • 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 No entry names this
  • Added e.isReadOnly to a mod's tool.check event, set when the tool call is read-only No entry names this
  • 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 No entry names this
  • Added /claude-api managed-agents-secure, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anything Probably claude-api-managed-agents-secure-guard-on-ant-commands
  • Added the names of the tools called earlier to the compaction summary in the transcript view (Ctrl+O) Nothing to match on
  • 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 Nothing to match on
  • 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 Probably policy-limits-re-fetch-after-an-api-refusal-anthropic-api-k, auto-compact-window-dialog-shows-an-extra-warning-line
  • 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 No entry names this
  • 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 Probably dangerous-rm-detection-for-mounted-drive-paths
  • Fixed CLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping messages from the saved transcript when the disk filled up while the file was being trimmed No entry names this
  • Fixed a plugin keeping a headless run going past --max-turns, Stop, or ended input by spawning subagents or re-running a finished one No entry names this
  • 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 Nothing to match on
  • Fixed a click on a mod's button being lost when buttons with the same label and no key were redrawn unchanged Nothing to match on
  • 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 No entry names this
  • Fixed scheduled Cowork cloud sessions waiting five minutes again for each subagent whose WebFetch needed a URL approval that nobody was there to give Nothing to match on
  • Fixed Write results and rejected edits showing a file outside the working directory as ../../…; they now show ~/… or the full path No entry names this
  • Fixed a claude.ai Directory plugin's skills not running as commands when picked from the "/" menu in Cowork cloud sessions Nothing to match on
  • Fixed Remote Control permanently withholding a desktop conversation's history when a different account was signed in to the terminal Nothing to match on #98620[BUG] Remote Control: reattach checks the shared ~/.claude.json account instead of the session's own, splitting sessions on claude.ai Open
  • Fixed Remote Control failing to start from Claude Desktop when DISABLE_TELEMETRY or DO_NOT_TRACK is set on a paid plan No entry names this #100339[DOCS] Desktop app: DISABLE_TELEMETRY blocks Remote Control with a generic "initialization failed", contrary to the docs Open
  • Fixed model switches, messages and interrupts waiting behind a context usage check in SDK and desktop sessions Nothing to match on
  • Fixed context_management: Extra inputs are not permitted errors behind LLM gateways; Claude Code now resends the request without that field No entry names this
  • 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 No entry names this
  • 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 Nothing to match on #92515Claude Desktop passes only PATH from the login shell to Claude Code sessions; every other variable is dropped Open
  • Fixed the Consumer Terms notice being skipped for a day or longer after a server error Nothing to match on
  • Fixed /privacy-settings offering choices that may not apply to you after a network or server error No entry names this
  • 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 No entry names this #96744[Bug] Context limit reached state persists after /compact command failure Open
  • Fixed subagents sometimes forgetting their most recent work when they were messaged or resumed right after finishing Nothing to match on
  • Fixed claude --help text for --tools, --resume, --debug, --json-schema, --disable-slash-commands, --system-prompt-snapshot and claude update to match actual behavior Probably usage-rate-limit-message-shows-hold-time, tools-help-text-default-now-means-the-default-set, json-schema-help-says-it-only-works-with-print, sandbox-runtime-probes-bwrap-style-binary-for-disable-user, misc-ui-custom-api-key-prompt-disable-slash-commands-tex, claude-update-description-mentions-package-manager-installs, await-claim-now-rejected-with-sdk-url, resume-help-text-now-says-session-id-or-name, system-prompt-snapshot-now-defaults-off-under-bare-outside
  • 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 No entry names this
  • Fixed resumed and cloud sessions sending Claude the whole skill list again each time plugins reloaded at startup Nothing to match on
  • Fixed an interrupt not ending a Read that waits on an idle pipe or device named like an image Nothing to match on
  • 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 No entry names this
  • 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 Nothing to match on
  • 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 Nothing to match on
  • 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) Nothing to match on
  • 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 Probably dynamic-loop-wakeups-carry-an-owner-and-plugin, schedulewakeup-and-loop-plugin-aware-scheduling-and-missed
  • Fixed agent teams: approving a shutdown request from the main session no longer exits the whole CLI Nothing to match on #96226Lead session exits cleanly seconds after a teammate approves a shutdown_request (2.1.280, in-process teammate) Open
  • Fixed a skill's once hook also removing another skill's identical hook after it ran Nothing to match on
  • Fixed transcript mode's { and } landing the prompt on an inconsistent row, or off screen, instead of the transcript's first row Nothing to match on
  • Fixed CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k silently setting a 100K window: the variable now accepts k and M suffixes like --autocompact, and warns when a value is out of range or ignored Probably auto-compact-window-setting-shows-a-note-about-the-env-var, claude-code-auto-compact-window-parsing-with-km-shorthand-a
  • Fixed Ctrl+C in the agents view clearing a text selection without copying it when pressed before the mouse button was released Nothing to match on
  • Improved /usage to say when a rate limit on usage data ends instead of "try again in a moment" Probably usage-rate-limit-message-shows-hold-time, usage-credit-purchase-flow-gains-offers-discount-tiers-and, usage-credit-promo-offer-starry-waterfall-read
  • Improved the lines shown when a mod written in the session loads, reloads or fails to load Nothing to match on
  • Improved artifacts with several views: when you ask for links to them, Claude now writes out each view's link and explains that the address bar stays the same as you switch views Nothing to match on
  • Improved cloud sessions: a new conversation's first turn no longer waits for the local (stdio) MCP servers of plugins synced from claude.ai, unless a server sets alwaysLoad: true No entry names this
  • Improved how a remote session recovers its status when the server refuses a status update that carried other session data Nothing to match on
  • Improved session file size in auto mode: the safety classifier's context is no longer stored with every request Nothing to match on
  • Improved the claude -p invalid-settings warning: a file that did not load lists only what stopped it, and long lists are capped per file Probably claude-test-plugin-checks-agents-and-renders-a-pane
  • Improved resume of large compacted sessions in SDK and headless mode: the first request after resuming is sent sooner Nothing to match on
  • Improved responsiveness and throughput when many subagents are running at the same time Nothing to match on
  • Improved memory use when sending requests in long or resumed conversations Nothing to match on
  • Self-hosted runner: Improved the error shown when the git host answers "not found" for a session's repository: it now names the repository and whom to ask No entry names this
  • Windows: Improved git command start-up with a standard Git for Windows install by running its git.exe directly instead of through its cmd launcher Nothing to match on
  • Changed mods' settings.read hooks to receive each settings layer and rewrite the merged settings, so a managed mod can make an organization's setting a ceiling, including the cleanupPeriodDays the retention sweep uses Probably remote-settings-unknowable-pause-for-retention-cleanup-disk, hooks-module-settingsread-merge-is-re-raised-when-plugins-o, new-settingsread-plugin-event-mods-runtime, queue-and-plugin-input-hold-refactor-with-a-plugin-settings
  • Changed the /artifacts delete confirmation to show numbered choices: 1 or Enter keeps the artifact, 2 deletes it, and y, n and Esc still work No entry names this
  • Changed the question that turns on the mods Claude writes in a session to plain text with no link or session id; it stays up when a new turn starts, and Claude tells you what loaded when you turn them on Nothing to match on
  • Changed tool search to be on by default behind a custom ANTHROPIC_BASE_URL; a 400 or 422 from the gateway is retried without it Probably tool-search-refusal-by-a-custom-anthropic-base-url-endpoint
  • Changed compaction to send Claude the skill list again afterwards; /reload-skills now sends only new or changed skills No entry names this
  • Changed skill hooks: the skills of one source (a repo, your own folder, or a plugin) can register at most 1,024 hooks and 16,384 matcher characters per session Nothing to match on
  • Changed skills under a policy that allows hooks from plugins only: a skill used in the main conversation whose hooks are kept out no longer gets its allowed-tools No entry names this
  • Updated the /claude-api skill to use the ant CLI on Claude Platform on AWS instead of falling back to the SDK or curl Probably claude-api-managed-agents-secure-guard-on-ant-commands
  • Removed the notes from claude plugin validate that predicted where a mod's hooks would run No entry names this
  • Removed the "(research preview)" label from the /fast dialog title on Opus 5.5 Probably fast-mode-label-drops-research-preview-conditionally
  • [VSCode] Added mod drawing in the chat panel for sessions on Amazon Bedrock, Google Vertex AI and Microsoft Foundry, behind an LLM gateway, or with telemetry turned off Nothing to match on
  • [VSCode] Fixed one cause of sessions failing to start with "Subprocess initialization did not complete within 60000ms": time a SessionStart command hook spends running no longer counts toward the limit, up to 10 minutes in total No entry names this
  • [VSCode] Fixed a session closed while it was starting keeping its Claude Code process running until the start ended Nothing to match on
  • [VSCode] Fixed a mod's drawings disappearing from a long-open panel until the next turn on machines that also run an older Claude Code Nothing to match on
  • [VSCode] Fixed Past conversations hiding sessions when claudeCode.claudeProcessWrapper is set No entry names this
  • [VSCode] Changed background sub-agents to show as one status line under their Agent card instead of streaming every step into the chat; the full transcript stays in /tasks Probably internal-workflows-ui-and-entrypoint-tweaks
  • [Cloud sessions] Fixed folders in the composer's @ list showing no name in cloud sessions, where picking one added only a space instead of a mention Nothing to match on
  • [Claude Tag] Fixed Claude going silent in a thread when its channel becomes shared across Enterprise Grid workspaces mid-task; it now posts a one-time note to @-mention it in a new thread Nothing to match on
  • [Claude Tag] Fixed @Claude !fork typed outside a thread getting no visible reply; Claude now shows you a private note saying to run it from inside a thread No entry names this
  • [Code Review] Added review levels to Code Review: Owners choose Quick, Standard (the default), or Deep for the organization, and can give individual repositories their own level Nothing to match on
  • [Code Review] Added an option in Code Review admin settings to review every repository in a GitHub organization, including ones added later, without selecting them one by one Nothing to match on
  • [Code Review] Fixed pull requests opened within a minute or two of an admin turning on Code Review being silently skipped; they are now retried and reviewed Nothing to match on

A model matched these bullets to the GitHub issues they fix, so a link can be wrong.

System prompt

4 of 29 tool descriptions changed. 2 of 27 tool schemas changed. The appended system-reminder blocks moved: 14 lines added, 1 line removed.

Claude Code, interactive mode

One prompt change in this release could not be quoted from the build, so no entry on this page describes it.

Documentation

What the docs did around this release

622 documentation changes were recorded within 24 hours either side of this release, nearest first. The closest 12 are below. They're here because they happened near this release in time. That's not a claim that this release caused the edit, or that the page documents anything in it.

Switches

Every name in this release

The 47 literal strings found in the bundle, with the number of entries that name each one. Picking one searches for it. A name is here because this build's code mentions it, which is not the same as it working or being finished.

Slash commands

CLI flags

Environment variables

Settings and names in the code

Feedback