One change
Claude Code changelog
changelog
Nearest release: v2.1.239, published 4 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.
changelog Changed · +62 / -0 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
Run `claude --version` to check your installed version. +<Update label="2.1.239" description="August 21, 2026"> + * Cost estimates (`/cost`, status line, `--max-budget-usd`) now include the 1.1× US-only-inference premium for data-residency workspaces + * Added the one-time fullscreen renderer offer on Bedrock, Vertex, Foundry and other previously excluded setups; new installs there now start in fullscreen + * Added `/claude-api upgrade` to migrate Python projects from `anthropic` 0.x to 1.x, and updated the skill's Python reference for 1.x (timeouts use `anthropic.Timeout`, not `httpx.Timeout`) + * Cloud sessions: plugins synced from claude.ai now show as `name@synced`, work with `claude plugin enable/disable <name>@synced`, and never override a same-named plugin you installed + * Alpine/musl builds: native image paste, clipboard, and audio-capture add-ons now load (musl-built binaries instead of glibc ones refused by the runtime) + * The usage-limit message shown when your monthly spend limit is already used up now also says when your session or weekly limit resets + * Fixed Bedrock streaming behind proxies that strip the response Content-Type header, which silently doubled billed API calls by re-running every turn non-streaming + * Fixed Claude Code hanging at startup behind an HTTPS proxy when using Bedrock with an SSO profile and `awsAuthRefresh` — the credential pre-check now honors `HTTPS_PROXY` + * Fixed a raw crash dump when starting Claude Code from a directory that no longer exists; it now prints a clear message + * Fixed Edit and Write calls pausing for about 5 seconds in JetBrains IDE terminals when the Claude Code plugin is connected + * Fixed a race where pressing Esc with a prompt queued could let the next turn finish early, leaving the session idle while Claude was still working and letting a later resubmit repeat actions + * Fixed WebFetch retaining expired page content in memory for the whole session instead of the intended 15 minutes + * Fixed cloud sessions (Claude Code on the web, desktop and mobile apps) resuming out of plan mode after an idle worker restart + * Fixed MCP elicitation forms taller than the terminal being clipped in fullscreen mode: the form now fits the window, with hidden fields reachable by scrolling and Accept/Decline always visible + * Fixed remote MCP servers staying failed after a transient 5xx on a mid-session reconnect in cloud sessions or via SDK `setMcpServers()` + * Fixed custom session titles disappearing from `/resume` after more than \~64 KB of conversation was written following the rename + * Fixed `claude -c`/resume picking up sessions from a different directory whose path differed only by characters like `_`, `-`, or `.` + * Fixed `/resume` and the agents view showing a session as recently changed (and reordering it) when only its file was touched or it was merely reopened + * Fixed `/resume` in all-projects mode telling you to `cd` into a deleted directory (e.g. a removed worktree); such sessions now resume in the current directory + * Fixed the `dark-ansi` theme rendering expanded tool results in fullscreen mode with text the same color as the background + * Fixed the fullscreen renderer prompt reappearing on every launch when it could never be answered; it now stops after being shown on three launches + * Fixed `.worktreeinclude` patterns starting with `**/` silently matching nothing when the target lived in a gitignored directory + * Fixed agents, skills, and commands whose `.md` file starts with a UTF-8 BOM being silently ignored + * Fixed `/insights` echoing literal `<message>` tags in its response on some models + * Fixed marketplace `metadata.pluginRoot` having no effect: bare plugin source names now resolve under it as the docs describe + * Fixed mouse movement in browser-based terminals inserting text like `"35;150;7M"` into the prompt when a mouse report arrived split across writes + * Fixed custom theme overrides for the effort/ultracode status badge colors being ignored + * Fixed OpenTelemetry trace fragmentation: tool executions deferred by a `PreToolUse` hook now resume in the original turn's trace instead of starting a new trace + * Fixed vim mode in the agent view: Escape now switches to NORMAL mode and keeps your text instead of clearing the prompt + * Fixed the `selection:copy` keybinding silently dropping a text selection that had been extended with Shift+Arrow keys + * Fixed the `/voice` startup tip still appearing after voice dictation was enabled via the `voice.enabled` setting + * Fixed shell-mode (`!`) Tab completion dropping the `./` from a `./script` path, which left a command the shell couldn't run + * Fixed fullscreen mode answering a permission prompt or pressing a button when you clicked the terminal window only to bring it back into focus + * Fixed slash-command panels (e.g. `/config`, `/model`) in fullscreen mode covering the latest messages; the conversation now stays pinned above the panel + * Fixed the `/workflows` detail dialog overflowing the terminal and losing its header off-screen when opened while Claude is still responding + * Fixed the Linux sandbox making a nonexistent `.git/config.worktree` unreadable, which broke every sandboxed git command in repos with `extensions.worktreeConfig` set + * Fixed hooks failing with "posix\_spawn ENOENT" after the session's working directory was deleted; they now run from the project root or home directory instead + * Fixed `claudeMdExcludes` not excluding a symlinked `.claude/rules` file when the pattern names the rules directory or the symlink rather than its target + * Fixed runaway session-title syncing to Remote Control when two Claude Code processes shared one background job's state (2.1.232 regression); title updates are now deduplicated and rate-limited + * Fixed sessions whose title starts with `/` being unaddressable by `SendMessage` and shown as "(untitled)" in `ListAgents` + * Fixed Ctrl+W, Ctrl+U, Ctrl+K, Option+Backspace, Option+D and vim `df`/`dt` leaving a broken `[Pasted text #N]` placeholder when the cursor was inside it + * Fixed masked (password-style) inputs such as the login code field letting their text be pasted back with Ctrl+Y elsewhere or saved to prompt history when cleared with double Esc + * Fixed Ctrl+Backspace deleting one character instead of a word in search boxes + * Fixed a request rejected by an organization policy check being re-sent before the rejection was shown + * Improved the reminder shown after compaction so a skill's original arguments are not re-run as a new request + * Long file paths on tool-use rows now truncate in the middle to stay on one line + * Remote sessions keep sending keep-alives while a long `SessionStart` or `Setup` hook runs, so the container is not idle-reaped mid-hook + * `/goal`: repeat check-ins on long-running background work now back off (30 min, then 1 h, then every 2 h) instead of repeating every 30 minutes + * `/goal`: resuming a session from the `claude --resume` picker now restores its active goal + * `ListAgents` now tells a session its own name (the one peers use to message it), and `SendMessage` to your own name says so instead of "no agent named …" + * `ListAgents` and `/list-agents` now list your live teammates (previously only subagents and other sessions appeared, so a reachable teammate looked absent) + * `keybindingFlavor: "readline"` now also matches Bash for word keys: Alt+F and Ctrl/Option+→ stop at the end of the word, Alt+D deletes to it (Ctrl+Y pastes it back), and punctuation separates words + * Persistent retry mode (`CLAUDE_CODE_RETRY_WATCHDOG`) now fails immediately on organization spend-limit and out-of-credits errors instead of waiting indefinitely for a reset + * Claude in Chrome: `/clear` now closes the session's Chrome tab group, and empty groups are closed on `/resume` and when Claude Code exits + * Remote sessions: images uploaded from mobile now include their saved file path, so Claude can copy them into files it creates + * Claude Code on the web: requests from Bash and other tools to non-API anthropic.com hosts (e.g. www, docs) now go through the session's network proxy, so your environment's allowed domains apply + * Remote Control: clearer message and `claude doctor` wording when Remote Control isn't enabled for your account + * Windows: cross-session messaging is now available, so Claude Code sessions across your machines can message each other with `SendMessage` and find each other with `ListAgents`, as on macOS and Linux + * \[VSCode] "View usage" in the usage-limit banner now sits inline with the warning text instead of floating mid-banner +</Update> + <Update label="2.1.238" description="August 20, 2026"> * Added a `keybindingFlavor` setting: set it to `"readline"` to make Ctrl+W in the prompt delete back to the previous whitespace, as in Bash; the default (`"classic"`) is unchanged * Plugin marketplaces: `headersHelper` on a url marketplace or a catalog entry runs a command that mints HTTP headers (e.g. a short-lived token) for catalog and same-origin archive fetches
from line 2133
* Fixed settings hot-reload not detecting edits to symlinked `~/.claude/settings.json` * Fixed plugin details failing to load when the marketplace key differs from the manifest name * Fixed `/model` picker "Default" row not reflecting `ANTHROPIC_DEFAULT_OPUS_MODEL`/`ANTHROPIC_DEFAULT_SONNET_MODEL` overrides - * Fixed spurious "stream idle timeout" 5 minutes after a response completed, caused by the watchdog timer not being cleared on stream cancellation - * Fixed silent `exit 1` when 10+ MCP servers are configured and the cache directory is unwritable — the error message now includes the underlying cause - * Fixed a typing cursor blinking on tab names, list pointers, and select rows in dialogs - * Fixed transcript view letter shortcuts not working after mouse click - * Fixed Bash-mode up-arrow history repeating the first entry and clobbering the in-progress draft - * Fixed pasting or dropping multiple images only inserting the last one - * Fixed hyperlinks using unreadable dark navy on dark themes — they now adapt to the active theme - * Fixed model picker showing a redundant "Current model" row for third-party users whose model is set to the `opus` alias - * Fixed legacy Opus picker entry on PAYG 3P providers resolving to the same model as the default entry - * Fixed mouse wheel scrolling speed in Cursor and VS Code 1.92–1.104; the trackpad now scrolls at a steady rate and the mouse wheel keeps \~3 lines per notch - * Fixed scroll behavior in Windows Terminal and VS Code when attached to background sessions - * Fixed MCP resources from disconnected servers lingering in `@server:` autocomplete - * Fixed two-file diff snippets over-reporting the number of truncated lines by one - * Fixed Grep results not relativizing Windows drive-letter paths and count mode reporting wrong totals for single-file paths - * Fixed border-embedded text overflowing on CJK/emoji due to visual cell width miscalculation - * Fixed fuzzy-match highlighting splitting emoji and astral-plane characters mid-pair - * Fixed skill argument names containing regex metacharacters breaking argument substitution - * Fixed ProgressBar rendering a full block for an almost-full fractional cell - * Fixed task polling and `fs.watch` being resurrected when the last subscriber leaves while a fetch is in flight - * Fixed plugin dependency resolution leaving a stale count when the manifest name differs from the source identifier - * Fixed Insights Time-of-Day chart skewing when a session has an unparseable timestamp - * Fixed keybindings using only the cmd/super/win modifier being flagged as unparseable - * Fixed `claude_code.active_time.total` OpenTelemetry metric not being emitted in `--print` mode - * Fixed `claude plugin update` not preserving cross-plugin symlinks inside a marketplace - * \[VSCode] Press Cmd/Ctrl+Shift+T to reopen the most recently closed session tab, configurable via `claudeCode.enableReopenClosedSessionShortcut` -</Update> - -<Update label="2.1.138" description="May 9, 2026"> - * Internal fixes -</Update> - -<Update label="2.1.137" description="May 9, 2026"> - * \[VSCode] Fixed extension failing to activate on Windows -</Update> - -<Update label="2.1.136" description="May 8, 2026"> - * Added `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` to re-enable the session quality survey for enterprises capturing responses through OpenTelemetry - * Added `settings.autoMode.hard_deny` for auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions - * Fixed MCP servers configured in `.mcp.json`, plugins, and claude.ai connectors silently disappearing after `/clear` in the VS Code extension, JetBrains plugin, and Agent SDK - * Fixed a rare login loop where a concurrent credential write could overwrite a freshly-rotated OAuth token and force re-login - * Fixed MCP OAuth refresh tokens being lost when multiple servers refresh concurrently — users with several remote MCP servers should no longer need daily re-authentication - * Fixed an API error (400) when extended thinking emitted a redacted thinking block after a tool call - * Fixed `--resume` / `--continue` not finding sessions when the project path contains underscores - * Fixed plan mode not blocking file writes when a matching `Edit(...)` allow rule exists - * WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data - * Fixed plugin `Stop`/`UserPromptSubmit` hooks failing when cache cleanup deletes a version still in use by a running session - * Improved visual consistency across slash command dialogs: standardized footer hints, dialog spacing, and arrow-key styling, and the dialog frame now appears immediately during loading instead of popping in after - * Fixed colors appearing at wrong positions in bash command output and markdown code blocks - * Fixed ReasonML diffs rendering corrupted "undefined" text artifacts at word-diff boundaries - * Fixed worktree exit dialog warning about uncommitted files in the wrong directory after worktree removal - * Fixed `@` file picker not matching files created mid-session in small non-git directories - * Fixed `@`-mention file picker not finding files in directories with more than 100 entries - * Fixed failed tool calls not being click-to-expand in fullscreen mode when their output was truncated - * Fixed Backspace and Ctrl+Backspace getting swapped after using Ctrl+G to open an external editor on terminals with persistent extended-key modes - * Fixed `/usage` weekly reset showing time of day instead of the calendar date - * Fixed welcome banner ellipsis causing column overflow on CJK terminals - * Fixed `/insights` crash when session history contains tool calls with malformed input fields - * Fixed a renderer crash when a tool's collapsibility classification changes mid-session - * Fixed a `skills` entry in `plugin.json` hiding the plugin's default `skills/` directory, and listing a file path now shows an error instead of failing silently - * Fixed IDE shell-integration lock files not respecting `CLAUDE_CONFIG_DIR` - * Fixed trailing whitespace in copied terminal output during streaming - * Fixed plugin uninstall and enable/disable not matching slugs case-insensitively - * Fixed tool error truncation marker showing a negative count for surrogate-pair strings - * Fixed env vars from `CLAUDE_ENV_FILE` SessionStart hooks going stale after `/resume` or `/clear` - * Fixed `/branch` saving a multi-line session title when given a pasted multi-line name - * Fixed a stray leading space on the second line of wrapped text at the column boundary - * Fixed Esc not dismissing dialogs in `/install-github-app`, `/desktop`, `/resume`, and `/web-setup` - * Fixed `/doctor` MCP schema errors not naming the missing field or showing the source file path - * Fixed Bash permission prompts showing an internal parser diagnostic instead of a user-readable explanation - * Fixed plugin slash commands with spaces (e.g. `/myplugin review`) not resolving to their namespaced form - * Fixed `AskUserQuestion` discarding multi-select answers when supplied as an array - * Fixed `/clear <name>` not labeling the cleared session for `/resume` - * Fixed `CronList` output missing qualifiers and the scheduled prompt - * Fixed "Jump to bottom" overlay leaving color artifacts on CJK characters in fullscreen mode - * Fixed wide markdown tables leaving a stale bordered render in terminal scrollback while streaming - * Fixed pasted text being silently dropped when a long prompt with a pasted-text placeholder was auto-truncated - * Fixed `/release-notes` getting stuck on an old version after a failed changelog refresh - * Fixed `/mcp` server list not scrolling when there are more servers than fit in the terminal - * Fixed mid-input slash command autocomplete not working after an initial slash command - * Fixed scrolling to bottom re-engaging auto-follow with `autoScrollEnabled: false` - * Fixed prompt suggestions being auto-submitted by Enter on an empty input instead of requiring Tab or arrow to accept - * Fixed keyboard shortcut hints not reflecting rebound keys from `keybindings.json` - * Fixed `/settings` language change being reverted on Escape after confirming - * Fixed `/terminal-setup` only appearing in autocomplete on exact name match instead of partial prefixes - * Fixed "Chat about this" on an `AskUserQuestion` dialog erasing the question text - * Fixed MCP tool results being invisible when the server returns content blocks - * Improved error message when `--worktree` collides with an existing or stale worktree - * Changed plugin marketplace removal key to `d` (matching delete elsewhere) instead of `r` which collided with retry -</Update> - -<Update label="2.1.133" description="May 7, 2026"> - * Added `worktree.baseRef` setting (`fresh` | `head`) to choose whether `--worktree`, `EnterWorktree`, and agent-isolation worktrees branch + *