Skill diagnostic command introduced to spot unused skills and context consumption
When you load various skills into Claude, conversation context capacity can quickly become strained. Simply typing /skill-doctor now displays which of all currently loaded skills have never been invoked, as well as how many tokens each consumes. Once you discover extensions sitting unused while eating up capacity, you can prune them based on the diagnostic results to free up room for important conversations.
FEATURE
Command output limit raised to 128K, supporting subagent prompt loading from files
When running large builds or querying lengthy logs, terminal output is often truncated and saved to an external file because it exceeds the default length. Now, by adding bashOutputMaxChars or taskOutputMaxChars to your configuration file, you can raise the inline character limit for terminal commands and background tasks returned directly to Claude, supporting up to 128K characters:
Additionally, when a system prompt assigned to a subagent is too large to fit on a single command line, you can use --append-subagent-system-prompt-file <path> to load it directly from a file.
BUGFIX
Terminal input experience revamped, aligning with Bash shortcuts and fixing dropped characters
The text input and editing experience in the terminal has received a batch of fixes. Characters no longer occasionally drop or swap order when typing rapidly, holding down a key to repeat input, or pasting text blocks. The character immediately preceding an inline [Image #N] image chip in the input box can now also be smoothly removed using the Backspace key. Meanwhile, word navigation and deletion shortcuts in the prompt input fully align with Bash behavior: pressing Ctrl+W deletes backward to the previous whitespace, Alt+F and Alt+D stop precisely at word endings, punctuation is treated as a word boundary, and the legacy keybindingFlavor setting no longer has any effect.
For high-risk deletion commands, the dangerous-rm safety prompt has expanded its interception scope: a confirmation prompt now reliably pops up even if rm -rf is inside a double-quoted sh -c script or involves positional parameters. If a link packages content into the URL of a public diagram rendering site, auto mode treats it as an upload to that site and will no longer auto-approve it unless you explicitly requested it.
BUGFIX
Remote Control sync fixes: accurate status displays and offline queue updates
When using Remote Control from a phone or browser, multiple cross-device status synchronization issues have been thoroughly resolved. Switching permission modes in the terminal or attaching to a terminal session from a mobile device no longer displays a stale permission status. After stopping a run or executing a /clear command from a phone, buttons and loading spinners now reset immediately instead of remaining stuck in a busy state. Sessions pulled via /teleport are no longer redundantly appended to cloud conversation history, and custom effort levels now reflect correctly on the web. Event streaming under Windows enterprise proxy environments has been fixed, and sending SendMessage to a session on an offline machine now clearly informs you that the message is queued awaiting reconnection.
FEATURE
Enterprise gateway management enhanced with clearer organization policy diagnostics and login rules
/status and claude doctor add an Organization policy line that marks the reason when proxy blocking causes policy loading to fail. When a trusted proxy appends a port to X-Forwarded-For, the gateway corrects the client IP, and unreadable entries return 403 when an access list is configured. The gateway previously told Desktop to export OpenTelemetry as JSON while the CLI used protobuf, causing protobuf-only collectors to reject Desktop data; these have now been aligned. When loading managed settings is denied, the message now states that the organization may not have enabled the service instead of advising a re-login. When locked by forceLoginMethod: "gateway", leftover API keys or claude.ai logins are ignored to require /login, while Bedrock, Vertex AI, and Foundry sessions remain unaffected.
FEATURE
Cloud authentication accelerated, clearly displaying model names and preventing connection hangs
During Bedrock setup, if an AWS credential helper fails to respond, the setup wizard no longer hangs indefinitely but prints a clear error upon timeout, while also fixing check failures behind TLS-inspecting proxies. gcpAuthRefresh no longer opens a browser at startup when Google credentials are still valid but checks are slightly slow, and configuring GOOGLE_APPLICATION_CREDENTIALS avoids repeatedly searching for projects or spawning extra processes. When fetching claude.ai connectors at startup times out, which previously made them invisible for the entire session, the CLI now retries in the background. The /model picker and VS Code model pill now display recognizable model names instead of raw Bedrock, Vertex AI, or LLM gateway IDs when identified.
When resuming an interrupted session, the system now more faithfully restores the context from that point. Previously, hook outputs around parallel tool calls were often lost when resuming a session, but they are now fully preserved. Running claude -p --resume with a corrupted session ID in the transcript will automatically assign a fresh session ID for a safe restart. In multi-agent collaboration, teammate agents no longer re-broadcast initial skills on the second turn, ensuring prefix integrity and hitting the cache. If a background agent fails to wake up, it no longer enters a tight loop burning CPU. Furthermore, clicking stop right after sending a prompt now reliably halts execution, and cloud sessions force-enabling synced plugins will no longer erroneously fall back to marketplace clones.
FEATURE
Terminal progress indicator reports accurately, accelerating text streaming and avoiding wasted metering
In terminals like iTerm2, Ghostty, or ConEmu, the progress indicator previously marked sessions as finished prematurely while background workflows or agents were still running; it has now been fixed to faithfully reflect background status. During text streaming, the layout engine no longer recalculates already-rendered blocks, significantly improving rendering smoothness for long responses and fixing a rare glitch where block height corrupted when containers switched directions. When running /context to check capacity, if the remote token-counting API is unavailable, the system switches to local estimation instead of making extra small-model requests. When the API sends no response headers, retries wait up to API_TIMEOUT_MS (10 minutes by default) instead of adding another 3 minutes, with messages explaining that API_TIMEOUT_MS can be adjusted.
BUGFIX
Cross-tool collaboration fixes: automount directory handling and usage queries stabilized
When running /add-dir to add a subdirectory while mounted under a /net automount directory, the system no longer falsely reports that the path could not be resolved. On machines with multiple versions installed, feature flags gated to newer versions no longer mistakenly affect older versions. When the usage endpoint is rate-limited or accessed immediately after startup, /usage and the VS Code usage panel no longer drop weekly limit rows for specific models. Desktop and web sessions no longer stay incorrectly busy when only watching artifacts for updates. In addition, file upload failures via the Chrome extension in Desktop Cowork sessions have been resolved, and plugin install hints output by background commands are now properly recognized without leaking raw <claude-code-hint> tags into the conversation.
Customizing output styles and tool integrations in the VS Code extension has become much more intuitive. The Output styles menu adds a "Build a custom style" walkthrough that guides you step-by-step to write a custom output style file and lists it immediately for instant use. For MCP server management, the dialog now provides an Add server form and Remove button directly, allowing you to add or remove external tool servers inside the IDE without manually switching out to edit configuration files.
BUGFIX
[VSCode] Session list indicators enhanced, supporting archiving and tab fixes
The session list now marks sessions open in a terminal, another window, or Claude Desktop with a hollow ring so they no longer appear closed. The right-click menu adds "Archive session", while Unarchive gets its own icon. When renaming a tab restored with the window, the input box correctly populates with the current name instead of opening blank. Collapsed sections in the list no longer briefly flash expanded when the panel loads, and the active-row highlight no longer freezes when correcting an unfocused tab's session ID. Reopening tabs via shortcuts or links now accurately places Claude tabs back into their existing editor group.
FEATURE
[VSCode] Question and permission prompts support folding, queued dialogs no longer retain text
Interactive prompt cards now offer a smoother operational experience. Permission and question prompts add a fold button so you can view underlying conversation content without dismissing the prompt, while the blank space beside the prompt can directly scroll conversation history. Successive queued permission dialogs no longer retain text typed into the previous prompt, preventing accidental approvals from rapid double-clicking. Completed tool calls in Focus view no longer mistakenly show as running. When signed in with a Claude.ai or Console account, pending question cards reappear properly after reloading the panel. When asking side questions with /btw, previous session history is no longer overwritten by window reloads or configuration errors.
BUGFIX
[VSCode] Cloud session migration fixes: grouping and multi-window sync stabilized
When teleporting a session from the web to a local machine, questions interrupted as the cloud session shuts down are no longer misinterpreted as declined. Adding a web session to a group will no longer cause it to appear in two groups simultaneously. Tabs opened from the list do not jump back to older sessions after reloading, while tabs opened from web sessions do not re-run teleport or stay blank after reloads. Setting "Enable Remote Control for all sessions" applies immediately to other VS Code windows. The Open filter properly matches items continued from claude.ai whose tabs remain recorded under web sessions, with filter menu sections labeled for screen readers. "Start new session in this group" no longer loses its group after New conversation, and sessions ending before the sidebar unread list loads no longer miss their unread dot.
BUGFIX
[VSCode] Model menu consolidated into flat list, usage indicators and login guards fixed
The model picker and sidebar state management have been overhauled in this update. The model menu is now a flat single list where legacy spellings are placed last, while immediately hiding models disabled by an organization. If the Disable Login Prompt setting is enabled, the interface no longer forces a sign-in screen when not logged in. When one panel switches to a third-party model provider, other panels no longer retain official-only features. The sidebar usage meter in a new window renders properly right upon opening without missing a 0% usage limit. Furthermore, plugin install links correctly trigger confirmation dialogs, tab badges no longer mistakenly illuminate unread during a running turn, and archived sessions can be successfully added to groups.
Original changelog
Original changelogSkill diagnostic command introduced to spot unused skills and context consumption
Added `/skill-doctor` to show which loaded skills go unused and what they cost in context, so you can prune them
Original changelogCommand output limit raised to 128K, supporting subagent prompt loading from files
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
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
Original changelogTerminal input experience revamped, aligning with Bash shortcuts and fixing dropped characters
Fixed typed or pasted characters occasionally landing out of order or being dropped during fast input or key repeat
Fixed being unable to delete the character immediately before an inline `[Image #N]` chip in the prompt input
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
Original changelogDangerous file deletion safeguards tightened, auto mode blocks unauthorized diagram uploads
Improved the dangerous-`rm` safety prompt to also catch `rm -rf` on positional parameters and inside double-quoted `sh -c` scripts
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
Original changelogRemote Control sync fixes: accurate status displays and offline queue updates
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
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`
Fixed Remote Control uploading a session pulled with `/teleport` into the connected session, which appeared appended to the original on phone and web
Fixed Remote Control's inbound event stream failing behind TLS-inspecting corporate proxies on native Windows
Fixed Remote Control sessions showing the default effort level on claude.ai when the effort comes from settings
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
Original changelogEnterprise gateway management enhanced with clearer organization policy diagnostics and login rules
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
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
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
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
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
Original changelogCloud authentication accelerated, clearly displaying model names and preventing connection hangs
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
Fixed `gcpAuthRefresh` opening a browser at startup when the Google credential check was slow, even though the credential was still valid
Fixed claude.ai connectors staying absent for the whole session when the startup connector fetch timed out — the CLI now retries in the background
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
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
Original changelogSession resume preserves context, fixing multi-agent collaboration cache and plugin syncing
Fixed resuming a session losing hook output and other context around parallel tool calls, which changed the resumed request
Fixed `claude -p --resume <file>` adopting a malformed session ID recorded in the transcript; it now resumes under a fresh session ID instead
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
Fixed sustained high CPU usage when a background agent could not be resumed and its wake-up was retried in a tight loop
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
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
Original changelogTerminal progress indicator reports accurately, accelerating text streaming and avoiding wasted metering
Fixed the terminal progress indicator (iTerm2, Ghostty, ConEmu) showing the session as finished while a background workflow or agent was still running
Fixed a rare layout glitch where a box could render with the wrong height after its container switched between row and column direction
Improved streaming performance: already-rendered blocks are no longer re-checked by layout on each update
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
Changed `/context` token counting to use a local estimate when the token-counting API is unavailable, instead of extra small-model requests
Original changelogCross-tool collaboration fixes: automount directory handling and usage queries stabilized
Fixed `/add-dir <subdirectory>` printing a false "couldn't be resolved" error when the working directory is on a `/net` automount
Fixed feature flags gated to a newer version occasionally applying to an older Claude Code version running on the same machine
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
Fixed Desktop and web showing a session as busy while it only watches an artifact for updates
Fixed Claude in Chrome `file_upload` failing with "paths: expected array, received undefined" in local Cowork sessions run from the Claude Desktop app
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
Original changelog[VSCode] Built-in style walkthrough added, directly create and manage MCP servers
[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
[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
Original changelog[VSCode] Session list indicators enhanced, supporting archiving and tab fixes
[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
[VSCode] Added "Archive session" to the session list's right-click menu and gave Unarchive its own icon
[VSCode] Fixed the session tab's Rename box opening empty for a tab restored with the window; it now starts with the current name
[VSCode] Fixed collapsed sections in the session list panel briefly showing expanded each time the panel loaded
[VSCode] Fixed the session list's active-row highlight going stale when an unfocused Claude tab's session ID is corrected
[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
Original changelog[VSCode] Question and permission prompts support folding, queued dialogs no longer retain text
[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
[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
[VSCode] Fixed the next queued permission prompt keeping text typed on the previous prompt and accepting an immediate second click
[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
[VSCode] Fixed the pending question card not reappearing after the Claude panel reloads when signed in with a Claude.ai or Console account
Original changelog[VSCode] Cloud session migration fixes: grouping and multi-window sync stabilized
[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
[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
[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
[VSCode] Fixed "Enable Remote Control for all sessions" so flipping it also applies right away to sessions open in other VS Code windows
[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
[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
Original changelog[VSCode] Model menu consolidated into flat list, usage indicators and login guards fixed
[VSCode] Fixed the model picker showing models an organization has since disabled until the window was reloaded twice
[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
[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
[VSCode] Fixed install-plugin links opening the Claude sidebar without the install dialog in a window where only the session list had been shown
[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
[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
[VSCode] Changed the model picker to one flat list of every model, with rows kept for older model spellings listed last