Follow Discord

Claude Code v2.1.261

189 entries read v2.1.260 → v2.1.261 Markdown JSON Follow Unofficial

This build carries 17 dormant additions, most switched off behind hardcoded flags. Real-time PR webhook updates exist but are hardcoded off, so PR monitoring still polls every 30 minutes, and a new "thinking-binding-controls" beta header is compiled in but never sent. A Poll/Wait tool "evals" mode has nothing in this bundle that triggers it, and three placeholder tool entries are now always listed internally yet forced permanently off and hidden. Also inert: subagent output-truncation accounting behind the tengu_swift_whistle gate, a prefix-lock-rejection warning whose message text is always empty, an overage-included-models display with an empty-by-default model list, a "grant refused" safeguards error path whose trigger always returns false, a message-history folding pass held off by default behind tengu_chair_sermon, and MCP task-sidecar restore in --print mode, which is hard-gated off.

Of 80 shipped changes, several add configuration you can use right away. New settings bashOutputMaxChars and taskOutputMaxChars let you control how much Bash and Task output Claude sees inline before it spills to a file, and CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS lets you tune how long Claude Code waits for the first byte of a streamed response. Cloud sessions running /mcp can now also list MCP servers attached to your local machine, and plugin marketplace add --claudeai lets you add a marketplace hosted on your claude.ai account. Other additions include an SDK --await-initialize flag to wait for plugin config over stdin, a CLAUDE_CODE_NONBLOCKING_STDOUT env var so slow output pipes can't hang the terminal, --append-subagent-system-prompt-file for the CLI, a configurable AWS Bedrock credential-resolution timeout, and an auto-mode dangerous-tool-use classifier, now expanded, that runs server-side and blocks unreachable checks for safety.

Among 35 fixes, failed background wake deliveries to agents now retry with backoff instead of dropping, and a cloud gateway 403 rejecting your org's settings no longer logs you out, showing a contact-admin message instead. Saving large tool results to disk is hardened against symlink and hardlink tampering, and the tool permission cache is now correctly keyed on GitHub repo and workspace-restriction state instead of serving stale results. Policy-limit data from before an account switch can no longer leak into the new account's session, and a newly org-approved synced plugin no longer stays silently disabled by a leftover local override. Separately, the keybindingFlavor setting is deprecated and classic word-editing keybindings are removed, so the prompt now always uses Bash-style word navigation.

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

Five to try today

Picked from 15 you can use now
  1. Support for claude.ai-hosted plugin marketplaces

    You can now add a claude.ai-hosted plugin marketplace with a new --claudeai flag.

    Extensions
  2. New SDK launch flag: --await-initialize

    A new SDK CLI flag makes the process wait for an initialize request over stdin before starting.

    Extensions
  3. New settings for inline Bash/Task output truncation limits

    New settings let you control how much Bash and Task output Claude sees before it gets truncated to a file.

    Settings & config
  4. SDK plugin delivery via initialize request

    SDK plugins can now be sent via an initialize request instead of the command line, with a fallback warning if not applied.

    Extensions
  5. Two new SDK control-protocol request types: get_usage and reload_output_styles

    SDK gains get_usage and reload_output_styles requests for pulling usage data and refreshing styles mid-session.

    Extensions

Want the reasoning? Read walks the 30 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
30 entries

What probably matters to you

Anything you can use today, anything that visibly changes, and anything worth poking at. One line each, open for detail.

·Internal
Under the hood
Useful4 Signal3
Plugin Marketplace

New claude.ai-hosted marketplace source type#

Plugin marketplaces gain a new claude.ai-hosted source type with its own caching and refresh logic.

Details 0 0 Feedback
In dev
Nothing to try yet
Useful3 Signal3
Remote Control Notable no docs found

New CCR v2 bridge CLI flag added, default off#

A new CCR v2 bridge CLI is gated behind a flag that currently defaults off.

Details 0 0 Feedback
tengu_ccr_v2_bridge_create_cli
+New
Use it now
Useful4 Signal2
SDK Notable

New SDK launch flag: --await-initialize#

A new SDK CLI flag makes the process wait for an initialize request over stdin before starting.

Details 0 0 Feedback
--plugin-dir
+New
Use it now
Useful4 Signal2
SDK Notable no docs found

SDK plugin delivery via initialize request#

SDK plugins can now be sent via an initialize request instead of the command line, with a fallback warning if not applied.

Details 0 0 Feedback
pluginDelivery: 'initialize'plugins_applied
+New
Use it now
Useful4 Signal2
Plugin Marketplace

claude.ai-hosted plugin marketplaces#

Plugin marketplaces can now be hosted on claude.ai itself, with full catalog fetching, caching and install support.

Details 0 0 Feedback
+New
Use it now
Useful3 Signal1
Group of 2 SDK no docs found

Output styles can now be hot-reloaded#

The SDK can now reload output styles mid-session with a new method.

Details 0 0 Feedback
reloadOutputStyles
Improved
You'll notice
Useful2 Signal1
Elsewhere Notable

New AWS Bedrock timeout with configurable override#

AWS credential lookups now time out with a clearer error, and you can raise the timeout via an env var.

Details 0 0 Feedback
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Were these the right ones to put at the top? 0 answered
Below the fold

Everything else

Smaller changes and internals, grouped as the pipeline found them. Nothing is dropped, it is only further down.

2 entries

New Featuresopen

49 entries

Improvementsopen

Improved
You'll notice
Useful3 Signal2
API Errors no docs found

New API error code for version-too-old rejections#

A new error clearly tells you to update Claude Code when your build is too old for a request.

Details 0 0 Feedback
claude_code_version_too_old
Improved
You'll notice
Useful2 Signal1
Elsewhere

Custom 1M-context model labels#

Custom Sonnet/Opus model picker labels now note when a model has a 1M-token context window.

Details 0 0 Feedback
Improved
You'll notice
Useful2 Signal1
Org Policy

Policy-limits 404 error message rewritten#

The 404 policy-endpoint error now names the request path and points you to claude doctor.

Details 0 0 Feedback
claude doctor/status
30 entries

Bug Fixesopen

Fixed
You'll notice
Useful2 Signal1
Cloud Gateway

Cloud gateway 403 no longer ends session#

A blocked org gateway no longer logs you out; you now see a message to contact your admin instead.

Details 0 0 Feedback
Fixed
You'll notice
Useful1 Signal1
Terminal UI

Terminal resume now forces a SIGWINCH#

Resuming a suspended terminal session now forces a resize check so layout stays correct.

Details 0 0 Feedback
12 entries

In Developmentopen

In dev
Nothing to try yet
Useful3 Signal3
SDK no docs found

New SDK option pluginDelivery#

A new SDK option lets plugins be delivered via the initialize request instead of argv, still opt-in.

Details 0 0 Feedback
pluginDelivery
In dev
You'll notice
Useful2 Signal2
Elsewhere

PR webhook monitoring hardcoded off#

PR webhook updates are hardcoded off; PR-monitoring sessions now always poll every 30 minutes instead.

Details 0 0 Feedback
53 entries

Internal Changesopen

·Internal
Under the hood
Useful3 Signal3
Workspace Restrictions

New workspace-restriction launch state#

New internal state tracks restricted workspace roots and which settings sources apply within them.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal2
MCP no docs found

New mcp_set_servers binding-changed sync hook#

MCP server config changes now trigger sync hooks to keep SDK hosts' binding state in sync.

Details 0 0 Feedback
mcp_set_servers
·Internal
Under the hood
Useful2 Signal1
Elsewhere no docs found

Cloud/attach session flag support expanded#

Cloud/attach sessions now recognize two more CLI flags for compatibility.

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

New gate: tengu_swift_whistle#

A new feature gate was added, defaulting to false.

Details 0 0 Feedback
tengu_swift_whistle
·Internal
Under the hood
Useful1 Signal1
Plugin Marketplace

claude.ai catalog telemetry#

New telemetry tracks claude.ai marketplace catalog fetches and failures.

Details 0 0 Feedback
3 entries

Removedopen

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.261. 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 67 bullets, 17 name something an entry on this page also names, 14 name something no entry here does, and 36 name nothing specific enough to line up either way. The pairings are made on names both sides wrote down, a flag or a setting or a slash command, so read one as probably the same thing rather than as a fact, and read the middle number as candidates rather than as a miss count.

  • Added an "Organization policy" line to /status and claude doctor that says why your organization's policy could not be loaded, such as a proxy not passing the endpoint through Probably policy-limits-404-error-message-rewritten, cli-debugstatus-payload-now-reports-which-plugins-were-appl, organization-policy-line-added-to-settings-source-status-l
  • Added bashOutputMaxChars and taskOutputMaxChars settings to raise how much command and background-task output Claude receives inline before it is saved to a file, up to 128K characters Probably taskoutput-tool-result-size-now-computed-dynamically, new-settings-for-inline-bashtask-output-truncation-limits, new-settings-keys-bashoutputmaxchars-taskoutputmaxchars
  • Added --append-subagent-system-prompt-file to read the subagent system prompt from a file, for prompts too large to pass on the command line Probably new-cli-flag-append-subagent-system-prompt-file
  • Added /skill-doctor to show which loaded skills go unused and what they cost in context, so you can prune them Probably skill-doctor-availability-text-now-explains-rollout-mechanic
  • Fixed typed or pasted characters occasionally landing out of order or being dropped during fast input or key repeat Nothing to match on
  • Fixed /add-dir <subdirectory> printing a false "couldn't be resolved" error when the working directory is on a /net automount No entry names this
  • Fixed the Bedrock setup wizard hanging when AWS or an AWS credential helper never responds (it now times out with a clear error), and its model checks failing behind a TLS-inspecting proxy Nothing to match on
  • Fixed cloud sessions discarding a plugin synced from claude.ai when managed settings force-enable it in enabledPlugins, then falling back to a marketplace clone that could fail Probably marketplace-scoped-enabledplugins-now-records-marketplace-ex
  • Fixed being unable to delete the character immediately before an inline [Image #N] chip in the prompt input No entry names this
  • Fixed resuming a session losing hook output and other context around parallel tool calls, which changed the resumed request Nothing to match on
  • Fixed Remote Control showing a stale permission mode when a phone, browser, or claude.ai app attaches to a terminal session or after the mode changes in the terminal Nothing to match on
  • Fixed Remote Control sessions showing as still working (stuck spinner and Stop button) after stopping a turn from a connected phone or browser, or after a local slash command like /clear No entry names this
  • Fixed SDK and cloud sessions ignoring a Stop or interrupt sent just after the first prompt, before the turn had started; the turn now stops instead of running to completion Nothing to match on
  • Fixed Remote Control uploading a session pulled with /teleport into the connected session, which appeared appended to the original on phone and web Probably remote-controlsession-persistence-skips-uploading-rows-from
  • Fixed Remote Control's inbound event stream failing behind TLS-inspecting corporate proxies on native Windows Nothing to match on
  • Fixed Remote Control sessions showing the default effort level on claude.ai when the effort comes from settings Nothing to match on
  • Fixed gcpAuthRefresh opening a browser at startup when the Google credential check was slow, even though the credential was still valid Probably gcp-credential-check-becomes-tri-state-and-honors-anthropic
  • Fixed claude.ai connectors staying absent for the whole session when the startup connector fetch timed out — the CLI now retries in the background Nothing to match on
  • Fixed sustained high CPU usage when a background agent could not be resumed and its wake-up was retried in a tight loop Nothing to match on
  • Fixed feature flags gated to a newer version occasionally applying to an older Claude Code version running on the same machine Nothing to match on
  • Fixed /usage and the VS Code usage panel dropping a model-specific weekly limit row when the usage endpoint is rate limited or when opened right after startup Probably two-new-sdk-control-protocol-request-types-get-usage-and-re
  • Fixed claude -p --resume <file> adopting a malformed session ID recorded in the transcript; it now resumes under a fresh session ID instead Probably resume-can-now-adoptaccept-custom-non-uuid-session-id
  • Fixed the terminal progress indicator (iTerm2, Ghostty, ConEmu) showing the session as finished while a background workflow or agent was still running Nothing to match on
  • Fixed a rare layout glitch where a box could render with the wrong height after its container switched between row and column direction Nothing to match on
  • Fixed Claude apps gateway client IP when a trusted proxy appends a port to X-Forwarded-For; with an access list set, an unreadable entry now gets 403 Probably trusted-proxy-client-ip-resolution-now-reports-bad-hops, gateway-proxy-hardens-x-forwarded-for-handling
  • Fixed Claude apps gateway telling Claude Desktop to export OpenTelemetry as JSON even when the terminal CLI uses protobuf, so protobuf-only collectors rejected Desktop's data Nothing to match on
  • Fixed Desktop and web showing a session as busy while it only watches an artifact for updates Nothing to match on
  • Fixed Claude in Chrome file_upload failing with "paths: expected array, received undefined" in local Cowork sessions run from the Claude Desktop app Probably claude-in-chrome-file-uploads-bypass-local-preparation-under, chrome-extension-file-upload-path-validation-hardened-and-re
  • Fixed SendMessage to an offline Remote Control session on another machine reading as delivered; the result now says delivery is queued until that machine reconnects Probably subagent-harness-tail-size-accounting-behind-tengu-swift-w
  • Fixed plugin install hints from CLIs run in background Bash commands: they are now detected, and the raw <claude-code-hint> tag no longer leaks into the conversation Probably claude-code-hint-plugin-references-now-validated-as-name-at-mar, new-tag-lets-toolcommand-output-suggest-a-plugin-to-inst
  • Fixed in-process agent-team teammates re-sending their first-turn tool and skill announcements on the second turn, which changed the request prefix and missed the prompt cache Nothing to match on
  • Improved the /model picker and the VS Code model pill to show a model's name instead of its raw Bedrock, Vertex AI, or LLM gateway ID when Claude Code recognizes it No entry names this
  • Improved startup on Google Vertex AI when GOOGLE_APPLICATION_CREDENTIALS is set: API client creation no longer re-runs Google Cloud project discovery or spawns extra gcloud processes No entry names this
  • Improved streaming performance: already-rendered blocks are no longer re-checked by layout on each update Nothing to match on
  • Improved the dangerous-rm safety prompt to also catch rm -rf on positional parameters and inside double-quoted sh -c scripts No entry names this
  • Improved handling when the API sends no response headers: the retry now waits up to API_TIMEOUT_MS (10 minutes by default) instead of another 3 minutes, and the messages say what to change Probably more-detailed-stream-timeout-error-message-with-tunable-env
  • Changed a Claude apps gateway 403 on the managed settings load (at startup or after /login) to say Claude Code may not be enabled for the organization, instead of advising a new sign-in Probably clearer-managed-settings-error-when-org-requires-cloud-gatew, new-provider-managed-env-var-list-for-gateway-policy-checks, managed-policy-enforcement-of-cloud-gateway-sign-in
  • Changed machines whose managed settings pin forceLoginMethod: "gateway" to ignore a leftover API key or claude.ai login and ask for /login; Bedrock, Vertex AI, and Foundry sessions are unaffected Probably clearer-managed-settings-error-when-org-requires-cloud-gatew, new-provider-managed-env-var-list-for-gateway-policy-checks, managed-policy-enforcement-of-cloud-gateway-sign-in
  • Changed auto mode to treat a link that packs content into a public diagram renderer's URL as an upload to that site: no longer auto-approved unless you asked for it Nothing to match on
  • Changed the prompt's word-editing keys to match Bash: Ctrl+W deletes back to whitespace, Alt+F and Alt+D stop at word end, punctuation separates words; keybindingFlavor no longer has any effect Probably keybindingflavor-setting-deprecated-classic-word-editing-mo
  • Changed /context token counting to use a local estimate when the token-counting API is unavailable, instead of extra small-model requests No entry names this
  • [VSCode] Added a "Build a custom style" walkthrough to the Output styles menu that writes a custom output style file and lists it right away No entry names this
  • [VSCode] Added an Add server form and a Remove action to the MCP servers dialog, so MCP servers can be added and removed without leaving the IDE Nothing to match on
  • [VSCode] Added a hollow ring in the session list for sessions open in a terminal, another VS Code window, or Claude Desktop, so they no longer look closed Nothing to match on
  • [VSCode] Added a fold button to permission and question prompts so the conversation behind them can be read without dismissing them; the space beside the prompt now scrolls the conversation Nothing to match on
  • [VSCode] Added "Archive session" to the session list's right-click menu and gave Unarchive its own icon No entry names this
  • [VSCode] Fixed a session teleported from Claude Code on the web treating a question that was cut off when the cloud session shut down as declined Nothing to match on
  • [VSCode] Fixed the session tab's Rename box opening empty for a tab restored with the window; it now starts with the current name Nothing to match on
  • [VSCode] Fixed collapsed sections in the session list panel briefly showing expanded each time the panel loaded Nothing to match on
  • [VSCode] Fixed Focus view showing a tool call as still running after Claude had moved on, such as while a question waited for your answer Nothing to match on
  • [VSCode] Fixed the session list's active-row highlight going stale when an unfocused Claude tab's session ID is corrected Nothing to match on
  • [VSCode] Fixed Cmd/Ctrl+Shift+T reopen and deep-link opens placing the Claude tab outside the Claude editor group when a Claude tab has focus Nothing to match on
  • [VSCode] Fixed the session tab's "Add to group" putting a session opened from Claude Code on the Web in two groups; it now moves the entry the session list shows No entry names this
  • [VSCode] Fixed the model picker showing models an organization has since disabled until the window was reloaded twice Nothing to match on
  • [VSCode] Fixed a tab opened from the session list jumping back to that session, and a tab opened from a Web session restarting its teleport or staying empty, after VS Code reloads the tab's view Nothing to match on
  • [VSCode] Fixed /btw side-question history from earlier sessions being overwritten when a question is asked right after a window reload or while a settings file has errors No entry names this
  • [VSCode] Fixed the pending question card not reappearing after the Claude panel reloads when signed in with a Claude.ai or Console account Nothing to match on
  • [VSCode] Fixed claude.ai-only features staying visible in a window's other Claude panels after one panel picked up a third-party provider from a settings file Nothing to match on
  • [VSCode] Fixed the sign-in screen appearing despite the Disable Login Prompt setting when Claude Code reports no login or a request fails for lack of one Nothing to match on
  • [VSCode] Fixed the next queued permission prompt keeping text typed on the previous prompt and accepting an immediate second click Nothing to match on
  • [VSCode] Fixed install-plugin links opening the Claude sidebar without the install dialog in a window where only the session list had been shown Nothing to match on
  • [VSCode] Fixed the sidebar usage meter staying empty on a new window until the Account & usage dialog was opened, and a 0% usage limit being left out of the meter Nothing to match on
  • [VSCode] Fixed "Start new session in this group" losing the group after New conversation, and a missing unread dot for a session that finished before the sidebar's unread list loaded No entry names this
  • [VSCode] Fixed the editor tab badge showing unread during a running turn or missing on a tab opened from the session list, and "Add Session Tab to Group" doing nothing for an archived session No entry names this
  • [VSCode] Fixed "Enable Remote Control for all sessions" so flipping it also applies right away to sessions open in other VS Code windows No entry names this
  • [VSCode] Fixed the session list's Open filter for sessions continued from claude.ai whose tab was still recorded under the web session, and labeled the filter menu's sections for screen readers Nothing to match on
  • [VSCode] Changed the model picker to one flat list of every model, with rows kept for older model spellings listed last Nothing to match on
System prompt

No change to the system prompt since v2.1.260.

Claude Code, interactive mode

Documentation

What the docs did around this release

318 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.

Every time above is when this site's poller recorded the change, which is up to half an hour after the edit on an ordinary read and up to a day after it on a full sweep. Upstream's own edit time is used instead wherever a capture carries one. None of these do.

Switches

Every name in this release

The 74 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