Release notes

FEATURE

Enterprise Gateway Pricing Sync, Startup Warnings, and Internal Network Sign-In

When enterprises deploy a Claude apps gateway for their teams, they now get more consistent billing and security controls.

By setting pricing: in gateway.yaml, signed-in Claude Code clients receive the same rates through managed settings, keeping the /cost command and telemetry accurately matched to the spend meter. When access_control.allow_cidrs is empty, the gateway now issues a warning at startup and a one-time warning the first time a request arrives from a public address. In addition, administrators can configure the gatewayInternalNetworks managed setting to allow users to /login to the gateway on their organization's own public IPv4 block.

FEATURE

Dedicated Artifact Tab Icons, Data-Edit Cards, and Hardened Access Checks

Artifacts receive visual and permission updates. When published, browser tabs now display a dedicated icon chosen by Claude to match each page. The terminal permission prompt now leads with the ask's question, and data-edit permission prompts switch to a card showing the document count and who can open the artifact. In local Cowork sessions configured to skip all approvals, security protections are further hardened. The Artifact tool now directly refuses to read local files outside session folders or behind symlinks. Plain WebFetch rules no longer apply to Artifact tool reads and updates, requiring dedicated rules to gate them:

# Block or gate Artifact reads and updates
Artifact
WebFetch(domain:claude.ai)

An issue since version 2.1.265 where third-party compatible endpoints returned HTTP 400 due to a regex in the schema has also been fixed.

FEATURE

Plugin Management Structured Output and Instant Menu Updates

For automating tool management via scripts, plugin commands now provide full structured output support, with error and note details added to list rows:

claude auth status --json             # Output includes configDirectory
claude plugin install --json          # Install plugin
claude plugin uninstall --json        # Uninstall plugin
claude plugin update --json           # Update plugin
claude plugin enable --json           # Enable plugin
claude plugin disable --json          # Disable plugin
claude plugin list --json             # Each row includes errorDetails and noteDetails

When installing, enabling, or disabling plugins through the /plugin terminal menu, changes take effect immediately upon closing the menu without running /reload-plugins. Additionally, fixes resolve claude plugin validate mistakenly rejecting plugin paths beginning with two dots, as well as plugin checks silently skipping default monitors files or root SKILL.md files.

BUGFIX

Strict Symlink Permission Checks, Masked Connection Secrets, and Untrusted Agent Isolation

Terminal security protections are now more thorough.

Deny and ask rules now apply to /etc, /tmp, and /var on macOS or /bin on Linux whether specified by their real location or a symlink, and Bash commands no longer ignore symlink spellings. Read and Edit deny rules remain effective even when unanalyzable commands such as env -C or eval appear on the same line. Plugin and marketplace errors no longer leak tokens or passwords from Git URLs. Resolved secrets from ${VAR} placeholders in configs no longer appear in /mcp or /plugin details, claude mcp list/get, or MCP login errors. Respawned in-process teammates no longer pick up tools or prompts from untrusted directories, and Bash sandbox instructions no longer overstate confinement restrictions.

FEATURE

Stable Cloud Inference Tools and Tiered Task-Tracking Rollout

When developing with Claude through major cloud platforms, inference environments and tool-loading mechanisms are now more standardized. In Bedrock, Vertex, and Foundry sessions, environment, model, and settings details are delivered as attachments, matching first-party sessions. Tool lists on these platforms remain byte-stable across conversations, with late-connecting tools loading deferred instead of rewriting the list. Task-tracking tools are now offered by default only on designated model families:

# Only Claude 3.x, Opus 4.0 to 4.7, Sonnet 4.0 to 4.6, and Haiku 4.5
# Enable for other models via environment variable:
CLAUDE_CODE_ENABLE_TODO_TOOLS=1

This includes TaskCreate, TaskGet, TaskUpdate, TaskList, and TodoWrite tools. Furthermore, for SDK sessions using excludeDynamicSections, the first message is no longer re-rendered on each request, fixing prompt caching and extended thinking breaking mid-session.

BUGFIX

Model Cache Access Fixes and Accurate 1M-Context Prompts for Long Sessions

For users frequently switching models or sending lengthy prompts in conversations, access permissions and error notices are now more accurate.

Entitled users no longer receive false model restriction messages after restart or in the Desktop Code tab due to stale cached access denials. When another Claude Code process refreshes a stale model-access entry, running sessions no longer silently switch back to the organization's default model. For Pro and Team plan users triggering long-context 429 rate limits on Fable models, the prompt now correctly shows the 1M-context message instead of the usage-credits consent dialog. Related messaging has also been improved to clearly remind users that usage credits enabled mid-session take effect after restarting Claude Code.

FEATURE

Preserved Special Characters in Compaction and Line-Marked Memory Truncation

History summaries and project memory after lengthy conversations no longer suffer text corruption from special characters. When executing the /compact command in the terminal or triggering auto-compact, generated summaries no longer mangle text containing $ character sequences. When resuming conversations that ended with /compact, restored-file notes now maintain the exact same loading order on every resume. For SDK prompt suggestions, side questions, and /rename, fixes ensure they no longer send the pre-compaction transcript. When a project's MEMORY.md file is truncated due to length limits, the warning message now explicitly states how many lines were cut and where the truncation begins.

BUGFIX

Faster Agents Panel Navigation, Worktree Stuck Fixes, and Script Parsing Optimizations

Interface operations for managing background agents and workflows are now snappier. In the claude agents UI, pressing the left arrow key ← to return to the agent list is no longer ignored, eliminating the need to pause for over a second. Fixes improve issues where deleting an agent session got stuck. If removal halts because a worktree cannot be removed, the message specifies the cause and next steps, and pressing Ctrl+X again still force-deletes the directory. Background agent and workflow rows in the panel no longer stretch into multiple lines when text contains line breaks. Remote Control sessions served by claude remote-control now display session titles instead of generated names in ListAgents. Furthermore, listing .claude/workflows/ scripts at startup no longer parses each script individually, speeding up launch times.

BUGFIX

MCP Sign-In Fixes, Streamlined Notices, and Intact Tool Allowlists

Connection and sign-in workflows for external tool integrations fix multiple subtle disruption bugs.

A bug where Claude occasionally replied "your message came through empty" after an MCP tool call is now fixed. When local redirect port ranges cannot be bound, MCP server OAuth sign-in no longer throws errors claiming no ports are available. When organization managed settings enable an MCP allowlist, Claude in Slack sessions no longer lose their built-in Slack tools. In addition, the startup notice announcing "N MCP servers need authentication" now broadcasts only once per server instead of appearing on every launch.

FEATURE

WebFetch Timeout Limits and Alternative Command Guidance for Dotless Hosts

Fetching web pages with AI no longer hangs indefinitely, as web scraping tools now enforce explicit connection deadlines. When a server holds a connection open without finishing transmission, the WebFetch tool now times out and fails after 300 seconds; you can set the CLAUDE_CODE_WEBFETCH_DEADLINE_MS environment variable to customize this deadline, or set it to 0 to disable the limit. When accessing localhost or other dotless hostnames, WebFetch errors now explain why the URL was refused and suggest using curl instead. In the Claude in Chrome extension, navigation URLs with a scheme but unparseable hostnames no longer prompt to allow the host "https". When reading lengthy web pages, content is now presented directly inline rather than being saved to a local file and read back.

BUGFIX

Cloud Command Sign-In URL Guidance and Uninterrupted Workload Identity Federation

Prompt messages are now more context-aware when executing cloud remote commands and cross-platform authentication.

When using workload identity federation via a profile (such as configurations by claude-code-action), multiple processes sharing a profile no longer fail mid-run with 401 … jti reused errors. Running commands like /remote-control while signed out now actively suggests /login instead of displaying Claude for Enterprise migration messages. Entering cloud-session commands like /autofix-pr without a connected GitHub account directs users to /web-setup or the web connect page rather than asking to retry or install the app. When organization policies disable /teleport or /remote-env, the terminal explains the specific reason instead of simply responding with an unknown command.

FEATURE

Optional Runner State Cleanup, Headless Warnings, and Extended Hook Timeouts

Cleanup for self-hosted runners is disabled by default; only when passing claude self-hosted-runner --remove-session-state will dedicated directories under <base-dir>/_sessions/ be deleted upon session completion. PermissionRequest hooks fix an issue where they failed to fire in --print mode. Policy-helper warnings now also print during headless (-p) runs. The /resume command now labels background sessions created by /fork with their dedicated ⑂ fork name instead of incorrectly listing them under their parent's name. SessionEnd hooks without a per-hook timeout are no longer forcibly cancelled after 1.5 seconds, allowing extensions via CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS.

BUGFIX

Idle Session CPU Fixes and Safer Alternative Guidance on Auto Mode Denials

Daily terminal responsiveness receives a major boost, effectively reducing wasted resources.

Long-running idle sessions fix a busy-loop issue that pinned CPU cores, and rapid window focus reports during session recaps no longer maintain high loads. In fullscreen mode, adding or removing lines with Shift+Enter repaints as fast as typing without re-rendering the visible transcript. Resuming conversations via --continue or --resume renders the screen immediately without waiting for SessionStart hooks, and the first message no longer re-reads the full transcript. Tool execution turns no longer redraw transcripts for hidden reminders; when actions are blocked in auto mode, Claude receives messages identifying the blocking rule and instructing it to try safer methods to finish unrelated work first rather than abruptly stopping to ask.

BUGFIX

Prompt Suggestion Fixes, Single-Row Spinners, and Restored Cursor Visibility

Terminal prompt boxes and layout details resolve several visual flaws. In the prompt input line, auto-suggestions for @ files and / commands now reliably pop up after recalling a previous prompt with the up arrow ↑ and editing it. When a current task label is long, the spinner no longer wraps across multiple lines, keeping task labels and "Next:" lines neatly contained within a single terminal row. In environments with native terminal cursors enabled, description fields for /bug and /feedback commands fix invisible cursor issues. Prompt footer presentation is also reorganized: editor or /diff selections now appear directly inside the prompt input box, and in fullscreen mode, Remote Control status is displayed in the top header instead of taking up footer space.

FEATURE

[VSCode] Accessibility Key Navigation and Instant Plugin Updates Without Restart

The VS Code extension introduces smoother navigation keys for keyboard and screen reader users.

In permission prompts, Left and Right arrow keys ← → can now switch where an always-allow rule is saved. A new "Claude Code: Focus last message" command quickly shifts keyboard focus back to the newest message in the conversation. When installing, enabling, disabling, or uninstalling in the Manage plugins dialog, changes apply immediately to open sessions without requiring an editor restart. Additionally, some artifact permission prompts omit the "don't ask again" choice to match terminal security standards.

FEATURE

[VSCode] Stable Multi-Tab Model Pickers and Optimized Process Startup Scheduling

When opening multiple chat tabs or switching accounts in the editor, menus and model states no longer flicker or go blank. After logging in, logging out, or switching accounts, model pills, model pickers, and command menus in open tabs resolve an issue where they went blank for several seconds. When project or local settings override the model named in global settings, the "Auto" option no longer disappears in new tabs or reloaded conversations. When a SessionStart hook is configured, naming issues after window reloads are resolved. Session names no longer revert to the last prompt after a reload. When another tab is already running in the window, footer model and Remote Control pills no longer wait needlessly for a new process to launch. If a session tab's launch arrives more than half a second after reading configuration, a second Claude process no longer runs through the full startup cycle.

FEATURE

[VSCode] Custom Config Directory Support and Accurate Windows Diagnostics

Custom directories and Windows diagnostics now properly match real development setups.

When CLAUDE_CONFIG_DIR is set in settings files or via the environmentVariables setting, session lists, settings toggles, and chat tabs read the directory correctly, and style builders no longer save user styles into paths unreadable by the CLI. Resuming sessions from the session list no longer ignores claudeCode.preferredLocation: "sidebar" by forcing panel views, and programmatic opens no longer reset the preference to "panel". Windows machines without WSL no longer show false WSL installation prompts, and systems with WSL installed now return local file diagnostics accurately.

FEATURE

[Claude Code on the web] One-Day Cloud Session Retention and Connector Guidance for Routines

File persistence mechanisms in Claude Code on the web are extended, allowing cloud session artifacts to stay intact for a full day. Cloud sessions running longer than about six hours previously lost files saved to persisted session folders, but saved results now reliably persist for up to a day. Error handling is resolved when organization administrators cap a model's effort level. When a routine resumes a session or starts without a specified effort level, it no longer throws "Invalid effort level" errors. When creating a new routine from an existing conversation that lacks connectors, Claude no longer just confirms creation, but instead explains the situation and provides concrete guidance on how to add them.

FEATURE

[Claude Tag] Admin Settings Retry Support and Intact Configs Across Workspace Moves

Enterprise admin interfaces for Claude Tag in Slack can now quickly recover from transient disconnects with a retry button.

When the admin settings page hits a transient loading failure, it no longer gets stuck on loading skeletons or blank screens; failed sections now provide a Retry button. A link has been added from Slack channel configure pages back to the organization's Claude in Slack admin settings. Under Slack Enterprise Grid, when administrators move channels to another workspace, Claude settings including repositories, environments, and access permissions remain intact. If your Claude account belongs to a different organization than the Slack workspace, system notices explain how to connect the workspace to your organization. When channel-settings cards are clicked multiple times, they no longer falsely report refusals to the proposing session after changes have applied, sending the outcome only once.

BUGFIX

[Claude Tag] Faster Replies via Parallel Lookups and Auto-Wrapping Long Tables

Asking Claude Tag in Slack is now significantly faster with multi-lookup parallel queries. When handling prompts, Claude now runs multiple read-only lookups in parallel (including searching Slack, reading threads, and finding contacts) instead of queuing them sequentially, making replies much faster. When producing comparative analysis, sentence-length comparisons now format automatically as lists instead of wide tables requiring horizontal scrolling, and long table cells wrap automatically. When typing @Claude !restart in a thread with its own session, a bug is fixed where it occasionally posted contradictory notices claiming the thread is handled by the channel session. In addition, Markdown links wrapped in angle brackets now render properly as clickable links in Slack instead of literal angle-bracket text.

FEATURE

[Claude Tag] Clear Block Explanations and Independent Public Channel Memory

Block explanations for Claude Tag in team channels are now more specific, and public channels keep separate dedicated notes.

When Claude stops an action, it now provides specific reasons, clearly indicating whether a permission check failed, it decided to confirm with you first, or access was simply missing. In channels allowing guests to use Claude, workspace guests making top-level @mentions no longer mistakenly receive "Slack account not connected" errors. When long-running channel sessions undergo scheduled refreshes, they are no longer forcefully swapped mid-conversation, waiting instead until the channel and its threads are completely quiet. Memory in public channels is also updated so that each public channel maintains its own notes rather than recalling notes saved in other public channels, while workspace-wide shared notes remain accessible across channels.

FEATURE

[Code Review] Automatic Agent Replacement on Review Failures and Open Findings Tracking Notes

Automated code reviews are more thorough when tracking fix progress and handling multi-agent tasks. In follow-up reviews, a note is added beneath the open findings list reminding users that resolving a finding's thread, rather than merely replying to it, prevents later reviews from counting it as open. When an agent responsible for verifying a finding fails midway, the review system replaces that agent to reach a verdict instead of remaining incomplete. When a queued push-triggered review is waiting and the pull request is converted to a draft, it no longer posts review results when its turn arrives. Additionally, when a pull request edits a root file such as README.md, the review system no longer ignores CLAUDE.md conventions for a directory just because the filename matches a file listed in that directory.

Original changelog

Original changelogEnterprise Gateway Pricing Sync, Startup Warnings, and Internal Network Sign-In
Added to the Claude apps gateway: with `pricing:` set in `gateway.yaml`, signed-in Claude Code clients receive the same rates through managed settings, so `/cost` and telemetry match the spend meter
Added a startup warning for gateways when `access_control.allow_cidrs` is empty, and a one-time warning the first time a request arrives from a public address
Added the `gatewayInternalNetworks` managed setting, letting administrators allow `/login` to a Claude apps gateway on their organization's own public IPv4 block
Original changelogDedicated Artifact Tab Icons, Data-Edit Cards, and Hardened Access Checks
Added browser-tab icons for published artifacts, chosen by Claude to match each page
Fixed every turn failing with HTTP 400 on third-party Anthropic-compatible endpoints (`ANTHROPIC_BASE_URL`) since 2.1.265: a regex in the Artifact tool's input schema that those endpoints reject
Improved the terminal permission prompt for artifacts: it now leads with the ask's question
Changed the artifact data-edit permission prompt in the terminal to a card that shows the document count and who can open the artifact
Changed local Cowork sessions set to skip all approvals: the Artifact tool now refuses a local file outside the session's folders, or behind a symlink, instead of reading it without asking
Changed plain `WebFetch` deny and ask rules to no longer apply to Artifact tool reads and updates; use an `Artifact` rule (or `WebFetch(domain:claude.ai)`) to block or gate them
Original changelogPlugin Management Structured Output and Instant Menu Updates
Added `configDirectory` to the output of `claude auth status --json`
Added `--json` to `claude plugin install`, `uninstall`, `update`, `enable` and `disable`, and `errorDetails`/`noteDetails` to each row of `claude plugin list --json`
Fixed `claude plugin validate` rejecting plugin paths whose directory name begins with two dots, which the plugin loader accepts
Fixed plugins silently skipping a default monitors file or root SKILL.md that could not be checked
Improved `/plugin`: installing, enabling or disabling a plugin now takes effect when you close the menu; `/reload-plugins` is no longer needed afterwards
Original changelogStrict Symlink Permission Checks, Masked Connection Secrets, and Untrusted Agent Isolation
Fixed a respawned in-process teammate picking up tools or a system prompt from a same-named agent file in a folder you have not trusted
Fixed deny and ask permission rules on symlinked directories (`/etc`, `/tmp`, `/var` on macOS; `/bin` on Linux) not applying when a path was given by its real location, and Bash commands ignoring deny rules written on a symlinked path spelling
Fixed a case where a Read or Edit deny rule did not apply when an `env -C`, `eval` or similar command the permission checker cannot analyze was on the same line
Fixed plugin and marketplace errors showing a token or password from a git source URL
Fixed `/mcp` and `/plugin` server details, `claude mcp list`/`get`, and MCP login errors showing secrets resolved from `${VAR}` placeholders in MCP configs
Fixed Bash sandbox instructions over-stating confinement: no unenforced path lists when filesystem isolation is off, and strict mode no longer claims commands can never run unsandboxed
Original changelogStable Cloud Inference Tools and Tiered Task-Tracking Rollout
Fixed prompt caching and extended thinking breaking mid-session for SDK sessions using `excludeDynamicSections`: the first message is no longer re-rendered each request
Changed the system prompt on Bedrock, Vertex and Foundry to deliver environment, model and settings details as attachments, matching first-party sessions
Changed Bedrock, Vertex and Foundry sessions to keep the tool list byte-stable across a conversation (late-connecting tools load deferred instead of rewriting it), matching first-party sessions
Changed the task-tracking tools (TaskCreate/Get/Update/List, TodoWrite) to be offered only on Claude 3.x, Opus 4.0–4.7, Sonnet 4.0–4.6, Haiku 4.5; set `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` elsewhere
Original changelogModel Cache Access Fixes and Accurate 1M-Context Prompts for Long Sessions
Fixed entitled users being told a model is restricted after restart or in the Desktop Code tab when a cached model-access denial was stale
Fixed a running session silently switching to the organization's default model when another Claude Code process refreshed a stale model-access entry
Fixed long-context 429s on Fable models showing the usage-credits consent prompt instead of the 1M-context message on Pro and Team plans
Improved the "Usage credits required for 1M context" message to say that usage credits turned on mid-session take effect after restarting Claude Code
Original changelogPreserved Special Characters in Compaction and Line-Marked Memory Truncation
Fixed the conversation summary produced by `/compact` and auto-compact mangling text that contained `$` sequences
Fixed resuming a conversation that ended with `/compact`: its restored-file notes now load in the same order on every resume
Fixed SDK prompt suggestions, side questions and `/rename` sending the conversation from before a compaction
Improved the MEMORY.md truncation warning to say how many lines were cut and where the cut starts
Original changelogFaster Agents Panel Navigation, Worktree Stuck Fixes, and Script Parsing Optimizations
Fixed `claude agents`: pressing ← again at a natural pace to go back to the agent list no longer gets ignored until you pause for over a second
Fixed `claude agents` session delete getting stuck when a worktree can't be removed: the message names the cause and next step, and for a git worktree ctrl+x again deletes the directory anyway
Fixed background agent and workflow rows in the agents panel expanding to many lines when their text contained line breaks
Fixed Remote Control sessions served by `claude remote-control` showing a generated name instead of their session title in `ListAgents`
Improved startup time in projects with `.claude/workflows/` scripts: listing them no longer parses each script
Original changelogMCP Sign-In Fixes, Streamlined Notices, and Intact Tool Allowlists
Fixed Claude sometimes replying "your message came through empty" after an MCP tool call
Fixed MCP server OAuth sign-in failing with "No available ports for OAuth redirect" when the local callback port range can't be bound
Fixed Claude in Slack sessions losing their Slack tools when org managed settings set an MCP allowlist
Changed the "N MCP servers need authentication" startup notice to announce each server once instead of at every launch
Original changelogWebFetch Timeout Limits and Alternative Command Guidance for Dotless Hosts
Fixed WebFetch hanging indefinitely on a server that keeps the response open without finishing; a fetch now fails after 300 seconds. Set `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` to override the deadline (0 turns it off)
Fixed Claude in Chrome asking to allow the host "https" when a navigation URL had a scheme but a host that could not be parsed
Fixed WebFetch's error for localhost and other dotless hostnames to explain why the URL is refused and suggest curl
Improved Claude in Chrome: long page reads now stay inline instead of being saved to a file and read back
Original changelogCloud Command Sign-In URL Guidance and Uninterrupted Workload Identity Federation
Fixed workload identity federation via a profile (as claude-code-action configures it): processes sharing the profile could fail mid-run with `401 … jti reused`
Fixed `/remote-control` and other claude.ai-gated commands to suggest `/login` when signed out instead of showing a Claude for Enterprise migration message
Fixed `/autofix-pr` and other cloud-session commands saying to retry or install the Claude GitHub App when no GitHub account is connected; they now point to `/web-setup` or the web connect page
Fixed cloud-session commands such as `/teleport` and `/remote-env` to explain when an organization policy turns them off, instead of answering "Unknown command"
Original changelogOptional Runner State Cleanup, Headless Warnings, and Extended Hook Timeouts
Added `claude self-hosted-runner --remove-session-state` (default off): delete each session's per-session directories under `<base-dir>/_sessions/` when the session ends
Fixed PermissionRequest hooks not firing in `--print` mode
Fixed policy-helper warnings not printing on headless (`-p`) runs
Fixed `/resume` listing a `/fork` background session under its parent's name instead of its own `⑂` fork name
Fixed `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` not extending SessionEnd hooks that have no per-hook `timeout` (they were still cancelled after 1.5 seconds)
Original changelogIdle Session CPU Fixes and Safer Alternative Guidance on Auto Mode Denials
Fixed sustained high CPU usage: a busy loop in long-running idle sessions no longer pins a CPU core, and rapid terminal focus reports during a session recap no longer keep the CPU high
Improved fullscreen mode: adding or removing a prompt line (Shift+Enter) now repaints as fast as typing a character instead of re-rendering the visible transcript
Improved `--continue` / `--resume`: the conversation appears immediately instead of waiting for SessionStart hooks, and the first message no longer re-reads the whole transcript
Improved responsiveness during tool-heavy turns by no longer redrawing the transcript for a hidden per-tool-batch reminder
Improved auto mode denials: the message Claude receives now names the rule that blocked the action and asks Claude to try a safer method and finish unrelated work before stopping to ask you
Original changelogPrompt Suggestion Fixes, Single-Row Spinners, and Restored Cursor Visibility
Fixed `@` file and `/` command suggestions not appearing after recalling a previous prompt with the up arrow and editing it
Fixed the spinner wrapping onto several lines when the current task's label is long; the label and the "Next:" task line now stay within one terminal row
Fixed the `/bug` and `/feedback` description field showing no cursor when the terminal's native cursor is enabled
Improved the prompt footer: an editor or `/diff` selection now shows inside the prompt input, and fullscreen mode shows Remote Control status in the header instead of the footer
Original changelog[VSCode] Accessibility Key Navigation and Instant Plugin Updates Without Restart
[VSCode] Added Left and Right arrow keys to change where an always-allow permission rule is saved, for keyboard and screen reader users
[VSCode] Added a "Claude Code: Focus last message" command that moves keyboard focus to the newest message in the conversation, for keyboard and screen reader users
[VSCode] Changed the Manage plugins dialog to apply installs, enables, disables and uninstalls to open sessions without a restart
[VSCode] Changed some artifact permission prompts to omit the "don't ask again" choice, matching the terminal
Original changelog[VSCode] Stable Multi-Tab Model Pickers and Optimized Process Startup Scheduling
[VSCode] Fixed the model pill, model picker and command menu going blank in open tabs for a few seconds after a login, logout or account switch
[VSCode] Fixed Auto disappearing from the mode picker in new-tab or just-reloaded conversations when a project or local setting overrides the model named in `~/.claude/settings.json`
[VSCode] Fixed session names reverting to the last prompt after a window reload when a SessionStart hook is configured
[VSCode] Fixed the footer's model pill and Remote Control pill waiting for the new tab's Claude process to start when another tab in the window is already up
[VSCode] Fixed a second Claude process running through its full startup when a session tab's launch arrived more than half a second after its config read
Original changelog[VSCode] Custom Config Directory Support and Accurate Windows Diagnostics
[VSCode] Fixed the session list, settings toggles, and chat tabs when `CLAUDE_CONFIG_DIR` is set in a settings file or the `environmentVariables` setting
[VSCode] Fixed resuming a session from the session list ignoring `claudeCode.preferredLocation: "sidebar"` (it always opened a panel), and programmatic opens resetting that setting to "panel"
[VSCode] Fixed Windows issues: the WSL install prompt no longer appears on machines without WSL installed, and IDE diagnostics are now returned correctly for Windows files when WSL is installed
[VSCode] Fixed the custom style builder saving a User level style in a folder the CLI does not read when `CLAUDE_CONFIG_DIR` is set through settings
Original changelog[Claude Code on the web] One-Day Cloud Session Retention and Connector Guidance for Routines
[Claude Code on the web] Fixed cloud sessions running longer than about six hours silently losing files saved to persisted session folders; saves now persist for up to a day
[Claude Code on the web] Fixed "Invalid effort level" errors when a routine resumes a session, or a session starts with no set effort, in orgs where an admin caps a model's effort
[Claude Code on the web] Improved routine creation from a conversation: when the new routine has no connectors, Claude now says so and how to add them instead of only confirming it
Original changelog[Claude Tag] Admin Settings Retry Support and Intact Configs Across Workspace Moves
[Claude Tag] Fixed the admin settings page hanging on a loading skeleton or going blank after a transient load failure; a section that fails to load now shows a Retry button
[Claude Tag] Added a link from a Slack channel's configure page back to the organization's Claude in Slack admin settings
[Claude Tag] Fixed a Slack Enterprise Grid channel losing its Claude settings (repository, environment, access) after a Slack admin moved it to another workspace
[Claude Tag] Improved the message shown when your Claude account is in a different organization than the Slack workspace: it now explains how to connect the workspace to your org
[Claude Tag] Fixed channel-settings cards clicked more than once telling the proposing session the change was refused after it had already applied; the outcome is now sent once
Original changelog[Claude Tag] Faster Replies via Parallel Lookups and Auto-Wrapping Long Tables
[Claude Tag] Improved reply speed: Claude now runs several read-only lookups (searching Slack, reading a thread, finding people) at once instead of one after another
[Claude Tag] Improved formatting of comparisons: sentence-length comparisons now come as lists instead of wide tables that scroll sideways, and long table cells wrap
[Claude Tag] Fixed `@Claude !restart` in a thread with its own session sometimes also posting a contradictory "this thread is handled by the channel session" notice
[Claude Tag] Fixed Markdown links whose URL is wrapped in angle brackets showing as literal bracket text in Slack instead of a clickable link
Original changelog[Claude Tag] Clear Block Explanations and Independent Public Channel Memory
[Claude Tag] Improved how Claude explains a blocked action: it now says whether a permission check, its own decision to confirm first, or missing access stopped it
[Claude Tag] Fixed a workspace guest's top-level @mention in a channel where guests may use Claude sometimes getting a "your Slack account isn't connected" reply instead of an answer
[Claude Tag] Fixed a channel's long-running session being replaced with a fresh one mid-conversation; the scheduled refresh now waits until the channel and its threads are quiet
[Claude Tag] Changed memory in public channels: each channel now keeps its own notes, and Claude no longer recalls notes it saved in other public channels; workspace notes stay shared
Original changelog[Code Review] Automatic Agent Replacement on Review Failures and Open Findings Tracking Notes
[Code Review] Added a note under the still-open findings list in follow-up reviews: resolving a finding's thread, not just replying to it, stops later reviews from counting it as open
[Code Review] Fixed reviews sometimes ending as incomplete when one of the agents verifying a finding failed midway; the review now replaces that agent and reaches a verdict
[Code Review] Fixed a push-triggered review that was queued behind a running review still posting after the pull request had been converted to draft
[Code Review] Fixed reviews ignoring a directory's CLAUDE.md conventions when the PR edited a root file (e.g. README.md) that only shares a name with a file that CLAUDE.md lists