Release notes

FEATURE

Claude Haiku 5.5 Launches with Million-Token Context and New Pricing

When you need to process large volumes of text quickly, the default lightweight model in the official API gets an upgrade. The new claude-haiku-5-5 offers a 1M context window (the amount of text the model can hold in a single pass). Input and output cost $0.10 and $0.50 per million tokens (the units of text the AI processes and bills by), while prompts over 100K are billed at $0.50 and $2.50.

BUGFIX

Agent List Display Stabilized, Authorization and Names No Longer Distorted

When running multiple background sessions, the agent list and bottom-bar information now correctly reflect the current state. Previously, when the system briefly couldn't read the session folder (for example, because too many files were open), the agent count in the bottom bar would vanish and the list would be wiped out by placeholders. Now read errors no longer scramble the interface. Custom agents named worker are no longer mislabeled as Agent at startup, and the detail dialog title keeps the original type after they finish. claude agents previously offered an option to skip permission checks, but if the consent existed only in .claude/settings.local.json or a --settings file, background sessions would ignore that option; now consent is asked for first, and sessions that still ignore the option keep showing a short notice.

FEATURE

Subagent Types Precisely Identified, Tool Disable Scope No Longer Misjudged

When monitoring multiple subagents or custom tool lists through scripts, status notifications and tool determinations become clearer. subagentStatusLine (the data providing subagent status) adds an agentType field so scripts can tell custom agent types apart. Previously, after the host, permission rules, or a --tools list removed SendMessage, Claude could still be asked to use it to resume subagents or send messages; this is now fixed, including for resumed sessions. Subagents and --agent sessions are also no longer told the entire session has a built-in tool disabled just because their own tool list doesn't include it.

BUGFIX

Background-Switch Logic Fixed, Drafts and Queued Messages No Longer Lost

When you press the left arrow ← key mid-run to switch a session to the background, unsent text and pending-question states are no longer accidentally interrupted. Previously, as long as the input box held unsent text, or the screen was waiting for you to answer a question, pressing ← would still switch to the background after 10 seconds. Now the background switch is automatically canceled in these situations. When a queued message cannot be transferred to the background, the system stays in place and explains why, instead of losing the message. If a permission confirmation appears right after you press ←, pressing Esc, or choosing No without feedback, also stops that turn as expected.

BUGFIX

More Flexible Plugin Tool Declaration, Test and Hook Mechanisms Fixed

When developing custom modules or plugins, tool registration and testing flows are more reliable. $.tool.register supports isDeferred; setting it to false lists the tool schema directly in the prompt without going through tool search. When the plugin hook (a small program triggered by specific events) worker process restarts, a module's classic.* event hooks are no longer dropped, avoiding a situation where only settings hooks respond alone. Modules calling $.session.append used to make claude plugin test fail; tests can now read back the appended records via mock.session. On Macs with Docker Desktop installed, symlinks (shortcut files pointing to another location) under ~/.docker/bin used to make claude plugin eval reject every execution granted Bash permission. This bug is fixed, and the rejection message now indicates which part of the credential store (where login proofs are kept) holds the link.

BUGFIX

Remote-Control Streaming Smoother, Notification and History Upload Fixes

When conversing through remote control or cloud environments, long replies display and background status behave more normally. Previously, in long conversations text would occasionally freeze in a block and then suddenly pop out; it now displays smoothly word by word. After credentials are restored, the system no longer re-uploads the history from the start of the session. When launched via the claude remote-control command, push notifications no longer falsely report that remote control is not enabled.

FEATURE

Chrome Browser Control Strengthened, Tabs and Switching No Longer Disconnect

When having Claude drive the Chrome browser to fetch web pages, tab responsiveness and connection prompts become friendlier. When the browser is slow to report tabs, page operations are rejected less often. Typing the /tui command in a session started with --chrome no longer accidentally cuts the browser connection, and the --no-chrome parameter is respected. When a cloud session can't find a browser and multiple organizations exist, the prompt explains that the extension must sign in to the same organization and how to switch.

BUGFIX

Code Review Upload Fixed, Failure Reasons Listed Explicitly

When uploading projects with code review or /ultrareview, file checks and error guidance are clearer. Previously on Linux, sandboxed command execution could wrongly reject some repositories because a config file "couldn't be parsed"—for example, when the repository sat inside another checked-out copy of the project. This read problem is now fixed. When a split index file is rejected, the system no longer suggests a fix that could leave Git unable to read the index. In Code Review's add-repository dialog, repositories that can't be added are now listed one by one, each with its reason (such as missing GitHub write permission).

BUGFIX

Skill Description Delivery Fixed, Idle Sync Interval Extended

When you had just edited a custom skill's description on the web, Claude in the terminal sometimes couldn't read the change. After editing a skill description synced from claude.ai, you no longer sometimes need to start a new conversation or type /clear for the model to pick up the revised description. When no session is in use, the background sync that checks for skill changes now runs about every 40 minutes instead of every 10 minutes.

BUGFIX

Clipboard and Keyboard Fixes, Menu Adjustments No Longer Wrap Around

When pasting text in the terminal, setting shortcuts, or picking model parameters, input detection is more accurate. Pasted text whose first and last words matched used to be treated as typed by hand. After pasting a skill name, an accent mark typed or pasted right after it that merged into the last letter could make the skill name count as manual input; both issues are fixed. In the /model menu, using the left and right arrows to adjust thinking depth no longer wraps past the highest or lowest value, avoiding accidentally saving Low as the default. Previously, when sending a report via /feedback, pressing Ctrl+O or Ctrl+Z jumped back to the draft list, making it impossible to cancel sending; this is now fixed. keybindings.json accepts a single space key " ", and shows a warning for extra spaces like "ctrl+ k".

BUGFIX

Vim Mode Editing Fixes with Precise Cursor Alignment for Indentation and Line Deletion

For users accustomed to editing commands with Vim mode enabled in the terminal, indentation and deletion operations are now more intuitive. Previously, pressing >> or << to indent on blank lines caused the cursor to drift past the end of the line, preventing a subsequent x from deleting characters. The cursor now remains in the correct position. After deleting an entire line in Visual mode using V followed by d, the cursor lands on the first non-blank character, and pressing . correctly repeats the operation on that line.

BUGFIX

Background Maintenance and Cleanup Command Fixes Prevent Terminating Unrelated Processes

Process management and cleanup commands are now more reliable during routine maintenance and file cleanup. Running claude logs, claude stop, claude kill, claude rm, claude daemon status, claude daemon stop, or claude daemon uninstall no longer causes unexpected logouts when login credentials are near expiration or already expired. When encountering files or directories that cannot be deleted, claude purge previously exited silently or hung in the terminal; it now finishes deleting the remaining items, lists failures, and exits with code 1. On Windows, stopping the status line, hooks, or commands no longer terminates unrelated programs that happen to share the same process ID.

FEATURE

Single-File Bash View Commands Load Rules, Diff Notices Indicate Background Changes

Project rule triggering and change tracking are more comprehensive when Claude inspects files or edits code through terminal commands. Previously, viewing a single file through the Bash tool with cat, head, tail, sed -n, or grep instead of the Read tool missed path-specific rules and nested CLAUDE.md files. These single-file viewing commands now correctly load their dedicated rules. Diff notices for Bash edits also explicitly note that listed files were modified while the command was running (which may include writes from other background processes).

FEATURE

Artifact Packages Pin Exact Versions, Publishing Paths No Longer Flash Error Strings

When Claude creates artifacts (web pages you can preview directly or standalone code components), external libraries are used and publication logs are displayed. Claude now pins external libraries to exact versions released at least two weeks prior during artifact creation. An issue where the log line briefly displayed Artifact("(unprintable path)") while an artifact was being published and streamed is also fixed.

FEATURE

Enterprise Policies Load Early with Automatic Retry on Timeout for Smoother Startup

Startup performance and policy configuration are smoother when using Claude in enterprise or team organizational environments. The system now fetches organizational policies and managed settings earlier, automatically retrying stalled requests after 3 seconds. This reduces frustrating delays caused by sluggish connections. An issue where the application gateway refused to start when desktop policies configured Claude Desktop's built-in browser keys (such as builtinBrowserEnabled) has been resolved.

BUGFIX

Memory Compaction Avoids Duplicate Work, Prompt Messaging Reverts to Established Design

Claude tracks historical progress and permission notifications more reliably during long conversations or automated tasks. Previously, triggering context compaction (a mechanism that condenses long transcripts to free up space) could cause Claude to misjudge tasks finished before compaction as just completed, leading to duplicate work or reverted progress. This timeline confusion has now been fixed. A change to auto-mode rejection messages has been reverted, no longer telling Claude that a rejection covers the entire outcome rather than a single command. When cloud container restarts lose pending /loop wakeups or scheduled tasks, notifications are no longer sent to Claude, allowing the session to stay dormant.

BUGFIX

External Tool Connections Fix Memory Leaks, Sorting and Polling Loads Optimized

Memory consumption and server load are more balanced when projects connect multiple external tools or run at scale in self-hosted environments. Previously, HTTP MCP (a protocol connecting AI to external tools) connections retained every sent request until closed. This caused a memory leak (where data no longer needed continues occupying memory), which is now resolved. In the list of agents and MCP servers provided to the model, names with non-ASCII characters are sorted after ASCII names. OpenTelemetry (a tool for collecting application runtime telemetry) claude_code.at_mention log entries now emit at most 100 agent events and 100 MCP resource events per prompt read. Self-hosted environments replaced fixed 5-second polling with a 4–6 second jitter interval, preventing multiple instances in the same environment from sending requests simultaneously.

BUGFIX

[Claude Tag] Slack Cross-Grid Channels Fixed, Executions Run Without Mid-Task Interruptions

Message routing and permission updates are smoother when collaborating with Claude or running routine tasks in Slack channels. In Enterprise Grid shared channels across multiple workspaces, Claude no longer erroneously reports that a workspace is unconfigured upon encountering an unconnected workspace tag. When administrators update connectors, plugins, skills, or rules mid-task, Claude avoids abrupt interruptions and instead applies changes after finishing the current task. Triggering routine tasks in threads with notes now reliably executes and reports back within the thread. When Claude joins announcement channels where only administrators can post, it joins quietly without posting an unprompted introduction.

FEATURE

[Claude Tag] Admin Console Rules Relaxed, Connector Status Rendered Accurately

Administrators managing Claude Tag permissions and connectors in the admin console now have greater configuration flexibility. The channel rule limit for individual workspaces and organization-wide pages has been raised from 20 to 50 rules, allowing more granular policies. The management page now proactively lists unconnected Enterprise Grids with a Connect button for direct linking. In admin settings, the Add a connector dialog (the modal for adding connectors) in access sets previously marked all Google connectors as connected following a single Google login; this display bug is now fixed.

Original changelog

Original changelogClaude Haiku 5.5 Launches with Million-Token Context and New Pricing
Added Claude Haiku 5.5 (`claude-haiku-5-5`), now the default Haiku model on the Anthropic API — 1M context, $0.10/$0.50 per Mtok ($0.50/$2.50 for prompts over 100K)
Original changelogAgent List Display Stabilized, Authorization and Names No Longer Distorted
Fixed the footer's agents count disappearing after a momentary failure to read the sessions folder (for example, too many open files)
Fixed a custom agent named `worker` being shown as "Agent" when it starts, and the agent detail dialog's title losing the agent type once the agent finishes
Fixed `claude agents` offering bypass permissions that background sessions then ignored when consent was saved only in `.claude/settings.local.json` or a `--settings` file; it now asks for consent first, and a session that ignores bypass shows a short notice that stays
Fixed the agents view briefly replacing the session list with placeholder rows when the sessions folder could not be read (for example, too many open files)
Original changelogSubagent Types Precisely Identified, Tool Disable Scope No Longer Misjudged
Added `agentType` to the `subagentStatusLine` payload, so scripts can tell custom subagent types apart
Fixed Claude being told to continue or message subagents with `SendMessage` in sessions, including resumed ones, where a host, a permission rule or a `--tools` list removed that tool
Fixed subagents and `--agent` sessions being told a built-in tool was disabled for the whole session when only their own tool list left it out
Original changelogBackground-Switch Logic Fixed, Drafts and Queued Messages No Longer Lost
Fixed a message sent while Claude was working being lost when `←` moved the session to the background; if a queued message can't move, `←` now stays put and says so
Fixed `←` backgrounding a session after 10 seconds while the prompt held unsent text (it now cancels the move) or a question was waiting for your answer
Fixed Esc, or No without feedback, on a permission prompt not stopping the turn when `←` had just been pressed to move the session to the background
Original changelogMore Flexible Plugin Tool Declaration, Test and Hook Mechanisms Fixed
Added `isDeferred` to `$.tool.register` for mods: `false` lists the tool's schema in the prompt from the start instead of behind tool search
Fixed a mod's hooks on `classic.*` events being skipped while the plugin hooks worker restarts, which left settings hooks to answer without them
Fixed `claude plugin test` failing for mods that call `$.session.append`; tests can read the appended rows back with the new `mock.session`
Fixed `claude plugin eval` refusing every Bash-granting run on Macs with Docker Desktop (links under `~/.docker/bin`); the refusal now names which part of a credential store held the link
Original changelogRemote-Control Streaming Smoother, Notification and History Upload Fixes
Fixed replies in very long Remote Control and cloud sessions that could still appear a block at a time instead of streaming in
Fixed Remote Control uploading a session's starting history again after every credential recovery
Fixed PushNotification reporting "Remote Control inactive" in sessions started with `claude remote-control`
Original changelogChrome Browser Control Strengthened, Tabs and Switching No Longer Disconnect
Fixed `/tui` disconnecting Claude in Chrome in a session started with `--chrome`, and ignoring `--no-chrome`
Improved Claude in Chrome: fewer page actions are refused when the browser is slow to report its tabs
Improved the Claude in Chrome message in cloud sessions when the browser can't be reached: if you belong to more than one organization, it now says the extension must be signed in to the same one, and how to change that
Original changelogCode Review Upload Fixed, Failure Reasons Listed Explicitly
Fixed the `/ultrareview` upload on Linux wrongly refusing some repositories, such as one inside another checkout, over a settings file that "could not be parsed" while a sandboxed command was running
Fixed the `/ultrareview` upload's refusal over split-index files advising a git command that could leave git unable to read its index
[Code Review] Improved Code Review's Add a repository dialog to list each repository that couldn't be added and why, such as missing GitHub write access
Original changelogSkill Description Delivery Fixed, Idle Sync Interval Extended
Fixed a claude.ai-synced skill's edited description sometimes not reaching the model until a new conversation or `/clear`
Changed claude.ai skill syncing to check for changes about every 40 minutes, instead of every 10, while no session is in use
Original changelogClipboard and Keyboard Fixes, Menu Adjustments No Longer Wrap Around
Fixed `/model` effort ←/→ wrapping past the highest or lowest level, which could accidentally save Low as a model's default effort
Fixed pasted text that begins and ends with the same words sometimes being sent to Claude as if it had been typed
Fixed a skill name in pasted text being treated as typed when an accent typed or pasted right after the paste merged into its last letter
Fixed `/feedback` returning to the drafts list after Ctrl+O or Ctrl+Z while a report was sending, leaving the send impossible to cancel
Fixed keybindings.json checks: a lone " " (space key) is no longer reported as an error, and keys like "ctrl+ k" now get a warning
Original changelogVim Mode Editing Fixes with Precise Cursor Alignment for Indentation and Line Deletion
Fixed vim mode `>>` and `<<` on a line of only spaces leaving the cursor past the end of the line, where a following `x` deleted nothing
Fixed vim mode: after deleting whole lines in Visual mode (`V` then `d`) the cursor lands on the first non-blank, and `.` after it acts on the cursor's line
Original changelogBackground Maintenance and Cleanup Command Fixes Prevent Terminating Unrelated Processes
Fixed `claude logs`, `stop`, `kill`, `rm` and `claude daemon status`, `stop`, `uninstall` sometimes signing you out when your login had expired or was about to
Fixed `claude purge` stopping silently (exit 0, or a hang in a terminal) when a file or folder could not be deleted; it now deletes the rest, lists what it could not delete, and exits 1
Windows: Fixed stopping a status line, hook, or shell command sometimes terminating an unrelated process that had been given the same process ID
Original changelogSingle-File Bash View Commands Load Rules, Diff Notices Indicate Background Changes
Fixed path-scoped rules and nested CLAUDE.md files not loading when Claude views a file with a single-file cat, head, tail, sed -n or grep command in the Bash tool instead of the Read tool
Improved the Bash edit diff note to say the listed files changed while the command ran, which can include writes by other processes
Original changelogArtifact Packages Pin Exact Versions, Publishing Paths No Longer Flash Error Strings
Fixed the Artifact tool's transcript row briefly reading `Artifact("(unprintable path)")` while a publish call was still streaming in
Improved artifacts: Claude pins libraries to exact versions two weeks old or older
Original changelogEnterprise Policies Load Early with Automatic Retry on Timeout for Smoother Startup
Fixed the Claude apps gateway refusing to start when a `desktop` policy sets Claude Desktop's built-in browser keys, such as `builtinBrowserEnabled`
Improved startup for Team and Enterprise organizations: policy and managed settings are fetched earlier, and a stalled request is retried after 3 seconds
Original changelogMemory Compaction Avoids Duplicate Work, Prompt Messaging Reverts to Established Design
Fixed Claude sometimes treating its own last actions before a context compaction as done after it, and retracting or redoing finished work
Reverted the auto mode denial message change from 2.1.281 that told Claude a denial covers the outcome, not only the exact command
Reverted the 2.1.290 fix for cloud sessions staying asleep after a container restart lost a pending `/loop` wakeup or scheduled task; Claude is no longer told, and the session stays asleep
Original changelogExternal Tool Connections Fix Memory Leaks, Sorting and Polling Loads Optimized
Fixed a memory leak where an HTTP MCP connection kept every request it had sent until it closed
Changed the order of agent lists and of MCP servers announced to the model: names with non-ASCII characters now sort after ASCII names
Changed OpenTelemetry `claude_code.at_mention` logging to emit at most 100 agent and 100 MCP-resource events each time a prompt is read
Self-hosted runner: Changed the orchestrator to sleep 4 to 6 seconds between polls instead of a constant 5, so several replicas for one environment stop polling at the same moment
Original changelog[Claude Tag] Slack Cross-Grid Channels Fixed, Executions Run Without Mid-Task Interruptions
[Claude Tag] Fixed Claude in Slack saying a workspace isn't set up in Enterprise Grid channels shared across workspaces when Slack labels a message with a workspace that isn't connected
[Claude Tag] Fixed Claude in Slack stopping mid-task in a channel when an admin changed the channel's connectors, plugins, skills or rules; the change now applies once Claude finishes
[Claude Tag] Fixed asking Claude in Slack to run a thread's routine now with extra notes starting a separate run that couldn't post back; the run now continues in that thread
[Claude Tag] Changed Claude in Slack to join announcement channels, where only admins can post, without posting its intro
Original changelog[Claude Tag] Admin Console Rules Relaxed, Connector Status Rendered Accurately
[Claude Tag] Fixed an access bundle's Add a connector dialog in Claude Tag admin settings showing every Google connector as connected after one Google sign-in
[Claude Tag] Improved Claude Tag admin settings to list an Enterprise Grid that isn't connected yet, with a Connect button
[Claude Tag] Changed the limit on channel rules in Claude Tag admin settings from 20 to 50 for each workspace and for the organization-wide Slack page