What's changed
- Added the signed-in account to Claude apps gateway sign-in: when the gateway names it, you confirm it before the credential is saved, and
/statusshows it - Added a send-now key (ctrl+enter, or ctrl+x ctrl+s) that interrupts the current turn and sends all queued messages at once; sent and queued messages show in gray until the model receives them
- Added a startup warning when a configured
otelHeadersHelperfails, so sessions that silently export no telemetry are noticed - Added syncing of the skills and plugins enabled on your claude.ai account to terminal sessions signed in with it; opt out with
syncClaudeAiSkills: falseorsyncClaudeAiPlugins: false - Added
/plugin install <plugin> --marketplace <source>, which offers to add the marketplace before installing the plugin - Fixed a restored memory file's age note changing between requests after a compaction or resume, which caused prompt cache misses
- Fixed
--forward-subagent-textstream-json and SDK output dropping the messages of subagents spawned by acontext: forkskill, and of forked skills invoked by a subagent or another forked skill - Fixed @-mention file suggestions being buried below MCP resources when using a custom
fileSuggestioncommand or typing@./@./ - Fixed fullscreen mode placing background-task completion notices beneath a long turn's collapsed tool row instead of where they arrived; each notice now closes the open row
- Fixed
claude plugin marketplace updatedeleting a GitHub marketplace's local copy when the fetch failed and the marketplace was named after its repository - Fixed plugin and marketplace messages, logs and
claude plugin marketplace listshowing a password or token stored in a git, ssh or marketplace URL - Fixed a resumed cloud session leaving an unanswered question open in the transcript after a queued message superseded it
- Fixed vim mode placing the cursor one character right after a dot-repeated "!" or a fast-typed "i!" switched a non-empty prompt into shell mode
- Fixed fullscreen mode freezing or blanking for several seconds when scrolling up past a large file diff
- Fixed a stray
</ccmemory>-style closing tag occasionally appearing in responses - Fixed plugin messages, logs and the VS Code plugin dialog showing the wrong server for some git addresses
- Fixed a terminal
API Error: 400on every turn for users behind a network gateway that rewrites API error responses when a beta request header is rejected - Fixed sandboxed Bash commands on Linux reporting exit code 0 for failed commands when the shell is zsh
- Fixed the Read tool hanging instead of reporting an error when part of a large file could not be decoded under memory pressure
- Fixed
--resume, the resume picker preview, resumed background agents and the transcript view failing on a session whose saved history contains a malformed task-reminder or @-file attachment entry - Fixed a crash when resuming a conversation whose transcript contains a malformed message entry, and a fullscreen crash when such a conversation received new messages while scrolled up
- Fixed sessions failing to resume or start when their saved transcript contains a malformed message content block
- Fixed Grep, Glob and @-file suggestions hanging or running out of memory on searches over the 20MB output cap, and system ripgrep reporting "no matches" instead of an error after a flood of warnings
- Fixed
/rewindin a forked or background session restoring a zero-filled or truncated file when the session's file-history backups could not be fully copied - Fixed fullscreen sessions sometimes exiting with "Claude Code exited after an unrecoverable interface error" when typing fast or holding a key with the slash-command dropdown open
- Fixed background sessions crashing and restarting their worker when a command fed through stdin ran on a machine that had run out of file descriptors
- Fixed a crash at launch when
~/.claude.jsonholds a malformedmcpNeedsAuthNoticedvalue - Fixed
--resumeand--continuedropping a conversation's earlier thinking when a built-in tool it started with has since been switched off by a server-side flag - Fixed text selected with the mouse in the fullscreen
claude --resumesession picker never reaching the clipboard - Fixed plugin reload previews replacing a running session's extracted plugin files when the plugin was loaded from a
--plugin-diror--plugin-urlarchive - Fixed self-hosted runners with
--drain-wait-seclosing the final result of a turn that finished during a SIGTERM drain; the runner now waits briefly for the turn to be reported - Fixed
SubagentStophooks with a specificmatcherfiring for every stopping subagent whose agent type was empty - Fixed sandboxed Bash commands being unable to write to project directories named
hooks/orconfig/ - Fixed Artifact updates failing with "File not found" after a session resumes on another machine or its scratchpad is cleared: the page's last published version is restored
- Fixed
/update-configwritingWrite(path)permission rules, which file permission checks don't match, instead ofEdit(path)rules - Fixed four dead documentation URLs (Pricing, Computer Use, Skills, CLI) in the bundled claude-api skill's live-sources table
- Improved prompt caching for a
--system-promptthat contains a__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__line: the text above it is now cached globally, as the SDK's array form already is - Improved the
/desktoperror when Claude Desktop does not open: it now says why and what to do next - Improved the Artifact tool's publish and read results: they now say who can open the page and what the owner's Share menu offers
- Improved artifact publish results: they name the tab icon sent, warn when the page contains a NUL byte, and retry a flaky fetch of the newer page to merge after a stale publish
- Improved pasted and attached images: they are now saved where Claude can open them as files without a permission prompt, including in Desktop and VS Code
- Improved the Artifact tool's guidance so Claude updates a shared artifact in place when you were given edit access to it, instead of publishing a separate copy
- Improved plan-usage reads: editor windows and non-interactive sessions on one machine now share a read made in the last minute instead of each calling the usage endpoint
- Improved the
ListPluginstool description so Claude knows it lists plugins enabled on your claude.ai account, not plugins installed locally with/plugin - Improved responsiveness when the terminal is slow or paused: output no longer falls further behind while the terminal catches up
- Improved Write and Edit results for files in the synced account-skills folder: they now say the change is not saved to your account and how to save it
- Updated
/logoutfor Claude apps gateway sign-ins to also end the session on gateways that advertise token revocation - Changed hosted sessions to keep an unanswered permission prompt up after a container restart, instead of asking again
- Changed the Artifact tool to ask for a one-word tab icon on a first publish instead of an emoji favicon
- Changed Claude in Chrome in auto mode to skip the extension's per-site check for classifier-approved calls, as bypass mode does, fixing
browser_batch"Permission denied" after a redirect - Changed plugins installed from an npm source to be fetched with
npm pack --ignore-scriptsand integrity-verified, so a package's install scripts no longer run - Changed scheduled and Run now routine runs to save data to, and republish the page of, an artifact you can edit without asking; public artifacts, first publishes and deletes still ask
- Removed the startup notice that told you a one-off scheduled routine had run since your last session
- [VSCode] Added viewing, editing and deleting a saved memory inside the Memory dialog
- [VSCode] Added sending an attached image without typing any text
- [VSCode] Added a Retry link to the MCP servers dialog when the server list fails to load
- [VSCode] Added accept and reject buttons under each change in the proposed-change diff tab, so an edit can be reviewed change by change
- [VSCode] Fixed the transcript creeping toward the bottom in small steps while a permission card waits and content keeps arriving
- [VSCode] Fixed rewound and forked conversations not keeping the permission mode you had picked for the original conversation
- [VSCode] Fixed an empty
CLAUDE_CONFIG_DIRentry in theenvironmentVariablessetting making Claude Code keep its files in the workspace - [VSCode] Fixed plugin install links opening the Manage plugins dialog for plugin names and marketplace addresses that can't be used in a link
- [VSCode] Fixed Remote Control staying shown as connected after a turn-off that Claude Code reported as failed; it now shows as off
- [VSCode] Fixed the scroll to the bottom on send stopping short of the reply when the reply starts arriving during the scroll
- [VSCode] Fixed the agent map showing agents a crash left unfinished as stopped instead of failed once the session is reopened
- [VSCode] Fixed the "Continuing the step" notice not appearing, and the continue limit resetting, after a reload that follows a crash with background tasks still running
- [VSCode] Fixed the session list showing when a session was last reopened, such as after a window reload, instead of when its last message was sent
- [VSCode] Fixed "Fork conversation from here" failing on the message right after one sent while Claude was working
- [VSCode] Fixed the prompt cache clock showing too few minutes after reopening a session with a message sent while Claude was working
- [VSCode] Fixed a background agent that finished while Claude was running a tool losing its completion notice, and its result on the agent map, after a window reload
- [VSCode] Fixed a rare case where text selected in a git-ignored file could be sent to Claude after the extension was unresponsive for several seconds
- [VSCode] Fixed renaming a running session reverting to the generated name (regression in 2.1.269)
- [VSCode] Fixed some claude.ai/code sessions opening in VS Code as an empty conversation with no messages
- [VSCode] Fixed slash commands typed while Claude is responding being sent to the model as text instead of running once the response finishes
- [VSCode] Fixed unreadable code in the plan preview and the Hooks and Permission rules dialogs with the High Contrast Light theme
- [VSCode] Fixed
/remote-controlbeing ignored while Remote Control is still connecting: running it again now turns Remote Control off immediately - [VSCode] Fixed the conversation pulling you back to the bottom while a reply streams after you scroll up, and added a
claudeCode.scrollToBottomOnSendsetting to turn off the jump on send - [VSCode] Fixed the Manage plugins dialog showing a password or token that was typed into a marketplace URL
- [VSCode] Improved the agent map: the pill counts running agents and turns red after a failure, the main agent stays in view while the map scrolls, and agents sort by state then end time
- [VSCode] Changed New session in a Claude editor tab to open in the sidebar when Preferred Location is set to Sidebar, instead of always opening another tab
- [VSCode] Changed a message sent while Claude is working to wait at the bottom of the conversation until Claude starts on it
- [Claude Code on the web] Added a "New routine" button to the page shown when a routine link no longer resolves, next to the link back to your routines list
- [Claude Code on the web] Fixed routine "paused" and "on hold" notifications being cut off mid-sentence; the paused-subscription notice now says to turn the routine back on yourself
- [Claude Code on the web] Fixed cloud environments with a very long allowed-domains list saving fine and then failing every session start; saving now fails up front and says how much to trim
- [Claude Code on the web] Fixed Claude's guidance when a cloud session on a personal account is denied GitHub access: it now links to claude.ai/connect-github instead of an admin settings page
- [Claude Code on the web] Improved what Claude tells you when asked to edit, delete or run a routine it didn't create: it now links to the routine's page so you can do it yourself
- [Claude Tag] Added attach conditions for access bundles in Claude Tag settings: an Owner can let a bundle also apply in channels with guests or Slack Connect channels, not just member-only
- [Claude Tag] Added Amazon CloudWatch, CloudWatch Logs, Amazon SNS, Google Cloud Monitoring and Cloud Logging presets to an access bundle's Credentials tab in Claude Tag admin settings
- [Claude Tag] Added Datadog presets for the US3, AP1, AP2 and US1-FED sites; new Datadog connections are now limited to Datadog's read and query API routes
- [Claude Tag] Fixed S3 uploads from recent AWS CLI and SDK versions failing with a 502 error when sent through an AWS connection
- [Claude Tag] Fixed Claude treating a channel as inactive, and skipping untagged messages there, while it was still posting in that channel from a routine or a thread
- [Claude Tag] Fixed a thread's "Claude [task]" display name reverting to plain "Claude" after the session behind that thread was refreshed or restarted
- [Claude Tag] Fixed the model you switched to in a Slack thread silently reverting to the channel's default after that thread's session was restarted or refreshed
- [Claude Tag] Fixed Claude sometimes replying twice when another app or bot @mentioned it in a top-level channel message
- [Claude Tag] Improved Claude's notices in Enterprise Grid channels shared across workspaces: they now say when no workspace is set up yet, or why only organization defaults apply
- [Code Review] Fixed reviews occasionally dropping part of their analysis when one of the reviewing agents returned its findings in an unexpected format
- [Code Review] Fixed pull requests with more than 100 Claude reviews getting a full re-review on every clean merge from the base branch instead of the lighter merge-focused review