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
30 entries

Bug Fixesopen

Continued from page 2

✓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
✓Fixed
You'll notice
Useful1 Signal1
Group of 2 SDK unclear

Refused launch model is dropped in print and SDK sessions#

In print/SDK sessions, a launch model the server refuses is now discarded if no turn has been sent yet, and the drop is recorded

Unclear It is not clear which model the session uses instead once the refused one is dropped.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful1 Signal1
Plugins unclear

Plugins are read again if their settings change while hooks are being set up#

If settings that affect plugins change while Claude Code is loading them, it now reads the plugins again before choosing which hooks to run

Unclear It is not clear how often the extra read happens in practice or whether you would notice it.

Details 0 0 Feedback
disableCommandPluginSources
✓Fixed
You'll notice
Useful1 Signal1
MCP unclear

MCP servers are reconnected after sign-in less often when they close#

Claude Code no longer rejoins an MCP server after re-authentication when its close reason matches a certain check, and stops retrying one new error kind

Unclear It is not clear which close reasons stop the rejoin or which error is no longer retried.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful1 Signal1
Settings unclear

Header settings must have a value that starts with a visible character#

A key: value line in a file's settings header is now read only if the value starts with a non-space character

Unclear It is not certain which files this parser handles, though it is believed to be the one for output styles.

Details 0 0 Feedback
✓Fixed
You'll notice
Useful1 Signal0
Agent Tools unclear

Tool error messages lose their wrapper tags before being shortened#

When a tool fails, Claude Code strips the markup around the error text before cutting it down to length

Unclear It is not clear whether the error text Claude itself receives still carries the tags.

Details 0 0 Feedback
17 entries

In Developmentopen

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

◌In dev
Nothing to try yet
Useful2 Signal3
Group of 2 Input Box unclear

Setup-guide paste feature wired in but switched off#

Hooks for a setup-guide paste and link feature are in place, including a wider pasted-text chip match, but they do nothing in this build

Unclear It is not clear what the second placeholder label is.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful2 Signal3
Group of 2 Remote Control unclear

Cloud bridge requests check the worker epoch#

The /bridge request can now send expected_epoch and handles epoch conflicts, and worker_epoch is described as sent by every claude-code-server worker

Unclear It is not clear what supplies the expected epoch, so when it is actually sent is unknown.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful2 Signal3
Group of 2 Hooks unclear

Calls are blocked when a hook cannot check them#

If a hook cannot check a tool call, Claude Code now blocks the call with an explanation unless the server flag tengu_quiet_hopcroft relaxes it

Unclear Which hook events this blocking applies to, and one further condition it checks, are not established.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful2 Signal3
File Tools unclear

Claude Code may skip re-reading files that only look changed#

A new check can skip re-reading a file Claude has seen when its timestamp is newer, and the number actually re-read is recorded

Unclear It is not clear what the new check compares before skipping a file.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful2 Signal3
Hooks unclear

Hooks modules are not loaded, and no setting turns them on#

Claude Code now logs that hooks modules are not loaded, that no switch enables them, and that no built-in plugin loads

Unclear It is not clear exactly when this message appears or which hooks it covers.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful2 Signal3
Subagents unclear

Remote switches now control two subagent and tool-result behaviours#

Two remote switches, off by default, control keeping a file-sending tool's results in subagents and how unanswered tool requests are found

Unclear What either switch changes for a user in practice is not shown.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful2 Signal3
Settings unclear

Groundwork for limiting which settings a launch folder can supply#

Claude Code's settings code gained handling for which settings keys come from the folder it was launched in, with no visible effect yet

Unclear Which settings keys are involved, and whether the empty panel field is ever shown, were not traced.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful1 Signal3
API Requests unclear

Hidden setting adds a marker to some background requests#

A server-controlled setting can make some background requests to the model point back to the reply they came from

Unclear It is not clear what the marker does once a request is sent.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful1 Signal3
Usage & Limits unclear

Groundwork for how long workflows pause at a usage limit#

Workflow pauses for usage limits gain a check on whether they would wait, plus a new remotely set number with a cap

Unclear It is not clear what the new number controls or what uses the new check.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful1 Signal2
Internals unclear

New server-controlled switch that local overrides cannot turn on#

A new switch, off unless turned on remotely, was added; a local override cannot enable it, and its purpose is not shown

Unclear What this switch controls in Claude Code is not known.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful1 Signal2
Auto Update unclear

Auto-updater is now told whether you are at the prompt#

The auto-updater display now receives whether you are at the prompt, with no visible effect yet

Unclear How this information is used is not known.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful1 Signal2
Internals unclear

A remotely controlled feature now stays off unless switched on#

One remotely controlled feature now stays off unless the server turns it on, and stays off on errors, where before it defaulted to on

Unclear It is not clear what feature this setting controls.

Details 0 0 Feedback
◌In dev
Nothing to try yet
Useful1 Signal2
Structured Outputs unclear

Groundwork for remembering when structured outputs are not supported#

Claude Code gained internal tracking for requests where structured outputs are unsupported, with no visible effect yet

Unclear Nothing calling the new tracking was found, so what it will be used for is unknown.

Details 0 0 Feedback
108 entries

Internal Changesopen

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

·Internal
Under the hood
Useful2 Signal3
Signed Cache unclear

Signed cache certificate check now trusts a single production issuer#

The signed cache certificate check now trusts one named production issuer instead of a fixed list, and reports time left in hours

Unclear It is not clear whether verification behaves any differently for users.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal2
Group of 2 Elsewhere unclear

Sandbox file-read rules gather more sources#

The sandbox's file-read rules now include user settings passed in directly, allowRead re-opens and credential files resolved across all settings levels

Unclear What part of Claude Code passes these settings in is not known.

Details 0 0 Feedback
allowRead
·Internal
Under the hood
Useful1 Signal2
Group of 2 Sessions unclear

Remote sessions wait for the end-of-turn summary before moving on#

Remote and cloud sessions now hold for a pending end-of-turn summary, with a time limit, before taking the next step or reporting idle

Unclear When an end-of-turn summary is pending is not stated.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal2
Prompt Cache unclear

The end of a parent prompt can be marked as a prompt-cache breakpoint#

Claude Code can now mark where a parent prompt ends as a prompt-cache breakpoint, which affects how often cached prompts are reused

Unclear It is not clear which parts of Claude Code turn this marking on.

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

Account memory write refusals now rely on one server marker#

Claude Code now uses a single marker for the account memory server when refusing writes from spawned agents

Unclear It is not clear whether any writes are now allowed or refused differently.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Slash Commands unclear

Prompts can carry an expanded version with extra text added#

Claude Code now notes whether a slash command came from the input box, and can store an expanded copy of a prompt with extra text added

Unclear It is not clear what text is added when a prompt is expanded, or when that happens.

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

Fleet view's simple mode looks up keyboard shortcuts differently#

The rule for turning on fleet view's simple mode is unchanged, but the way that code looks up keyboard shortcuts changed

Unclear It is not clear what the new keyboard shortcut lookup returns or whether shortcuts behave differently.

Details 0 0 Feedback
CLAUDE_CODE_FLEETVIEW_SIMPLE
·Internal
Under the hood
Useful1 Signal1
Input Box unclear

Queued prompts get an extra step when they are submitted#

A prompt waiting in the queue now goes through an extra step with its text before its attachments are prepared

Unclear It is not clear what the new step does with the prompt text.

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

Sign-in check can now run on a timer, not only at turn start#

Claude Code's early check that your sign-in is still fresh can now be scheduled ahead of time as well as at the start of a turn

Unclear Whether this warm-up is on by default could not be determined.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Auto Mode unclear

Auto mode records when its safety check blocks an action#

In auto mode, Claude Code now records when its automatic check denies an action as blocked

Unclear It is not clear what Claude Code does with the recorded block.

Details 0 0 Feedback
19 entriesSessions · none marked notable
·Internal
Under the hood
Useful2 Signal3
Sessions unclear

Remote session owner-only check reworked, with a remote cowork case added#

The check for whether a remote session is limited to the owner's account is now shared, and a separate check for remote cowork sessions was added

Unclear What the new switch controls in anything you see is not clear.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal3
Sessions unclear

Remote sessions gain steps for repository agents, skills and switching#

Remote sessions have new named setup steps for repository agents, skills, root registration, switches and flag prefetching

Unclear What uses these step names and what they do for a session is not established.

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

Groundwork for holding sessions open and parking answers#

Claude Code clears two more pieces of session state on reset and gains internal fields for holding a session open, with nothing yet visible

Unclear It is not clear what will use the hold and park fields.

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

Changes to how remote sessions upload their events#

Remote sessions can now upload events by other routes, send events together, and hold some reports until the sender is attached

Unclear It is not clear what turns on the other upload routes or who receives them.

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

Remote sessions get handling for conflicts and pending denials#

Remote sessions gain logic for epoch conflicts and for denials awaiting cancellation, and close upload paths on shutdown

Unclear Whether this logic is in use yet, and what sets it off, is not known.

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

Hosted session claim and file staging requests adjusted internally#

The startup details sent when a hosted session is claimed gained more fields, and file staging dropped one condition

Unclear What, if anything, these changes alter for someone using a hosted session is not known.

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

Remote sessions no longer look up git status in advance#

In remote mode Claude Code now skips its early git status lookup, avoiding a local git call it would not use

Unclear It is not clear exactly what Claude Code counts as remote mode for this check.

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

Agent proxy certificate setup reworked and no longer checks a server setting there#

Setting up trust for the agent proxy's certificate no longer checks a server switch there and now catches certificates listed in swapped order

Unclear It is not clear what the remaining use of the setting controls, or whether the trust step still depends on it in some other way.

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

Unanswered declined replies can now be held back#

Claude Code's list of unanswered declined replies can now hold some back, so only the rest count as waiting to be sent

Unclear It is not known whether any part of Claude Code asks to hold entries.

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

Remote session repository trust log now says what it covers#

The log line and usage data for trusting repositories when a remote session is created now say what the trust covers

Unclear What range of things the trust can cover is not known.

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

Saving conversation records from remote sessions now takes a lock#

Loading a remote session's transcript and writing subagent transcripts now happen under a lock so only one writer works at a time

Unclear It is not clear how the lock behaves when the file is already locked, such as whether it waits or gives up.

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

How remote sessions set up their stand-in gh command#

In remote sessions, the stand-in gh command now gets its own folder per session, is skipped in some cases and cleans itself up

Unclear It is not clear what sets the session identifier that selects the per-session setup.

Details 0 0 Feedback
CLAUDE_CODE_REMOTE
12 entriesTelemetry · none marked notable
·Internal
Under the hood
Useful1 Signal1
Telemetry unclear

Turn timing now notes the slowest step gathering attachments#

Claude Code's timing of the start of a turn now records the slowest attachment step, its resource use, and changed files reread

Unclear Where these timings are reported is not known.

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

New error type for removed media, and more detailed turn timing#

Claude Code now recognises a media_removed error from the API and records four more timing phases at the start of a turn

Unclear It is not clear when the media_removed error is reported or what a user sees when it happens.

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

Turn timing data adds three more phases#

Timing data for the start of a turn now includes message_prep, model_config_wait and auto_mode_context_wait

Details 0 0 Feedback
CLAUDE_CODE_EMIT_STARTUP_TIMING
·Internal
Under the hood
Useful1 Signal1
Telemetry unclear

Sending Claude Code's diagnostic logs no longer fails on an error#

An error while sending diagnostic logs to Datadog is now caught and logged, and the sender tracks whether compression has been tried

Unclear How the gzip compression path is used is not known.

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

New startup timing and background-session diagnostics#

Claude Code now reports when it starts fetching settings at startup, and adds diagnostics about background work in cloud sessions

Unclear What triggers these events is not known.

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

Usage data can now include a tool call id and a connection type#

Claude Code's usage data now keeps tool_use_id and transport fields, with transport limited to bridge, native or other

Unclear It is not clear which usage events carry these fields or what bridge and native refer to.

Details 0 0 Feedback
9 entriesElsewhere · none marked notable
·Internal
Under the hood
Useful2 Signal2
Elsewhere unclear

Self-hosted runner changes who may read its metrics page#

The self-hosted runner's health server now decides who may read /v1/metrics with a shared check instead of a fixed list of local addresses

Unclear It is not clear which callers the new check allows.

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

Fewer launch methods are treated as a local agent#

Claude Code now treats a session as a local agent only when it was started as local-agent or local_agent

Unclear Which other entry points were previously accepted is not known.

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

Remote Control runner health check now tracks retirement and shutdown#

The health check of a self-hosted Remote Control runner now polls its token status, including a retire time and whether it is stopping

Unclear What the health check does with the retire time and stopping state is not established.

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

Stall detector checks less often while Claude Code is idle#

The stall detector can now drop to a slower checking rate after a quiet period and speed back up when work resumes

Unclear Which parts of Claude Code besides remote sessions use the slower idle rate is not established.

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

Stall tracking accounts for resuming a suspended Claude Code#

In interactive sessions, the detector for program stalls is told to take a resume after suspension into account

Unclear It is not confirmed what accounting for SIGCONT does inside the detector.

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

Background loading at startup works slightly differently#

Claude Code changed how it decides on and runs the background loading it does when it starts

Unclear What the new step and the wrapper actually do is not clear.

Details 0 0 Feedback
6 entriesHooks · none marked notable
·Internal
Under the hood
Useful2 Signal3
Hooks unclear

Hooks modules are refused in shared claude-code-server processes#

A new error says no hooks module loads in a claude-code-server tenant, because that process serves many people

Unclear It is not clear when the new error is shown, or whether moving the deny-rule check changed how blocked tools are handled.

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

Claude Code chooses which hook modules to load in a different way#

The way Claude Code decides which hook modules to load now takes a simpler path in some cases and reads its hook settings in one place

Unclear What decides which of the two paths is taken, and what the simpler path does, is not known.

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

Claude Code picks out hook replies that ask for your permission#

Claude Code now singles out hook output whose permission decision is "ask", unless the hook also said to stop

Unclear What Claude Code does with replies that pass this check is not known.

Details 0 0 Feedback
permissionDecision

Continues on page 4 →

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