Claude Code 2.1.274
108changes- Add Memory and Instructions entries to the VS Code Customize menu.
- Add a branch picker to diff a cloud session against any branch.
- Add an environment variable to bound the first-turn MCP startup wait.
- Continue a step interrupted by a VS Code window reload.
- Stop background commands only when memory is critically low.
New features
13[VSCode] Manage memory and instructions
Added Memory and Instructions entries to the Customize menu: Memory shows the auto-memory toggles, the saved memories and the memory folders, and Instructions edits the CLAUDE.md files
[Claude Code on the web] Diff against any branch
Added a "Compare against" branch picker to a cloud session's diff view, so you can diff its changes against any branch instead of only the base branch
▤ In the docsLimit MCP server startup wait
Added CLAUDE_CODE_MCP_STARTUP_WAIT_MS to bound how long the first non-interactive turn waits for connecting MCP servers (0 = don't wait)
[VSCode] Continue after a window reload
Added continuation of the step a window reload interrupted, labeled in the chat, with a Claude Code: Continue After Reload setting to turn it off
More changes (9) Fewer changes
Warn when memory is critical
Added a visible warning when memory usage is critical, with steps to free memory or restart safely
▤ In the docsAdd effort to LLM request traces
Added effort attribute to the claude_code.llm_request OpenTelemetry trace span, matching the api_request event
Add managed settings OTel event
Added claude_code.managed_settings_resolved OTel event: managed-settings sources and policy helper state; redacted settings and digests with OTEL_LOG_MANAGED_SETTINGS=1
Configure gateway Postgres connect timeout
Added store.connect_timeout_seconds to the Claude apps gateway config to lengthen the Postgres connect timeout (default 5 seconds), and improved the boot error when the database is unreachable to point to store.postgres_url and the configured timeout
Add IdP subject to gateway telemetry
Added enduser.sub, the IdP subject, to the telemetry Claude Desktop and Cowork send through a Claude apps gateway
Warn on gateway replica overload
Added a Claude apps gateway warning when a replica has more requests open than the 256 it sends upstream at once, and a startup log line showing that limit
Expand collapsed teammate messages
Added click-to-expand for collapsed teammate and agent messages in fullscreen mode
[VSCode] Disable editor group locking
Added a claudeCode.lockEditorGroups setting to stop Claude from locking the editor groups it opens in
▤ In the docs[Claude Tag] Set guest access when adding channels
Added a Guests setting to the Add channel and Add workspace forms in Claude Tag admin settings, so owners can pick Inherit, Allow, Channel only or Restrict up front
Improvements
23All changes (23) Fewer changes
Skip MCP wait in stream-json sessions
Improved startup in --input-format stream-json sessions: the first turn no longer waits up to 2s for still-connecting MCP servers whose tools tool search defers; they arrive on a later turn
Combine Monitor exit notifications
Improved Monitor tool notifications: a script's final output and its exit now arrive as one notification instead of two, saving a model turn
Clarify sign-out Artifact errors
Improved Artifact tool errors: when you are not signed in to claude.ai the terminal now says so on the first attempt, and Claude is told to stop retrying a rejected call sooner
Block stale artifact publishes early
Improved artifact publishing: a publish built on an older version is stopped before it is sent, with the newer page to merge
Check submodules before worktree removal
Improved safety checks before removing an agent worktree that contains submodule checkouts
Link raw API bodies to requests
Improved OTEL_LOG_RAW_API_BODIES=file:<dir> output: a new index.jsonl and request_body_id / message.id event attributes link each response to its request file and transcript message
▤ In the docsRetry the first gateway DB connection
Improved Claude apps gateway boot: it now tries the first Postgres connection up to three times before exiting, so a database that is reachable a few seconds late no longer fails the boot
Speed up gateway spend-limit checks
Improved the Claude apps gateway's spend-limit check under load: it now takes one database round trip instead of four, so fewer checks time out on a busy gateway
Explain gateway sign-in rate limits
Improved Claude apps gateway sign-in rate limit errors: /login now explains the refusal, and the gateway log says which limit was hit and which setting to change
Default to the v2 MCP client
Changed Bedrock, Vertex, Foundry and telemetry-disabled installs to use the v2 MCP client and MCP 2026-07-28 negotiation with direct HTTP servers by default, as other installs already do (opt out: MCP_SDK_GENERATION=v1 or MCP_PROTOCOL_NEGOTIATION=legacy)
Use leaner /code-review prompts
Changed /code-review to use leaner inline review prompts for every model that has no tuned settings of its own, instead of spawning many review subagents
Skip invalid sdk-type MCP entries
Changed "type": "sdk" MCP entries in .mcp.json, settings, plugins and agent files to be skipped with a warning: only an SDK host application can register in-process servers
Stop artifact updates from starting turns
Changed artifact watching in local sessions: a new version published elsewhere no longer starts a turn; Claude learns of it from a later Artifact tool result
Skip downloading plugin LFS files
Changed plugin and marketplace clones to leave Git LFS files as pointers instead of downloading them; git lfs pull in the checkout fetches them
Skip refused read-only repos on runners
Changed self-hosted runners to skip a read-only repository the git host refuses at the access check instead of failing the session start
Rename Claude Code on the web
Changed the /status GitHub line to read "Cloud sessions", and /web-setup, /ultrareview, and teleport messages to say "cloud session" instead of "Claude Code on the web"
[VSCode] Improve screen reader navigation
Improved screen reader navigation of the conversation: each message is announced as "You" or "Claude", with the tool name for tool steps
[VSCode] Honor XDG_CONFIG_HOME for gitignore
Changed the default global gitignore file to $XDG_CONFIG_HOME/git/ignore when XDG_CONFIG_HOME is an absolute path
[Claude Code on the web] Retry routines before disabling
Changed routines to skip a run and retry for up to 72 hours when the owner's GitHub connection is missing, instead of switching the routine off at the first failed check
▤ In the docs[Claude Code on the web] Clarify paused-subscription notices
Changed a routine's on-hold notice: when your subscription is paused it now tells you to turn the routine back on yourself instead of promising an automatic resume
[Claude Tag] Cap and pace progress checklists
Improved Claude's live progress checklist in Slack: capped at 2,000 characters, reposted at most every 15 minutes in busy threads, with older "Latest task list" links updated
[Code Review] Write clearer finding summaries
Improved how Code Review words each posted finding: short plain sentences that say who is affected, where the code goes wrong, and the fix up front
[Code Review] Link admin pages for skipped reviews
Improved the check-run card and PR comment when a review is skipped because of an organization limit: each cause now links the admin page that fixes it
Bug fixes
71Compact again after a reactive compaction
Fixed hook-driven sessions (such as an active /goal) ending with "Prompt is too long" instead of compacting when the context overflowed again after a reactive compaction
Skip shell reload after plugin reloads
Fixed the Bash tool re-sourcing the shell profile (a multi-second stall on the next command) after every plugin reload; it now does so only when the plugins' bin/ directories changed
Stop only critically low-memory commands
Fixed background commands being stopped after 30 idle minutes on machines under mild memory pressure; they're now stopped only when memory is critically low, and the debug log says why
[VSCode] Prevent settings write corruption
Fixed overlapping settings writes from the extension leaving ~/.claude/settings.json unparseable or dropping a setting
Require approval for special-variable commands
Fixed Bash permission checks for commands that loop over or assign certain special shell variables; these commands now ask for permission
Refuse nested shell expansions in worktrees
Fixed worktree-isolated sessions accepting Bash commands with certain nested shell expansions; these are now refused
More changes (65) Fewer changes
Stop endless tool_use_id retry loops
Fixed sessions getting stuck endlessly retrying "unexpected tool_use_id" 400 errors: corrupted transcripts now self-heal where possible, and otherwise a clear error (with a /rewind hint) ends the loop
Connect to legacy SSE MCP servers
Fixed MCP servers configured as http that only speak legacy HTTP+SSE failing to connect when they answer the first request with 422 or another 4xx error
Honor longer MCP tool timeouts
Fixed Streamable HTTP MCP tool calls timing out after about 5 minutes even when a longer per-server timeout was set
Refresh MCP prompts without listChanged
Fixed MCP prompts and resources not refreshing when a server sends list-changed notifications without declaring listChanged
Clarify MCP insufficient-scope errors
Fixed MCP tool calls refused with 403 insufficient_scope being reported as an expired sign-in: the error now names the missing permissions and points to /mcp re-authentication
Preserve /goal across resume
Fixed an active /goal being lost when resuming (--continue / --resume) a session that had compacted
Preserve claude agents flags on relaunch
Fixed claude agents losing --model, --effort, --permission-mode, --allow-dangerously-skip-permissions and --agent after an auto-update relaunch
Faster turns with many diagnostics
Fixed a per-turn slowdown when a language server publishes project-wide diagnostics for thousands of files
Keep opus subagents on the session model
Fixed subagents with model: "opus" on Bedrock, Vertex or Foundry leaving the session's model when its id has no recognizable model family (unless ANTHROPIC_DEFAULT_OPUS_MODEL is set)
Retry self-hosted runner token refresh
Fixed self-hosted runner sessions failing every turn with a 401 after a few failed token refreshes, until the next scheduled refresh; the runner now keeps retrying, and fetches a new token after a 401
Open local file path links
Fixed clickable links to local file paths doing nothing in VS Code and other terminals that require a file:// URI
Keep typed list numbers as typed
Fixed the transcript renumbering ordered lists in your own messages (typing "3. 2. 1." displayed "3. 4. 5."); numbers and "N)" markers now show as typed
Attach preview notes to the right option
Fixed AskUserQuestion preview notes being attached to a previously chosen option instead of the highlighted one
Keep highlighted option on Enter
Fixed AskUserQuestion preview mode dropping the highlighted option when submitting a note with Enter
Resume interrupted tool batches fully
Fixed a resumed background agent keeping half of an interrupted tool batch when one of its calls was approved with a message
Report unfinished background tasks on resume
Fixed a local claude -p --resume started with CLAUDE_CODE_RESUME_INTERRUPTED_TURN not reporting background tasks the previous process left unfinished
Include still-connecting MCP tools
Fixed the first turn of a cloud session sometimes starting without the tools of an SDK-hosted MCP server that was still connecting
Correct background agent status notifications
Fixed background agent notifications claiming the agent had no live background work when it was still waiting on its own background task and would resume
Suggest slash commands in Desktop hints
Fixed error hints in Claude Desktop sessions to suggest slash commands like /usage-credits instead of CLI flags that cannot be used there
Preserve message role in saved routines
Fixed /schedule saving a routine's prompt without its message role when Claude writes the routine in the shape that listing routines returns
Show apiKeyHelper failures in /status
Fixed /status not showing the apiKeyHelper failure that its own error banner told you to check
Explain managed fast mode refusals
Fixed /fast on in non-interactive sessions reporting on and then turning off under an organization's managed fast mode policy; it now says the organization has disabled it
Skip approval for refused artifact updates
Fixed the Artifact tool asking you to approve an update to an artifact that it then refused because the session had not read the latest version
Read teammate artifacts with network on
Fixed Cowork and claude.ai cloud sessions with network access on treating reads of a teammate's artifact as if network access were off
Isolate plugin version from parent repo
Fixed a plugin or marketplace directory with no git repository of its own taking its version from an enclosing git repository, such as a git-managed ~/.claude
Skip MCP wait with empty strict config
Fixed --strict-mcp-config with an empty --mcp-config holding the first non-interactive turn for up to MCP_TIMEOUT on incidental MCP servers
Shorten repeated Stop hook prompts
Fixed Stop prompt hooks re-sending their whole prompt on every block in a conversation; repeat blocks now name the condition with a 500-character label
Stop extra windows on Wayland startup
Fixed extra empty editor windows opening at startup on Linux under Wayland when running inside the Cursor or VS Code terminal
Handle gateway Postgres disconnects
Fixed an unhandled promise rejection in the Claude apps gateway when Postgres drops a connection during a spend check
Drain gateway requests on shutdown
Fixed Claude apps gateway cutting every open stream on SIGTERM: it now lets in-flight requests finish for up to 25 seconds before exiting (CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS)
Avoid unnecessary plugin config rewrites
Fixed installed_plugins.json being rewritten on nearly every start-up when plugin policy comes from remote managed settings, which made Claude Desktop reload every open session's plugins
Batch background task completions
Fixed headless and SDK sessions making a separate model call for every background task that finished; completions already queued are now answered by one call
Allow $schema in hooks.json
Fixed plugins with a top-level $schema in hooks/hooks.json showing an "unknown key" notice
Hide resolved secrets in MCP errors
Fixed MCP connection errors and the MCP login tool's description showing secrets resolved from ${VAR} placeholders in MCP configs
Match Edit preview to the approved location
Fixed the Edit permission prompt preview sometimes showing a different location than the approved edit in files with multi-byte characters
Preserve subagent messages after relaunch
Fixed a message a subagent sends to the main session disappearing from the Claude Desktop transcript after a relaunch
Avoid stale zip plugin extractions
Fixed a plugin loaded from a .zip being served from a stale extraction after several overlapping reloads
Keep progress summaries concise
Fixed a sub-agent's progress summary being replaced by a runaway multi-paragraph reply
[VSCode] Separate /btw session history
Fixed a /btw side question asked in a new conversation's first seconds occasionally showing another session's side-question history
[VSCode] Avoid a gitignore lookup freeze
Fixed a brief freeze when the extension first looks up your global gitignore file
[VSCode] Preserve messages sent during tool runs
Fixed a message sent while Claude was running a tool disappearing from the conversation after a window reload
[VSCode] Reach plugin and MCP rows by keyboard
Fixed the Manage Plugins enable toggle and MCP servers dialog rows being unreachable from the keyboard
[VSCode] Reflect terminal sign-ins sooner
Fixed sign-ins and sign-outs made in a terminal not showing until a reload after CLAUDE_CONFIG_DIR changed in the Environment Variables setting
[VSCode] Fit Edit diff boxes to content
Fixed Edit diffs in the chat being cut off at the bottom at some panel widths and for long wrapped lines; diff boxes now fit the rows shown
[VSCode] Focus new tabs automatically
Fixed Open in New Tab (Ctrl/Cmd+Shift+Esc) sometimes leaving the new tab's message box unfocused, so typing went nowhere until you clicked it
[VSCode] Keep layout stable when reopening tabs
Fixed reopening a closed Claude tab splitting the editor layout when its locked group still holds another Claude tab and a file
[VSCode] Keep New session in one group
Fixed New session opening another locked editor group whenever a file tab shared the group with your Claude tab
[VSCode] Stabilize session picker names
Fixed session names shifting sideways in the session picker while typing a search query
[VSCode] Scroll long plan review comments
Fixed the plan review card cutting off its Send feedback button and reason field when a plan has several comments; the comment list now scrolls
[VSCode] Fix code readability in High Contrast
Fixed inline code and code blocks in chat replies being unreadable under the High Contrast themes
[Claude Code on the web] Retry git on token renewal errors
Fixed git operations in cloud sessions failing with "service unavailable" when GitHub's token renewal briefly errors
[Claude Code on the web] Fix routine edits misfiring
Fixed editing a routine occasionally making it fire twice or re-enabling a routine that had just been paused
[Claude Code on the web] Fix commit signing after refresh
Fixed commits in cloud sessions occasionally failing with a signing error for a few minutes after the session's credentials refreshed
[Claude Code on the web] Explain routine trigger failures
Fixed the toast after saving a routine whose GitHub trigger couldn't be linked to show the reason, such as a per-repository trigger limit, instead of only "edit to retry"
[Claude Code on the web] Keep sessions marked read
Fixed sessions sometimes flipping back to unread right after you mark them read
[Claude Tag] Reply to bot @mentions
Fixed Claude not answering when another Slack app or bot @mentions it; the tag now gets a reply and wakes Claude in a channel it had stopped following after days of inactivity
[Claude Tag] Deliver mentions right after channel creation
Fixed Claude missing another app's message that tagged @Claude right after a new Slack channel was created; it's now delivered once Claude has joined
[Claude Tag] Post late updates as new replies
Fixed Claude folding a follow-up sent minutes after its last Slack message into it as a silent edit; late updates such as blockers now post as a new reply that notifies
[Claude Tag] Fix single-channel Slack search
Fixed Claude's Slack search failing with an error whenever it searched within a single channel; it now returns that channel's matching messages
[Claude Tag] Announce safety-filter stops
Fixed a safety-filter stop silently resetting a Slack thread's context when nobody was waiting; Claude now always says so and no longer cancels background work still running
[Claude Tag] Hide mailto prefixes in replies
Fixed email addresses in Claude's Slack replies rendering with a visible mailto: prefix; they now show as the plain, clickable address
[Claude Tag] Watch org-wide Enterprise Grid channels
Fixed Claude refusing to watch an Enterprise Grid channel shared with the whole organization when asked from another workspace in the grid
[Claude Tag] Show names for archived environments
Fixed the Environment picker in Claude Tag admin settings showing a raw environment ID instead of the environment's name for archived or app-created environments
[Code Review] Close resolved finding threads
Fixed re-reviews occasionally leaving a fixed finding's thread open when the new review also filed a lower-severity note under it
[Code Review] Retry on transient launch failures
Fixed rare reviews ending with "Code review encountered an error" when GitHub or an internal service failed transiently at launch; they now wait and retry