Release notes

BUGFIX

Code Review Stops Duplicate Posts and Won't Re-report Resolved Findings

When submitting pull requests on GitHub for review, missing reviews or duplicate reports are frustrating. In repositories configured to review once per PR, if a new commit arrives while waiting in the queue, it now properly reviews that requested commit. When GitHub reports an error for a review that was actually created, it no longer repeatedly posts the same findings two or three times. For security findings previously resolved by a human, follow-up reviews will not re-post them even if subsequent code line numbers shift. Reopening a completed /ultrareview cloud session in the Claude app will no longer restart the entire review unprompted.

FEATURE

Claude Tag Preserves Thread Context and Clarifies Notifications and Environment Menus

When invoking Claude Tag in chat groups to assist with work, managing messages across multiple threads is now far more reliable. In channels where Claude stays continuously active, even if conversations mostly take place within threads, thread activity now preserves working context instead of resetting memory roughly once every hour. A thread asking Claude to monitor a pull request continues to receive CI failure, comment, and review notifications even after restarting Claude. When the first message of a thread that Claude already replied to is deleted, Claude terminates its work there as expected. Claude no longer holds back posts due to earlier instructions addressed to other bots; only instructions addressed to Claude take effect, and it proactively asks when unsure. The card posted upon joining a busy channel now explains the real reason rather than incorrectly claiming it sees a lot of automated posts. The Environment picker in admin settings clearly labels Anthropic-hosted or self-hosted options and provides links to edit or create them.

FEATURE

Web Routines Page Redesigned with Dual Tabs Displaying Run Status

When managing automated scheduled tasks on the web, the Routines page introduces a fresh layout. On claude.ai/code, the layout is split into two major tabs, "Yours" and "Templates", using two-column routine cards that intuitively display the run status of each routine. The previous calendar view has also been removed to keep the list view streamlined.

FEATURE

Cloud Environments Add Custom Domain Whitelisting, Offline Sessions Restart on Message

Managing cloud development environments now offers finer network access controls and a rapid recovery mechanism. In the Cloud environments editor within admin settings, a Custom network access option has been added, offering the same allowed-domains list available in the claude.ai/code environment dialog. The admin page clearly lists the default environments for Claude Tag and Claude Code, complete with links to change them and labels indicating recommended types to create. When a cloud session's background process exits while the session still appears connected, it previously took about ten minutes to respond; now sending a message restarts it immediately.

FEATURE

VSCode Supports Disabling Auto-Attached Files and Stabilizes Session List

When coding with Claude Code in VSCode, message attachments and history lists receive several user experience improvements. A new "Attach Open File" setting allows turning off the automatic inclusion of currently open files in messages, while explicitly selected text is still attached. Fixed an issue where session history only showed the current session when the workspace was located on a Windows mapped network drive or SUBST virtual drive. When both Active and Open are checked in the filter menu, open idle sessions are no longer hidden. When the session list refreshes, newly created chat windows no longer switch back to the previous conversation. After changing the CLAUDE_CONFIG_DIR environment variable in settings, the sidebar and open tabs immediately apply the new directory. The "on" state color of toggle switches has also changed from Claude orange to the editor theme's button color.

FEATURE

VSCode Upgrades Hook Save Guards and Eliminates Flashing Console Windows

When fine-tuning automation rules in the VSCode extension, settings dialogs and background window disturbances are now resolved. The Hooks and Permission rules dialogs no longer falsely report successful saves as failed, and issues causing the screen to go blank under plugin policy locks or showing color codes in save errors are fixed. Saving hooks on replace no longer produces duplicates, retyping header names in different capitalization preserves secrets, and the local settings file is added to gitignore before the save returns. When the settings file itself blocks saving, the popup includes an "Open settings file" button alongside the error reason. Background Git, ripgrep, or sign-in checks on Windows no longer cause black console windows to flash frequently. Prompt cache clock hover text delays and duplicate tooltips on the auto-compact icon are also fixed.

BUGFIX

Remote Connections Add Fast Mode, Fixing /fast Disabling and Fallback Speeds

When running Claude Code Remote sessions in cloud or self-hosted environments, users can now enjoy the accelerated experience of fast mode. Where organization policy allows, fast mode can be enabled via host settings or by typing /fast directly in the session. When the organization disables fast mode, typing /fast off now turns it off properly instead of returning an error stating the mode is unavailable. Sessions started by skipping organization checks will display the rejection reason and stop resending fast requests every turn once the API rejects them. When encountering usage quota limits or system overloads, the retry watchdog automatically switches speeds. The system falls back to standard speed rather than failing the turn or insisting on fast retries.

FEATURE

Enterprise Policies Update Instantly with Custom Model Pricing Multipliers

Managing development environments across organizations now features more precise policy distribution and cost chargebacks. A multiplier parameter above 1 and up to 10 has been added to the modelPricing managed setting and the Claude apps gateway pricing block to facilitate marked-up internal chargeback rates. When switching accounts, organizations, or API keys, cached organization policies refresh immediately. When policies finish loading after startup or change mid-session, tool and command lists update synchronously. When an enterprise managed-mcp.json file cannot be parsed, it issues a warning at startup while maintaining exclusive control, blocking unapproved MCP servers from loading. Fixed an issue where organization policies were rejected when fetched through third-party local proxies configured via ANTHROPIC_UNIX_SOCKET.

FEATURE

Self-Hosted Runners Support Drain Markers and Store Oversized Configs on Disk

When operating self-hosted runners on your own servers, host maintenance and large project setups are significantly more reliable. Running claude self-hosted-runner --drain-marker-file <path> allows the runner to report its exit to the server as a host drain upon receiving a SIGTERM signal if the specified file exists, though this functions strictly as telemetry reporting without triggering extra scheduling. When the host config directory exceeds 64 MiB, sessions previously suffered from silently losing the entire host config, including settings, skills, plugins, and MCP servers. A new --host-config-snapshot disk|memory option now allows placing config snapshots on disk or in memory.

FEATURE

Sandboxed Commands Configure Domain Access Independently, Auto Mode Reviews Inline Commands

When executing terminal operations in auto mode with sandboxing, network security boundaries are much tighter. Bash, PowerShell, and Monitor commands in sandboxed mode now include per-command allowed_domains lists, ensuring required network hosts are reviewed alongside each command and opened exclusively for it while all other hosts are refused. Inline ! shell commands embedded inside skills or slash commands now follow default-mode permission rules rather than being evaluated entirely by the classifier; commands not covered by any rule execute as reviewed tool calls.

BUGFIX

Bash Permission Checks Cover Wildcards to Prevent Cross-Directory Read Leaks

When running Bash tools from the command line, permission guards identify file paths and arguments with greater precision. When commands like fmt or column are followed by unrecognized options, the file paths they read are no longer missed. When wildcards sit inside a command's pattern or option value, such as in grep -v dir/* file, all expanded files are now included in permission checks. Shell variable declaration flags can no longer misrepresent the command being run. Commands containing two directory changes, a subshell, or a cd and git chain will not bypass confirmation prompts when permissions.blockReadsOutsideWorkingDirectories is enabled in bypass or auto mode.

FEATURE

Plugin Installations Support SHA-256 Verification to Prevent Tampered Commands

When installing or updating plugins within automated scripts, a safer verification mechanism replaces blind confirmations. Both claude plugin install and claude plugin update have added the --accept-command <sha256> parameter to accept the exact command hash displayed in a previous --json run. This matches the displayed command hash precisely instead of passing -y unconditionally.

FEATURE

Subagents Support Lean Mode, Dynamic Workflows Auto-Pause at Quota Limits

When splitting projects across multiple agents, subagents load fewer rules and provide controllable reporting. Custom and plugin subagents can use omitClaudeMd in agent frontmatter or --agents JSON to run without loading user, project, or local CLAUDE.md files, while managed policy files still load. Cloud sessions no longer reject subagent tool calls after worker restarts. Dynamic workflows pause upon hitting usage limits and resume automatically when reset, rather than dropping agents. Auto mode now reports back via dedicated hand-back calls reviewed by the safety classifier. The default dynamic workflow size on Pro plans is now small, and the medium guideline is lowered from 15 to 10 agents. The claude-api skill enables eager_input_streaming on streaming custom tools and initiates deliverable-shaped Managed Agents work with user.define_outcome.

BUGFIX

Fullscreen /config Adds Mouse Support, Optimizing Paths and Selection Pills

Adjusting system preferences or typing paths in the terminal is now far more ergonomic. The fullscreen /config panel adds mouse support, allowing the scroll wheel to navigate settings, clicking values to toggle them, and highlighting the row under the pointer. The /add-dir path input supports left and right arrow keys to move the cursor, and pressing Enter adds only the typed path instead of including highlighted autocompletions. Text fields outside the main prompt no longer shift a leading exclamation mark ! to the end of your input. Fixed a fullscreen rendering glitch where text retained a stale background color. The IDE selection indicator in prompts is now a [⧉ …] pill that wraps cleanly with text and can be removed with Backspace.

FEATURE

MCP Supports Bare Name Tool Searches and Periodic Updates for Long Tasks

Expanding toolsets via MCP now provides more reliable server connections and execution flows. Tool search allows Claude to select tools by bare names without requiring full prefixed names. When an MCP server sends rapid list change notifications, sustained high CPU usage and duplicate requests are effectively prevented. Running tool calls in claude mcp serve send progress updates every 30 seconds, preventing idle timeouts from aborting long commands that produce no output. MCP servers marked alwaysLoad in cloud platforms can be used on the next turn once connected mid-conversation. Resuming single-prompt sessions whose tools come entirely from MCP servers no longer throws errors.

BUGFIX

MCP OAuth Registration Logic Fixed, Shortcuts Won't Cancel Reconnects

Connecting to third-party MCP servers requiring authentication is now much more stable during handshakes and remote control. MCP OAuth client registration handling is fixed, resolving issues where denying consent forced re-registration, reused registrations for different redirect URIs, or, during concurrent writes, deleted valid credentials or kept a mismatched registration. Pressing Ctrl+O no longer cancels pending MCP server reconnections. Fixed an error where /mcp commands sent from Remote Control failed while the transcript view was open.

FEATURE

Artifacts Render as Styled Documents, Doubling Watched Artifact Limits

Preview quality and file synchronization for documents and code generated via artifacts receive significant upgrades. Markdown files published as artifacts now render as styled document pages with title headers, document typography, and syntax-highlighted code. The maximum number of published artifacts a single session can watch simultaneously has increased from 5 to 10, facilitating tracking of republishes made elsewhere. Background sessions now watch artifacts they publish. Artifacts attached via /artifacts no longer disappear after resuming a session with --resume. Publish error messages are clearer, prompting users to write to a file first when none is specified and listing all supported capabilities.

BUGFIX

Precise Session Resumes Prevent False Cache Loss Warnings on Model Switches

Resuming earlier development work after interruptions is now smoother thanks to multiple session recovery fixes. Resuming sessions via /resume or /teleport no longer retains previous file-read tracking, ensuring clean permission states. Resuming via --resume preserves the 1M token context window even when the resumed session's model family differs from the configured default. Switching back to the model a conversation originally ran on via /model no longer falsely warns about losing the conversation cache. After conversation compaction, running background commands are not duplicated. Cross-session messaging provides clear delivery notifications, and fullscreen menus on short terminals display session lists properly.

FEATURE

Hook Executions Display Elapsed Time, Supporting Esc to Cancel Waiting

Configuring automation hooks provides more immediate and transparent feedback. While a SessionStart, UserPromptSubmit, PreToolUse, or SessionEnd hook runs, the status spinner clearly shows its execution status alongside elapsed time. While waiting for a SessionStart hook to complete, pressing Esc cancels the prompt at any time. Fixed crashes in the interactive /hooks menu when a hook matcher is named after inherited properties like __proto__ or constructor.

FEATURE

Spinner Displays Long Thinking Status and Guides Desktop and Mobile Downloads

Waiting for AI computations during complex tasks now offers clearer progress indicators and multi-device app guidance. When thinking exceeds 45 seconds, the spinner displays "deep in thought". While recovering from output-token limits, it displays "picking the thought back up". Typing /desktop provides download links for the desktop app alongside dedicated tips for cloud platform users. Typing /mobile displays a single QR code URL that automatically routes to the appropriate app store for your phone. Fixed spinner tips recommending commands unavailable for the current account type or disabled in the session.

BUGFIX

Cross-Platform File Watching Stabilized, Stale Git Lock Files Fixed

Operating across macOS, Linux, and Windows now delivers smoother low-level file and terminal handling. On Linux, when a sandboxed command fails to start, stale .git/config.lock files are no longer left behind to break subsequent Git commands in the session. When system file-event services are saturated on macOS, the config watcher automatically falls back to polling to detect external changes. Fixed custom agents and slash commands failing to load from virtual drives reporting inode 0 on Windows. Synced skills not refreshed within cleanupPeriodDays after signing out move to the recoverable trash upon the next launch. Fixed keybindings in specialized terminals and terminal query strings leaking to the shell prompt upon exit.

FEATURE

Claude in Chrome Notes Sleep State, Remote Control Leaves Fewer Empty Sessions

When interacting with Claude via browser extensions or Remote Control, connection error messages reflect real conditions more accurately. When a cloud session cannot reach the local browser, the message notes that the computer may be asleep before suggesting an extension install. When ToolSearch is unavailable, it no longer instructs the model to load tools via ToolSearch. When Remote Control setup fails on unstable networks, fewer empty sessions are left behind on claude.ai.

FEATURE

Terminal Renders Large Diffs Smoothly, Monitor Watches Enforce Deadlines

When dealing with massive code diffs and long-running monitoring tasks, command-line responsiveness and resource management are much more reliable. Terminal rendering performance is improved so large diffs and long transcripts render faster with fewer frame drops. Startup time is slightly reduced by skipping redundant validation of built-in model data. Monitor watches now enforce a mandatory deadline (at most 30 minutes in regular sessions, 10 minutes in single-prompt -p runs) and notify Claude to re-arm, replacing the previous no-timeout persistent option. Fixed an issue on Windows where PowerShell commands failed with "Exit code 1" and no output when the session temp output path reached the 260-character limit.

FEATURE

LLM Gateways Support Plaintext Replies, Skill Counts Stay Accurate After Directory Changes

Connecting through LLM gateways or switching directories now features more accurate formatting and environment cleanup. When an LLM gateway returns non-streaming replies as text/plain, turns no longer fail with empty or malformed response errors. After changing directories via /cd, /reload-skills reports a skill count that perfectly matches the slash menu. When referencing PDF files where page count cannot be determined, it explicitly notes "page count unknown" rather than guessing based on file size. Sessions on the Claude apps gateway and third-party cloud platforms (Bedrock, Vertex AI, and Foundry) no longer refresh unused leftover claude.ai logins.

Original changelog

Original changelogCode Review Stops Duplicate Posts and Won't Re-report Resolved Findings
[Code Review] Fixed a pull request in a repository reviewed once per PR sometimes getting no review when a commit arrived while its review was waiting to start; it now reviews the requested commit
[Code Review] Fixed Code Review occasionally posting the same findings two or three times when GitHub reported an error for a review it had in fact created
[Code Review] Fixed follow-up reviews re-posting a security finding a person had already resolved when a later push moved the lines it was anchored to
[Code Review] Fixed reopening a finished /ultrareview cloud session in the Claude app starting the whole review over again unprompted
Original changelogClaude Tag Preserves Thread Context and Clarifies Notifications and Environment Menus
[Claude Tag] Fixed Claude in a channel where it stays active losing its working context about once an hour when the conversation is mostly in threads; thread activity now keeps it from being reset
[Claude Tag] Fixed a thread that asked Claude to watch a pull request no longer hearing about CI failures, comments and reviews after Claude was restarted in that thread
[Claude Tag] Fixed deleting the first message of a thread Claude had already replied in not ending Claude's work there; it now stops, as it did when a message with no replies was deleted
[Claude Tag] Fixed Claude holding back a post because of an earlier instruction addressed to a different bot or assistant; only instructions addressed to Claude bind it, and it asks when unsure
[Claude Tag] Fixed the reply-mode card Claude posts on joining a busy channel saying it "sees a lot of automated posts" when the channel is only chatty or large; the card now names the real reason
[Claude Tag] Improved the Environment picker in Claude Tag admin settings: options are labeled Anthropic-hosted or self-hosted, with links to edit that environment or create one
Original changelogWeb Routines Page Redesigned with Dual Tabs Displaying Run Status
[Claude Code on the web] Changed the Routines page on claude.ai/code to a new layout with Yours and Templates tabs and two-column routine cards that show run status, and removed its calendar view
Original changelogCloud Environments Add Custom Domain Whitelisting, Offline Sessions Restart on Message
[Claude Code on the web] Fixed a cloud session sometimes taking about ten minutes to respond after its process exited while the session still looked live; sending a message now restarts it right away
[Claude Code on the web] Added a Custom network access option to the Cloud environments editor in admin settings, with the same allowed-domains list the environment dialog on claude.ai/code offers
[Claude Code on the web] Improved the Cloud environments admin page: it shows the default environment for Claude Tag and Claude Code, with a link to change it, and marks the recommended kind to create
Original changelogVSCode Supports Disabling Auto-Attached Files and Stabilizes Session List
[VSCode] Added an Attach Open File setting that, when turned off, stops the open file from being added to messages; selected text is still attached
[VSCode] Fixed session history showing only the current session when the workspace is on a Windows mapped network drive or SUBST drive
[VSCode] Fixed the session list's Active filter hiding open idle sessions when Open is also checked in the filter menu
[VSCode] Fixed a new chat switching back to the previous chat when the session list refreshed
[VSCode] Fixed open tabs and the side bar keeping the old config folder until a window reload after `CLAUDE_CONFIG_DIR` changed in the `environmentVariables` setting
[VSCode] Changed the on state of toggle switches from Claude orange to the editor theme's button color
Original changelogVSCode Upgrades Hook Save Guards and Eliminates Flashing Console Windows
[VSCode] Fixed the Hooks and Permission rules dialogs reporting a save that landed as failed, and the Hooks dialog going blank under a plugin-only policy lock or showing color codes in save errors
[VSCode] Fixed Hooks dialog saves: no duplicate hook on replace, a header name retyped in other capitals keeps its secret, and settings.local.json is gitignored before the save returns
[VSCode] Fixed console windows flashing on Windows when the extension runs background commands such as git, ripgrep, and the sign-in status check
[VSCode] Fixed the prompt cache clock's hover text appearing only after a delay, and the auto-compact icon showing the browser's own tooltip beside its popup
[VSCode] Improved the Hooks dialog: a save refused because of the settings file itself now opens a popup with an "Open settings file" button and the reason behind "Copy error"
Original changelogRemote Connections Add Fast Mode, Fixing /fast Disabling and Fallback Speeds
Added fast mode in Claude Code Remote sessions (cloud and self-hosted runners): the host's fast-mode setting or `/fast` typed in the session applies where your organization allows it
Fixed `/fast off` answering "Fast mode unavailable" instead of turning fast mode off when the organization has fast mode disabled
Fixed sessions started with `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` re-sending fast requests every turn after the API rejected fast mode; the rejection now stands and its reason is shown
Fixed fast mode under `CLAUDE_CODE_RETRY_WATCHDOG` failing the turn on a usage-credits limit, or retrying an overload at fast speed, instead of falling back to standard speed
Original changelogEnterprise Policies Update Instantly with Custom Model Pricing Multipliers
Added support for a `multiplier` above 1, up to 10, in the `modelPricing` managed setting and the Claude apps gateway `pricing` block, for marked-up internal chargeback rates
Fixed a cached organization policy being reused after switching accounts, organizations, or API keys, and the policy not refreshing until the hourly check when the credential changes mid-session
Fixed the tool and command lists not updating when the organization policy finishes loading after startup or changes mid-session
Fixed an enterprise `managed-mcp.json` that can't be read or parsed being ignored: it now keeps exclusive MCP control (user, project and plugin servers don't load) and warns at startup
Fixed org policy being fetched through, and rejected by, third-party local proxies set via `ANTHROPIC_UNIX_SOCKET`; they are again treated like other custom gateways, including for Remote Control
Original changelogSelf-Hosted Runners Support Drain Markers and Store Oversized Configs on Disk
Added `claude self-hosted-runner --drain-marker-file <path>`: when that file exists at a SIGTERM drain, the runner reports its exit to the server as a host drain (telemetry only)
Fixed self-hosted runner sessions silently losing all host config (settings, skills, plugins, MCP servers) when the host config directory exceeds 64 MiB; added `--host-config-snapshot disk|memory`
Original changelogSandboxed Commands Configure Domain Access Independently, Auto Mode Reviews Inline Commands
Added per-command `allowed_domains` to Bash, PowerShell and Monitor in auto mode with sandboxing: the hosts a command needs are reviewed with it and opened for it alone; other hosts are refused
Changed auto mode so that a skill's or slash command's inline `!` shell commands follow default-mode permission rules instead of the classifier; a command no rule decides runs as a reviewed tool call
Original changelogBash Permission Checks Cover Wildcards to Prevent Cross-Directory Read Leaks
Fixed Bash permission checks missing the file that `fmt`, `column` and similar commands read when it follows an option the checker doesn't recognize
Fixed Bash permission checks skipping files a wildcard expands to when the wildcard sits in a command's pattern or option value (for example `grep -v dir/* file`)
Fixed Bash permission checks so that shell variable declaration flags cannot misrepresent the command being run
Fixed Bash commands with two directory changes, a subshell, or a `cd`+`git` chain skipping the prompt under `permissions.blockReadsOutsideWorkingDirectories` in bypass and auto mode
Original changelogPlugin Installations Support SHA-256 Verification to Prevent Tampered Commands
Added `--accept-command <sha256>` to `claude plugin install` and `claude plugin update` to accept exactly the command a previous `--json` run displayed, instead of `-y`
Original changelogSubagents Support Lean Mode, Dynamic Workflows Auto-Pause at Quota Limits
Added `omitClaudeMd` to agent frontmatter and `--agents` JSON, letting custom and plugin subagents run without user, project and local CLAUDE.md files; managed policy files still load
Fixed cloud sessions rejecting every subagent tool call ("updatedInput … failed schema validation") when a workflow or agent approval was applied after the session's worker restarted
Improved dynamic workflows to pause when you hit your usage limit and continue automatically when it resets, instead of dropping the affected agents
Changed auto mode so a subagent reports back to its caller through a dedicated hand-back call that the safety classifier reviews, instead of its last message being reviewed after the fact
Changed the default dynamic workflow size to small on Pro plans and lowered the medium size guideline from 15 to 10 agents
Updated the bundled `claude-api` skill to enable `eager_input_streaming` on streaming custom tools, and to start deliverable-shaped Managed Agents work with `user.define_outcome`
Original changelogFullscreen /config Adds Mouse Support, Optimizing Paths and Selection Pills
Added mouse support to the `/config` panel in fullscreen mode: the wheel scrolls the settings list, a click on a setting's value changes it, and the row under the pointer is highlighted
Fixed the `/add-dir` path input: the left and right arrow keys now move the cursor, and Enter adds only the typed path instead of also adding the highlighted completion
Fixed text fields outside the main prompt moving a leading `!` to the end of what you typed (`!foo` came out as `foo!`)
Fixed a fullscreen rendering glitch where text kept a stale background color after the box around it lost its background
Changed the IDE selection indicator in the prompt to a `[⧉ …]` pill that wraps with the text instead of squeezing multi-line prompts; delete it with Backspace to leave the selection out
Original changelogMCP Supports Bare Name Tool Searches and Periodic Updates for Long Tasks
Fixed resumed `claude -p` sessions whose tools all come from MCP servers failing with "At least one tool must have defer_loading=false"
Fixed sustained high CPU usage and repeated tool-list requests when an MCP server sends `list_changed` notifications in a tight loop
Fixed tool search returning no match when Claude selects an MCP tool by its bare name instead of its full `mcp__server__tool` name
Improved `claude mcp serve`: a running tool call now sends a progress update every 30 seconds, so clients show it is still running and idle timeouts don't abort a long command that prints nothing
Improved Foundry and Claude Platform on AWS sessions: an `alwaysLoad` MCP server that finishes connecting mid-conversation is usable on the next turn without a tool-search round trip
Original changelogMCP OAuth Registration Logic Fixed, Shortcuts Won't Cancel Reconnects
Fixed MCP OAuth mishandling client registrations: denying consent forced a new one, one for another redirect URI was reused, and a concurrent write could delete a valid one or keep a mismatched one
Fixed Ctrl+O cancelling pending MCP server reconnects, and `/mcp` sent from Remote Control failing while the transcript view is open
Original changelogArtifacts Render as Styled Documents, Doubling Watched Artifact Limits
Fixed artifacts attached with `/artifacts` disappearing from the session after `--resume`
Fixed background sessions (`claude --bg`, `claude agents`) not watching the artifacts they publish for republishes made elsewhere
Improved Markdown files published as artifacts: they now render as styled document pages (title header, document typography, syntax-highlighted code)
Improved Artifact tool publish errors: a publish with no file now says to write the page to a file first, and an unsupported file type is reported before a missing favicon
Improved the Artifact tool's error when a page declares a capability its contract version lacks: it now lists every supported capability and notes when a newer contract version has it
Improved artifact watching: a session can now watch up to 10 published artifacts at once for republishes made elsewhere, up from 5
Original changelogPrecise Session Resumes Prevent False Cache Loss Warnings on Model Switches
Fixed cross-session messages held by the receiving session's permission-mode policy leaving no trace: headless senders now get a delivery notice, and `SendMessage` results no longer imply it was read
Fixed Claude starting a second copy of a background command (such as a watch task or dev server) that was still running after the conversation was compacted
Fixed `/model` warning about losing the conversation cache when switching back to the model the conversation actually ran on
Fixed `/resume` and `/continue` showing only 1-2 sessions in fullscreen mode on short terminals
Fixed `/resume` and `/teleport` keeping the previous conversation's file-read tracking, so Claude could edit files the resumed conversation had never read
Fixed `--resume` dropping the 1M context window (`[1m]`) when the resumed session's model family differs from the configured default model
Original changelogHook Executions Display Elapsed Time, Supporting Esc to Cancel Waiting
Fixed the interactive `/hooks` menu crashing when a hook matcher is named after an inherited object property such as `__proto__` or `constructor`
Improved hook feedback: while a SessionStart, UserPromptSubmit, PreToolUse or SessionEnd hook runs, the spinner says so with elapsed time, and Esc cancels a prompt waiting on a SessionStart hook
Original changelogSpinner Displays Long Thinking Status and Guides Desktop and Mobile Downloads
Added a spinner tip pointing Bedrock, Vertex AI, Foundry and LLM gateway users to the Claude desktop app; the claude.ai desktop app tip now suggests `/desktop`, which offers to download the app
Fixed spinner tips suggesting commands that aren't available for your account type or are disabled in your session
Improved the spinner status during long thinking: it now reads "deep in thought" after 45s, and shows "picking the thought back up" while recovering from the output-token limit
Improved `/mobile` to show a single QR code for claude.ai/mobile, which opens the right app store for your phone
Original changelogCross-Platform File Watching Stabilized, Stale Git Lock Files Fixed
Fixed a stale `.git/config.lock` breaking `git checkout -b`, `git push -u` and `git config` for the rest of a session after a sandboxed command failed to start (Linux)
Fixed settings file changes made outside the session going unnoticed on macOS machines whose system file-event service is saturated; the watcher now falls back to polling
Fixed custom agents, slash commands and output styles beyond the first not loading from a virtual drive that reports inode 0, such as an encrypted vault mounted as a Windows drive
Fixed skills synced from claude.ai staying on disk indefinitely after signing out; copies not refreshed within `cleanupPeriodDays` now move to the recoverable trash at the next launch
Fixed Delete in st and Alt+arrow keys in rxvt-unicode not working in attached background sessions
Fixed the terminal's replies to capability queries (`^[[?1;2c`) appearing at the shell prompt or in an editor when Claude Code exits, is suspended, or opens an editor right after starting
Original changelogClaude in Chrome Notes Sleep State, Remote Control Leaves Fewer Empty Sessions
Fixed the Claude in Chrome prompt telling the model to load tools through ToolSearch when ToolSearch is unavailable
Improved Remote Control to leave fewer empty sessions on claude.ai when setup fails on a flaky network
Improved the Claude in Chrome message in cloud sessions when the browser can't be reached: it now says the computer may be asleep before it suggests an install
Original changelogTerminal Renders Large Diffs Smoothly, Monitor Watches Enforce Deadlines
Improved terminal rendering performance: large diffs and long transcripts render faster, with fewer slow frames
Improved startup time slightly by skipping a redundant validation of built-in model data on every launch
Changed Monitor watches to always have a deadline (at most 30 minutes; 10 in single-prompt `-p` runs) and notify Claude to re-arm, replacing the no-timeout `persistent` option
Windows: Fixed PowerShell commands failing with "Exit code 1" and no output when the session's temp output path reaches 260 characters
Original changelogLLM Gateways Support Plaintext Replies, Skill Counts Stay Accurate After Directory Changes
Fixed turns failing with "API returned an empty or malformed response" when an LLM gateway returns the non-streaming reply as `text/plain`
Fixed `/reload-skills` reporting a skill count that disagreed with the slash menu after `/cd`
Improved PDF @-mentions to say "page count unknown" instead of a page count guessed from the file size when pdfinfo cannot count the pages
Changed Claude apps gateway, Bedrock, Vertex AI, and Foundry sessions so that they no longer refresh a leftover claude.ai login that the session does not use