Follow Discord

Claude Code v2.1.288

latestnext 425 entries read Grouped into 350 v2.1.287 → v2.1.288 Mods API: +3 added · 0 removed · 1 changed · 7 docs only Markdown JSON Follow Unofficial

You can now hold project settings changes made from a cloud session until you approve them, by running claude apply-project-settings in that folder. This applies when your computer serves the cloud session. Admins can force unattended serving off through managed settings with unattended_serving_off. Resumed sessions no longer keep the prompt cache warm unless the new resumeTouches setting is on. Claude Code's own stand-in for gh, added last release, can now reach any GitHub Enterprise host when ghesHosts is set to "any". Host apps can block file writes in chosen folders, except inside one declared worktree.

A /restart command that keeps your session is in this build but not switched on yet. It also answers to /update and offers newer versions. A shortcut that answers some artifact edit requests with direct file edits is also off for now. Cloud sessions can hand finished file writes to the next turn's worker, but only once that is switched on remotely. A setup guide feature is wired into the prompt box but does nothing yet.

An oversized reply from an MCP server over HTTP now fails only that request and keeps the connection open. Language server requests now time out instead of waiting forever. Reads and rewrites of a session transcript now wait for each other, so compaction and resume cannot clash. Resumed teammates no longer bring back an agent type that a rule or plugin now blocks. The Read tool instructions no longer include the guidance on PDF page ranges.

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

Five to try today

Picked from 23 you can use now
  1. claude mcp serve lists agent types and blocks background agents in restricted mode

    claude mcp serve now offers custom subagent types, and new switches can block background-agent launch and remote isolation, used in its http mode

    Sessions & agents
  2. Cloud sessions served by your computer take settings more cautiously

    When your computer serves a cloud session, changed project settings are held back until claude apply-project-settings, and user settings can only tighten

    Sessions & agents
  3. Host apps can fence off folders so file tools write only to a worktree

    Two new environment variables let an embedding app block file writes inside chosen paths, except inside one declared worktree

    Elsewhere
  4. Plugin runtime adds ui.selection and ties network and audio access to a plugin id

    Plugins get a new ui.selection operation, and http.fetch and URL audio playback now use a plugin storage id, with $.audio.play refusing URLs without one

    Extensions
  5. CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS turns off structured outputs

    Setting CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS stops Claude Code from asking the model for replies in a fixed format

    Elsewhere

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

Read this release → Every row →
334 of 350 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
156 entries here

Improvementsopen

Continued from page 1

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

↑Improved
You'll notice
Useful2 Signal1
Terminal UI unclear

Text selections are tracked across full-screen terminal views#

Claude Code now keeps track of text you select across full-screen terminal views and notes when a selection is cleared

Unclear It is not clear what this tracking is for or whether readers will see any difference.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Terminal UI unclear

Three small behaviour changes, including Ctrl+C copy#

Resent or unchecked home-file announcements now do nothing, scheduler lock release has a fallback folder, and Ctrl+C copy changed

Unclear The purpose of each change, and what the extra Ctrl+C action does, is not clear.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Auto Update unclear

Auto-update failure message now gives a reason#

When an auto-update fails, the status line now says why and suggests running claude doctor

Unclear It is not clear which reasons Claude Code can show.

Details 0 0 Feedback
claude doctor
↑Improved
You'll notice
Useful2 Signal1
Memory unclear

Editing a file now also notes it for loading nearby memory files#

When Claude edits or writes a local file, Claude Code now records the file's path for loading memory files in nested folders

Unclear It is not confirmed that this causes nested CLAUDE.md files to be loaded after an edit.

Details 0 0 Feedback
CLAUDE.md
↑Improved
You'll notice
Useful2 Signal1
Code Review unclear

The review skill's limit on findings can now be set#

The review skill's cap on how many findings it reports is now a setting with defaults of 4, 10 and 15 by effort level

Unclear It is not clear whether anything passes a limit other than the defaults.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Terminal UI unclear

Idle notification waits until background agents have finished#

Claude Code no longer sends its idle notification while background agents are still running, and restarts the idle timer once they finish

Unclear What the idle notification shows you, and exactly which helpers count as background agents, is not known.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Hooks unclear

Claude Code says why a hook was not registered#

Hooks that are skipped now come with a reason, such as a missing script or a script in an unread dot-folder

Unclear Where in Claude Code these reasons are shown is not established.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Hooks unclear

Hooks now refuse input that is over a size limit#

Claude Code now checks the data it sends to a hook against a size limit and reports an error instead of sending an oversized payload

Unclear The size limit and the list of events that now stop with an error are not known.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Sessions unclear

Messages sent to interrupt Claude are now tracked in the transcript#

Sending a message that interrupts Claude now only stops a turn that is still running, and later transcript messages are marked as following that cut

Unclear It is not clear whether the new marking changes anything you can see in the transcript.

Details 0 0 Feedback
↑Improved
You'll notice
Useful2 Signal1
Auth unclear

Login now tells you when your sign-in worked but could not be saved#

If sign-in succeeds in the browser but your credentials cannot be stored, login now shows a dedicated screen explaining what happened and what to do

Unclear It is not clear when the Escape hint to continue without logging in is shown.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Group of 2 Attachments unclear

Clearer PDF guidance for models that cannot take a whole PDF#

When a model cannot accept a whole PDF, Claude is now told to read specific pages with the Read tool's pages option instead of retrying

Unclear Which models trigger this message is not stated.

Details 0 0 Feedback
↑Improved
Under the hood
Useful1 Signal1
Bash Tool unclear

Bash tool instructions no longer explain timeouts for background commands#

Claude's instructions for the Bash tool no longer say how timeout limits a command running in the background, or what happens at that limit

Unclear It is not clear whether the actual timeout behaviour for background commands changed, or only the instructions.

Details 0 0 Feedback
run_in_background
↑Improved
You'll notice
Useful1 Signal1
Bash Tool unclear

Shell command checker can treat some plain heredocs as simple#

A new option lets the shell command checker accept unquoted heredocs that only use simple variables instead of flagging them as too complex

Unclear It is not clear whether anything in Claude Code turns this option on.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Permissions unclear

Claude is told when a website permission request times out#

If you don't answer a permission request for a URL in time, it is withdrawn and Claude is told a retry will ask you again

Unclear It is not clear which tools or situations use this message.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Sessions

GitHub proxy errors now say whether to retry#

When the GitHub proxy fails, Claude Code now tells a refused connection apart from one that could not open, and suggests one retry for the second

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Plugins unclear

Plugin uninstall checks the settings file more carefully before reading it#

Uninstalling a plugin now checks links and symlinks before reading the settings file, and reports why it refused to read one

Unclear It is not clear what a user sees when a settings file is refused, beyond the logged message.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Plugins unclear

Marketplace fetch errors report both the SSH and HTTPS attempts#

If fetching a plugin marketplace from GitHub fails over both SSH and HTTPS, Claude Code now shows one error that covers both attempts

Unclear It is not clear when Claude Code switches from one transport to the other.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Hooks unclear

Clearer messages about hooks in cloud sessions#

Messages about hooks that can't run in a cloud session were reworded, and a failed plugin hook on another machine is now logged as an error

Unclear It is not clear how widely hooks in cloud sessions are available.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Settings unclear

Clear message when a settings change cannot be saved#

If Claude Code cannot write a change to its config file, it now says nothing changed and asks you to check the file can be written

Unclear It is not clear which actions show this message.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Agent Tools unclear

Brief tool rechecks attachments, and untrusted-folder agents are skipped#

The Brief tool rechecks attachments when it runs, and agent definitions from untrusted folders are now skipped entirely

Unclear Whether the skipping of untrusted-folder agent definitions is reachable in this build is not known.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Auto Update unclear

Documents that need a newer Claude Code now tell you to run claude update#

A document that needs a newer Claude Code now fails with a message naming the versions and telling you to run claude update

Unclear Which kind of document this applies to, and how the message differs from before, is not known.

Details 0 0 Feedback
claude update
↑Improved
You'll notice
Useful1 Signal1
Elsewhere

The test-running skill has a shorter description#

The skill for running tests now describes itself as "Run tests on this machine (local)", with its longer text moved to when-to-use guidance

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Elsewhere unclear

Queued commands wait for the previous turn's summary in headless mode#

Without the interactive screen, Claude Code finishes the previous turn's end summary before starting the next queued command

Unclear It is not clear whether this makes any visible difference to someone using headless mode.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Cloud Sessions unclear

Cloud sessions now say settings can only be changed on the host machine#

When a cloud session blocks a command editing Claude Code settings, Claude now says to change them on the host instead of suggesting a workaround

Unclear It is not clear whether editing those settings files with Edit or Write is also blocked elsewhere.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Hooks unclear

Message about plugin hooks being off now states the actual reason#

When hooks are turned off for installed plugins, the message now gives the actual reason instead of always blaming a rollout switch

Unclear Which reasons the message can now name is not established.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Cloud Sessions unclear

Cloud sessions now refuse clearly when asked to change settings files#

A cloud session asked to change its Claude Code settings files now tells Claude nothing was changed and that you must do it yourself

Unclear It is not clear which sessions or targets produce this refusal.

Details 0 0 Feedback
↑Improved
Under the hood
Useful1 Signal1
Agent Tools unclear

Edit and search results can now include warnings#

Results from some edit and search tools now pass along any warnings they contain

Unclear It is not clear which tools these are or where the warnings are shown.

Details 0 0 Feedback
↑Improved
Under the hood
Useful1 Signal1
Elsewhere unclear

Deleted files are skipped in more cases when building a diff#

Claude Code now skips deleted files in a diff in more cases, and reads a worktree's current Git commit from its HEAD file

Unclear What the new check for skipping deleted files tests is not known.

Details 0 0 Feedback
↑Improved
Under the hood
Useful1 Signal1
Artifacts unclear

Artifact database writes now pass server warnings back to Claude#

When Claude writes to an artifact database, the result now includes any warnings the server sent, shortened and cleaned up

Unclear It is not clear which Claude Code feature this artifact database belongs to.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Attachments unclear

Attaching a file path now explains when a tool cannot read files#

Claude Code has a new message saying a file path cannot be attached when the tool cannot read files in the session

Unclear It is not clear where in Claude Code this message appears.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Background Tasks unclear

Some idle background tasks no longer count as keeping a session busy#

When Claude Code checks for running background tasks, it now ignores paused tasks and agents that are waiting rather than working

Unclear It is not clear which part of Claude Code uses this check, or what it does with the answer.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Artifacts unclear

Comment auto-replies treat an unavailable auto mode check as a decline#

Automatic replies to artifact comments now count as declined by auto mode when its safety checker is unavailable, and can show the decline notice

Unclear It is not clear what the server-side check involved here does, or which setting controls this path.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Permissions unclear

Suggested permission rules for some commands must include more words#

Claude Code no longer suggests a command prefix for a permission rule when it is shorter than that command's minimum length

Unclear It is not known which commands have a minimum or what each minimum is.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Plugins unclear

Plugin browser can report that the plugin directory failed to load#

When every marketplace fails to load, the plugin browser can now report a directory failure instead of a general one

Unclear It is unclear what condition makes the plugin browser report a directory failure rather than all marketplaces failing.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
Elsewhere unclear

Headless runs wait for model settings before the first request#

Headless and SDK runs now wait for model configuration to load before building Claude's instructions, unless no request will be sent

Unclear It is not clear what configuration is fetched or how long Claude Code will wait for it.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal1
MCP unclear

MCP sign-in retries once after some failed fetches#

Some MCP sign-in fetch failures now trigger one retry instead of failing at once, and saved tokens record where they were stored

Unclear It is not clear what is being fetched or what the extra step before the retry does.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Bash Tool unclear

Shorter refusal message for awk, and plugin catalog cases removed#

The awk permission refusal now reads "awk is given text that can't be checked before it runs", and two plugin catalog cases were removed

Unclear It is not clear what changes for plugins now that the data-residency and essential-traffic-only cases are gone.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Bash Tool unclear

Shorter message when a command's effect can't be checked in advance#

When Claude Code can't check in advance what a command will run, the reason now reads "What '<command>' starts can't be checked before it runs"

Unclear It is not clear what extra information is added when a guard that could not run blocks a command.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Code Review unclear

Review effort labels no longer mention a limit on findings#

The medium and high review effort labels dropped their "≤8 findings" and "≤10 findings" endings

Unclear Only the label text changed visibly, so it is unclear whether the limit on findings was removed as well.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Elsewhere unclear

Remote option conflict messages lose their Error: prefix#

Messages about combining two options that both pick a remote backend no longer start with "Error: " in their text

Unclear It is not clear whether "Error: " is now added elsewhere, so the message you see may look the same.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Bash Tool unclear

Shorter reason shown when an awk command cannot be checked in advance#

The reason Claude Code gives for not treating an awk command as safe is shorter and no longer mentions an option hiding its program

Unclear What Claude Code does with the new record of whether a command contains a loop is not known.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Hooks unclear

Shorter message when a PreToolUse hook cannot run#

When a PreToolUse hook cannot run and blocks a tool call, the message now says plainly that the call was not run

Unclear The situations in which this message appears are not known.

Details 0 0 Feedback
↑Improved
You'll notice
Useful1 Signal0
Terminal UI unclear

The Interrupted message sometimes drops its hint#

The Interrupted message now leaves off its trailing hint when a particular internal condition holds

Unclear It is not clear what condition decides whether the hint is shown.

Details 0 0 Feedback
28 entries here

Bug Fixesopen

✓Fixed
You'll notice
Useful3 Signal1
Group of 2 MCP unclear

MCP over HTTP: oversized responses no longer drop the connection#

An MCP server response that is too large now fails only that request, and malformed messages after a login challenge get their own close reason

Unclear It is not clear whether the legacy SSE fallback switch plays any part in these changes.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful1 Signal2
Group of 2 Permissions unclear

Denial messages now name the right tool for an allow rule#

When an action is blocked, the hint about adding a permission rule now names the actual tool instead of always saying Bash, and is left out where it does not apply

Unclear It is not clear which refusals now carry a tool name, so the tip may no longer appear in some places where it used to.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful3 Signal1
Sessions unclear

Conversation history is now saved one write at a time#

Claude Code now waits for one save of the conversation history to finish before the next, so overlapping saves can't split it

Unclear What a split history looked like to someone using Claude Code is not known.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful2 Signal1
Auth unclear

Login refresh lock is no longer taken from a process that is still alive#

When processes share login credentials, a refresh lock held by a live process no longer counts as stale after a fixed 60 seconds

Unclear The exact waiting time used when the holder is not proven to be running is not stated.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful2 Signal1
Hooks unclear

Hook matching errors are now logged instead of silently ignored#

When Claude Code can't work out which hooks match an event, it now logs the failure instead of quietly running no hooks

Unclear It is not clear what the stand-in path for plugin hooks is for.

Details 0 0 Feedback

Continues on page 3 →

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.288. 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 89 bullets, 18 name something an entry on this page also names, 29 name something no entry here does, and 42 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.

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

System prompt

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

Claude Code, interactive mode

2 prompt changes in this release could not be quoted from the build, so no entry on this page describes them.

Documentation

What the docs did around this release

731 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 63 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