Follow Discord

Claude Code v2.1.287

526 entries read Grouped into 448 v2.1.286 → v2.1.287 Mods API: +10 added · 0 removed · 10 changed · 11 docs only Markdown JSON Follow Unofficial

You can now run gh api REST calls in sessions that do not have the GitHub CLI installed. Claude Code supplies its own limited gh and sends those calls through the session's GitHub proxy. A new command, claude daemon remote-control stop-shell, stops a background shell command running for a cloud session. Programs driving Claude Code can now read a background task's output with a get_task_output request. Compression of requests sent to the model is available through CLAUDE_CODE_GZIP_REQUEST_BODY_BLOCKS and is off by default. Admins can now set CLAUDE_CODE_TRANSCRIPT_LOCAL_GC through managed policy to turn on local transcript clean-up.

This build holds 7 things that are not switched on yet. Claude Code can offer to move you to a newer model, as a one-line notice or a dialog. A reworked way of saving your shell's functions, aliases and options for Bash commands is also in the code. Both stay off unless Anthropic turns them on remotely. Groundwork has landed for running the SessionStart hooks of plugins that load mid-session. None of this changes what you see today.

Remote sessions no longer forget their background tasks when they reconnect. A stalled live-update connection now times out and reconnects instead of hanging forever. Relaunching after /update now resumes your conversation even when Claude's last reply could not be saved. Messages from Amazon Bedrock guardrails now show up in the reply instead of going missing. A shell command that only names a web address is no longer escalated as if it touched a protected file path. /plugin-types is no longer listed among the command categories.

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

Five to try today

Picked from 30 you can use now
  1. /plugin help can list a command for searching the Anthropic Directory

    The /plugin help screen can show /plugin directory [query] for searching the Anthropic Directory in Discover

    Extensions
  2. Four new startup environment variables for cloud sessions

    Claude Code now reads four new startup environment variables and passes them through to cloud sessions; they do nothing unless set

    Sessions & agents
  3. New environment variable for tool output when Claude Code runs as an MCP server

    A new environment variable, CLAUDE_CODE_MCP_SERVE_TOOL_OUTPUT, appears alongside the other MCP server-mode variables

    Extensions
  4. Optional compression of requests sent to the model, off by default

    Claude Code can compress the requests it sends to the model in gzip blocks, controlled by CLAUDE_CODE_GZIP_REQUEST_BODY_BLOCKS and off by default

    Elsewhere
  5. plugin install --replace explains that it needs a full plugin id

    Running plugin install --replace without a name@marketplace id now says that id is needed and that nothing was installed

    Extensions

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

Read this release → Every row →
Reading as
Show only
Tier
Flag state
Names
Pick an entry · j / k steps through · rest on a row to peek
33 entries

Bug Fixesopen

Continued from page 3

✓Fixed
You'll notice
Useful1 Signal1
Hooks unclear

Unexpected errors while listing hooks are no longer hidden#

Claude Code now ignores only certain expected errors while listing hooks and lets other errors surface

Unclear It is not clear exactly what this listing covers or which errors still count as expected.

Details 0 0 Feedback
✓Fixed
Under the hood
Useful1 Signal1
Skills unclear

Claude Code records where each loaded skill file lives#

Loading a skill now records the path of its file, and the code that skips duplicate skills has a variable mix-up fixed

Unclear It is not clear what part of Claude Code uses the recorded file paths.

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

Corrected size message for large attachments and changes to link building#

The message for an attachment over the size limit now uses the copy limit, and app links no longer pick their scheme themselves

Unclear It is not clear which link type is now passed in, or whether links you see are different.

Details 0 0 Feedback
✓Fixed
Under the hood
Useful1 Signal0
Plugins unclear

Marketplace catalog reading handles a folder where a file should be#

If a plugin marketplace's catalog turns out to be a folder instead of a file, Claude Code now handles that as a specific case

Unclear What Claude Code does after detecting the folder is not described.

Details 0 0 Feedback
3 entries

In Developmentopen

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

◌In dev
Nothing to try yet
Useful1 Signal3
Internals unclear

A server-provided configuration now accepts a thinking_strip field#

A configuration Claude Code reads now has a thinking_strip field, alongside its existing role_line_scan and extract_transport fields

Unclear What thinking_strip does, and what values it takes, is not known.

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

A new off-by-default switch with no visible purpose yet#

Claude Code checks a new remote switch that is off unless turned on remotely, and what it controls is not visible

Unclear It is not clear what this switch controls.

Details 0 0 Feedback
138 entries

Internal Changesopen

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

·Internal
Under the hood
Useful2 Signal3
Group of 3 Permissions unclear

Path-write safety checks gain 'uncertain' and internal hard-deny outcomes#

The safety check on file-path writes can now return 'settings' or 'uncertain', keeps hard denies, and adds an internalHardDeny class auto-approval can't override

Unclear It is not clear which kinds of path give the uncertain result.

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

Claude Code can read a version number from remote configuration#

Claude Code now reads a pinned version from remote configuration and uses it only when it is newer than the version you are running

Unclear What Claude Code does with that version number, for example whether it limits or triggers updates, is not clear.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal3
Cowork unclear

Remote Cowork sessions are now recognised only by their surface#

Claude Code now treats a session as remote Cowork when its surface is remote_cowork, and an always-yes shortcut in that check is gone

Unclear It is not clear which feature depends on this check or what the removed shortcut was testing.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal3
Network unclear

Some sessions now skip two direct calls to claude.ai#

Claude Code now skips two direct calls to claude.ai when the current session is not allowed to make them

Unclear It is not clear which sessions count as not allowed to make these calls.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal3
Desktop App unclear

Desktop app detection now reports which app link it found#

Claude Code's check for the desktop app now reports the link scheme, and treats a claude-dev app as ready without a version check

Unclear It is not clear which Claude Code feature uses this detection.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal3
Coordinator unclear

Coordinator instructions gain wording about talking to the user#

In one mode, the coordinator's instructions can now say every message goes to the user and ask it to briefly report what it launched

Unclear It is not clear what condition picks this wording, or whether the new text reaches the final instructions.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
Group of 2 Secret Redaction unclear

Secret redaction gains redactOnly rules and prefilters#

Claude Code's secret scrubber can now hold some rules back until asked and run a quick prefilter check before each rule

Unclear It is not clear which rules are marked redact-only, so it is not clear which secrets are affected.

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

Claude is told when gh is a limited built-in stand-in#

If no GitHub CLI is installed, Claude is now told that gh is a built-in stand-in that only supports gh api

Unclear It is not clear what switches the stand-in on or which sessions get it.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal2
Prompt Input unclear

Pasted text can now be referenced by a command name alone#

Claude Code has a new way to reference pasted text that skips the usual minimum-length check and marks the reference as name-only

Unclear It is unclear what uses this new reference path, so its effect on what you see is unknown.

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

Document attachments can now be stored without their file contents#

Claude Code can now blank the contents of attached documents and remove documents whose contents are empty

Unclear It is not clear when Claude Code blanks or removes these documents.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Session Messaging unclear

Some refused messages to other sessions are no longer logged#

When Claude Code refuses to send a message to another session, it now sometimes skips logging the refusal

Unclear It is not known in which cases the log entry is skipped.

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

Reworked check for when slash commands are not sent to Claude#

A message starting with / is not sent to the model when slash commands are set to be skipped, or when it comes over a bridge and fails a check

Unclear This may only reorganise existing behaviour, and it is not clear what the further check for bridge messages tests.

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

Stopped background tasks can show a status other than killed#

A stopped background task can now end with its own status and summary instead of always showing killed and its description

Unclear It is not clear which parts of Claude Code supply a different final status.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Terminal UI unclear

Selection lists can follow a different set of keyboard shortcuts#

The selectable list used in Claude Code's menus can now use a keyboard-shortcut group other than the usual one, and can be forced to scroll to an end

Unclear It is not clear which part of Claude Code uses a list with a different set of shortcuts.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal0
Group of 3 Telemetry

Turn timing breakdown split into finer phases#

The timing breakdown before a turn's first model request splits resume and input handling into finer phases and records why a turn resumed

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

Usage data now records MCP server type and plugin aliases#

Usage data about MCP servers now includes the server's type and id, and plugin uninstalls note when an alias was used

Unclear It is not clear which MCP event gains the new fields.

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

Two usage reports now include a tag#

Two of the usage events Claude Code reports now carry an extra tag field

Unclear What the tag contains is not known.

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

File attachment usage data no longer reports read-ahead#

Usage data about waiting for attached files no longer says whether read-ahead was enabled or used

Unclear It is not clear whether read-ahead is now always on or has been removed.

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

Usage data now notes whether a path is a folder#

One usage event Claude Code sends now records whether a path was a folder, when that is known

Unclear It is not clear which event carries this field.

Details 0 0 Feedback
10 entriesElsewhere · none marked notable
·Internal
Under the hood
Useful1 Signal2
Elsewhere unclear

A waiting-on-you timing check can now be turned off from the server#

A timing check used while Claude Code is idle or waiting on you now first consults a server-controlled switch

Unclear It is not clear what this timing check drives or what a user would see when it is turned off.

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

Fewer conditions on an automatic action when queued messages drain#

An automatic action run while Claude Code works through queued messages now depends on fewer conditions, so it can fire more often

Unclear It is not clear what the action does, or whether the removed conditions are now checked somewhere else.

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

Prompt cache warming can lapse past a limit#

Claude Code's check for keeping the prompt cache warm now also treats the cache as lapsed when a further value goes past a limit

Unclear What the added value measures and what the limit is were not stated.

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

Self-hosted runner passes startup command phases to its first session#

The self-hosted runner now reads its startup command phases once and hands them to the first session it starts

Unclear It is not clear what the startup command phases do, or how a user would set them.

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

Retries can use a different wait before each attempt#

Claude Code's retry logic now follows a list of waits, so the number of retries and the gap between them can differ by task

Unclear The default wait list and which parts of Claude Code use their own are not known.

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

The helper that keeps your computer awake starts with its own environment#

The small program Claude Code starts to stop your computer sleeping now gets an environment built for each operating system

Unclear It is not clear which variables the helper now receives or what it received before.

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

Clearer wording in several messages Claude reads about tools and errors#

Several messages Claude Code sends to the model about blocked tools, artifact copying and permissions have been reworded

Unclear It is not clear whether copying SVG content from another artifact is now allowed, or whether SVG is only no longer named in the message.

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

A content-host reachability check is skipped in some cases#

In some cases Claude Code now skips checking whether it can reach a content host and marks that host as not having answered

Unclear What condition causes the test to be skipped is not shown.

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

Linux sandbox reports a failure to start as its own kind of error#

On Linux, a sandboxed command that fails to start is now reported as spawn_failed instead of wrap_failed

Unclear What the text added in front of each sandboxed command contains is not known.

Details 0 0 Feedback
10 entriesPlugins · none marked notable
·Internal
Under the hood
Useful2 Signal3
Plugins unclear

A new file records how Anthropic Directory plugins are linked#

Claude Code now keeps a plugin-directory-bindings.json file recording which repository each plugin directory entry is linked to

Unclear It is not clear what decides whether the directory marketplace check passes.

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

The list of community plugin marketplaces now comes from a separate list#

Claude Code's list of community plugin marketplaces now takes in a separate list where it used to name healthcare directly

Unclear It is not clear what the separate list holds, or whether healthcare is still in it.

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

Plugin and hook internals reworked for tips and project folders#

Claude Code's code for reading installed plugins, checking a local-only option and finding a hook's project folder was reworked

Unclear It is not clear what uses these pieces or what they change for users.

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

Plugin question prompts check their options in a shared place#

The limit on how many options a plugin's $.ui.ask question can offer is now checked by a shared function

Unclear It is not clear whether the shared function enforces the same option limit as before.

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

New startup timing step and plugin engine bookkeeping#

Claude Code adds a startup timing step for interactive input and new counters for plugin worker starts and crashes

Unclear It is not clear how these pieces fit together or whether they are in use yet.

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

Plugins found in a marketplace pass through an extra step before use#

When Claude Code finds a plugin in a marketplace, it now runs the result through an extra step that can replace it

Unclear What the extra step does to a found plugin, and when it returns a replacement, is not known.

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

Plugin dependency installs reworked, with a shared lockfile check#

The step that installs a plugin's npm or bun packages takes an extra input and checks lockfiles through a shared check

Unclear It is not clear what the extra input changes about how plugin dependencies are installed.

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

Plugin auto-update now keeps counts of directory update outcomes#

The automatic plugin update pass now keeps counts of directory updates that succeed, fail, get stuck or change identity

Unclear It is not clear whether these counts are actually sent anywhere.

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

Partial git downloads of plugins now pass their options to git#

When fetching part of a plugin's git repository, Claude Code now always passes --no-checkout and adds --filter=blob:none only for some URLs

Unclear It is not certain whether git really missed these options before, or which URLs get the filter.

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

Remote session lists now carry the status of the tool host#

Remote session lists now include a status for the machine running each session's tools, and a first accepted remote tool call is signalled

Unclear It is not clear whether anything on screen uses this status yet.

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

Handing a turn to a remote session can now place files by name#

When a turn is handed off to a remote session, Claude Code can now pass along a way to place files by name, behind an internal check

Unclear It is not clear which feature check controls this or when it passes.

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

Background sessions remember when a connection was rejected#

A background session now remembers when its connection is rejected for an authentication or reply problem

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

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

Background sessions can report whether they are waiting#

A background session can now check its live status to say whether it is waiting, and counts as waiting if the status can't be read

Unclear It is not clear what uses this check.

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

Remote sessions track open permission prompts for their stall check#

Remote sessions without a screen now tell their stall check when a permission prompt opens and when it closes

Unclear It is not clear whether anything in this build reports permission prompts to the stall check yet.

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

Saved Claude replies in transcripts can carry extra details#

When Claude Code saves Claude's replies to the session transcript, it now adds extra details to each entry

Unclear It is not clear which details are added to each saved reply.

Details 0 0 Feedback
8 entriesHooks · none marked notable
·Internal
Under the hood
Useful1 Signal2
Hooks unclear

A process-wide switch no longer decides where plugin hook modules run first#

Whether the hook modules from installed plugins go first is now decided only by managed settings, a Team or Enterprise organization, or prepended plugins

Unclear It is not clear whether the removed off switch now applies somewhere else.

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

Cloud hook warnings carry extra detail#

Some warnings from hooks run in the cloud now have extra text added, and hook usage data records one more yes-or-no field

Unclear What the added warning text says is not known.

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

Plugin hook worker restarts are now counted#

Claude Code now counts how many times it starts the background worker that runs plugin hooks and records that count

Details 0 0 Feedback
8 entriesInternals · none marked notable
·Internal
Under the hood
Useful1 Signal1
Internals unclear

Internal timing and browser answer tracking added#

Claude Code adds internal timing steps and keeps count of answers from the browser that arrive while disconnected

Unclear It is not clear whether either change affects anything you see.

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

Sessions clear one more environment variable for programs they start#

Claude Code now clears one more environment variable for the programs a session starts, and session state tracks a tools machine

Unclear It is not clear which environment variable is cleared or what the tools machine is used for.

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

Thread lookup notices when the network is off#

Looking up a conversation thread now checks whether the network is switched off first, among small Remote Control changes

Unclear What a reader would notice from any of these changes is not shown.

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

Internal bookkeeping changes for transcript display and step loading#

Claude Code now tracks rows trimmed from the top of the transcript display and remembers steps that failed to load

Unclear It is not clear whether either change has any effect a user would notice.

Details 0 0 Feedback
6 entriesAPI · none marked notable
·Internal
Under the hood
Useful1 Signal1
API unclear

Claude Code recognizes rejected beta headers by the API's error text#

Claude Code now spots a rejected beta header from the API's own error wording rather than from the header name alone

Unclear It is not clear what Claude Code does differently once it detects a rejection.

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

ANTHROPIC_CUSTOM_HEADERS is read by a shared helper#

Claude Code now reads ANTHROPIC_CUSTOM_HEADERS through a single shared function instead of separate inline code

Unclear It is not clear whether the shared function reads any value differently from the old line-and-colon split.

Details 0 0 Feedback
ANTHROPIC_CUSTOM_HEADERS
5 entriesMemory · none marked notable
·Internal
Under the hood
Useful2 Signal3
Memory unclear

Memory extraction settings gain a thinking-strip option#

The settings for memory extraction now include a thinking_strip value that falls back to "window" when invalid

Unclear It is not clear what the possible values do or which memory feature these settings belong to.

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

Claude Code tracks which folder memory files it has already added#

The check that stops a folder's CLAUDE.md from being added twice now compares contents and reads the file's timestamp first

Unclear It is not clear what turns on the mode that shows the full path.

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

Choosing relevant memories now asks for a JSON-only reply#

The prompt that picks which saved memories are relevant now asks for a reply made of a single JSON object listing the chosen files

Unclear It is not clear whether a formal output format is also enforced alongside the written instruction.

Details 0 0 Feedback
5 entriesRemote Tools · none marked notable
·Internal
Under the hood
Useful1 Signal3
Remote Tools unclear

Machine profile collection can be told to look for extra tools#

Claude Code's routine for profiling the machine it runs on can now be asked to look for extra tools and to cap how many it lists

Unclear What will ask for the extra tools is not shown.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal3
Remote Tools unclear

Device bridge waits for its tool groups before it finishes starting#

The device bridge now waits for its tool groups to finish reading before start-up completes, and can gather a list of what is on the machine

Unclear What decides whether the machine inventory is gathered is not stated.

Details 0 0 Feedback

Continues on page 5 →

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.287. 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 106 bullets, 14 name something an entry on this page also names, 40 name something no entry here does, and 52 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

No change to the system prompt since v2.1.286.

Claude Code, interactive mode

Documentation

What the docs did around this release

1187 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 57 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