Addedclaude plugin eval: run a plugin's eval suite against Claude Code and get scored, reproducible results (JSON + HTML report); see `claude plugin eval --help`
Added/output-style [name] to list and switch output styles, including over Remote Control and in cloud and other headless sessions
Added a diff of the files a Bash command changed to the Bash tool result when the Bash tool handles file edits (setting `bashEditDiffEnabled`)
AddedOTEL_METRICS_INCLUDE_REPOSITORY to tag OpenTelemetry metrics and events with `vcs.*` repository attributes; commit events get `vcs.ref.head.*` with `OTEL_LOG_TOOL_DETAILS`
AddedCLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS to extend the LLM gateway `/v1/models` discovery timeout (default 3s)
Added a spinner tip suggesting /focus for a view with just your prompt, a one-line work summary, and the response
AddedCLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS (1–256) to raise the Workflow tool's per-run concurrent agent limit for inference-bound fan-outs
VSCodeAdded 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
VSCodeAdded 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
VSCodeAdded live progress rows for running subagents under the tool-call groups in Focus view
VSCodeAdded 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
VSCodeAdded a Cancel button to the Switch account screen that returns to your session as the current account
Claude Code on the webAdded 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
Claude TagAdded a confirmation dialog before Connect all or Disconnect on a GitHub installation in admin settings, to guard against accidental organization-wide changes
~changed 6
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
Changed artifact database reads that save into the session scratchpad so they no longer stop for working-folder approval
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
VSCodeChanged the current-file chip in the message box: an X now removes it, replacing the Hide toggle
Claude Code on the webChanged 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
Claude Code on the webChanged 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
−removed 1
VSCodeRemoved 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
↑improved 11
Improved the /diff panel to open fully rendered in one step instead of showing a loading state first
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
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
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
Improved responsiveness in long sessions: transcript updates no longer re-process the whole conversation to build the collapsed tool-use summaries
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
VSCodeImproved 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
VSCodeImproved 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
Claude TagImproved load time of the admin settings page and its Slack channel picker, most noticeably for organizations with many channels or several connected workspaces
Claude TagImproved 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
Claude TagImproved 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
✓fixed 66
Fixed the prompt cache being partially invalidated on the turn after a response was cut off at the output-token limit and automatically resumed
Fixed a case where resuming a session after interrupting Claude mid-thought could change how earlier context was re-sent, hurting prompt-cache reuse
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)
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)
Fixed the terminal's replies to capability queries (`^[[?1;2c`) appearing as stray text at startup in some terminals
Fixed rows at the top or bottom of the transcript going blank in fullscreen after resizing the terminal
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
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
Fixed synced plugin MCP servers not connecting when a remote session resumes
Fixed resumed headless sessions losing a turn's replies when the model was switched or a request was retried mid-turn
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
FixedCMYK JPEG images failing to attach with "cannot decode"; they are now converted and resized like other JPEGs
Fixed the managed settings approval dialog not naming the collector for a gRPC telemetry endpoint set without a scheme
Fixed plugin headersHelper consent prompts showing a URL path that could be misread as a different host
Fixed plugin errors showing [redacted URL] in place of a relative Windows path with a folder name that starts with `@`
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
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
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
Fixed the attribution reminder overriding a CLAUDE.md or memory rule against commit and pull request attribution; lines set by managed settings still apply
Fixed prompt suggestions being dropped for text in Japanese, Chinese, Thai and other languages written without spaces between words
Fixed synchronized output being assumed from the terminal's name in GNOME Terminal and Konsole versions that do not support it
Fixedpermission_denials in `--output-format stream-json` results omitting Read, Edit and Write calls blocked by a path-scoped deny rule
Fixed sessions run through the SDK or the desktop app showing an unknown status in other sessions' agent list
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
Fixed organization policy limits not loading for the session when another Claude Code process refreshed the login at the same moment
FixedClaude Desktop sessions using Bedrock, Vertex, or a gateway not getting the contextual "what Claude needs" turn-end notification text
Fixed MCP servers reconnecting when an updated config only changed the order of the server URL's query parameters
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
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)
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
Fixed prompt cache misses in cloud sessions by waiting briefly for server configuration before the first request
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
FixedCLAUDE_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
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
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
FixedEdit() 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
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)
Fixed the terminal's block cursor showing under the interface in rxvt-unicode after leaving or re-entering fullscreen
Fixed the cursor block staying visible after returning from an external editor in fullscreen mode on rxvt-unicode
Fixed the interface being drawn twice after returning from an external editor (Ctrl+G) outside fullscreen mode
Fixed the interface being drawn twice in Konsole after returning from an external editor
WindowsFixed PowerShell tool commands sent to the background stopping when Claude Code exits
VSCodeFixed Focus view showing a turn started by a delivered plain-text prompt, such as a scheduled task's, as part of the previous turn
VSCodeFixed the footer's prompt cache clock hiding its minutes when the panel is narrow
VSCodeFixed the session list keeping sessions from the default folder when `CLAUDE_CONFIG_DIR` is set in a settings file or the `environmentVariables` setting
VSCodeFixed a plan preview that finished loading late sometimes hiding its comment box or showing an older plan
VSCodeFixed a plan preview accepting comments that went nowhere after its Claude tab closed
VSCodeFixed 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
VSCodeFixed a session renamed in the extension while Remote Control is on keeping its old name on claude.ai/code
VSCodeFixed restored Claude tabs not counting as open in the session list after a window reload until clicked, and their row opening a second tab
VSCodeFixed Switch account making a tab forget its dismissed usage-limit warnings when you sign back in as the same account
VSCodeFixed a session rename being replaced by the generated name after a window reload when the session was renamed during a long turn
VSCodeFixed the sidebar usage meter keeping a stale per-model weekly limit row after the account loses that limit
VSCodeFixed 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
VSCodeFixed the session list jumping down when the Account & usage header appeared a moment after opening the Claude side bar
Claude Code on the webFixed/model default in a cloud session leaving every later message failing in organizations that restrict which models Claude Code can use
Claude Code on the webFixed one-off scheduled routines occasionally running a second time after a transient server error
Claude Code on the webFixed 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
Claude Code on the webFixed file links in cloud session transcripts opening a GitHub 404 when Claude was working from a subfolder of the repository
Claude TagFixed 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
Claude TagFixed 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
Claude TagFixed 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
Claude TagFixed@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
Claude TagFixed 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
Claude TagFixed 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