claude code / codex / cursor / gemini / grok

what shipped.

the latest updates to your ai tools, straight from their official changelogs.

sourcesclaude codecodexcursorgemini cligrok api
all

2026-05-06

  • +Added CLAUDE_CODE_SESSION_ID environment variable to the Bash tool subprocess environment, matching the `session_id` passed to hooks
  • +Added CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 env var to opt out of the fullscreen alternate-screen renderer and keep the conversation in the terminal's native scrollback
  • +Added a "Pasting…" footer hint while a Ctrl+V image paste is being read from the clipboard
+ 25 more− less
full release →
  • ~Updated the /tui fullscreen startup banner to describe additional renderer benefits (lower memory usage, mouse support, auto-copy on select)
  • ↑Improved visual consistency in slash command dialogs and `/login`, `/upgrade`, `/extra-usage` dialog spacing
  • ✓Fixed external SIGINT (e.g. IDE stop button, `kill -INT`) not running graceful shutdown — terminal modes are now restored and the `--resume` hint is printed instead of an abrupt exit
  • ✓Fixed an uncaught exception when the terminal is closed or SSH disconnects mid-session under the native build
  • ✓Fixed --resume failing with `no low surrogate in string` when a tool error truncation split an emoji; pre-corrupted sessions are sanitized on load
  • ✓Fixed --permission-mode flag being ignored when resuming a plan-mode session with `-p --continue`/`--resume`, and plan mode not being re-applied after `ExitPlanMode` within the same session
  • ✓Fixed fullscreen mode showing a blank screen after laptop sleep/wake or Ctrl+Z/`fg` until the next keystroke or stream output
  • ✓Fixed cursor landing mid-grapheme on Ctrl+E/A/K/U/arrow keys when an Indic conjunct or ZWJ emoji wraps across lines
  • ✓Fixed vim operators corrupting text containing decomposed (NFD) accented characters
  • ✓Fixed pasting text starting with `/` silently swallowing the input or triggering an unknown-command reply
15 more fixed on the release page →
v2.1.131claude code
  • ✓Fixed VS Code extension failing to activate on Windows due to a hardcoded build path in the bundled SDK (`createRequire` polyfill bug)
  • ✓Fixed Mantle endpoint authentication failing with missing `x-api-key` header

2026-05-05

  • +Added --plugin-url <url> flag to fetch a plugin `.zip` archive from a URL for the current session
  • +Added CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 env var to force-enable synchronized output on terminals that auto-detection misses (e.g. Emacs `eat`)
  • +Added CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE: when set on Homebrew or WinGet installations, Claude Code runs the upgrade command in the background and prompts to restart
+ 24 more− less
full release →
  • ~Plugin manifests: themes and `monitors` should now be declared under `"experimental": { ... }`. Top-level declarations still work but `claude plugin validate` will warn
  • ~Gateway /v1/models discovery for the `/model` picker is now opt-in via `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` (was automatic in 2.1.126–2.1.128)
  • ~Ctrl+R history picker now defaults to searching all prompts across all projects, matching pre-2.1.124 behavior. Press Ctrl+S to narrow to the current project or session
  • ~Third-party deployments (Bedrock, Vertex, Foundry, or `ANTHROPIC_BASE_URL` gateway) no longer see spinner tips pointing at first-party Anthropic surfaces
  • ~skillOverrides setting now works: `off` hides from model and `/`, `user-invocable-only` hides from model only, `name-only` collapses description
  • ~The claude_code.pull_request.count OTel metric now counts PRs/MRs created via MCP tools, not just shell commands
  • ~Policy refusal error messages now include the API Request ID for easier support debugging
  • ✓Fixed API errors with unrecognized 400 status codes showing raw JSON instead of the underlying error message
  • ✓Fixed /clear not resetting the terminal tab title after a conversation
  • ✓Fixed session title chip from `/rename` disappearing while a permission or other dialog is active
  • ✓Fixed agent panel below the prompt being hidden when subagents are running (regression in 2.1.122)
  • ✓Fixed external-editor handoff (Ctrl+G) blanking the conversation history above the prompt
  • ✓Fixed /context dumping its rendered ASCII visualization grid into the conversation, wasting ~1.6k tokens per call
  • ✓Fixed /agents Library list arrow-key navigation: the highlighted agent now stays visible when the list exceeds the viewport
  • ✓Fixed /branch success message not including the new branch's session id for `/resume`
9 more fixed on the release page →

2026-05-04

  • ~Bare /color (no args) now picks a random session color
  • ~/mcp now shows the tool count for connected servers and flags servers that connected with 0 tools
  • ~--plugin-dir now accepts `.zip` plugin archives in addition to directories
+ 34 more− less
full release →
  • ~--channels now works with console (API key) authentication — console orgs with managed settings must set `channelsEnabled: true` to enable
  • ~Updated /model picker: collapsed duplicate Opus 4.7 entries, and current Opus now shows as "Opus" instead of "Opus 4.7"
  • ~Subprocesses (Bash, hooks, MCP, LSP) no longer inherit `OTEL_*` environment variables, so OTEL-instrumented apps run via the Bash tool no longer pick up the CLI's own OTLP endpoint
  • ~MCP: workspace is now a reserved server name — existing servers with that name will be skipped with a warning
  • ~Reconnecting MCP servers no longer flood the conversation with full tool-name lists on every reconnect — re-announced tools are summarized by server prefix
  • ~SDK hosts now receive a persistent `localSettings` suggestion for Bash permission prompts, so "Always allow" writes to `.claude/settings.local.json`
  • ~EnterWorktree now creates the new branch from local HEAD as documented, instead of `origin/<default-branch>` — unpushed commits are no longer dropped
  • ~Auto mode: when the classifier can't evaluate an action, the error now includes a hint (retry, `/compact`, or run with `--debug`)
1 more changed on the release page →
  • ✓Fixed focus mode briefly dimming the previous response when submitting a new prompt
  • ✓Fixed stray "4;0;" desktop notification on every `/exit` in Kitty and other terminals that interpret OSC 9 as a notification
  • ✓Fixed Remote Control showing an empty "Opening your options…" message on rate limit instead of actionable upsell options
  • ✓Fixed drag-and-drop image upload hanging on "Pasting text…" when the image read fails
  • ✓Fixed crash loop when piping very large input (>10 MB) to `claude -p` via stdin
  • ✓Fixed long URLs not being individually clickable on every wrapped row in fullscreen mode
  • ✓Fixed /plugin Components panel showing "Marketplace 'inline' not found" for plugins loaded via `--plugin-dir`
  • ✓Fixed MCP tool results dropping images when the server returns both structured content and content blocks
17 more fixed on the release page →

2026-04-30

  • ~The /model picker now lists models from your gateway's `/v1/models` endpoint when `ANTHROPIC_BASE_URL` points at an Anthropic-compatible gateway
  • ~- Added claude project purge [path] to delete all Claude Code state for a project (transcripts, tasks, file history, config entry) — supports `--dry-run`, `-y/--yes`, `-i/--interactive`, and `--all`
  • ~--dangerously-skip-permissions now bypasses prompts for writes to `.claude/`, `.git/`, `.vscode/`, shell config files, and other previously-protected paths (catastrophic removal commands still prompt as a safety net)
+ 29 more− less
full release →
  • ~claude auth login now accepts the OAuth code pasted into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers)
  • ~claude_code.skill_activated OpenTelemetry event now fires for user-typed slash commands and carries a new `invocation_trigger` attribute (`"user-slash"`, `"claude-proactive"`, or `"nested-skill"`)
  • ~Auto mode: the spinner now turns red when a permission check stalls, instead of looking like the tool is running
  • ~Host-managed deployments (`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`) no longer auto-disable analytics on Bedrock/Vertex/Foundry
  • ~WindowsPowerShell 7 installed via the Microsoft Store, MSI without PATH, or `.NET global tool` is now detected
  • ~WindowsWhen the PowerShell tool is enabled, Claude now treats PowerShell as the primary shell instead of defaulting to Bash
  • ~Read tool: removed the per-file malware-assessment reminder that could cause spurious refusals and "this is not malware" commentary on legacy models
  • ~**Security:** Fixed allowManagedDomainsOnly / `allowManagedReadPathsOnly` being ignored when a higher-priority managed-settings source lacked a `sandbox` block
3 more changed on the release page →
  • ✓Fixed pasting an image larger than 2000px breaking the session — images are now downscaled on paste, and oversized images in history are automatically removed and the request retried
  • ✓Fixed showing the login screen for "OAuth not allowed for organization" errors — now shows guidance to contact your admin
  • ✓Fixed OAuth login failing with timeout on slow or proxied connections, in IPv6-only devcontainers, and when the browser callback can't reach localhost
  • ✓Fixed a rare race where a concurrent credential write could clear a valid OAuth refresh token
  • ✓Fixed API retry countdown sticking at "0s" instead of counting down between attempts
  • ✓Fixed "Stream idle timeout" error after waking Mac from sleep mid-request
  • ✓Fixed background and remote sessions falsely aborting with "Stream idle timeout" during long model thinking pauses
  • ✓Fixed a hang where the assistant could finish thinking but show no output after a run of empty turns
10 more fixed on the release page →

2026-04-29

2026-04-28

  • +Added ANTHROPIC_BEDROCK_SERVICE_TIER environment variable to select a Bedrock service tier (`default`, `flex`, or `priority`), sent as the `X-Amzn-Bedrock-Service-Tier` header
  • ~Pasting a PR URL into the `/resume` search box now finds the session that created that PR (GitHub, GitHub Enterprise, GitLab, and Bitbucket)
  • ~/mcp now shows claude.ai connectors hidden by a manually-added server with the same URL, with a hint to remove the duplicate
+ 15 more− less
full release →
  • ~Clarified the /mcp message shown when an MCP server is still unauthorized after the browser sign-in flow
  • ~OpenTelemetry: numeric attributes on `api_request`/`api_error` log events are now emitted as numbers, not strings
  • ~OpenTelemetry: added claude_code.at_mention log event for `@`-mention resolution
  • ~Voice mode: keybindings bound to Caps Lock now show an error since terminals don't deliver Caps Lock as a key event
  • ✓Fixed /branch producing forks that fail with "tool_use ids were found without tool_result blocks" when the source session contained entries from rewound timelines
  • ✓Fixed /model not showing the Effort option for Bedrock application inference profile ARNs, and those ARNs not receiving `output_config.effort`
  • ✓Fixed Vertex AI / Bedrock returning `invalid_request_error: output_config: Extra inputs are not permitted` on session-title generation and other structured-output queries
  • ✓Fixed Vertex AI `count_tokens` endpoint returning 400 errors for users behind proxy gateways
  • ✓Fixed spinnerTipsOverride.excludeDefault not suppressing the time-based spinner tips
  • ✓Fixed ToolSearch missing MCP tools that connected after session start in nonblocking mode
  • ✓Fixed !exit / `!quit` in bash mode terminating the CLI instead of running as a shell command
  • ✓Fixed images sent to newer models being resized to 2576px per side instead of the correct 2000px maximum
3 more fixed on the release page →

2026-04-27

  • +Added alwaysLoad option to MCP server config — when `true`, all tools from that server skip tool-search deferral and are always available
  • +Added claude plugin prune to remove orphaned auto-installed plugin dependencies; `plugin uninstall --prune` cascades
  • +Added a type-to-filter search box to `/skills` so you can find a skill in long lists without scrolling
+ 36 more− less
full release →
  • ~PostToolUse hooks can now replace tool output for all tools via `hookSpecificOutput.updatedToolOutput` (previously MCP-only)
  • ~Fullscreen mode: typing into the prompt no longer jumps scroll back to the bottom after you've scrolled up to read earlier output
  • ~Dialogs that overflow the terminal are now scrollable with arrow keys, PgUp/PgDn, home/end, and mouse wheel in both fullscreen and non-fullscreen modes
  • ~Clicking any line of a long URL that wraps across rows in fullscreen mode now opens the full URL
  • ~SDK and claude -p: `CLAUDE_CODE_FORK_SUBAGENT=1` now works in non-interactive sessions
  • ~--dangerously-skip-permissions no longer prompts for writes to `.claude/skills/`, `.claude/agents/`, and `.claude/commands/`
  • ~/terminal-setup now enables iTerm2's "Applications in terminal may access clipboard" setting so `/copy` works, including from tmux
  • ~MCP servers that hit a transient error during startup now auto-retry up to 3 times instead of staying disconnected
8 more changed on the release page →
  • ↑Faster startup after upgrading: removed the Recent Activity panel from the release-notes splash
  • ↑Reduced peak file descriptor usage during `find` in the Bash tool on large directory trees
  • ✓Fixed unbounded memory growth (multi-GB RSS) when processing many images in a session
  • ✓Fixed /usage leaking up to ~2GB of memory on machines with large transcript histories
  • ✓Fixed memory leak when long-running tools fail to emit a clear progress event
  • ✓Fixed Bash tool becoming permanently unusable when the directory Claude was started in is deleted or moved mid-session
  • ✓Fixed --resume crashing on startup in external builds
  • ✓Fixed --resume failing on large sessions when a transcript line was corrupted by an unclean shutdown — the corrupt line is now skipped
  • ✓Fixed thinking.type.enabled is not supported error when using Bedrock application inference profile ARNs
  • ✓Fixed Microsoft 365 MCP OAuth failing with duplicate or unsupported `prompt` parameter
10 more fixed on the release page →

2026-04-24

  • +Added claude ultrareview [target] subcommand to run `/ultrareview` non-interactively from CI or scripts — prints findings to stdout (`--json` for raw output) and exits 0 on completion or 1 on failure
  • ~WindowsGit for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
  • ~Skills can now reference the current effort level with `${CLAUDE_EFFORT}` in their content
+ 19 more− less
full release →
  • ~Set AI_AGENT environment variable for subprocesses so `gh` can attribute traffic to Claude Code
  • ~Spinner tips that recommend installing the desktop app or creating skills/agents are now hidden when you already have them
  • ~Show a "use PgUp/PgDn to scroll" hint when the terminal sends arrow keys instead of scroll events
  • ~The auto mode denial message now links to the configuration docs
  • ~claude plugin validate now accepts `$schema`, `version`, and `description` at the top level of `marketplace.json` and `$schema` in `plugin.json`
  • ~Auto-compact in auto mode now displays `auto` (lowercase, no token count) instead of a misleading token value
  • ~VSCode/usage now opens the native Account & Usage dialog instead of returning plain-text session cost
  • ~VSCodeVoice dictation now respects the `language` setting in `~/.claude/settings.json`
  • ↑Faster session start when you have many claude.ai connectors configured but not authorized
  • ✓Fixed pressing Esc during a stdio MCP tool call closing the entire server connection (regression in 2.1.105)
  • ✓Fixed /rewind and other interactive overlays not responding to keyboard input after launching with `claude --resume`
  • ✓Fixed terminal scrollback duplication in non-fullscreen mode (resize, dialog dismiss, long sessions)
  • ✓Fixed DISABLE_TELEMETRY / `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` not suppressing usage metrics telemetry for API and enterprise users
  • ✓Fixed false-positive "Dangerous rm operation" permission prompts in auto mode for multi-line bash commands containing both a pipe and a redirect
  • ✓Fixed long selection menus clipping below the terminal in fullscreen mode — the focused option now stays on screen as you scroll
  • ✓Fixed Write tool output collapsing instead of expanding when clicking "+N lines" in fullscreen
  • ✓Fixed slash command picker jumping while typing, and improved highlight to only match contiguous substrings in blue
2 more fixed on the release page →

2026-04-23

  • +Added prUrlTemplate setting to point the footer PR badge at a custom code-review URL instead of github.com
  • +Added CLAUDE_CODE_HIDE_CWD environment variable to hide the working directory in the startup logo
  • ~/config settings (theme, editor mode, verbose, etc.) now persist to `~/.claude/settings.json` and participate in project/local/policy override precedence
+ 48 more− less
full release →
  • ~--from-pr now accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs
  • ~--print mode now honors the agent's `tools:` and `disallowedTools:` frontmatter, matching interactive-mode behavior
  • ~--agent <name> now honors the agent definition's `permissionMode` for built-in agents
  • ~PowerShell tool commands can now be auto-approved in permission mode, matching Bash behavior
  • ~Hooks: PostToolUse and `PostToolUseFailure` hook inputs now include `duration_ms` (tool execution time, excluding permission prompts and PreToolUse hooks)
  • ~Subagent and SDK MCP server reconfiguration now connects servers in parallel instead of serially
  • ~Plugins pinned by another plugin's version constraint now auto-update to the highest satisfying git tag
  • ~Vim mode: Esc in INSERT no longer pulls a queued message back into the input; press Esc again to interrupt
6 more changed on the release page →
  • −WindowsRemoved false-positive "Windows requires 'cmd /c' wrapper" MCP config warning
  • !blockedMarketplaces now correctly enforces `hostPattern` and `pathPattern` entries
  • ✓Fixed pasting CRLF content (Windows clipboards, Xcode console) inserting an extra blank line between every line
  • ✓Fixed multi-line paste losing newlines in terminals using kitty keyboard protocol sequences inside bracketed paste
  • ✓Fixed Glob and Grep tools disappearing on native macOS/Linux builds when the Bash tool is denied via permissions
  • ✓Fixed scrolling up in fullscreen mode snapping back to the bottom every time a tool finishes
  • ✓Fixed MCP HTTP connections failing with "Invalid OAuth error response" when servers returned non-JSON bodies for OAuth discovery requests
  • ✓Fixed Rewind overlay showing "(no prompt)" for messages with image attachments
  • ✓Fixed auto mode overriding plan mode with conflicting "Execute immediately" instructions
  • ✓Fixed async PostToolUse hooks that emit no response payload writing empty entries to the session transcript
24 more fixed on the release page →

2026-04-22

  • +Added vim visual mode (v) and visual-line mode (`V`) with selection, operators, and visual feedback
  • +Added DISABLE_UPDATES env var to completely block all update paths including manual `claude update` — stricter than `DISABLE_AUTOUPDATER`
  • +Added a "Don't ask again" option to the auto mode opt-in prompt
+ 31 more− less
full release →
  • +Added claude plugin tag to create release git tags for plugins with version validation
  • ~Merged /cost and `/stats` into `/usage` — both remain as typing shortcuts that open the relevant tab
  • ~Create and switch between named custom themes from `/theme`, or hand-edit JSON files in `~/.claude/themes/`; plugins can also ship themes via a `themes/` directory
  • ~Hooks can now invoke MCP tools directly via `type: "mcp_tool"`
  • ~WSL on Windows can now inherit Windows-side managed settings via the `wslInheritsWindowsSettings` policy key
  • ~Auto mode: include "$defaults" in `autoMode.allow`, `autoMode.soft_deny`, or `autoMode.environment` to add custom rules alongside the built-in list instead of replacing it
  • ~--continue/`--resume` now find sessions that added the current directory via `/add-dir`
  • ~/color now syncs the session accent color to claude.ai/code when Remote Control is connected
  • ~The /model picker now honors `ANTHROPIC_DEFAULT_*_MODEL_NAME`/`_DESCRIPTION` overrides when using a custom `ANTHROPIC_BASE_URL` gateway
1 more changed on the release page →
  • ✓Fixed /mcp menu hiding OAuth Authenticate/Re-authenticate actions for servers configured with `headersHelper`, and HTTP/SSE MCP servers with custom headers being stuck in "needs authentication" after a transient 401
  • ✓Fixed MCP servers whose OAuth token response omits `expires_in` requiring re-authentication every hour
  • ✓Fixed MCP step-up authorization silently refreshing instead of prompting for re-consent when the server's `insufficient_scope` 403 names a scope the current token already has
  • ✓Fixed an unhandled promise rejection when an MCP server's OAuth flow times out or is cancelled
  • ✓Fixed MCP OAuth refresh proceeding without its cross-process lock under contention
  • ✓Fixed macOS keychain race where a concurrent MCP token refresh could overwrite a freshly-refreshed OAuth token, causing unexpected "Please run /login" prompts
  • ✓Fixed OAuth token refresh failing when the server revokes a token before its local expiry time
  • ✓Fixed credential save crash on Linux/Windows corrupting `~/.claude/.credentials.json`
13 more fixed on the release page →

2026-04-21

  • ~Forked subagents can now be enabled on external builds by setting `CLAUDE_CODE_FORK_SUBAGENT=1`
  • ~Agent frontmatter mcpServers are now loaded for main-thread agent sessions via `--agent`
  • ~The /resume command now offers to summarize stale, large sessions before re-reading them, matching the existing `--resume` behavior
+ 25 more− less
full release →
  • ~plugin install on an already-installed plugin now installs any missing dependencies instead of stopping at "already installed"
  • ~Plugin dependency errors now say "not installed" with an install hint, and `claude plugin marketplace add` now auto-resolves missing dependencies from configured marketplaces
  • ~Managed-settings blockedMarketplaces and `strictKnownMarketplaces` are now enforced on plugin install, update, refresh, and autoupdate
  • ~Advisor Tool (experimental): dialog now carries an "experimental" label, learn-more link, and startup notification when enabled; sessions no longer get stuck with "Advisor tool result content could not be processed" errors on every prompt and `/compact`
  • ~The cleanupPeriodDays retention sweep now also covers `~/.claude/tasks/`, `~/.claude/shell-snapshots/`, and `~/.claude/backups/`
  • ~OpenTelemetry: user_prompt events now include `command_name` and `command_source` for slash commands; `cost.usage`, `token.usage`, `api_request`, and `api_error` now include an `effort` attribute when the model supports effort levels. Custom/MCP command names are redacted unless `OTEL_LOG_TOOL_DETAILS=1` is set
  • ~Native builds on macOS and Linux: the `Glob` and `Grep` tools are replaced by embedded `bfs` and `ugrep` available through the Bash tool — faster searches without a separate tool round-trip (Windows and npm-installed builds unchanged)
  • ~WindowsCached where.exe executable lookups per process for faster subprocess launches
1 more changed on the release page →
  • ↑Improved /model: selections now persist across restarts even when the project pins a different model, and the startup header shows when the active model comes from a project or managed-settings pin
  • ↑Faster startup when both local and claude.ai MCP servers are configured (concurrent connect now default)
  • ✓Fixed Plain-CLI OAuth sessions dying with "Please run /login" when the access token expires mid-session — the token is now refreshed reactively on 401
  • ✓Fixed WebFetch hanging on very large HTML pages by truncating input before HTML-to-markdown conversion
  • ✓Fixed a crash when a proxy returns HTTP 204 No Content — now surfaces a clear error instead of a `TypeError`
  • ✓Fixed /login having no effect when launched with `CLAUDE_CODE_OAUTH_TOKEN` env var and that token expires
  • ✓Fixed prompt-input undo (Ctrl+_) doing nothing immediately after typing, and skipping a state on each undo step
  • ✓Fixed NO_PROXY not being respected for remote API requests when running under Bun
  • ✓Fixed rare spurious escape/return triggers when key names arrive as coalesced text over slow connections
  • ✓Fixed SDK reload_plugins reconnecting all user MCP servers serially
6 more fixed on the release page →

2026-04-20

  • ~/resume on large sessions is significantly faster (up to 67% on 40MB+ sessions) and handles sessions with many dead-fork entries more efficiently
  • ~Smoother fullscreen scrolling in VS Code, Cursor, and Windsurf terminals — `/terminal-setup` now configures the editor's scroll sensitivity
  • ~Thinking spinner now shows progress inline ("still thinking", "thinking more", "almost done thinking"), replacing the separate hint row
+ 22 more− less
full release →
  • ~/config search now matches option values (e.g. searching "vim" finds the Editor mode setting)
  • ~/doctor can now be opened while Claude is responding, without waiting for the current turn to finish
  • ~/reload-plugins and background plugin auto-update now auto-install missing plugin dependencies from marketplaces you've already added
  • ~Bash tool now surfaces a hint when `gh` commands hit GitHub's API rate limit, so agents can back off instead of retrying
  • ~The Usage tab in Settings now shows your 5-hour and weekly usage immediately and no longer fails when the usage endpoint is rate-limited
  • ~Agent frontmatter hooks: now fire when running as a main-thread agent via `--agent`
  • ~Slash command menu now shows "No commands match" when your filter has zero results, instead of disappearing
  • ~Claude Code and installer now use `https://downloads.claude.ai/claude-code-releases` instead of `https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases`
  • !Sandbox auto-allow no longer bypasses the dangerous-path safety check for `rm`/`rmdir` targeting `/`, `$HOME`, or other critical system directories
  • ↑Faster MCP startup when multiple stdio servers are configured; `resources/templates/list` is now deferred to first `@`-mention
  • ✓Fixed Devanagari and other Indic scripts rendering with broken column alignment in the terminal UI
  • ✓Fixed Ctrl+- not triggering undo in terminals using the Kitty keyboard protocol (iTerm2, Ghostty, kitty, WezTerm, Windows Terminal)
  • ✓Fixed Cmd+Left/Right not jumping to line start/end in terminals that use the Kitty keyboard protocol (Warp fullscreen, kitty, Ghostty, WezTerm)
  • ✓Fixed Ctrl+Z hanging the terminal when Claude Code is launched via a wrapper process (e.g. `npx`, `bun run`)
  • ✓Fixed scrollback duplication in inline mode where resizing the terminal or large output bursts would repeat earlier conversation history
  • ✓Fixed modal search dialogs overflowing the screen at short terminal heights, hiding the search box and keyboard hints
  • ✓Fixed scattered blank cells and disappearing composer chrome in the VS Code integrated terminal during scrolling
  • ✓Fixed an intermittent API 400 error related to cache control TTL ordering that could occur when a parallel request completed during request setup
4 more fixed on the release page →

2026-04-17

  • +Added sandbox.network.deniedDomains setting to block specific domains even when a broader `allowedDomains` wildcard would otherwise permit them
  • ~Changed the CLI to spawn a native Claude Code binary (via a per-platform optional dependency) instead of bundled JavaScript
  • ~Fullscreen mode: Shift+↑/↓ now scrolls the viewport when extending a selection past the visible edge
+ 35 more− less
full release →
  • ~Ctrl+A and `Ctrl+E` now move to the start/end of the current logical line in multiline input, matching readline behavior
  • ~WindowsCtrl+Backspace now deletes the previous word
  • ~Long URLs in responses and bash output stay clickable when they wrap across lines (in terminals with OSC 8 hyperlinks)
  • ~/extra-usage now works from Remote Control (mobile/web) clients
  • ~Remote Control clients can now query `@`-file autocomplete suggestions
  • ~Subagents that stall mid-stream now fail with a clear error after 10 minutes instead of hanging silently
  • ~Bash tool: multi-line commands whose first line is a comment now show the full command in the transcript, closing a UI-spoofing vector
  • ~Running cd <current-directory> && git … no longer triggers a permission prompt when the `cd` is a no-op
  • !On macOS, /private/{etc,var,tmp,home} paths are now treated as dangerous removal targets under `Bash(rm:*)` allow rules
  • !Bash deny rules now match commands wrapped in `env`/`sudo`/`watch`/`ionice`/`setsid` and similar exec wrappers
  • !Bash(find:*) allow rules no longer auto-approve `find -exec`/`-delete`
  • ↑Improved /loop: pressing Esc now cancels pending wakeups, and wakeups display as "Claude resuming /loop wakeup" for clarity
  • ↑Improved /ultrareview: faster launch with parallelized checks, diffstat in the launch dialog, and animated launching state
  • ✓Fixed MCP concurrent-call timeout handling where a message for one tool call could silently disarm another call's watchdog
  • ✓Fixed Cmd-backspace / Ctrl+U to once again delete from the cursor to the start of the line
  • ✓Fixed markdown tables breaking when a cell contains an inline code span with a pipe character
  • ✓Fixed session recap auto-firing while composing unsent text in the prompt
  • ✓Fixed /copy "Full response" not aligning markdown table columns for pasting into GitHub, Notion, or Slack
  • ✓Fixed messages typed while viewing a running subagent being hidden from its transcript and misattributed to the parent AI
  • ✓Fixed Bash dangerouslyDisableSandbox running commands outside the sandbox without a permission prompt
  • ✓Fixed /effort auto confirmation — now says "Effort level set to max" to match the status bar label
14 more fixed on the release page →

2026-04-16

  • +Added xhigh effort level for Opus 4.7, sitting between `high` and `max`. Available via `/effort`, `--effort`, and the model picker; other models fall back to `high`
  • +Added "Auto (match terminal)" theme option that matches your terminal's dark/light mode — select it from `/theme`
  • +Added /less-permission-prompts skill — scans transcripts for common read-only Bash and MCP tool calls and proposes a prioritized allowlist for `.claude/settings.json`
+ 32 more− less
full release →
  • +Added /ultrareview for running comprehensive code review in the cloud using parallel multi-agent analysis and critique — invoke with no arguments to review your current branch, or `/ultrareview <PR#>` to fetch and review a specific GitHub PR
  • +Added OTEL_LOG_RAW_API_BODIES environment variable to emit full API request and response bodies as OpenTelemetry log events for debugging
  • ~Claude Opus 4.7 xhigh is now available! Use /effort to tune speed vs. intelligence
  • ~Auto mode is now available for Max subscribers when using Opus 4.7
  • ~/effort now opens an interactive slider when called without arguments, with arrow-key navigation between levels and Enter to confirm
  • ~Auto mode no longer requires `--enable-auto-mode`
  • ~WindowsPowerShell tool is progressively rolling out. Opt in or out with `CLAUDE_CODE_USE_POWERSHELL_TOOL`. On Linux and macOS, enable with `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` (requires `pwsh` on PATH)
  • ~Read-only bash commands with glob patterns (e.g. `ls *.ts`) and commands starting with `cd <project-dir> &&` no longer trigger a permission prompt
  • ~Suggest the closest matching subcommand when `claude <word>` is invoked with a near-miss typo (e.g. `claude udpate` → "Did you mean `claude update`?")
  • ~Plan files are now named after your prompt (e.g. `fix-auth-race-snug-otter.md`) instead of purely random words
10 more changed on the release page →
  • ↑Improved /setup-vertex and `/setup-bedrock` to show the actual `settings.json` path when `CLAUDE_CONFIG_DIR` is set, seed model candidates from existing pins on re-run, and offer a "with 1M context" option for supported models
  • ↑Improved plugin error handling: dependency errors now distinguish conflicting, invalid, and overly complex version requirements; fixed stale resolved versions after `plugin update`; `plugin install` now recovers from interrupted prior installs
  • ✓Fixed terminal display tearing (random characters, drifting input) in iTerm2 + tmux setups when terminal notifications are sent
  • ✓Fixed @ file suggestions re-scanning the entire project on every turn in non-git working directories, and showing only config files in freshly-initialized git repos with no tracked files
  • ✓Fixed LSP diagnostics from before an edit appearing after it, causing the model to re-read files it just edited
  • ✓Fixed tab-completing /resume immediately resuming an arbitrary titled session instead of showing the session picker
  • ✓Fixed /context grid rendering with extra blank lines between rows
  • ✓Fixed /clear dropping the session name set by `/rename`, causing statusline output to lose `session_name`
  • ✓Fixed Claude calling a non-existent `commit` skill and showing "Unknown skill: commit" for users without a custom `/commit` command
  • ✓Fixed 429 rate-limit errors on Bedrock/Vertex/Foundry referencing status.claude.com (it only covers Anthropic-operated providers)
2 more fixed on the release page →

2026-04-15

  • +Added /tui command and `tui` setting — run `/tui fullscreen` to switch to flicker-free rendering in the same conversation
  • +Added push notification tool — Claude can send mobile push notifications when Remote Control and "Push when Claude decides" config are enabled
  • +Added autoScrollEnabled config to disable conversation auto-scroll in fullscreen mode
+ 30 more− less
full release →
  • +Added option to show Claude's last response as commented context in the `Ctrl+G` external editor (enable via `/config`)
  • ~Changed Ctrl+O to toggle between normal and verbose transcript only; focus view is now toggled separately with the new `/focus` command
  • ~--resume/`--continue` now resurrects unexpired scheduled tasks
  • ~/context, `/exit`, and `/reload-plugins` now work from Remote Control (mobile/web) clients
  • ~Write tool now informs the model when you edit the proposed content in the IDE diff before accepting
  • ~Bash tool now enforces the documented maximum timeout instead of accepting arbitrarily large values
  • ~SDK/headless sessions now read `TRACEPARENT`/`TRACESTATE` from the environment for distributed trace linking
  • ~Session recap is now enabled for users with telemetry disabled (Bedrock, Vertex, Foundry, `DISABLE_TELEMETRY`). Opt out via `/config` or `CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0`.
  • ~Hardened "Open in editor" actions against command injection from untrusted filenames
  • ↑Improved /plugin Installed tab — items needing attention and favorites appear at the top, disabled items are hidden behind a fold, and `f` favorites the selected item
  • ↑Improved /doctor to warn when an MCP server is defined in multiple config scopes with different endpoints
  • ✓Fixed MCP tool calls hanging indefinitely when the server connection drops mid-response on SSE/HTTP transports
  • ✓Fixed non-streaming fallback retries causing multi-minute hangs when the API is unreachable
  • ✓Fixed session recap, local slash-command output, and other system status lines not appearing in focus mode
  • ✓Fixed high CPU usage in fullscreen when text is selected while a tool is running
  • ✓Fixed plugin install not honoring dependencies declared in `plugin.json` when the marketplace entry omits them; `/plugin` install now lists auto-installed dependencies
  • ✓Fixed skills with disable-model-invocation: true failing when invoked via `/<skill>` mid-message
  • ✓Fixed --resume sometimes showing the first prompt instead of the `/rename` name for sessions still running or exited uncleanly
  • ✓Fixed queued messages briefly appearing twice during multi-tool-call turns
11 more fixed on the release page →

2026-04-14

  • +Added ENABLE_PROMPT_CACHING_1H env var to opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry (`ENABLE_PROMPT_CACHING_1H_BEDROCK` is deprecated but still honored), and `FORCE_PROMPT_CACHING_5M` to force 5-minute TTL
  • +Added recap feature to provide context when returning to a session, configurable in `/config` and manually invocable with `/recap`; force with `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` if telemetry disabled.
  • +Added "verbose" indicator when viewing the detailed transcript (`Ctrl+O`)
+ 21 more− less
full release →
  • +Added a warning at startup when prompt caching is disabled via `DISABLE_PROMPT_CACHING*` environment variables
  • ~The model can now discover and invoke built-in slash commands like `/init`, `/review`, and `/security-review` via the Skill tool
  • ~/undo is now an alias for `/rewind`
  • ↑Improved /model to warn before switching models mid-conversation, since the next response re-reads the full history uncached
  • ↑Improved /resume picker to default to sessions from the current directory; press `Ctrl+A` to show all projects
  • ↑Improved error messages: server rate limits are now distinguished from plan usage limits; 5xx/529 errors show a link to status.claude.com; unknown slash commands suggest the closest match
  • ↑Reduced memory footprint for file reads, edits, and syntax highlighting by loading language grammars on demand
  • ✓Fixed paste not working in the `/login` code prompt (regression in 2.1.105)
  • ✓Fixed subscribers who set DISABLE_TELEMETRY falling back to 5-minute prompt cache TTL instead of 1 hour
  • ✓Fixed Agent tool prompting for permission in auto mode when the safety classifier's transcript exceeded its context window
  • ✓Fixed Bash tool producing no output when `CLAUDE_ENV_FILE` (e.g. `~/.zprofile`) ends with a `#` comment line
  • ✓Fixed claude --resume <session-id> losing the session's custom name and color set via `/rename`
  • ✓Fixed session titles showing placeholder example text when the first message is a short greeting
  • ✓Fixed terminal escape codes appearing as garbage text in the prompt input after `--teleport`
  • ✓Fixed /feedback retry: pressing Enter to resubmit after a failure now works without first editing the description
6 more fixed on the release page →