Claude Code changelog changedchangelog
Nearest release: v2.1.295, published an hour before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 8 Oct 2026 19:56 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 8 Oct 2026 20:07 UTC.
Upstream edited
Recorded here
Lines+213added
Lines−45removed
From line
5
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits58to this page, all time
The whole hunk
from line 5, old and new numbered
/
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.
from line 5
55This page is generated from the [CHANGELOG.md on GitHub](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md). Longer releases are grouped by type of change, with long lists of improvements and bug fixes collapsed.
66
77Run `claude --version` to check your installed version.
8
9<Update label="2.1.295" description="October 8, 2026">
10 **Added**
11
12 * Added `onFailure: "block"` for command and HTTP hooks: a hook that can't start, times out, or exits with an unexpected code blocks the action instead of letting it through
13 * Added Program Status Protocol (OSC 7501) support: terminals that implement it can show whether Claude Code is working, waiting on you, or done
14 * Added quoted text to the `/copy` picker, so a drafted message copies without its `>` markers
15 * Added a warning to `claude plugin install`, `enable`, `disable` and `marketplace add` when the settings file they write to does not load
16 * Added a line on stderr, when it is a terminal, that says what a `claude -p` run is waiting for when it stays open after its last turn
17 * Added support for `timeouts.upstream_ttfb_ms` on the Claude apps gateway's Bedrock, Vertex, Foundry and other cloud upstreams: a value you set now limits how long a stream may take to start there, after which it fails over or gets a 502
18 * Added a "Backgrounding cancelled" message when you stop the turn while `←` is waiting for the current tool to finish
19 * Added an optional `models` list to every Claude apps gateway upstream: only the listed models are sent there, on failover too, and one `*` in an entry is a wildcard
20 * Added support for `forceLoginMethod: "gateway"` and `forceLoginGatewayUrl` in your own user settings on machines with no managed settings, so `/login` opens on that Claude apps gateway
21 * Added advice to `claude plugin validate` when a plugin's README has no install line: it prints the line to paste and never changes the exit code, even with `--strict`
22 * Added `upstream_request_id` to the Claude apps gateway's `inference` audit event: the request ID from Amazon Bedrock, the Anthropic API or another upstream, for support cases
23 * Added `$.ui.notify` for mods: raises a native notification through your own notification setting and says which channel sent it
24 * Added children to a mod's `Button`: strings and `Text`, so a row of a list is one pressable with a chip or a dim detail inside
25 * Added `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` to limit how long unattended retry mode (`CLAUDE_CODE_RETRY_WATCHDOG`) waits out 429 and 529 errors
26 * Added a `request-id` header to the Claude apps gateway's successful inference responses, so `request_id` in Claude Code telemetry matches the gateway's audit log
27 * \[VSCode] Added a chat row for files Claude sends you: click a file's name to open it in the editor; Claude's caption shows underneath, and the row stays visible in Focus view
28 * \[Claude Tag] Added a confirmation in Claude Tag admin settings before adding a channel manager moves that member to Custom roles, which can remove their other access
29
30 **Changed**
31
32 * Changed MCP tool descriptions the model loads through tool search to be cut at 16,384 characters instead of 2,048
33 * Changed subagents to preload at most 32 skills from the `skills` field, each once; a subagent with the Skill tool can still invoke the rest
34 * Changed Ctrl+C at the idle prompt of an attached background session to leave a pending `/loop` wakeup alone, so pressing it twice detaches and the loop keeps running; press Esc to stop it
35 * Changed `claude agents` stopped with its background service (macOS, or Linux without the service installed): running sessions now stop in about a minute unless it is run again, and a notice says so
36 * Changed claude.ai connectors to negotiate MCP protocol version 2026-07-28 by default on installs that fetch no flags; `MCP_PROTOCOL_NEGOTIATION=legacy` opts out
37 * Changed Artifact pages with no background of their own to show on white instead of off-white
38 * Changed what Claude and you read when a mod denies a tool call after the tool ran: it now says the tool ran and a plugin withheld its result
39 * Changed tab stops to count from where a text starts instead of from the screen's left edge: an answer indented by 2 has its first stop 8 cells in, where it was 6
40 * Changed the Artifact tool's permission prompts with telemetry disabled to the same five questions other installs get, instead of asking before each read of someone else's artifact and each data edit
41 * Changed scheduled and Run now routine runs in installs with telemetry disabled to publish new private artifacts, and update your own, without asking, as in other installs
42 * Changed toasts from your organization's mods to show ahead of other mods' toasts instead of waiting behind them
43 * Changed the Claude apps gateway to start with a warning and serve a `desktop` policy key its bundled Claude Desktop schema doesn't know, so new Desktop settings need no gateway upgrade
44 * Changed WebSocket (`ws`) MCP servers: a message over 16 MiB is no longer parsed and closes the connection, the limit the other transports already have
45 * Self-hosted runner: Changed the runner to stop passing `CCR_AUTO_MODE_ALLOW`, `CCR_AUTO_MODE_ENVIRONMENT` and `CCR_AUTO_MODE_SOFT_DENY` into a session's environment
46 * \[Claude Tag] Changed the settings confirmation cards Claude posts in a Slack channel to stay open for 30 minutes instead of 10
47 * \[Claude Tag] Changed Claude's notice that a channel shared across Enterprise Grid workspaces uses organization defaults to post only when someone mentions Claude, at most once a month
48
49 <Expandable title="13 improvements">
50 - Improved token counts behind a Claude apps gateway on Amazon Bedrock, which `/context` and large file reads use: the gateway now gets them from AWS's CountTokens API instead of a one-token model request. Grant `bedrock:CountTokens` to use it
51 - Improved the Claude apps gateway to log a warning every 30 seconds while its PostgreSQL database is read-only, saying what fails and how to recover
52 - Improved the status shown in Remote Control, claude.ai and the desktop app for a session waiting on a permission prompt to name an MCP tool by its server and readable name instead of its `mcp__server__tool` identifier
53 - Improved background requests behind a Claude apps gateway to use Haiku 4.5 instead of the session's model, falling back to the session's model where the gateway does not serve Haiku 4.5
54 - Improved how the Claude apps gateway handles models not listed under `models:` in Amazon Bedrock regions outside AWS's US geography. AWS always refused those requests; the gateway now tries the model in your own region, and a refusal names the model to add
55 - Improved headless `rate_limit_event` usage-limit warnings to say whether the account has extra usage turned on
56 - Improved the built-in `plugin-authoring` skill: it no longer tells a session with no terminal to run terminal commands, and explains sharing a mod only when asked
57 - Improved Grep input handling: a search sent with grep's `-l`, `-c` or `-r` flag now runs instead of failing the call
58 - Improved `claude plugin validate` and plugin loading: when a hooks module is refused over a rebound top-level `var`, the error now names the line that rebinds it, the cause, and a fix
59 - Improved the Workflow tool's `scriptPath` refusal: it now says to pass the script inline via `script`, the route that works in sessions without a Read tool
60 - Improved what Claude is told when a large file it sends fails to upload with no reason given, so it reports the failure instead of shrinking the file
61 - \[Cloud sessions] Improved how quickly a cloud session catches up after its connection drops: activity you missed now appears all at once instead of row by row
62 - \[Cloud sessions] Improved the setup script box in the cloud environment form: it starts taller, grows with your script, and can be resized by dragging
63 </Expandable>
64
65 <Expandable title="97 bug fixes">
66 * Fixed every request failing on a `[1m]` model when a gateway, Bedrock, Vertex or Foundry refuses the context-1m beta; Claude Code now resends without it
67 * Fixed `claude -p` text output dropping earlier responses when background work started another turn; each turn's response now prints when the turn ends
68 * Fixed remote MCP servers in headless and SDK sessions staying disconnected after an outage longer than 15 seconds, or reconnecting in a tight loop to a server that drops each connection right after it connects; repeated drops now back off, up to 30s
69 * Fixed remote MCP connections being dropped when a server's error reply happened to contain a network error name
70 * Fixed MCP servers that repeat a pagination cursor being asked for the same page up to 20 times at every connect
71 * Fixed CSS, JavaScript and XML files returned by MCP tools being saved as .bin, which the Read tool refuses; font and icon files now get their own extension too
72 * Fixed Bash tool calls failing when the model passes `command_description` instead of `description`
73 * Fixed Claude in Chrome not applying a site deny rule written with port 80 (`host:80`) to plain `http://` pages on that host
74 * Fixed `/plugin`'s Errors tab removing a marketplace that failed to load, and uninstalling its plugins, on Enter without asking first
75 * Fixed `claude plugin marketplace add` reporting success for a marketplace whose name no plugin can be installed under; such an add is now refused
76 * Fixed `CLAUDE_AUTO_BACKGROUND_TASKS` moving a subagent to the background while an edit or shell command waited behind it, which started that call before the subagent finished
77 * Fixed PushNotification saying a push was not sent in `claude remote-control` sessions right after a phone message, without the `/config` toggle, or when started from inside Claude Code
78 * Fixed files sent from remote sessions being refused as "could not be vouched for" when more than 256 were sent at once
79 * Fixed a rare failure to load managed settings at startup right after a login refresh
80 * Fixed `/tui` exiting without a message, or with a raw system error, when Claude Code could not be started again
81 * Fixed a link address shown as text being hidden by a colour or conceal style a reply left on, including where it wraps in a table or a question preview
82 * Fixed Fable models listed in `availableModels` not appearing in the `/model` picker for sessions signed in to a Claude apps gateway; such a model now shows its built-in row in place of a `modelPicker` row added for the same model
83 * Fixed the Claude apps gateway's admin spend view showing a developer's old groups and group cap after their session stopped carrying groups
84 * Fixed `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` hiding the Claude apps gateway spend limit in `/usage` and the status line. The spend limit request goes to the gateway the session is signed in to
85 * Fixed subagents in their own linked worktree being shown the parent session's git branch, status and recent commits
86 * Fixed Claude stopping at the end of the current tool when text typed in the prompt cancelled backgrounding with `←`; Claude now keeps working in the foreground
87 * Fixed `--tools` and `--restricted` not applying to built-in tools that register after launch, and deprecated tool names reaching tools outside the caller's tool set
88 * Fixed an interrupt not ending the turn until a timeout while Claude waited for an MCP server's resource list
89 * Fixed a mod's hook being handed a deeply nested tool input cut short with no error, so a guard could pass content it never saw
90 * Fixed Esc not stopping a self-paced `/loop` that was moved to the background with `←`; cancelling a pending wakeup now shows a notice
91 * Fixed commands and hooks in background sessions inheriting `FORCE_COLOR=3`, which put color escape codes into the output Claude reads
92 * Fixed `claude agents` starting a new background service as it exited when both were stopped with a session open (for example at a reboot), which could delay shutdown and restart an interrupted session
93 * Fixed a custom agent named `worker` being shown as "Agent" in auto-mode denial notices and in the activity lists of task detail views
94 * Fixed Bash permission checks for for-loops over glob patterns, improving permission-check accuracy
95 * Fixed forked skills invoked from Workflow subagents delivering their results to the main conversation instead of the invoking agent
96 * Fixed in-process agent teammates failing their first SendMessage call until they loaded the tool through tool search
97 * Fixed Claude being told on resume that an unfinished background workflow may have been stopped by `TaskStop`, which can never be the cause
98 * Fixed Claude not being told when you stop a long-running MCP tool call from the tasks panel or a connected client
99 * Fixed a background session's `/loop` stopping without notice when its next wakeup came due while the session's process was down; the session now says so and Claude is told
100 * Fixed raw terminal hyperlink bytes in a reply or a teammate's message being drawn as a clickable link with a hidden address
101 * Fixed plugin marketplaces whose repository has large git submodules failing to add or refresh: only the submodules that hold plugin files are now fetched
102 * Fixed the `/advisor` dialog showing a checkmark on a saved advisor model that is no longer available; it now opens on "No advisor"
103 * Fixed the notification for an MCP tool call that moved to the background showing a shortened task id
104 * Fixed vim mode's `~` moving the cursor past the last character of a line, so `x` after it did nothing, and `3~` running on into the next line
105 * Fixed the cursor landing one character too far after pasting accented text copied from macOS (such as a file name) into the middle of the prompt
106 * Fixed the terminal freezing, with ctrl+c ignored, when a response ran to tens of thousands of lines
107 * Fixed calls a mod makes while it reloads during a plugin hooks worker restart getting past another mod's guard hook that has a `.catch`; such calls are now refused
108 * Fixed plugins whose hooks module nests code thousands of levels deep failing to load or validate with a bare stack-overflow message
109 * Fixed `claude plugin test` passing a `session.append` hook that removes tool call, tool result or thinking blocks that a real session keeps
110 * Fixed Claude not being told it can resume background subagents with SendMessage after a session was killed and resumed a second time
111 * Fixed a file being treated as already read after a Bash command such as `cat` ran without printing it
112 * Fixed plugin options named `constructor` or `prototype` always reading as their default and never reloading the plugin when edited
113 * Fixed a mod's hot reload missing a save made while `/reload-plugins` or session start was reading the mod's files
114 * Fixed the mod hot-reloading question being asked again every turn for the whole session when it is approved without picking an answer
115 * Fixed `/model`, `/fast` and `/output-style` saving their setting without asking a plugin's `config.set` hook
116 * Fixed bold text being drawn faint in piped output when it directly follows dim text
117 * Fixed replies whose quotes nest deeper every few lines freezing the terminal for seconds and using gigabytes of memory
118 * Fixed a mod's hot reload missing a save made within a few milliseconds of its last reload, which left the mod on its old version until the next save
119 * Fixed `claude mcp serve` background Bash results not naming the output file, and its tool description promising a notification that never arrives
120 * Fixed an async SessionStart hook's unchanged context being added to the conversation again on every resume
121 * Fixed variables a SessionStart hook writes to `CLAUDE_ENV_FILE` not reaching the Bash tool after an in-app `/resume` or `/branch`
122 * Fixed a skill's `allowed-tools` and `effort` being dropped when the Skill tool finished before the response stream ended, which denied the skill's Bash commands in `-p` runs
123 * Fixed a tampered cache of server-managed settings making a person's own plugin count as organization-managed on machines whose managed settings list or enable plugins
124 * Fixed Claude 3 Opus and Claude 3.x Sonnet sessions being offered tool search, which those models reject, where feature flags are unavailable
125 * Fixed generated type files being written into a `--plugin-dir` plugin's folder in `-p` and SDK sessions; they are now written only where a mod is being developed
126 * Fixed text with tabs or bidirectional control characters losing its end at the edge of the screen or drawing over nearby rows
127 * Fixed `/model` saying a Max effort pick was saved as your default for new sessions; Max applies to the current session only
128 * Fixed an async hook's JSON output being ignored when it is printed over several lines
129 * Fixed the Read tool rejecting calls with an empty `pages` parameter instead of treating it as omitted
130 * Fixed project-scope plugins not loading in VS Code on Windows due to drive-letter casing (anthropics/claude-code#74612)
131 * Fixed `plugin install` and `uninstall` at project or local scope on Windows missing the install record, or adding a second one, when only the drive letter's case differs
132 * Fixed a queued message being lost when pulled back into the prompt with `↑` or `Esc` just after `←`: prompt history now keeps it
133 * Fixed mod hot-reloading turning off for the whole session when an SDK host closed its enable question before anyone answered; the question is now asked up to three times
134 * Fixed a prompt that a mod's `prompt.submit` hook rewrote or dropped still being saved as typed to prompt history and to the transcript's queued-prompt records
135 * Fixed non-interactive sessions telling you about MCP servers that need authentication when your request doesn't use them
136 * Fixed the `claude_code.auth` OpenTelemetry login event not being emitted on Claude apps gateway sign-in. The event is exported when OpenTelemetry is configured on the machine or the session is already signed in to the gateway
137 * Fixed a plugin that adds very large interfaces getting another plugin unloaded when the plugin hooks worker stalls
138 * Fixed Edit treating a file as fully read when its contents changed without its modification time advancing
139 * Fixed short command output with Windows line endings (CRLF) being drawn on a single line
140 * Fixed a stopped scheduled task coming back on resume after a rewind, and a scheduled task being lost on resume after Esc or a rewind following a compaction
141 * Fixed the terminal freezing for seconds or minutes while syntax highlighting code with very long lines, long runs of blank lines, or unclosed strings and heredocs
142 * Fixed temporary files left under `~/.claude/seed-admin` by an interrupted `/ultrareview` upload never being removed by the retention cleanup
143 * Fixed Desktop and SDK sessions refusing to switch back to auto mode until restart after `disableAutoMode` was removed from settings
144 * Fixed claude.ai-synced plugin hooks failing with "Plugin directory does not exist" in long-running sessions after another session synced a plugin update
145 * Fixed the prompt sent after a `/rewind` being lost, and the removed turns coming back, when the session was moved to the background or resumed after being killed
146 * Fixed cloud sessions hanging when a mod's `session.receive` hook asked for permission before passing a message on
147 * Fixed macOS background sessions that restart together after an update sometimes running outside the stable app wrapper, so folder-access prompts could reappear
148 * Fixed an MCP sign-in or reconnect that finishes late in headless and SDK sessions relisting a server set with `setMcpServers()` as your own
149 * Fixed changing the auto-update channel in `/config` saving before a plugin's `config.set` hook was asked
150 * macOS: Fixed a file count at session start that could reach other apps' data and raise the "access data from other apps" prompt when a session starts in the home folder or above it
151 * \[VSCode] Fixed "Fork conversation from here" and Rewind's conversation restore failing with "Message not found in session" after a background agent's activity or one of the panel's own status lines
152 * \[VSCode] Fixed Ctrl+Shift+Tab, Cmd+Shift+Tab and Alt+Shift+Tab in the chat input also switching the permission mode, and Ctrl+Tab accepting the suggested prompt
153 * \[VSCode] Fixed keyboard focus bouncing between two Claude views visible at once, which could send typed text to the wrong conversation
154 * Self-hosted runner: Fixed git fetches being cut off while the git server was still reporting progress on a large repository; `CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS` tunes or turns off the wait
155 * \[Cloud sessions] Fixed a message sent right after unarchiving a cloud session sometimes getting no reply because no container could start for it
156 * \[Cloud sessions] Fixed some older routines starting their runs without ever giving Claude their saved prompt; those routines now run their prompt again
157 * \[Claude Tag] Fixed channel links and @-mentions in a forked thread's "Continued from" card showing as raw Slack codes
158 * \[Claude Tag] Fixed Slack's Working status spinning on under a thread after `@Claude !restart` had already confirmed the restart
159 * \[Claude Tag] Fixed another app's or bot's @Claude going unanswered in a busy channel where Claude had stopped reading untagged messages
160 * \[Code Review] Fixed Code Review re-reviews saying no issues were found while earlier findings were still open; the comment now says how many remain open
161 * \[Code Review] Fixed Code Review still skipping a large CLAUDE.md's rules when the pull request edits that file
162 * Fixed web searches and `agent` hook evaluations taking much longer at `xhigh` and `max` effort
163 </Expandable>
164</Update>
8165
9166<Update label="2.1.294" description="October 8, 2026">
10167 * Fixed `prompt` and `agent` hooks written as instructions (such as "Block commands that...") allowing what they should block
from line 169
12169</Update>
13170
14171<Update label="2.1.293" description="October 7, 2026">
172 **Added**
173
15174 * 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)
16175 * Added `agentType` to the `subagentStatusLine` payload, so scripts can tell custom subagent types apart
17176 * Added `isDeferred` to `$.tool.register` for mods: `false` lists the tool's schema in the prompt from the start instead of behind tool search
18 * Fixed Claude sometimes treating its own last actions before a context compaction as done after it, and retracting or redoing finished work
19 * Fixed a memory leak where an HTTP MCP connection kept every request it had sent until it closed
20 * 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
21 * Fixed `/model` effort ←/→ wrapping past the highest or lowest level, which could accidentally save Low as a model's default effort
22 * Fixed `/tui` disconnecting Claude in Chrome in a session started with `--chrome`, and ignoring `--no-chrome`
23 * 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
24 * 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
25 * Fixed a claude.ai-synced skill's edited description sometimes not reaching the model until a new conversation or `/clear`
26 * 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
27 * Fixed the footer's agents count disappearing after a momentary failure to read the sessions folder (for example, too many open files)
28 * 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
29 * Fixed the Artifact tool's transcript row briefly reading `Artifact("(unprintable path)")` while a publish call was still streaming in
30 * 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
31 * Fixed the `/ultrareview` upload's refusal over split-index files advising a git command that could leave git unable to read its index
32 * Fixed replies in very long Remote Control and cloud sessions that could still appear a block at a time instead of streaming in
33 * Fixed Remote Control uploading a session's starting history again after every credential recovery
34 * Fixed PushNotification reporting "Remote Control inactive" in sessions started with `claude remote-control`
35 * Fixed a mod's hooks on `classic.*` events being skipped while the plugin hooks worker restarts, which left settings hooks to answer without them
36 * Fixed `claude plugin test` failing for mods that call `$.session.append`; tests can read the appended rows back with the new `mock.session`
37 * 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
38 * Fixed the Claude apps gateway refusing to start when a `desktop` policy sets Claude Desktop's built-in browser keys, such as `builtinBrowserEnabled`
39 * 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
40 * 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
41 * 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
42 * 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)
43 * 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
44 * Fixed pasted text that begins and ends with the same words sometimes being sent to Claude as if it had been typed
45 * 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
46 * Fixed `/feedback` returning to the drafts list after Ctrl+O or Ctrl+Z while a report was sending, leaving the send impossible to cancel
47 * 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
48 * Fixed keybindings.json checks: a lone " " (space key) is no longer reported as an error, and keys like "ctrl+ k" now get a warning
49 * 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
50 * 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
51 * Windows: Fixed stopping a status line, hook, or shell command sometimes terminating an unrelated process that had been given the same process ID
177
178 **Changed**
179
52180 * Reverted the auto mode denial message change from 2.1.281 that told Claude a denial covers the outcome, not only the exact command
53181 * 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
54 * Improved startup for Team and Enterprise organizations: policy and managed settings are fetched earlier, and a stalled request is retried after 3 seconds
55 * Improved Claude in Chrome: fewer page actions are refused when the browser is slow to report its tabs
56 * 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
57 * Improved the Bash edit diff note to say the listed files changed while the command ran, which can include writes by other processes
58 * Improved artifacts: Claude pins libraries to exact versions two weeks old or older
59182 * Changed claude.ai skill syncing to check for changes about every 40 minutes, instead of every 10, while no session is in use
60183 * Changed the order of agent lists and of MCP servers announced to the model: names with non-ASCII characters now sort after ASCII names
61184 * Changed OpenTelemetry `claude_code.at_mention` logging to emit at most 100 agent and 100 MCP-resource events each time a prompt is read
62185 * 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
63 * \[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
64 * \[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
65 * \[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
66 * \[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
67 * \[Claude Tag] Improved Claude Tag admin settings to list an Enterprise Grid that isn't connected yet, with a Connect button
68186 * \[Claude Tag] Changed Claude in Slack to join announcement channels, where only admins can post, without posting its intro
69187 * \[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
70 * \[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
188
189 <Expandable title="7 improvements">
190 - Improved startup for Team and Enterprise organizations: policy and managed settings are fetched earlier, and a stalled request is retried after 3 seconds
191 - Improved Claude in Chrome: fewer page actions are refused when the browser is slow to report its tabs
192 - 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
193 - Improved the Bash edit diff note to say the listed files changed while the command ran, which can include writes by other processes
194 - Improved artifacts: Claude pins libraries to exact versions two weeks old or older
195 - \[Claude Tag] Improved Claude Tag admin settings to list an Enterprise Grid that isn't connected yet, with a Connect button
196 - \[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
197 </Expandable>
198
199 <Expandable title="38 bug fixes">
200 * Fixed Claude sometimes treating its own last actions before a context compaction as done after it, and retracting or redoing finished work
201 * Fixed a memory leak where an HTTP MCP connection kept every request it had sent until it closed
202 * 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
203 * Fixed `/model` effort ←/→ wrapping past the highest or lowest level, which could accidentally save Low as a model's default effort
204 * Fixed `/tui` disconnecting Claude in Chrome in a session started with `--chrome`, and ignoring `--no-chrome`
205 * 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
206 * 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
207 * Fixed a claude.ai-synced skill's edited description sometimes not reaching the model until a new conversation or `/clear`
208 * 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
209 * Fixed the footer's agents count disappearing after a momentary failure to read the sessions folder (for example, too many open files)
210 * 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
211 * Fixed the Artifact tool's transcript row briefly reading `Artifact("(unprintable path)")` while a publish call was still streaming in
212 * 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
213 * Fixed the `/ultrareview` upload's refusal over split-index files advising a git command that could leave git unable to read its index
214 * Fixed replies in very long Remote Control and cloud sessions that could still appear a block at a time instead of streaming in
215 * Fixed Remote Control uploading a session's starting history again after every credential recovery
216 * Fixed PushNotification reporting "Remote Control inactive" in sessions started with `claude remote-control`
217 * Fixed a mod's hooks on `classic.*` events being skipped while the plugin hooks worker restarts, which left settings hooks to answer without them
218 * Fixed `claude plugin test` failing for mods that call `$.session.append`; tests can read the appended rows back with the new `mock.session`
219 * 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
220 * Fixed the Claude apps gateway refusing to start when a `desktop` policy sets Claude Desktop's built-in browser keys, such as `builtinBrowserEnabled`
221 * 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
222 * 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
223 * 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
224 * 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)
225 * 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
226 * Fixed pasted text that begins and ends with the same words sometimes being sent to Claude as if it had been typed
227 * 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
228 * Fixed `/feedback` returning to the drafts list after Ctrl+O or Ctrl+Z while a report was sending, leaving the send impossible to cancel
229 * 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
230 * Fixed keybindings.json checks: a lone " " (space key) is no longer reported as an error, and keys like "ctrl+ k" now get a warning
231 * 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
232 * 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
233 * Windows: Fixed stopping a status line, hook, or shell command sometimes terminating an unrelated process that had been given the same process ID
234 * \[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
235 * \[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
236 * \[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
237 * \[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
238 </Expandable>
71239</Update>
72240
73241<Update label="2.1.292" description="October 6, 2026">
74242
No line in this hunk matches that.