Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · claude-code

Claude Code changelog changed

changelog

Nearest release: v2.1.268, published 2 hours before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+99added
Lines−0removed
From line 6 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits40to this page, all time

The whole hunk

from line 6, old and new numbered
/
lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 6
66 
77Run `claude --version` to check your installed version.
88 
9<Update label="2.1.268" description="September 10, 2026">
10 * 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
11 * 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
12 * Added the `gatewayInternalNetworks` managed setting, letting administrators allow `/login` to a Claude apps gateway on their organization's own public IPv4 block
13 * 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
14 * Added `configDirectory` to the output of `claude auth status --json`
15 * Added `--json` to `claude plugin install`, `uninstall`, `update`, `enable` and `disable`, and `errorDetails`/`noteDetails` to each row of `claude plugin list --json`
16 * Added browser-tab icons for published artifacts, chosen by Claude to match each page
17 * 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
18 * 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)
19 * 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
20 * 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
21 * Fixed Claude sometimes replying "your message came through empty" after an MCP tool call
22 * 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
23 * 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
24 * Fixed plugin and marketplace errors showing a token or password from a git source URL
25 * Fixed `/mcp` and `/plugin` server details, `claude mcp list`/`get`, and MCP login errors showing secrets resolved from `${VAR}` placeholders in MCP configs
26 * Fixed prompt caching and extended thinking breaking mid-session for SDK sessions using `excludeDynamicSections`: the first message is no longer re-rendered each request
27 * 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
28 * Fixed a running session silently switching to the organization's default model when another Claude Code process refreshed a stale model-access entry
29 * Fixed long-context 429s on Fable models showing the usage-credits consent prompt instead of the 1M-context message on Pro and Team plans
30 * 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`
31 * Fixed MCP server OAuth sign-in failing with "No available ports for OAuth redirect" when the local callback port range can't be bound
32 * Fixed the conversation summary produced by `/compact` and auto-compact mangling text that contained `$` sequences
33 * Fixed resuming a conversation that ended with `/compact`: its restored-file notes now load in the same order on every resume
34 * Fixed SDK prompt suggestions, side questions and `/rename` sending the conversation from before a compaction
35 * Fixed `@` file and `/` command suggestions not appearing after recalling a previous prompt with the up arrow and editing it
36 * 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
37 * 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
38 * Fixed background agent and workflow rows in the agents panel expanding to many lines when their text contained line breaks
39 * Fixed Claude in Slack sessions losing their Slack tools when org managed settings set an MCP allowlist
40 * 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
41 * 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
42 * Fixed the `/bug` and `/feedback` description field showing no cursor when the terminal's native cursor is enabled
43 * Fixed Remote Control sessions served by `claude remote-control` showing a generated name instead of their session title in `ListAgents`
44 * Fixed `claude plugin validate` rejecting plugin paths whose directory name begins with two dots, which the plugin loader accepts
45 * Fixed plugins silently skipping a default monitors file or root SKILL.md that could not be checked
46 * Fixed WebFetch's error for localhost and other dotless hostnames to explain why the URL is refused and suggest curl
47 * Fixed PermissionRequest hooks not firing in `--print` mode
48 * Fixed policy-helper warnings not printing on headless (`-p`) runs
49 * Fixed `/resume` listing a `/fork` background session under its parent's name instead of its own `⑂` fork name
50 * Fixed `/remote-control` and other claude.ai-gated commands to suggest `/login` when signed out instead of showing a Claude for Enterprise migration message
51 * 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)
52 * 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
53 * Fixed cloud-session commands such as `/teleport` and `/remote-env` to explain when an organization policy turns them off, instead of answering "Unknown command"
54 * 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
55 * 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
56 * Improved `--continue` / `--resume`: the conversation appears immediately instead of waiting for SessionStart hooks, and the first message no longer re-reads the whole transcript
57 * Improved responsiveness during tool-heavy turns by no longer redrawing the transcript for a hidden per-tool-batch reminder
58 * Improved startup time in projects with `.claude/workflows/` scripts: listing them no longer parses each script
59 * 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
60 * Improved Claude in Chrome: long page reads now stay inline instead of being saved to a file and read back
61 * Improved the MEMORY.md truncation warning to say how many lines were cut and where the cut starts
62 * Improved the terminal permission prompt for artifacts: it now leads with the ask's question
63 * 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
64 * Improved the "Usage credits required for 1M context" message to say that usage credits turned on mid-session take effect after restarting Claude Code
65 * Improved `/plugin`: installing, enabling or disabling a plugin now takes effect when you close the menu; `/reload-plugins` is no longer needed afterwards
66 * Changed the system prompt on Bedrock, Vertex and Foundry to deliver environment, model and settings details as attachments, matching first-party sessions
67 * 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
68 * 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
69 * Changed the artifact data-edit permission prompt in the terminal to a card that shows the document count and who can open the artifact
70 * 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
71 * 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
72 * Changed the "N MCP servers need authentication" startup notice to announce each server once instead of at every launch
73 * \[VSCode] Fixed the session list, settings toggles, and chat tabs when `CLAUDE_CONFIG_DIR` is set in a settings file or the `environmentVariables` setting
74 * \[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
75 * \[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`
76 * \[VSCode] Fixed session names reverting to the last prompt after a window reload when a SessionStart hook is configured
77 * \[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
78 * \[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
79 * \[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"
80 * \[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
81 * \[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
82 * \[VSCode] Added Left and Right arrow keys to change where an always-allow permission rule is saved, for keyboard and screen reader users
83 * \[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
84 * \[VSCode] Changed the Manage plugins dialog to apply installs, enables, disables and uninstalls to open sessions without a restart
85 * \[VSCode] Changed some artifact permission prompts to omit the "don't ask again" choice, matching the terminal
86 * \[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
87 * \[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
88 * \[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
89 * \[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
90 * \[Claude Tag] Added a link from a Slack channel's configure page back to the organization's Claude in Slack admin settings
91 * \[Claude Tag] Fixed a Slack Enterprise Grid channel losing its Claude settings (repository, environment, access) after a Slack admin moved it to another workspace
92 * \[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
93 * \[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
94 * \[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
95 * \[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
96 * \[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
97 * \[Claude Tag] Fixed Markdown links whose URL is wrapped in angle brackets showing as literal bracket text in Slack instead of a clickable link
98 * \[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
99 * \[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
100 * \[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
101 * \[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
102 * \[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
103 * \[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
104 * \[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
105 * \[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
106</Update>
107 
9108<Update label="2.1.267" description="September 9, 2026">
10109 * Added `maxEffortLevel` setting (top-level or per model under `modelSettings`): caps the effort level on every provider, including Bedrock, Vertex and Foundry; users can still pick a lower level
11110 * Added `--system-prompt-snapshot off` to render the system prompt fresh on every request instead of reusing the conversation's recorded prompt (for iterating on prompt text)
from line 1923
18241923 * Fixed pressing `←` inside `claude attach <id>` exiting to the shell instead of opening the agent view
18251924 * Fixed `claude --bg` silently creating an unattachable session when combined with `--print`/`-p`; the conflicting flags are now rejected up front
18261925 * Fixed the workflow progress view dropping the earliest agents from the list while the phase counter stayed correct in SDK and desktop-app sessions
1827 * Fixed `.claude/rules/` conditional rules not loading when the target file is reached via a symlinked path
1828 * Fixed Cmd+click not opening URLs in fullscreen mode in Warp on macOS
1829 * Fixed double-click word selection in fullscreen mode to select the entire URL including the scheme
1830 * Fixed plan mode not auto-allowing read-only tool calls when a session starts in plan mode
1831 * Fixed `/branch` deriving its default fork name from the compaction summary instead of the first real prompt
1832 * Improved focus mode: subagents launched in a turn now appear in its activity summary, and completed background notifications fold into a single count
1833 * Improved syntax highlighting accuracy in code blocks, diffs, and file previews by upgrading to highlight.js 11
1834 * Keyboard shortcut hints now show opt/cmd instead of alt/super when connected from a Mac over SSH
1835 * Improved API retry UX: the error reason is now shown after the second attempt, and a status page link replaces the spinner tip when the API is overloaded
1836 * `/login` now opens the sign-in dialog from the `claude agents` view instead of saying it isn't available
1837 * Subagents now treat messages from the agent that launched them as normal task direction; an agent's message is still never treated as the user's approval
1838 * Removed the `/agents` wizard; ask Claude to create or manage subagents, or edit `.claude/agents/` directly
1839</Update>
1840 
1841<Update label="2.1.197" description="June 30, 2026">
1842 * Introducing Claude Sonnet 5: now the default model in Claude Code, with a native 1M-token context window and promotional pricing of $2/$10 per Mtok through August 31. Update to version 2.1.197 for access. [https://www.anthropic.com/news/claude-sonnet-5](https://www.anthropic.com/news/claude-sonnet-5)
1843</Update>
1844 
1845<Update label="2.1.196" description="June 29, 2026">
1846 * Added support for organization default models — admins set it in the org console; it shows as "Org default" (or "Role default") in `/model` when you haven't picked one yourself
1847 * Added readable default names for sessions at start, making them easier to identify and message
1848 * Added clickable file attachments in chat — Cmd/Ctrl-click reveals the file in Finder/Explorer
1849 * Security: `claude mcp list`/`get` no longer spawn `.mcp.json` servers that a repo self-approved via a committed `.claude/settings.json`; untrusted workspaces show `⏸ Pending approval`
1850 * Fixed waking a background job permanently deleting its conversation and re-running the original prompt when the transcript probe misread a real transcript; the file is now set aside, never deleted
1851 * Fixed the rate-limit warning flickering off and rate-limit telemetry being over-counted when multiple parallel requests were in flight at the moment a usage limit was hit
1852 * Fixed duplicate recap lines after a background session's turn: a schema-rejected StructuredOutput attempt no longer renders alongside its retry
1853 * Fixed PowerShell `git diff`/`git grep`, `egrep`/`fgrep`, and quoted search patterns containing `|` being reported as failures when they exit 1, matching Bash behavior
1854 * Fixed multiple `claude agents` side panel issues: keyboard focus getting stuck when opening an agent, background jobs losing their subagent types on every open, and sessions showing incorrect status while actively running
1855 * Fixed `claude agents --dangerously-skip-permissions` silently falling back to auto mode instead of showing the bypass disclaimer and applying bypass mode to spawned agents
1856 * Fixed mid-turn crash recovery for Remote sessions — sessions interrupted by a server restart now auto-resume on the next worker
1857 * Fixed sessions moved with `/cd` reappearing in the old directory's resume list after a non-graceful exit when the old path contained special characters
1858 * Fixed `claude plugin validate` skipping local plugins whose source is "." and stopping after the first error class
1859 * Fixed Esc Esc at an idle prompt not opening the rewind menu (regression); use Ctrl+C or Ctrl+X Ctrl+K to stop background agents
1860 * Fixed MCP OAuth requesting the authorization server's full `scopes_supported` catalog when no scope is specified, causing `invalid_scope` failures on GitLab self-hosted and other enterprise IdPs
1861 * Fixed `/context` showing 0 tokens for all tool groups on Bedrock
1862 * Fixed `/deep-research` misreporting verifier failures as "all claims refuted" instead of `unverified`
1863 * Fixed plugin dependency version pins not being honored when the marketplace was added as a local folder path backed by a git repo
1864 * Fixed `claude agents` session status: completed rows no longer flip between "Done" and "Needs your input", stalled agents are now labeled "Needs attention", and results that mention a PR show a clickable link
1865 * Fixed voice dictation swallowing spaces and spuriously starting a recording during very fast typing when voice mode is enabled
1866 * Improved background session reliability: long-running commands and workflows now survive the session's process being stopped, restarted, or updated — including on Windows, where background shells are handed off instead of being killed
1867 * Improved background agents: workers killed by a daemon restart are now automatically resumed from where they left off the next time the agents view opens
1868 * Improved `/code-review` workflow: merged five cleanup finders into one, cutting token usage by roughly 25%
1869 * Reduced per-frame rendering work in the terminal UI by skipping no-op subtree walks during streaming
1870 * The streaming idle watchdog is now on by default for all providers — it aborts and retries when a response stream produces no events for 5 minutes. Set `CLAUDE_ENABLE_STREAM_WATCHDOG=0` to disable.
1871 * Remote Control is now disabled when `ANTHROPIC_BASE_URL` points at a non-Anthropic host, matching the existing behavior under `CLAUDE_CODE_USE_BEDROCK`/`_VERTEX`/`_FOUNDRY`
1872 * Changed opening the agents view from a foreground session to require a single `←` press instead of two, matching the behavior in background sessions
1873</Update>
1874 
1875<Update label="2.1.195" description="June 26, 2026">
1876 * Added `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` to disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll
1877 * Fixed hook matchers with hyphenated identifiers (e.g. `code-reviewer`, `mcp__brave-search`) accidentally substring-matching — they now exact-match. Use `mcp__brave-search__.*` to match all tools from a hyphenated MCP server.
1878 * Fixed voice dictation on macOS capturing silence in long-running sessions after the default input device changes
1879 * Fixed voice dictation auto-submit never firing for languages written without spaces (Japanese, Chinese, Thai)
1880 * Fixed external plugins enabled only by project `.claude/settings.json` not requiring explicit install consent on every loader path
1881 * Fixed `/plugin` Enable/Disable not working when a plugin's `plugin.json` `name` differs from its marketplace entry name
1882 * Fixed background jobs disappearing from `claude agents` or losing data when written by a newer Claude Code version
1883 * Fixed reopening a crashed background task showing a blank screen for up to 5 seconds instead of its restart
1884 * Fixed background agent daemons running unreachable when the control socket fails to start, blocking restarts
1885 * Improved voice mode on Linux: now distinguishes "no microphone" from "SoX not installed" when SoX is present but no audio capture device exists
1886 * Improved `claude agents` completed list to fill available vertical space; on short terminals the header compacts so live sessions stay visible
1887 * Improved Remote session startup with a provisioning checklist while the container starts
1888</Update>
1889 
1890<Update label="2.1.193" description="June 25, 2026">
1891 * Added `autoMode.classifyAllShell` setting to route all Bash/PowerShell commands through the auto-mode classifier instead of only arbitrary-code-execution patterns
1892 * Added auto-mode denial reasons to the transcript, the denial toast, and `/permissions` recent denials
1893 * Added `claude_code.assistant_response` OpenTelemetry log event containing the model's response text. Redacted unless `OTEL_LOG_ASSISTANT_RESPONSES=1`; when that var is unset it follows `OTEL_LOG_USER_PROMPTS`, so deployments that already log prompt content will start receiving response content on upgrade — set `OTEL_LOG_ASSISTANT_RESPONSES=0` to keep prompts-only.
1894 * Added live file path autocomplete to bash mode (`!`)
1895 * Added a startup notice when MCP servers need authentication, pointing at `/mcp`
1896 * Added automatic memory-pressure reaping for idle background shell commands (disable with `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1`)
1897 * Fixed `/model` and other client-data-gated UI showing stale/empty state immediately after `/login`
1898 * Fixed backgrounding (←←) spuriously cancelling with "N background tasks would be abandoned" when all running tasks carry over to the new session
1899 * Fixed pinned background agents being re-prompted to "Continue from where you left off" after every auto-update
1900 * Fixed backgrounding the main turn spawning a phantom "general-purpose (resumed)" subagent that re-ran the main conversation
1901 * Fixed agent panel hiding sibling agents when viewing a subagent
1902 * Improved background agents: the launch result no longer instructs Claude to "end your response" — it keeps working on other tasks while the agent runs
1903 * Improved MCP `headersHelper` auth: the helper now re-runs and reconnects automatically when a tool call returns 401/403
1904 * Improved plugin auto-rename: marketplace `renames` maps are now followed automatically, updating your settings to the new name
1905 * Improved `/add-dir` message when the directory is already a working directory
1906</Update>
1907 
1908<Update label="2.1.191" description="June 24, 2026">
1909 * Added `/rewind` support for resuming a conversation from before `/clear` was run
1910 * Fixed scroll position jumping to the bottom while reading earlier output during a streaming response
1911 * Fixed background agents resurrecting after being stopped — stopping an agent from the tasks panel is now permanent
1912 * Fixed `/voice` showing a generic "not available" message when disabled by an organization's policy — it now explains the restriction
1913 * Fixed `/login` URL opening truncated in Windows Terminal when it wraps across lines
1914 * Fixed Cmd+click on links in fullscreen mode for Ghostty over ssh/tmux
1915 * Fixed `claude agents` sending builtin slash commands like `/usage` to background sessions as prompt text instead of showing a hint
1916 * Fixed `claude agents` job rows showing full filesystem paths for pasted images instead of the `[Image #N]` placeholder
1917 * Fixed hooks with comma-separated matchers (e.g. `"Bash,PowerShell"`) silently never firing
1918 * Fixed `/permissions` Recently-denied tab: approving a denial now persists on close instead of being silently discarded
1919 * Fixed the agent panel jumping by one row when scrolling the roster past the overflow cap
1920 * Fixed the welcome splash art overflowing the default 80×24 macOS Terminal window
1921 * Fixed managed settings: `forceRemoteSettingsRefresh` now takes effect when set via MDM or file policy, and the fetch sends `Cache-Control: no-cache` to prevent proxies from serving stale responses
1922 * Improved sandbox network permission dialog: hosts you allow with "Yes" are now remembered for the rest of the session instead of re-prompting on every connection
1923 * Improved MCP server reliability: capability discovery (`tools/list`, `prompts/list`, `resources/list`) now retries transient network errors with short backoff
1924 * Improved MCP OAuth: discovery and token requests now retry once after transient network errors, and headless environments skip the browser popup and go straight to the paste-the-URL prompt
1925 * Improved MCP error messages: HTTP 404 errors now show the URL and point to your MCP config
1926 * Improved vim mode prompt-history search (NORMAL `/`) to hint how to reach slash commands
1927 * Reduced CPU usage during streaming responses by \~37% by coalescing text updates to 100ms
1928 * Reduced long-session memory growth from terminal output cache
1929</Update>
1930 
1931<Update label="2.1.190" description="June 24, 2026">
1932 * Bug fixes and reliability improvements
1933</Update>
1934 
1935<Update label="2.1.187" description="June 23, 2026">
1936 * Added `sandbox.credentials` setting to block sandboxed commands from reading credential files and secret environment variables
1937 * Added org-configured model restrictions to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL`, with a "restricted by your organization's settings" message when a restricted model is selected
1938 * Added mouse click support to select menus (permission prompts, `/model`, `/config`, etc.) in fullscreen mode
1939 * Fixed `--resume` failing with "No conversation found" when the original `-p` run produced no model turns
1940 * Fixed `--json-schema` and workflow `agent({schema})` structured output: the model can no longer re-call `StructuredOutput` indefinitely after a successful call, and follow-up turns now reliably return structured output
1941 * Fixed remote MCP tool calls that hang with no response for 5 minutes — they now abort with an error instead of blocking indefinitely (override with `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`)
1942 * Fixed Claude Code Remote sessions taking \~2.7s longer to start after the agent proxy CA system-trust install was added
1943 * Fixed pasted Korean/CJK text turning into mojibake in terminals that deliver paste as per-byte extended-key events
1944 * Fixed `/update` over Remote Control hanging when a startup trust dialog would have shown
1945 * Fixed background jobs in the agents view getting stuck in "working" indefinitely when the agent ended a turn without producing structured output
1946 * Fixed channel connections dropping after navigating to the agents view and back, and after `/bg`, `/tui`, or `/update`
1947 * Fixed agent stop notifications not correctly attributing who stopped the agent, and improved wording ("finished"/"stopped" instead of "came to rest")
1948 * Fixed subagent depth tracking: resumed subagents now restore their original spawn depth, and forked subagents now count toward the depth cap
1949 * Fixed leaked agent worktree registrations: locked `.git/worktrees/` entries from killed agents are now cleaned up automatically
1950 * Fixed Cmd+click not opening URLs in fullscreen mode in Ghostty on macOS
1951 * Fixed `claude --help` not listing the `--bg`/`--background` flag
1952 * Fixed Esc, Ctrl-C, and Ctrl-D not working while `/share` is uploading
1953 * Improved `/install-github-app`: GitHub Actions workflow setup is now optional — you can install just the GitHub App and skip the workflow/secret steps
1954 * Improved `/btw` with ←/→ arrow navigation to step through earlier answers
1955 * Improved `/plugin` to surface plugins you haven't used recently so you can clean them up
1956 * \[VSCode] Fixed extension becoming unresponsive when resuming a large s
1926 * Fixed `.cl
Feedback