Change8

v2.1.239

Claude Code
12 features64 fixes9 improvementsbedrockclidesktophooksjetbrainsmcpsdkvertexvscode

Summary

This release introduces several new features, including a fullscreen renderer offer for specific platforms and a command to upgrade Python projects to the latest Anthropic library. It also enhances cloud session capabilities with synced plugins and improves the user experience with better cost estimates and usage limit notifications.

New Features

  • Added a one-time fullscreen renderer offer for Bedrock, Vertex, Foundry, and other previously excluded setups; new installs now start in fullscreen.
  • Introduced the `/claude-api upgrade` command to migrate Python projects from the `anthropic` 0.x to 1.x library.
  • Enabled cloud sessions to sync plugins from claude.ai, which will be displayed as `name@synced` and can be managed with `claude plugin enable/disable <name>@synced`.
  • Added native image paste, clipboard, and audio-capture add-ons for Alpine/musl builds.
  • Introduced a reminder after compaction that includes a skill's original arguments, preventing them from being re-run as a new request.
  • Enabled `/goal` to restore the active goal when resuming a session from the `claude --resume` picker.
  • Updated `ListAgents` to show live teammates, not just subagents and other sessions.
  • Enabled `keybindingFlavor: "readline"` to match Bash word keys for improved navigation and editing.
  • Enabled persistent retry mode (`CLAUDE_CODE_RETRY_WATCHDOG`) to fail immediately on organization spend-limit and out-of-credits errors.
  • Enabled `/clear` in Claude in Chrome to close the session's Chrome tab group, and empty groups are now closed on `/resume` and when Claude Code exits.
  • Enabled remote sessions to include the saved file path for images uploaded from mobile, allowing Claude to copy them into created files.
  • Enabled requests from Bash and other tools to non-API anthropic.com hosts in Claude Code on the web to go through the session's network proxy.

Bug Fixes

  • Fixed Bedrock streaming behind proxies that strip the Content-Type header, which prevented doubled API call billing.
  • Fixed Claude Code hanging at startup behind an HTTPS proxy when using Bedrock with an SSO profile and `awsAuthRefresh` by honoring `HTTPS_PROXY` for credential pre-checks.
  • Fixed a crash dump when starting Claude Code from a deleted directory, now printing a clear message instead.
  • Fixed Edit and Write calls pausing for approximately 5 seconds in JetBrains IDE terminals when the Claude Code plugin is connected.
  • Fixed a race condition where pressing Esc with a queued prompt could cause the next turn to finish early, leaving the session idle while Claude was still working.
  • Fixed WebFetch retaining expired page content in memory for the entire session instead of the intended 15 minutes.
  • Fixed cloud sessions resuming out of plan mode after an idle worker restart.
  • Fixed MCP elicitation forms taller than the terminal being clipped in fullscreen mode, ensuring the form fits the window with scrolling for hidden fields and visible Accept/Decline buttons.
  • Fixed remote MCP servers staying failed after a transient 5xx error on a mid-session reconnect or via SDK `setMcpServers()`.
  • Fixed custom session titles disappearing from `/resume` after more than ~64 KB of conversation was written following a 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 when only its file was touched or it was reopened.
  • Fixed `/resume` in all-projects mode telling users to `cd` into a deleted directory; 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 three times.
  • 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 documented.
  • 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 effort/ultracode status badge colors being ignored.
  • Fixed OpenTelemetry trace fragmentation where tool executions deferred by a `PreToolUse` hook started a new trace instead of resuming the original turn's trace.
  • Fixed vim mode in the agent view: Escape now switches to NORMAL mode and keeps 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, preventing the shell from running the command.
  • Fixed fullscreen mode answering a permission prompt or pressing a button when the terminal window was clicked to bring it back into focus.
  • Fixed slash-command panels 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 sandboxed git commands 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.
  • Fixed `claudeMdExcludes` not excluding a symlinked `.claude/rules` file when the pattern named 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; 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 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.
  • Fixed the fullscreen mode answering a permission prompt or pressing a button when the terminal window was clicked to bring it back into focus.
  • 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.

Improvements

  • Cost estimates now include the 1.1× US-only-inference premium for data-residency workspaces.
  • The usage-limit message now also indicates when your session or weekly limit resets.
  • Cloud sessions: plugins synced from claude.ai now show as `name@synced` and will never override a same-named plugin you installed.
  • 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, preventing the container from being 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.
  • `ListAgents` now tells a session its own name, and `SendMessage` to your own name now indicates this instead of reporting no agent found.
  • The `keybindingFlavor: "readline"` setting now also matches Bash for word keys, improving navigation and editing.
  • Claude in Chrome: empty Chrome tab groups are now closed on `/resume` and when Claude Code exits.

Claude Code Documentation