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 →
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
108 entries

Internal Changesopen

Continued from page 3

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

5 entriesCloud Sessions · none marked notable
·Internal
Under the hood
Useful1 Signal2
Cloud Sessions unclear

Cloud session creation now records how a feature switch was read#

When creating a cloud session, Claude Code now checks a feature switch itself and records its answer, the cached value and the wait time

Unclear Which way of creating a cloud session records this is not clear.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
Cloud Sessions unclear

Remote sessions can attach the launch checkout when sending a bundle#

Creating a remote session now attaches the local checkout you launched from even when your code is sent as a bundle

Unclear It is not clear what difference the 'remote' and 'bundle' markings make to the remote session.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
Cloud Sessions unclear

Cloud sessions now pick their starting permission mode differently#

When a cloud session starts, the starting permission mode now takes into account the level you typed and the mode carried over

Unclear Which starting mode results in which case is not established.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Cloud Sessions unclear

Cloud session settings prompt now reports a separate not-stored outcome#

The prompt that seeds your home settings into a cloud session now tells apart four outcomes, including a new not-stored case

Unclear It is not clear what leads to the not-stored outcome or what you see when it happens.

Details 0 0 Feedback
5 entriesMCP · none marked notable
·Internal
Under the hood
Useful2 Signal3
MCP no docs found unclear

New service message telling cloud agents that MCP tasks changed#

Claude Code recognises a new mcp_tasks_changed message that only the service may send to cloud agents; programs hosting Claude Code are refused

Unclear What Claude Code does on receiving this message, and who sends it, were not established.

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

Results of MCP tool calls moved to the background now go to a further check#

When an MCP tool call is moved to the background automatically, its result text is now handed to another handler on some platforms, with a fallback if that fails

Unclear It is unclear what the handler does with the result text, which platforms it applies to, and what the fallback does.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
MCP no docs found unclear

MCP server records can now include a connection status#

The record Claude Code builds for an MCP server now includes its connection status when one is available

Unclear It is not clear which listing or interface these server records appear in.

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

More tools from one MCP server are now grouped as web tools#

Tools from a particular MCP server whose names match a pattern are now classed as web tools, not only the ones listed before

Unclear Which MCP server this applies to is not identified.

Details 0 0 Feedback
5 entriesPlugins · none marked notable
·Internal
Under the hood
Useful1 Signal3
Plugins unclear

Claude Code checks that a built-in plugin does not alter tool descriptions#

Claude Code now logs and reports an error if its built-in sec-default plugin changes a tool's description or whether it is deferred

Unclear It is not clear what the new per-event input to the hook check changes in practice.

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

Plugin audio clips are now checked against the plugin's own storage#

When a plugin plays an audio clip, Claude Code now checks the clip's address using the plugin's storage ID as well as its name

Unclear What the check on the clip's address actually allows or blocks is not established.

Details 0 0 Feedback
4 entriesInternals · none marked notable
·Internal
Under the hood
Useful1 Signal2
Internals unclear

An internal check became a simple remote on/off switch#

An internal check that used to be looked up on the fly is now a plain remote switch that falls back to off

Unclear It is unclear what parts of Claude Code depend on this check.

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

A remote switch is now read by name and still falls back to on#

One check now reads its remote switch under a fixed name and still falls back to on when the server sends nothing

Unclear Whether the switch read before was the same one is not known.

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

Network connections are kept separately per caller#

Claude Code now keeps a separate set of network connections per key instead of one shared set that any caller could replace

Unclear What the key is and which parts of Claude Code pass one is not known.

Details 0 0 Feedback
4 entriesPermissions · none marked notable
·Internal
Under the hood
Useful2 Signal3
Permissions unclear

Claude Code labels who or what approved a tool call#

Claude Code can now label each approval of a tool call as coming from a person, a classifier, a mode or a hook

Unclear What the related flag actually controls is not known.

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

Permission rules for shell commands change how patterns are matched#

Claude Code's matching of permission rules against shell command patterns changes and may affect commands joined together

Unclear It is not clear which permission checks use the new matching or whether any rule now matches differently.

Details 0 0 Feedback
4 entriesSDK · none marked notable
·Internal
Under the hood
Useful3 Signal3
SDK unclear

The bundled Anthropic SDK can add and remove tools during a run#

The Anthropic SDK bundled in Claude Code can now add or remove tools mid-run and tells the model when the tool list changes

Unclear It is not clear whether Claude Code itself uses the new add and remove methods.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal2
SDK unclear

SDK messages can carry an optional tag field#

Messages from the SDK can now include an optional tag that marks lines a host app may treat specially; hosts ignore tags they do not know

Unclear It is not known which tag values Claude Code actually sends.

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

Several small internal additions, including a message ID in send results#

A handful of small additions appear, among them a message ID shown in a send tool's result and a new color in the theme

Unclear What reads these new values, and whether any of them is switched off behind a setting, is not known.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal0
SDK unclear

SDK prompt-suggestions opt-in now goes through a shared check#

When a program restarts a session through the SDK, the check deciding whether to turn on prompt suggestions now runs through a shared helper

Unclear It is not known whether the helper still reads the same remote setting or what it falls back to.

Details 0 0 Feedback
3 entriesCompaction · none marked notable
·Internal
Under the hood
Useful1 Signal2
Compaction unclear

More usage reporting around conversation compaction#

Claude Code now records more detail about how it prepares a compaction, plus a new report when one part of it overflows

Unclear What makes the compaction classifier overflow is not shown.

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

Resume check for a ready-made summary matches on a different message#

When resuming an old session, Claude Code now checks a ready-made summary against the last message it covers

Unclear How the prepared summary's record of what it covers has changed is not known.

Details 0 0 Feedback
3 entriesModels · none marked notable
·Internal
Under the hood
Useful1 Signal2
Models unclear

Each turn you send now gathers facts about the model before it runs#

When you send a message, Claude Code now gathers a set of facts about the model and passes them into that turn

Unclear It is not clear what facts about the model are gathered, or what the new marking of start-of-turn messages does.

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

Claude Code now groups the older Claude 3 models together#

Claude Code now keeps a list of the older Claude 3 models and a check for whether the current model is outside it

Unclear What part of Claude Code uses this check, and so whether anything behaves differently on these models, is not stated.

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

Model checks now record when the server refuses a model#

When the API says a model is not found or not available for your account, the model check now marks it as refused by the server

Unclear It is not clear what Claude Code does differently once a model is marked as refused.

Details 0 0 Feedback
3 entriesUI Protocol · none marked notable
·Internal
Under the hood
Useful2 Signal3
UI Protocol unclear

Groundwork for an on-screen interface protocol#

Claude Code now sorts some control messages as interface requests and better explains when a button press was not handled

Unclear How these messages are reached and whether anything uses them yet is not known.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
UI Protocol unclear

Code blocks in displayed content can be checked and refused#

Claude Code can now check each code block in displayed content, drop its formatting if refused and report the problem

Unclear It is unclear where this check is used and whether it is active.

Details 0 0 Feedback
2 entriesAPI Requests · none marked notable
·Internal
Under the hood
Useful1 Signal2
API Requests unclear

Messages sent to Claude can fold text together and send poll events as text#

Before sending a conversation to Claude, Claude Code can now fold some text together and can send poll events as plain text

Unclear What turns on sending poll events as text, and what poll events are here, is not known.

Details 0 0 Feedback
2 entriesAgent Teams · none marked notable
·Internal
Under the hood
Useful1 Signal2
Agent Teams unclear

Messages from other agents can now be wrapped as a whole#

Messages passed between agents can now be wrapped in a different way when they are marked as a whole message

Unclear It is unclear what the different wrapping does and when it is used.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Agent Teams unclear

Teammates get their agent definition from the request that starts them#

When Claude Code starts a teammate agent, it now uses the definition sent with the request instead of looking it up by type

Unclear It is not clear where the definition sent with the request comes from.

Details 0 0 Feedback
2 entriesCode Review · none marked notable
·Internal
Under the hood
Useful1 Signal1
Code Review unclear

Code review prompt no longer fixes the finding limit at four#

The review prompt's cap on how many findings to report is now worked out from a value instead of being fixed at four

Unclear What sets the new limit, and what values it can take, is not shown.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Code Review unclear

Code reviews can carry a stated limit on how many findings to report#

The review prompt can now include a stated cap on the number of findings, and usage data records whether a cap was set and its value

Unclear It is not clear how you state the limit or where Claude Code reads it from.

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

The Read tool's PDF sentence now depends on a per-request check#

Whether the Read tool's description mentions PDFs now depends on a check made for each request, though the captured text is unchanged

Unclear It is unclear what the new check looks at to decide whether the PDF sentence is shown.

Details 0 0 Feedback
2 entriesSubagents · none marked notable
2 entriesTool Search · none marked notable
·Internal
Under the hood
Useful1 Signal2
Tool Search unclear

Tool search recognises a second kind of tool entry#

When Claude searches for tools, Claude Code can now read tool names from full tool definitions as well as from tool references

Unclear What produces these full tool definition entries is not known.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Tool Search unclear

Deferred tool loading waits for the main conversation's first request#

If the main conversation has already asked for deferred tools, Claude Code now waits for that request instead of dropping the pending list

Unclear It is not clear what difference this timing change makes to what a user sees.

Details 0 0 Feedback
2 entries

Removedopen

−Removed
You'll notice
Useful2 Signal2
File Tools unclear

Read tool instructions no longer include the PDF page-range guidance#

The instructions Claude gets for opening files dropped the paragraph about reading PDFs and asking for page ranges on large ones

Unclear The prompt ledger records the longest Read description as unchanged in this release, so it is unclear which model's instructions lost the paragraph.

Details 0 0 Feedback
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

712 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