Follow Discord

Claude Code v2.1.318

latestnext 509 entries read Grouped into 425 v2.1.317 → v2.1.318 Mods API: +0 added · 0 removed · 5 changed · 9 docs only Markdown JSON Follow Unofficial

You can now move a session on your computer into a new cloud session. Claude Code copies the newest turns after checking the move is safe. A new /project command names the claude.ai Project for usage reports, and --save keeps that choice. Admins can set disableReplyCheck in managed settings to stop Claude being re-prompted when a turn ends without a reply. Setting CLAUDE_CODE_ULTRAREVIEW_LAUNCH_RECORD to a file path makes each successful ultrareview launch write its session id there. This release has 425 entries, and 240 of them are usable today.

26 entries are in the build but not switched on yet. The biggest is an experimental REPL mode, where Claude writes JavaScript that calls its tools. It comes with an opt-in dialog and limits on resuming and moving sessions. More pieces of a code-running mode landed this time, including script tracking and a tool that waits while idle. A check that can skip compacting a long conversation is also here, but it stays off unless switched on remotely. Session-long "always allow" choices for MCP connector tools, which link Claude to outside services, are recorded only when a remote switch is on.

Some of this release's fixes make broken config files safer to deal with. If the config file is corrupt or empty, Claude Code looks for the best backup and tells you what it did. A global config file that cannot be read is now left alone instead of being overwritten. A failed message send in a remote session no longer leaves it stuck sending. Cloud sessions that fail during setup now wait for the refusal message, so you can see why the launch failed. Saving over a file mounted into a container now works when the file is busy.

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

Five to try today

Picked from 23 you can use now
  1. Move a local session to the cloud by copy

    A new path moves a local session to a cloud session by copying its recent turns, via /teleport and claude --cloud, with many safety checks

    Sessions & agents
  2. New controls for the reply check: disableReplyCheck and CLAUDE_CODE_REPLY_GATE_POLICY

    Self-hosted runner reply-check behaviour can now be turned off with a managed disableReplyCheck setting or shaped by a CLAUDE_CODE_REPLY_GATE_POLICY variable

    Elsewhere
  3. Experimental Code Mode can be requested with an environment variable

    Setting CLAUDE_CODE_EXPERIMENTAL_CODE_MODE asks Claude Code to switch on an experimental Code Mode, which it can refuse for several reasons

    Sessions & agents
  4. New /project command names the claude.ai Project for a session's usage reports

    A new /project command, gated by tengu_gentle_cupcake, sets attributionProject for usage reports; IDs may start with chan_ and --settings is a source

    Extensions
  5. Memory push delete mode gains a recorded option and named-file deletion

    CLAUDE_CODE_MEMORY_PUSH_DELETE_MODE now accepts recorded, and Claude is told how to delete a shared-memory file with a plain rm command

    Sessions & agents

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

Read this release → Every row →
407 of 425 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
149 entries here

Internal Changesopen

Continued from page 4

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

2 entries herePermissions · none marked notable
·Internal
Under the hood
Useful2 Signal2
Permissions unclear

Permission prompts can now note that a stored answer still applies#

Permission handling can record that an earlier stored answer still stands, and falls back to the session's host when finding who answered

Unclear It is not clear what a reader would notice differently when a stored answer is marked as still standing.

Details 0 0 Feedback
2 entries herePrompt Caching · none marked notable
·Internal
Under the hood
Useful1 Signal2
Prompt Caching unclear

A turn can wait briefly for a cache-warming request to finish#

Claude Code can hold a turn while a request that warms the prompt cache settles, up to a time limit

Unclear It is not clear where the time limit comes from or whether the wait is switched on for users.

Details 0 0 Feedback
2 entries hereTools · none marked notable
·Internal
Under the hood
Useful1 Signal1
Tools unclear

A tool's results now reach Claude with an extra note#

One tool now hands Claude its results together with a note, instead of the bare results, when no opt-in is required

Unclear It is not clear which tool this is or what the note says.

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

Claude Code changes which tool wins when two share a name#

When two tools have the same name, Claude Code no longer always keeps the first one and can replace it with a later one

Unclear Which tool now wins in a name clash is not clear.

Details 0 0 Feedback
1 entry here

Removedopen

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.318. 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 84 bullets, 26 name something an entry on this page also names, 22 name something no entry here does, and 36 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 record of your answer when Claude Code asks to turn on the mods it writes in a session Nothing to match on
  • Added assume_role on mantle upstreams of the Claude apps gateway, for a role in another AWS account and for per-developer AWS cost attribution Probably bedrock-style-assume-rolebearer-token-check-extended-to-ma, mantlebedrock-gateway-attribution-warning-reworded-and-made
  • Added an effort option to a mod's $.model.fork, so a quick side job can run at low whatever effort the session uses; the result reports the effort sent Probably hook-matchers-mcp-tool-name-matching-and-modelfork-effort
  • Added the date a stored claude.ai sign-in ends to claude auth status (loginExpiresAt) and to claude -p JSON results (credential_expires_at) Probably stop-message-uuid-description-extended-to-claude-p, result-messages-gain-credential-expires-at
  • Added a one-line stderr warning to claude -p text output, starting 10 days before a stored claude.ai sign-in ends Probably stop-message-uuid-description-extended-to-claude-p
  • Fixed --continue sometimes losing the earlier conversation after a malformed tool call's retries ran out (regression in 2.1.314) No entry names this #96628[BUG] After a tool call fails to parse, the retry notice can point `parentUuid` at a row that is never written, so `--resume` loses everything before it Open
  • Fixed macOS sessions with many running Bash commands stalling while memory grew Nothing to match on
  • Fixed permission prompts being answered by keys typed just after sending a message, or before a slow prompt appeared Nothing to match on
  • Fixed /logout, claude auth logout and claude mcp remove reporting success, and changes to trust, consent or MCP settings being dropped with no word, when the config file could not be updated on a shared network home directory No entry names this
  • Fixed jobs exiting with Not logged in when another terminal or host signs in again to the same account and organization on the same home Probably auth-status-output-gains-an-extra-line
  • Fixed claude mcp add and remove writing the config without its lock: they now wait for it or exit 1, though another job's save can still replace a saved server Probably claude-mcp-add-web-add-a-claudeai-connector-from-the-cli
  • Fixed claude plugin commands exiting before a slow token refresh was saved, which could sign you out on the next run No entry names this #102265[BUG] Short-lived subcommand (claude plugin validate) exits mid OAuth refresh: the rotated refresh token is never saved, the next process gets invalid_grant and blanks the login Open
  • Fixed claude plugin validate passing a custom-named marketplace file that claude plugin marketplace add rejects No entry names this
  • Fixed stdio MCP servers that exit on the version probe being re-probed on every start; a server that dies in under 3s for its own reason is also pinned to the legacy handshake for 7 days Nothing to match on
  • Fixed sessions being refused at startup by an allowedProviders list that another login on the same machine had stored No entry names this
  • Fixed idle compaction replacing a conversation with a reply that was not a summary Nothing to match on
  • Fixed the "Now using usage credits" notice reappearing about every 30 seconds while a background subagent is running No entry names this
  • Fixed custom slash commands that fail, or that only Claude can invoke, printing nothing in claude -p and SDK sessions Probably stop-message-uuid-description-extended-to-claude-p
  • Fixed claude -p and Agent SDK sessions reporting success when an API error cut off a reply while a mod hooked turn.step Probably stop-message-uuid-description-extended-to-claude-p
  • Fixed a message sent right after a model change still running after Stop in headless sessions: Stop now cancels or stops it as it would a queued message Nothing to match on
  • Fixed a deleted session transcript being re-created with its last prompt when an idle non-interactive session exited Nothing to match on
  • Fixed claude remote-control hosts, the background daemon and self-hosted runners failing to start new sessions (spawn ENOENT) after an update or version cleanup removed the binary of a still-running process No entry names this
  • Fixed a running Claude Code process owned by another user (for example one left by sudo claude) being treated as dead by version cleanup, which could delete its binary No entry names this
  • Fixed /remote-control showing a session as available after a failed connection Probably remote-control-failure-messages-tell-the-user-how-to-recover, remote-control-callout-flow-refactored-remote-control-dial
  • Fixed /design revoke reporting success when the request failed with a 404 No entry names this
  • Fixed a shell command approved after a self-hosted runner or cloud session restart running in the session's start folder, not the folder it was asked in; if that folder can't be entered, it is not run Nothing to match on
  • Fixed Claude not being told when an approved connector tool was unavailable after a cloud session restart Nothing to match on
  • Fixed cloud sessions being stopped in the middle of a turn when the service refuses uploads for several minutes Nothing to match on
  • Fixed variables a Setup hook writes to CLAUDE_ENV_FILE not reaching the Bash tool in some cloud sessions No entry names this
  • Fixed the iPhone app showing a cloud session's turn as finished while it kept running, after a response was cut off at a tool call or a refused image or document was removed Nothing to match on
  • Fixed a restarted session re-sending a message that failed with an API error, ahead of the newer message waiting behind it Nothing to match on
  • Fixed a restarted session dropping its interrupted turn when the restart came right after Claude read a large image or retried a tool call Nothing to match on
  • Fixed every connection failing when the NODE_EXTRA_CA_CERTS file is empty, not PEM, or starts with a damaged certificate: readable certificates are now used, with a warning on stderr Probably much-longer-node-extra-ca-certs-diagnostics-two-new-cases, node-extra-ca-certs-partial-load-of-unparseable-ca-files, ca-cert-drop-message-expanded
  • Fixed workflows re-running finished agents when resumed after a usage limit Nothing to match on
  • Fixed /mcp in cloud sessions counting tools the model can't use; a server's row now shows how many of its tools are available Probably mcp-listing-and-ultrareview-credits-refactor-forked-slash
  • Fixed a duplicate notification when Claude left the status field out of a PushNotification call Nothing to match on
  • Fixed the error for a too-large image in a request with more than 20 images always saying the limit was 2000px; it now shows the API's limit Nothing to match on #95503[BUG] Small image (558x162px) incorrectly rejected with "exceeds max allowed size... 2000 pixels" error Open
  • Fixed the runtime in background shell details not updating while the dialog is open Nothing to match on #102819[Feature Request] Background shell details view doesn't live-update Runtime or Output Open
  • Fixed a mod's turn.step hook making a stopped reply finish as a success in headless runs No entry names this
  • Fixed retention cleanup leaving a home that only runs claude -p with no ~/.claude.json backup: it now takes a fresh backup before deleting the last good one Probably config-lock-only-saves-and-lock-wait-env-var, stop-message-uuid-description-extended-to-claude-p, config-file-backup-and-empty-file-recovery
  • Fixed the stored login being replaced by an empty file when a network home directory has no room left for data but still takes new files Nothing to match on
  • Fixed tokens from setup-token being refused at start on machines with forceLoginOrgUUID, when the token belongs to a permitted organization Probably warning-when-the-oauth-sign-in-is-near-its-end, expired-login-messages-login-reached-its-time-limit #106324[BUG] forceLoginOrgUUID is incompatible with setup-token OAuth tokens Open
  • Fixed non-interactive launches replacing a ~/.claude.json that isn't valid JSON with defaults; the start now fails, says how to restore the file, and leaves it as is (anthropics/claude-code#87551) Probably config-lock-only-saves-and-lock-wait-env-var, config-file-backup-and-empty-file-recovery
  • Fixed an empty ~/.claude.json with no backup being reported as corrupted; Claude Code now starts as it does when the file is missing Probably config-lock-only-saves-and-lock-wait-env-var, config-file-backup-and-empty-file-recovery
  • Fixed the restore command printed for a damaged or missing ~/.claude.json naming an empty or cut-off backup, or failing on a read-only file Probably config-lock-only-saves-and-lock-wait-env-var, config-file-backup-and-empty-file-recovery
  • Fixed the sign-in failure when a stored claude.ai login reaches its time limit: it now says so, and in claude -p names claude auth login and claude setup-token Probably warning-when-the-oauth-sign-in-is-near-its-end, stop-message-uuid-description-extended-to-claude-p, expired-login-messages-login-reached-its-time-limit
  • Improved how ~/.claude.json, settings files and the stored login survive saves on shared network home directories: they are less often deleted, briefly emptied or replaced by a near-empty or older copy Probably config-lock-only-saves-and-lock-wait-env-var, config-file-backup-and-empty-file-recovery
  • Improved sessions on network file systems to look again when the configuration file is wrongly reported as missing, so fewer start without your MCP servers and trusted folders Nothing to match on
  • Improved MCP tool errors: a call made before the tool is loaded now returns its input schema Nothing to match on
  • Improved the reliability of git commits and pull request creation when the Bash tool runs macOS's built-in /bin/bash Probably bash-heredoc-on-stdin-teaching-macos-binbash-only-flag-d
  • Improved "Ask your admin for more usage" in the usage limit menu to send the request in one step No entry names this
  • Improved how fast remote sessions reconnect after a pause or sleep Nothing to match on
  • Improved You should know toasts to say "try again" instead of "press 2", which only works in the terminal Probably changed-hint-when-a-keypress-is-blocked-by-text-in-the-promp
  • Improved auto-update reliability: a brief network failure while verifying a release is now retried right away instead of waiting for the next check Nothing to match on
  • Improved unattended runs (claude -p, SDK apps) to stop rewriting ~/.claude.json on every run when nothing in it changed Probably config-lock-only-saves-and-lock-wait-env-var, stop-message-uuid-description-extended-to-claude-p, config-file-backup-and-empty-file-recovery
  • Changed Claude Code to no longer install or update the IDE extension when started in an IDE terminal; use /ide from an outside terminal or your editor's extensions view Probably awayidle-jetbrains-plugin-not-found-message-now-tells-user
  • Changed subagents to stop instead of switching models when "Switch models when a message is flagged" is set to "Ask each time" No entry names this
  • Changed background subagents to move a shell command to the background after 3 minutes on all providers, so the prompt cache doesn't expire while it runs Nothing to match on
  • Changed subagent progress summaries on Bedrock, Vertex, Foundry, or with telemetry off: on a cold prompt cache, one can now wait up to 5 minutes for the subagent's pending response Nothing to match on
  • Changed what a mod attaches at prompt.submit to stay in the user's turn rather than go out as a system message No entry names this
  • Changed deniedMcpServers URL entries to also block Anthropic-provided servers whose upstream URL matches, and connectors in cloud sessions and on self-hosted runners, where the session is given the connector's own URL; otherwise deny a connector by name Probably mcp-deniedmcpservers-matches-mcp-url-parameter-addresses
  • Changed the /permissions rule details, built-in rules and delete confirmation views to use the standard dialog; pressing Ctrl+C twice there now goes back or cancels instead of quitting No entry names this
  • Changed /claude-api managed-agents-onboard to give a new agent's built-in tools, and a quickstart template's MCP tools, the auto permission policy ("Judge risky actions") by default, matching the Claude Console; say "run without asking" to opt out No entry names this
  • Removed the 2.1.288 fix that kept the model's earlier thinking when resuming a conversation started on 2.1.286 or earlier; that thinking can now be dropped Nothing to match on
  • Gateway: Added a log warning when the Google access token from a federation (external_account) credentials file is about to expire No entry names this
  • Gateway: Improved the log hints about listen.trusted_proxies: they now say to list only a proxy that adds the connecting address to X-Forwarded-For itself Probably gateway-guidance-on-x-forwarded-for-and-trusted-proxies-rewo
  • Gateway: Improved the warning when AWS CountTokens fails on Amazon Bedrock: it says Claude Code, not the gateway, counts after the 501, and points at IAM only when AWS denies access Nothing to match on
  • Self-hosted runner: Added CLAUDE_RUNNER_SPAWN_REASON to the orchestrator's spawn-runner hook environment: why Anthropic sent the request (e.g. runner_lost, resumed); unset when none was sent Probably cloud-sessions-and-spawn-reason-in-the-runner
  • Self-hosted runner: Added a startup warning when --release-idle-session-min is the last argument with no value (still ignored) or has a value of only spaces (still read as 0) Probably self-hosted-runner-server-sent-idle-session-release, self-hosted-runner-idle-limit-from-anthropics-control-plan
  • Self-hosted runner: Changed the orchestrator's log lines: ok session=… now prints at every log level on stdout (was debug only, stderr) with reason=… after jti=…, and nack session=… ends its fields with reason=… after retryable=…; update scripts that match retryable=true: or retryable=false: No entry names this
  • Remote Control: Fixed a misleading "spawn error: ENOENT" when a session's working folder is missing; the error now names the folder No entry names this
  • Remote Control: Improved the title a fork of a terminal fork is created with when the app doesn't set one: "Name (fork 2)" No entry names this
  • [VSCode] Fixed a window whose sign-in the organization's settings refuse starting a new Claude Code process in the background every minute Nothing to match on
  • [VSCode] Fixed a long word in the chat panel's error banner pushing its close button out of view Nothing to match on
  • [VSCode] Improved the sign-in screen to show what Claude Code printed when its sign-in status check fails Nothing to match on
  • [Cloud sessions] Added a No repository option: a cloud session on an Anthropic-hosted environment can now start without picking a repository Nothing to match on
  • [Cloud sessions] Added the usual Chrome names to cloud sessions, so tools other than Playwright can find the built-in Chromium through google-chrome and CHROME_PATH No entry names this
  • [Cloud sessions] Added a New session button to the card shown when a cloud session's environment was deleted, where the message box is hidden Nothing to match on
  • [Cloud sessions] Fixed reading GitHub Actions logs in cloud sessions: gh run view --log and gh api log requests now get the log in most environments, not an unreachable redirect No entry names this
  • [Cloud sessions] Improved most Create PR failure messages in cloud and Remote Control sessions: they now give the reason or a link to GitHub instead of saying Try again Nothing to match on
  • [Cloud sessions] Changed connector search results to tell Claude that the search covers only part of the connector directory Nothing to match on
  • [Remote Control] Fixed side-by-side checkouts of one repository looking identical in the environment menu's Remote Control rows; each now shows its own folder name Nothing to match on
  • [Claude Tag] Fixed keyboard focus and screen reader announcements in Claude Tag admin setup; pressing Escape in the connect form no longer also closes the Add dialog Nothing to match on
  • [Code Review] Improved the Code Review analytics page to retry once after a server or network failure, then show a Try again banner instead of empty cards Nothing to match on

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

System prompt

No change to the system prompt since v2.1.317.

Claude Code, interactive mode

No prompt capture for v2.1.318, so this release's prompt surface is unknown.

Documentation

What the docs did around this release

482 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 62 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