Claude Code v2.1.269

518 entries read v2.1.268 → v2.1.269 Markdown Unofficial

This build carries 25 gated additions that stay switched off. A new 'bashEditDiff' system snapshots the repo around Bash commands to track their file changes, controlled by an env var or config, while a separate 'bash edit diff' mechanism produces its own diff of Bash-command changes. Streaming hook dispatch is now built end to end but only enabled for the 'turn.step' event, and refusing-to-answer fallback model switches can now ask you first with a persisted preference. Other dormant work includes a hidden /output-style command, a tengu_bridge_child_tool_diff setting for showing child-session edits to a parent session, off-by-default version-checked artifact writes, and two flags for skipping resent system prompts on continued server-side threads.

Of the 156 shipped entries, plugin hooks gain real teeth this release: a new turn.step hook lets plugins override or veto which model handles a request, and a new $.tool.check op lets a plugin test whether a tool call would be allowed without running it. The hooks engine also picks up tool.check, config.set, config.describe, session.attach, session.detach, and plugin.register event types, plus streaming (async-generator) hook support and MessageDisplay hooks that can rewrite text already streamed to the screen. A new 'Remote Control' system lets a cloud session dispatch tool execution to your local computer, the Bash tool now shows a diff of files a shell command edited by default, claude plugin eval gains --trust-plugin and --allow-real-servers flags, and a new CLAUDE_CODE_COORDINATOR_EXTRA_TOOLS env var extends the coordinator-mode tool allowlist.

Among the 70 fixes, MCP OAuth sign-in now validates a pasted redirect URL against the expected value before accepting it, and a denial from a tool.check hook now runs back through the normal deny/ask approval flow instead of hard-stopping. Plugin settings migration is more careful too: installed_plugins.json syncing now checks policy before treating a plugin as already installed, and it can heal stale managed-plugin records left over from that migration. Workflow agent() spawns now wait for MCP tool syncing to finish before resolving their tool set, and update checks can now tell a suspended process apart from a genuine network timeout. Claude Code also now blocks direct writes to the settings-review staging store, and plugins calling next.to() with a hooks module name that can't be statically found are rejected.

Reading as
Show only
Tier
Flag state
Names
Pick an entry · j / k steps through · rest on a row to peek
53 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.

+New
Use it now
Useful5 Signal4
Group of 2 Memory Notable unclear

New post-turn memory feature with configurable extraction#

A new post-turn memory feature can extract memories via an MCP server instead of writing files, controlled by new env vars

Unclear What post-turn memory actually does when triggered (what it writes or where) is not described in the finding.

Details 0 0 Feedback
+New
Nothing to try yet
Useful5 Signal4
Group of 5 Plugin Hooks Notable no docs found

Plugin hooks can now stream results as async generators#

Plugin hooks can be written as async generators that stream chunks, with the first use letting a hook override the model per request

Details 0 0 Feedback
turn.step
+New
Use it now
Useful5 Signal2
Group of 2 Settings Notable no docs found

Settings changes can now be staged for owner review before being applied#

Writes to settings files can be staged in a new settings-review store for owner approval instead of applying immediately, though this build ships with the feature effectively off

Details 0 0 Feedback
/settings-review
In dev
Nothing to try yet
Useful3 Signal3
Group of 3 Artifacts Notable no docs found

Artifact writes gain optional version-conflict checking#

Artifact document writes can now ask the server to reject writes that conflict with a newer version, with automatic fallback

Details 0 0 Feedback
CLAUDE_CODE_ARTIFACT_DB_STR_REPLACE
+New
Use it now
Useful4 Signal2
Group of 3 Permissions Notable unclear

New Plugins settings category and two new permission states#

Settings now has a dedicated Plugins category, and permission choices expand from just Allowed/Not allowed to also include Switch automatically and Ask each time

Unclear The finding doesn't specify which permission prompts or settings surface these new choices, or what each one precisely does.

Details 0 0 Feedback
In dev
Nothing to try yet
Useful3 Signal3
Internals Notable unclear

'Tether' thread-continuation requests can omit system prompt/tools when continuing, behind two off-by-default flags, with a fingerprint-mismatch circuit breaker#

Continuing a server-side conversation thread can now skip resending the system prompt and tools list, with a fallback if the server disagrees

Unclear Whether the tengu_quiet_heron gate is enabled for any account is unknown; the finding does not say.

Details 0 0 Feedback
In dev
Nothing to try yet
Useful3 Signal3
Slash Commands Notable unclear

New /output-style-style-list local command#

New /output-style slash command lists or switches output styles, currently hidden behind internal checks

Unclear What the two gating checks require, and whether they are met for any current users, is not stated.

Details 0 0 Feedback
/output-style
In dev
Nothing to try yet
Useful3 Signal3
Credentials Notable no docs found

Windows Credential Manager credential backend, gated#

Windows Credential Manager support gains a forced-priming step, still off by default

Details 0 0 Feedback
CLAUDE_CODE_FORCE_WINDOWS_CREDMAN
+New
Use it now
Useful4 Signal2
Terminal UI Notable no docs found

New pane:close keybinding action#

New pane:close keyboard shortcut closes a plugin pane, bound to ctrl+x x

Details 0 0 Feedback
pane:close
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.

83 entries

Improvementsopen

Improved
You'll notice
Useful3 Signal2
Group of 2 Artifacts unclear

Artifact and skill prompts gain 'Live files' and 'Live room' sections#

The artifact and skill system prompts now include Live files (and, when enabled, Live room) sections describing this session's shared state

Unclear What the "Live room" feature is and how a session gets access to it is not established by the evidence.

Details 0 0 Feedback
Improved
Under the hood
Useful2 Signal2
Group of 3 Bridge Sessions no docs found

Bridge sessions can idle-exit instead of only completing#

Bridge-spawned sessions can now be set to exit after an idle period, reporting status as idle rather than completed

Details 0 0 Feedback
idleExitAfterMs
Improved
You'll notice
Useful3 Signal2
Settings no docs found unclear

Edit/Write tools gained a 'staged' write path#

Edit and Write tools can now route file changes through a new staged-write path instead of writing straight to disk

Unclear The finding doesn't say what triggers the staged path or what feature relies on it.

Details 0 0 Feedback
Improved
You'll notice
Useful2 Signal2
Compaction unclear

Undeclared MCP/tool cleanup at compaction#

Claude Code can now drop unused MCP tools from a session's declared-tools list when compacting the conversation

Unclear Nothing has been read yet about whether this cleanup is switched on for any account, so its practical effect is unknown.

Details 0 0 Feedback
Improved
You'll notice
Useful2 Signal2
Subagents unclear

Task/Agent tool now always runs in background#

The Task/Agent tool now always runs subagents in the background, ignoring the caller's setting

Unclear The finding does not say whether callers can still request foreground execution through any other path, or what user-visible effect this has.

Details 0 0 Feedback
Improved
You'll notice
Useful2 Signal2
Goal Mode unclear

New goal re-prompt after a turn ends before evaluation#

Claude Code now re-sends a goal check-in prompt if a turn ends before the goal could be evaluated

Unclear The flag tengu_saffron_wren tied to this area has read on for this site's account and for the anonymous baseline, but that reading was not taken under this release.

Details 0 0 Feedback
Improved
Under the hood
Useful2 Signal1
Group of 4 Terminal UI unclear

Terminal capability detection reworked into a probe-and-settle model#

Terminal feature detection (sync output, extended keys, kitty keyboard) now probes the terminal and settles capabilities from its actual reply, and git object-format detection moved to its own helper

Unclear The finding doesn't say whether Konsole or self-query-dependent terminals are still detected some other way, so it's unclear whether this is a net loss of support for them.

Details 0 0 Feedback
Improved
You'll notice
Useful2 Signal1
Permissions unclear

A tool's inline 'Run test?' permission prompt was removed#

A tool's built-in 'Run test?' confirmation prompt was removed

Unclear The finding does not say which tool this is or whether permission checking moved elsewhere or was simply dropped.

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

New default hook-drop reason string#

Added a default explanation for when a hook silently drops prompt content

Details 0 0 Feedback
Improved
You'll notice
Useful1 Signal1
Elsewhere no docs found unclear

WSL managed-settings warnings can now be tagged wslIgnored#

WSL managed-settings warnings can now be flagged as ignored instead of just being dropped

Unclear What consumes the wslIgnored flag or how it's surfaced to a user is not shown by the finding.

Details 0 0 Feedback
wslIgnored
Improved
You'll notice
Useful2 Signal0
Elsewhere unclear

New mime types recognized for text/code files#

File-type detection now recognizes .ts, .css, .js, .mjs, and .cjs files by MIME type

Unclear Which specific feature (artifact handling, attachments, or something else) consumes this map is not stated.

Details 0 0 Feedback
63 entries

Bug Fixesopen

Fixed
Under the hood
Useful2 Signal2
Group of 2 Plugins

Stale plugin records can now be automatically healed#

Managed plugin entries in installed_plugins.json that drift out of sync with the marketplace or cache are now automatically repaired

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

New 401-during-token-refresh error message#

A clearer error message now appears when an API request gets a 401 while your login is being refreshed, and Claude Code retries automatically

Details 0 0 Feedback
11 entries

In Developmentopen

In dev
Nothing to try yet
Useful2 Signal2
Artifacts no docs found unclear

Artifact comments auto-react gains a fork/handoff path gated by tengu_sorrel_trellis_newel#

Artifact-comment auto-reply gains a fork/handoff path behind the tengu_sorrel_trellis_newel gate

Unclear The tengu_sorrel_trellis_newel gate was read off for this site's account and off for the anonymous baseline, but that reading was not taken under this release, so whether it is on for this version is unknown.

Details 0 0 Feedback
In dev
Nothing to try yet
Useful2 Signal2
Telemetry no docs found unclear

Cache-write usage classification gated behind tengu_chomp_thaw#

A usage-tracking helper can now report cache-write-sized usage as unknown instead of labeling it 'cache_write'

Unclear Nothing has been read yet about whether this behavior is switched on for any account, so its practical effect is unknown.

Details 0 0 Feedback
In dev
Nothing to try yet
Useful2 Signal2
Artifacts unclear

Artifact-type "design systems" guidance appears to be added but compiled off#

New default design-systems guidance for decks and visual designs exists in the code but is currently switched off

Unclear Whether the gating check (G7()) currently evaluates to on or off for any account is not established by the evidence.

Details 0 0 Feedback
193 entries

Internal Changesopen

·Internal
Under the hood
Useful3 Signal3
Group of 2 SDK

SDK/print-mode turn telemetry reworked#

The turn-tracking and shutdown telemetry for SDK/print mode runs was rewritten, adding a tool-call breakdown and consolidating shutdown reporting

Details 0 0 Feedback
·Internal
Under the hood
Useful3 Signal3
Plugin Hooks unclear

Plugin/hook execution engine rewritten around async-generator streams#

Plugin and hook execution was rewritten to stream results and track per-handler timing and outcomes

Unclear The practical, user-visible effect of this rewrite (beyond internal timing/outcome tracking) is not specified in the finding.

Details 0 0 Feedback
·Internal
Under the hood
Useful3 Signal3
Hooks no docs found unclear

New edit_hook tool/dialog for adding, replacing and removing hooks#

New internal edit_hook system lets settings be edited to add, replace, or remove hooks

Unclear Whether a user-facing UI or command already exposes this editor, or it is purely internal plumbing so far, isn't shown by the evidence.

Details 0 0 Feedback
edit_hook
·Internal
Under the hood
Useful3 Signal3
Command Queue unclear

New wake-router / interrupt-latch subsystem for the command queue#

Claude Code adds an internal wake-router and interrupt-latch system for coordinating command queue notifications

Unclear The finding does not say what user-visible behavior, if any, this change fixes or enables.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal3
Artifacts no docs found unclear

CLAUDE_CODE_ARTIFACT_PIN gate gains an extra suppression condition#

Artifact pinning is now also suppressed for remote sessions when an additional internal check is true

Unclear What the added check (yPt()) represents in practical terms is not stated.

Details 0 0 Feedback
CLAUDE_CODE_ARTIFACT_PIN
·Internal
Under the hood
Useful2 Signal2
Group of 2 Plugin Eval unclear

Eval runner concurrency now coordinated through a token gate#

Eval workers now share a token gate that serializes login/credential refresh and was threaded into a simplified single-run eval loop

Unclear The finding does not say what change in behavior, if any, this produces for someone running claude plugin eval.

Details 0 0 Feedback
·Internal
Under the hood
Useful2 Signal2
Remote Control no docs found unclear

New get_memory_dialog remote request subtype#

A new remote-control request type fetches memory-dialog data, but is blocked over headless connections

Unclear The finding doesn't explain what a 'memory dialog' or a 'dream' task is or does.

Details 0 0 Feedback
get_memory_dialog
·Internal
Under the hood
Useful2 Signal2
Artifacts unclear

Artifact publish path gains a 'live room' consideration#

Artifact publishing now factors in whether the destination is a "live room" before skipping confirmation

Unclear What a "live room" is and exactly how it changes the confirmation prompt for publishing an Artifact isn't established by the finding.

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

New agent-SDK control-request: rename_session#

SDK control-request rename_session refined with remote/host distinction and a get_memory_dialog request added

Details 0 0 Feedback
rename_session
·Internal
Under the hood
Useful2 Signal2
Plugin UI unclear

Plugin desktop-surface tracking and per-module hashing added#

Claude Code now tracks which UI surfaces a plugin's components render into and can hash a plugin's linked files

Unclear What user-facing feature uses this surface-tracking and hashing is not specified.

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

Agent proxy can now inject extra git include.path and prepend to PATH#

The agent/tool proxy can now add extra git config includes and prepend a directory to PATH

Unclear The finding does not say what triggers the new git include.path entries or what directory gets prepended to PATH.

Details 0 0 Feedback
CLAUDE_CODE_AGENT_PROXY_GH_SHIM
·Internal
Under the hood
Useful2 Signal2
MCP unclear

Dedicated internal memory MCP server naming and endpoint recognized#

Claude Code now specifically recognizes its built-in 'memory' MCP server by name and URL shape

Unclear The finding doesn't say what specific behavior differs once the memory server is recognized this way.

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

Signed-cache identity telemetry added alongside shadow check#

Signed-cache validation now also resolves an identity and reports it via a new telemetry event

Unclear What the resolved identity represents or is used for is not described.

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

New circuit-breaker bypass/local-projection helper functions#

New helper functions can check circuit breakers for bypass-immune or local-projection-only flags

Unclear What specific checks use bypassImmune or localProjectionOnly, and what calls these new helpers, is not stated.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Group of 2 Settings unclear

Custom settings entries now block more template tokens#

Validation of custom settings entries now blocks a wider set of literal template placeholder tokens, plus a new helper distinguishes template tokens from cc_automode region tags

Unclear body was cut off; regenerating properly below

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Group of 2 Message Filtering no docs found unclear

Message filtering and turn grouping now use a new turnCompanion flag#

A new turnCompanion flag on user messages now decides whether they're filtered out or grouped with preceding tool results

Unclear What sets turnCompanion to true, and which processing path excludes these messages, aren't shown in the finding.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Model Config unclear

New internal tracking flag: toolResultScreeningOkEmitted#

New internal flag tracks whether a 'tool result screening OK' signal has been sent this session

Unclear The finding does not say what feature or behavior this tracking flag controls or enables.

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

Artifact comment auto-reply pipeline now tracks 'foreign' pages#

Artifact comment auto-reply flow now tracks whether a page is 'foreign' to the current session

Unclear What behavior changes when a page is flagged as foreign is not shown by the evidence.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Plugin Eval unclear

Agent-mock plugin eval results can now report a 'withheld' server#

Plugin eval mock runs can now flag an MCP server as 'withheld' in results

Unclear What causes a server to be marked withheld, and what practical effect it has on the eval, isn't stated.

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

Bun JIT policy is throttled down 10s after startup#

Claude Code now throttles Bun's JIT policy 10 seconds after startup outside fast-path launches

Unclear What effect JIT policy 1 has on performance or behavior is not stated in the evidence.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal1
Self-Hosted Runner no docs found unclear

Governed-git session config gains a REST mount base URL#

Governed-git session setup now also reads a REST mount base URL from the work item's config

Unclear What restMountBaseUrl is used for once threaded through is not stated in the evidence.

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

Session-state tracking gains goal-reprompt and interruption-streak fields#

Session state now tracks pending goal re-prompts and a streak of goal interruptions

Unclear What the reprompt and interruption-streak fields actually trigger in the session isn't shown, only that the state now tracks them.

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

New control-request schema members added to SDK request union#

Three new control-request message types added to the SDK's client-to-loop request schema

Unclear What the three new control request types represent or enable is not stated.

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

userWritable flag added to managed-settings parse-error#

Managed-settings parse errors now report whether the file is user-writable

Unclear What consumes this new field, or whether it changes any user-facing error message, is not stated.

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

Message-history schema gains attached_by field#

Message-history schema gains an optional attached_by: "server" field

Unclear What content or feature actually sets attached_by, and how it is used once present, is not stated.

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

Permission-mode bypass check consolidated into a shared helper#

Permission bypass-mode check consolidated into one shared helper across three call sites

Unclear The finding does not say what effect the moved isNonInteractiveSession check has in practice at either call site.

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

Device key file added to config-file enumeration#

A new .device-keys.json file is now tracked among Claude Code's config files

Unclear What the .device-keys.json file actually contains or is used for is not stated.

Details 0 0 Feedback
.device-keys.json
·Internal
Under the hood
Useful1 Signal1
Elsewhere no docs found unclear

New demo-mode flags for focus-request settling#

Demo mode now also settles focus requests when CLAUBBIT is set

Unclear What 'focus request settling' controls in practice, and what CLAUBBIT represents, are not explained in the finding.

Details 0 0 Feedback
CLAUBBIT
·Internal
Under the hood
Useful1 Signal1
Artifacts unclear

'foreign' flag added to synced content/asset schemas#

Synced content now carries a new 'foreign' flag alongside cowritten/typeLocked metadata

Unclear What determines whether content is marked 'foreign', and what consuming that flag changes, is not stated.

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

New 'authoredByOthers' cursor field for comment/thread listing#

Comment/thread listings gain a new 'authoredByOthers' field

Unclear What authoredByOthers actually represents or how it affects the listing shown to a user is not stated.

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

New telemetry/event identifiers added#

Several new internal event and telemetry names have been registered

Unclear What triggers each new event and what data it carries is not described in the finding.

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

New skill metadata fields: skillDir and bareNameReserved#

Skill definitions now track two new fields: skillDir and bareNameReserved

Unclear What skillDir and bareNameReserved are used for is not stated in the finding.

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

Auto/bypass-permissions plan-mode gating gains an extra condition#

Plan-mode bypass-permissions gating now checks one more condition before treating bypass mode as active

Unclear What the added condition (referred to only as a function call) actually checks is not identified.

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

decstbm terminal renderer gate check rewired (same flag, different guard functions)#

The check that enables scroll-region terminal rendering (DECSTBM) was rewired to new guard functions

Unclear The new guard functions are unnamed beyond minified identifiers, so what they specifically check is not established; nothing has been read yet about the tengu_marlin_porch gate for this release.

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

SendMessage inline handback gated by Kge()#

SendMessage tool result formatting gets a new path for inline handback content

Unclear What the new formatting looks like or why it was needed compared to the previous formatting is not stated.

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

New added-cost timestamp field on comment thread framing#

New readAtMs timestamp tracks when an artifact comment thread was last read

Unclear The finding does not confirm exactly how readAtMs is used, only that it is likely for staleness or elision decisions.

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

New edit-permission safety check category added#

Edit tool permission checks gained an additional safety category before falling back to normal rules

Unclear The finding doesn't say what condition the new check tests for or what decision it produces.

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

Remote-session commands' visibility gate simplified#

Remote-session commands now use a single visibility check instead of two combined checks

Unclear Whether the simplified check changes visibility outcomes in any real scenario, versus just consolidating the same logic, is not stated.

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

Skill-invocation cleanup helper renamed (likely no behavior change)#

A Skill-invocation cleanup helper was renamed internally, likely with no behavior change

Unclear The evidence only shows a renamed function call, so it's not fully certain there is no behavior change.

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

Minor rule-target pipeline wrapper (S312.0)#

An internal rule-target schema pipeline gained one extra wrapping layer

Unclear What the added wrapping function does and whether it changes any observable behavior around ruleTargetInput is not established.

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

Version/build metadata bump#

Claude Code's build metadata was bumped to version 2.1.269 for this release

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

Pointer-press tracking renamed to click tracking and made async#

Internal 'pointer press' tracking in the terminal UI was renamed to 'click' tracking and made asynchronous

Unclear The finding does not say what effect the deferred dispatch or the extra null argument has for a user.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal0
Plugin UI unclear

'asked surface' tracking removed from plugin pane run#

Plugin pane runs no longer mark a surface as 'asked' before handing off

Unclear What behavior or check relied on the 'asked' marker being set is not stated.

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

Subagent fork lookup drops the 'spawn' echo field#

Subagent fork lookup no longer returns the original spawn payload alongside the matched agent

Unclear What consumed the dropped spawn field, and whether its removal has any visible effect, is not stated.

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

isPasted field removed from keypress events#

The internal isPasted marker on keypress events has been removed

Unclear The finding does not say what, if anything, changes in observable behavior now that pasted input is no longer marked separately.

Details 0 0 Feedback
·Internal
Under the hood
Useful1 Signal0
Bash Tool unclear

Bash task delivery note no longer gated by an extra availability check#

The note about bash task results being delivered to Claude no longer depends on an extra availability check

Unclear What the removed Yk() check was verifying, and thus exactly which additional cases now show the note, is not established.

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

Model-parameter allowlist changed from array to Set#

Internal list of allowed API request fields switched from an array to a Set

Unclear The finding does not say where this allowlist is used or what request handling it affects.

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

Network-egress sandbox classifier gating simplified#

Sandbox network classifier's internal enable-check was simplified from several conditions to two

Unclear Whether this changes which sessions actually get the network classifier applied, or is purely an internal refactor, is not stated.

Details 0 0 Feedback
2 entries

Removedopen

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.269. 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 98 bullets, 14 name something an entry on this page also names, 19 name something no entry here does, and 65 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 claude plugin eval: run a plugin's eval suite against Claude Code and get scored, reproducible results (JSON + HTML report); see claude plugin eval --help Probably claude-plugin-eval-ga-text-and-its-server-side-kill-switch, plugin-eval-cli-help-text-expanded-with-sandboxingtrust-dis, claude-plugin-eval-gains-a-concurrency-flag, new-cli-flags-for-the-plugin-eval-command-trust-plugin-an, claude-plugin-eval-init-can-delegate-the-authoring-intervi, claude-plugin-eval-now-requires-explicit-trust-confirmatio, new-trust-gate-before-piloting-an-untrusted-plugin-directory, claude-plugin-eval-skips-auto-publishing-its-report-when-t, claude-plugin-eval-gains-allow-real-servers-and-concurre
  • Added /output-style [name] to list and switch output styles, including over Remote Control and in cloud and other headless sessions Probably output-style-now-checks-whether-the-caller-may-be-a-non-own, new-output-style-style-list-local-command
  • Added a diff of the files a Bash command changed to the Bash tool result when the Bash tool handles file edits (setting bashEditDiffEnabled) Probably new-basheditdiffenabled-setting-controls-bash-tool-file-chan, bash-tool-can-now-show-a-diff-of-files-it-edited
  • Added OTEL_METRICS_INCLUDE_REPOSITORY to tag OpenTelemetry metrics and events with vcs. repository attributes; commit events get vcs.ref.head. with OTEL_LOG_TOOL_DETAILS Probably opentelemetry-metrics-can-optionally-include-vcsrepository
  • Added CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS to extend the LLM gateway /v1/models discovery timeout (default 3s) Probably gateway-model-discovery-request-timeout-is-now-configurable
  • Added a spinner tip suggesting /focus for a view with just your prompt, a one-line work summary, and the response Probably new-onboarding-tip-advertises-a-focus-command-tied-to-an
  • Added CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS (1–256) to raise the Workflow tool's per-run concurrent agent limit for inference-bound fan-outs Probably workflow-orchestration-adds-a-configurable-concurrent-agent
  • Fixed the prompt cache being partially invalidated on the turn after a response was cut off at the output-token limit and automatically resumed Nothing to match on
  • Fixed a case where resuming a session after interrupting Claude mid-thought could change how earlier context was re-sent, hurting prompt-cache reuse Nothing to match on
  • Fixed F1/F2/F4 not working in kitty-protocol terminals and Delete in st, Alt+arrows acting as Escape in rxvt-unicode, and Shift+punctuation typing the unshifted key in WezTerm (regression in 2.1.247) Nothing to match on
  • Fixed remote and headless sessions reporting "waiting for your input" while background agents were still running (set CLAUDE_CODE_BG_TASKS_REPORT_RUNNING=0 to restore the old behavior) Probably background-tasks-report-running-flag-now-defaults-to-on
  • Fixed the terminal's replies to capability queries (^[[?1;2c) appearing as stray text at startup in some terminals No entry names this
  • Fixed rows at the top or bottom of the transcript going blank in fullscreen after resizing the terminal Nothing to match on
  • Fixed a deny or ask permission rule starting with ! applying beyond the settings source that wrote it; such a rule now applies only within its own source, and a bare ! negation is ignored Nothing to match on
  • Fixed the git status Claude is told after a compaction: it is now the current status, not the one from the start of the session Nothing to match on
  • Fixed synced plugin MCP servers not connecting when a remote session resumes Nothing to match on
  • Fixed resumed headless sessions losing a turn's replies when the model was switched or a request was retried mid-turn Nothing to match on
  • Fixed terminal escape codes, line breaks and oversized text from a background task's on-disk record reaching the task list and task notifications when work is resumed Nothing to match on
  • Fixed CMYK JPEG images failing to attach with "cannot decode"; they are now converted and resized like other JPEGs No entry names this
  • Fixed the managed settings approval dialog not naming the collector for a gRPC telemetry endpoint set without a scheme Nothing to match on
  • Fixed plugin headersHelper consent prompts showing a URL path that could be misread as a different host No entry names this
  • Fixed plugin errors showing [redacted URL] in place of a relative Windows path with a folder name that starts with @ No entry names this
  • Fixed missing cursor in the permission-rule, auto-mode-rule, add-directory, session-rename and feedback-review text fields when the terminal's native cursor is enabled Nothing to match on
  • Fixed repeated clicks on a /fork receipt, each under a second apart, never backgrounding the session right away while it waited for the current tool to finish No entry names this
  • Fixed plugin LSP servers that reject shutdown params (e.g. rust-analyzer) being left running at session end; exit is now sent even if shutdown fails Nothing to match on
  • Fixed the attribution reminder overriding a CLAUDE.md or memory rule against commit and pull request attribution; lines set by managed settings still apply Nothing to match on
  • Fixed prompt suggestions being dropped for text in Japanese, Chinese, Thai and other languages written without spaces between words Nothing to match on
  • Fixed synchronized output being assumed from the terminal's name in GNOME Terminal and Konsole versions that do not support it Nothing to match on
  • Fixed permission_denials in --output-format stream-json results omitting Read, Edit and Write calls blocked by a path-scoped deny rule No entry names this
  • Fixed sessions run through the SDK or the desktop app showing an unknown status in other sessions' agent list Nothing to match on
  • Fixed /insights failing on Bedrock, Vertex, Foundry, and gateway deployments whose account can't reach the default Opus model by using the session model there instead No entry names this
  • Fixed organization policy limits not loading for the session when another Claude Code process refreshed the login at the same moment Nothing to match on
  • Fixed Claude Desktop sessions using Bedrock, Vertex, or a gateway not getting the contextual "what Claude needs" turn-end notification text No entry names this
  • Fixed MCP servers reconnecting when an updated config only changed the order of the server URL's query parameters Nothing to match on
  • Fixed the prompt box's top border splitting into extra lines when viewing a background agent whose name or description has line breaks or is wider than the terminal Nothing to match on
  • Fixed sessions getting permanently stuck on "Prompt is too long" when auto-compaction had no complete earlier exchange to summarize (mostly Agent SDK sessions with very large prompts) No entry names this
  • Fixed /goal runs silently stalling after API errors, network drops, or token limits: the goal now retries with backoff, or pauses and says why, including until a usage limit resets Probably new-structured-pauseretrystop-classification-for-autonomou
  • Fixed prompt cache misses in cloud sessions by waiting briefly for server configuration before the first request Nothing to match on
  • Fixed /btw answers that contained made-up tool calls and output: the side question is now told not to write them, and any that appear are flagged as not executed No entry names this
  • Fixed CLAUDE_CODE_RESUME_INTERRUPTED_TURN re-running a turn that had failed with an API error over 6 hours earlier, or longer ago than CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS when set Probably interrupted-turn-resume-staleness-window-is-now-configurab
  • Fixed organization plugins enabled through managed settings not loading in headless sessions and on Claude Desktop (once Desktop bundles this CLI version); they load from the next session Nothing to match on
  • Fixed plugin archives extracted for a session being readable by other local users, extracted files keeping world-writable bits from the archive, and stale files surviving re-extraction Nothing to match on
  • Fixed Edit() deny rules and the write-path check not applying to the file a Bash tee command writes; a Bash(tee:*) allow rule no longer covers destinations outside the working directories No entry names this
  • Fixed stray characters like 22c, or a terminal's color or version reply, being typed into the prompt at startup over slow connections (ssh, browser terminals) No entry names this
  • Fixed the terminal's block cursor showing under the interface in rxvt-unicode after leaving or re-entering fullscreen Nothing to match on
  • Fixed the cursor block staying visible after returning from an external editor in fullscreen mode on rxvt-unicode Nothing to match on
  • Fixed the interface being drawn twice after returning from an external editor (Ctrl+G) outside fullscreen mode Nothing to match on
  • Fixed the interface being drawn twice in Konsole after returning from an external editor Nothing to match on
  • Windows: Fixed PowerShell tool commands sent to the background stopping when Claude Code exits Nothing to match on
  • Improved the /diff panel to open fully rendered in one step instead of showing a loading state first Probably new-basheditdiff-snapshotdiff-tracking-system-for-the-bas
  • Improved prompt suggestion filtering for Japanese, Chinese and Korean text: mixed-script and single-word suggestions are kept, and meta or evaluative text is dropped as it is for English Nothing to match on
  • Improved the Skill tool's "Unknown skill" error to name the plugin skill's full name when a bare name matches exactly one plugin skill No entry names this
  • Improved keyboard support over SSH and in unrecognized terminals: terminals that answer the kitty keyboard query (such as foot and Alacritty 0.16+) now get Shift+Enter and Ctrl+Shift shortcuts Nothing to match on
  • Improved responsiveness in long sessions: transcript updates no longer re-process the whole conversation to build the collapsed tool-use summaries Nothing to match on
  • Improved first-party sessions with telemetry disabled: an alwaysLoad MCP server that finishes connecting mid-conversation is usable on the next turn without a tool-search round trip No entry names this
  • Changed /ultrareview --post to post the PR comment directly when the findings arrive and print the comment link, instead of starting a second cloud session to post it Probably claude-code-can-now-post-code-review-findings-as-a-pr-commen
  • Changed artifact database reads that save into the session scratchpad so they no longer stop for working-folder approval Nothing to match on
  • Changed skills synced from claude.ai in cloud sessions to be named anthropic-skills:<name>, matching Claude Desktop; the bare name still works when nothing else uses it Probably synced-skills-now-get-namespaced-under-an-anthropic-skills, skills-now-addressable-via-an-anthropic-skills-uri-scheme
  • [VSCode] Added an agent map: an "N agents" footer pill opens a map of the session's sub-agents with per-agent cards, Stop agent, and read-only transcripts No entry names this
  • [VSCode] Added a Hooks dialog to the command menu for viewing hooks and adding, editing, or removing them in user, project, and local settings; managed, plugin, and session hooks stay read-only Nothing to match on
  • [VSCode] Added live progress rows for running subagents under the tool-call groups in Focus view Nothing to match on
  • [VSCode] Added a Permission rules dialog that lists permission rules and adds or removes them in user, project, and local settings; startup-option, session-only, and managed rules stay read-only Nothing to match on
  • [VSCode] Added a Cancel button to the Switch account screen that returns to your session as the current account Nothing to match on
  • [VSCode] Fixed Focus view showing a turn started by a delivered plain-text prompt, such as a scheduled task's, as part of the previous turn Nothing to match on
  • [VSCode] Fixed the footer's prompt cache clock hiding its minutes when the panel is narrow Nothing to match on
  • [VSCode] Fixed the session list keeping sessions from the default folder when CLAUDE_CONFIG_DIR is set in a settings file or the environmentVariables setting No entry names this
  • [VSCode] Fixed a plan preview that finished loading late sometimes hiding its comment box or showing an older plan Nothing to match on
  • [VSCode] Fixed a plan preview accepting comments that went nowhere after its Claude tab closed Nothing to match on
  • [VSCode] Fixed the prompt cache clock and reopen notice for a session compacted after its last reply and then closed, which now reads as cold when reopened Nothing to match on
  • [VSCode] Fixed a session renamed in the extension while Remote Control is on keeping its old name on claude.ai/code Nothing to match on
  • [VSCode] Fixed the "Enable Remote Control for all sessions" toggle keeping its last position after the setting was reset to default from a terminal No entry names this
  • [VSCode] Fixed restored Claude tabs not counting as open in the session list after a window reload until clicked, and their row opening a second tab Nothing to match on
  • [VSCode] Fixed Switch account making a tab forget its dismissed usage-limit warnings when you sign back in as the same account Nothing to match on
  • [VSCode] Fixed a session rename being replaced by the generated name after a window reload when the session was renamed during a long turn Nothing to match on
  • [VSCode] Fixed the sidebar usage meter keeping a stale per-model weekly limit row after the account loses that limit Nothing to match on
  • [VSCode] Fixed a rare case where an @-mention sent with the keyboard shortcut while a new chat view was still starting could be inserted into the input long after the keystroke Nothing to match on
  • [VSCode] Fixed the session list jumping down when the Account & usage header appeared a moment after opening the Claude side bar Nothing to match on
  • [VSCode] Improved documents and messages written for someone other than the user: Claude now writes them for that audience and names it at the top of its reply Nothing to match on
  • [VSCode] Improved screen reader and keyboard accessibility in the slash-command menu, @-mention menu, output-style picker, Send/Stop button, permission and question cards, and onboarding checklist Nothing to match on
  • [VSCode] Changed the current-file chip in the message box: an X now removes it, replacing the Hide toggle Nothing to match on
  • [VSCode] Removed the Claude Code items from a session tab's right-click menu and the editor title bar's "..." menu; they could not act on the tab the menu was opened on Nothing to match on
  • [Claude Code on the web] Added taking back a queued message in a cloud session before Claude reads it: remove it from the queue, or press Esc or Up, and the text returns to the message box Nothing to match on
  • [Claude Code on the web] Fixed /model default in a cloud session leaving every later message failing in organizations that restrict which models Claude Code can use Probably subagenttask-launch-pipeline-agent-tool-substantially-rew, gateway-model-discovery-request-timeout-is-now-configurable
  • [Claude Code on the web] Fixed one-off scheduled routines occasionally running a second time after a transient server error Nothing to match on
  • [Claude Code on the web] Fixed routine runs that use subagents sometimes being treated as finished too early, which could skip the retry after a real failure or start a duplicate run Nothing to match on
  • [Claude Code on the web] Fixed file links in cloud session transcripts opening a GitHub 404 when Claude was working from a subfolder of the repository Nothing to match on
  • [Claude Code on the web] Changed the Cloud environments admin page to list every environment instead of capping each table at five rows behind a Show more control that could be unreachable Nothing to match on
  • [Claude Code on the web] Changed claude.ai/code for Free-plan users to open the plans page with a path to upgrade, instead of a "Disabled by org admin" page with no way forward No entry names this
  • [Claude Tag] Added a confirmation dialog before Connect all or Disconnect on a GitHub installation in admin settings, to guard against accidental organization-wide changes Nothing to match on
  • [Claude Tag] Fixed threads occasionally going silent after a failed turn because the failure notice was dropped when Slack briefly rate-limited it; the notice is now retried Nothing to match on
  • [Claude Tag] Fixed Claude accepting a switch to a model your organization hasn't enabled and then quietly answering with a fallback model; it now declines and says an admin can enable it Nothing to match on
  • [Claude Tag] Fixed a table posting as raw pipe text when Claude attached files to the same message; the table now posts as a normal reply and the files follow with a plain caption Nothing to match on
  • [Claude Tag] Fixed @Claude !restart at the top level of a channel where Claude isn't active starting an unrelated conversation; it now privately says there is nothing to restart No entry names this
  • [Claude Tag] Fixed plugin rows in Slack access settings showing an unlabeled raw ID with no way to turn the plugin off; they now show its name and link to the bundle that manages it Nothing to match on
  • [Claude Tag] Fixed the shared-session banner and Share dialog on sessions started from Slack claiming the whole organization could open the link; they now name the Slack channel's audience Nothing to match on
  • [Claude Tag] Improved load time of the admin settings page and its Slack channel picker, most noticeably for organizations with many channels or several connected workspaces Nothing to match on
  • [Claude Tag] Improved scheduled routines in Slack channels: a routine run can now reply in an existing thread instead of always posting a new top-level channel message Nothing to match on
  • [Claude Tag] Improved the timestamp on Claude's live progress checklists to show each reader's local time and how long ago it was updated, instead of a fixed UTC time Nothing to match on
System prompt

The appended system-reminder blocks moved: 1 line added, 1 line removed.

Claude Code, interactive mode

No prompt capture for v2.1.269, so this release's prompt surface is unknown.

Documentation

What the docs did around this release

810 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 95 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