Claude Code 2.1.261
67changes- Add /skill-doctor to identify unused skills and their context cost.
- Configure inline command and task output limits up to 128K characters.
- Load subagent system prompts from a file.
- Avoid repeated layout checks while streaming.
- Detect more dangerous rm command patterns.
New features
9Find unused skills with /skill-doctor
See which loaded skills are unused and how much context they consume.
Configure inline command output limits
Raise inline command and background-task output limits to 128K characters before output is saved to a file.
Load subagent prompts from a file
Load a subagent system prompt from a file when it is too large for the command line.
Explain organization policy load failures
See why organization policy failed to load in /status and claude doctor.
[VSCode] Add and remove MCP servers
Add or remove MCP servers directly from the VS Code MCP servers dialog.
More changes (4) Fewer changes
[VSCode] Create custom output styles
Added a "Build a custom style" walkthrough to the Output styles menu that writes a custom output style file and lists it right away
[VSCode] Mark sessions open elsewhere
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
[VSCode] Fold permission and question prompts
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
[VSCode] Archive from the session menu
Added "Archive session" to the session list's right-click menu and gave Unarchive its own icon
Improvements
11Faster streaming layout
Streaming skips repeated layout checks for blocks that have already rendered.
Broader dangerous-rm detection
Dangerous-rm prompts now also catch rm -rf on positional parameters and inside double-quoted sh -c scripts.
More changes (9) Fewer changes
Show recognizable model names
Recognized models show readable names instead of provider IDs in /model and the VS Code model pill.
Faster Vertex AI startup
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
Configurable no-response retry timeout
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
Clearer gateway 403 messages
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
Honor gateway-only sign-in policies
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
Approval for public diagram uploads
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
Bash-style word editing shortcuts
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
Local fallback for context token counts
Changed /context token counting to use a local estimate when the token-counting API is unavailable, instead of extra small-model requests
[VSCode] One flat model list
Changed the model picker to one flat list of every model, with rows kept for older model spellings listed last
Bug fixes
47More changes (46) Fewer changes
Preserve fast input and paste order
Fixed typed or pasted characters occasionally landing out of order or being dropped during fast input or key repeat
Subdirectories on /net automounts
Fixed /add-dir <subdirectory> printing a false "couldn't be resolved" error when the working directory is on a /net automount
Bedrock setup timeouts and TLS proxies
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
Preserve synced cloud plugins
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
Delete text before image chips
Fixed being unable to delete the character immediately before an inline [Image #N] chip in the prompt input
Keep Remote Control permission modes current
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
Clear stopped Remote Control activity
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
Stop immediately after the first prompt
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
Keep teleported sessions separate
Fixed Remote Control uploading a session pulled with /teleport into the connected session, which appeared appended to the original on phone and web
Remote Control behind Windows TLS proxies
Fixed Remote Control's inbound event stream failing behind TLS-inspecting corporate proxies on native Windows
Show configured Remote Control effort
Fixed Remote Control sessions showing the default effort level on claude.ai when the effort comes from settings
Avoid unnecessary Google sign-in windows
Fixed gcpAuthRefresh opening a browser at startup when the Google credential check was slow, even though the credential was still valid
Retry missing claude.ai connectors
Fixed claude.ai connectors staying absent for the whole session when the startup connector fetch timed out — the CLI now retries in the background
Background agent retry CPU usage
Fixed sustained high CPU usage when a background agent could not be resumed and its wake-up was retried in a tight loop
Apply feature flags to the correct version
Fixed feature flags gated to a newer version occasionally applying to an older Claude Code version running on the same machine
Preserve model-specific weekly limits
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
Replace malformed resumed session IDs
Fixed claude -p --resume <file> adopting a malformed session ID recorded in the transcript; it now resumes under a fresh session ID instead
Track background work in terminal progress
Fixed the terminal progress indicator (iTerm2, Ghostty, ConEmu) showing the session as finished while a background workflow or agent was still running
Correct heights after layout direction changes
Fixed a rare layout glitch where a box could render with the wrong height after its container switched between row and column direction
Parse gateway client IP addresses
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
Match Desktop OpenTelemetry formats
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
Show artifact watchers as idle
Fixed Desktop and web showing a session as busy while it only watches an artifact for updates
Chrome file uploads in local Cowork
Fixed Claude in Chrome file_upload failing with "paths: expected array, received undefined" in local Cowork sessions run from the Claude Desktop app
Report queued offline messages
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
Recognize background plugin install hints
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
Avoid repeated teammate announcements
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
[VSCode] Preserve interrupted cloud questions
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
[VSCode] Prefill restored session names
Fixed the session tab's Rename box opening empty for a tab restored with the window; it now starts with the current name
[VSCode] Preserve collapsed session sections
Fixed collapsed sections in the session list panel briefly showing expanded each time the panel loaded
[VSCode] Update tool status in Focus view
Fixed Focus view showing a tool call as still running after Claude had moved on, such as while a question waited for your answer
[VSCode] Keep active session highlights current
Fixed the session list's active-row highlight going stale when an unfocused Claude tab's session ID is corrected
[VSCode] Reopen tabs in the Claude group
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
[VSCode] Move sessions between groups
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
[VSCode] Remove disabled models promptly
Fixed the model picker showing models an organization has since disabled until the window was reloaded twice
[VSCode] Restore tabs after view reloads
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
[VSCode] Preserve /btw question history
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
[VSCode] Restore pending questions
Fixed the pending question card not reappearing after the Claude panel reloads when signed in with a Claude.ai or Console account
[VSCode] Update provider-specific features
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
[VSCode] Honor Disable Login Prompt
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
[VSCode] Reset queued permission prompts
Fixed the next queued permission prompt keeping text typed on the previous prompt and accepting an immediate second click
[VSCode] Open plugin installation dialogs
Fixed install-plugin links opening the Claude sidebar without the install dialog in a window where only the session list had been shown
[VSCode] Show usage in new windows
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
[VSCode] Preserve new session groups
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
[VSCode] Correct unread badges and grouping
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
[VSCode] Sync Remote Control across windows
Fixed "Enable Remote Control for all sessions" so flipping it also applies right away to sessions open in other VS Code windows
[VSCode] Correct the Open session filter
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