claude code / codex / cursor / gemini / grok

what shipped.

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

sourcesclaude codecodexdegradedcursorgemini clidegradedno successful check yetgrok api
all

2026-05-29

  • +Added claude plugin init <name> to scaffold a new plugin in `.claude/skills`
  • +Added autocomplete for /plugin arguments: subcommands, installed plugin names, and plugins from known marketplaces
  • +Added a "Workflow keyword trigger" setting in /config to stop the word "workflow" in a prompt from triggering a dynamic workflow
+ 30 more− less
full release →
  • ~Plugins in .claude/skills directories are now automatically loaded, no marketplace required
  • ~claude agents: the `agent` field in `settings.json` is now honored for dispatched sessions, with `--agent <name>` to override it
  • ~EnterWorktree can now switch between Claude-managed worktrees mid-session
  • ~tool_decision telemetry events now include `tool_parameters` (bash commands, MCP/skill names) when `OTEL_LOG_TOOL_DETAILS=1`
  • ~Worktrees managed by Claude are now left unlocked when the agent finishes, so `git worktree remove`/`prune` can clean them up
  • ~/terminal-setup now disables GPU acceleration in VS Code/Cursor/Windsurf integrated terminals to prevent garbled-text rendering
  • ~The Feature of the Week credit-claim status now appears as a notification in the status area instead of a line above the prompt
  • ~claude agents: slash-command autocomplete in the dispatch input now matches substrings
1 more changed on the release page →
  • −Removed the "bash commands will be sandboxed" startup banner — sandbox status still shows in `/status` and when a command is blocked
  • −Removed the "/ide for …" startup hint toast
  • ↑Improved performance of long and resumed conversations by eliminating redundant message-rendering recomputations
  • ✓Fixed unprocessable images (zero-byte, corrupt) attached via paste, MCP, or dialog crashing the request instead of becoming a text placeholder
  • ✓Fixed sandbox network permission prompts appearing in auto and bypass-permissions mode when using the desktop app, IDE extensions, or SDK
  • ✓Fixed claude agents completed sessions not retiring when an idle subagent was still parked or had leaked a backgrounded shell
  • ✓Fixed claude agents pressing Esc not cancelling a slow "opening…", leaving the list unresponsive
  • ✓Fixed background agent worktrees under `.claude/worktrees/` being orphaned after the 30-day job retention sweep
  • ✓Fixed background sessions re-attached after a sleep/wake not telling the model the correct date
  • ✓Fixed copy-on-select in claude agents not reaching the system clipboard inside tmux with `set-clipboard on` (regression in 2.1.153)
  • ✓Fixed --resume not reporting background subagents that were running when the previous Claude Code process exited
10 more fixed on the release page →

2026-05-28

  • +Added Claude Opus 4.8 support and 4.7 → 4.8 migration guidance to the `/claude-api` skill
  • ~Opus 4.8 is here! Now defaults to high effort · /effort xhigh for your hardest tasks
  • ~Introducing dynamic workflows: ask Claude to create a workflow and it orchestrates work across tens to hundreds of agents in the background, so you can take on larger, more complex tasks. Run `/workflows` to view your runs
+ 41 more− less
full release →
  • ~Fast mode on Opus 4.8 is now available at a fraction of its previous cost: 2x the standard rate for 2.5x the speed
  • ~The lean system prompt is now the default for all models except Haiku, Sonnet, and Opus 4.7 and earlier
  • ~Claude now reserves the multiple-choice question prompt for decisions it genuinely cannot make itself, instead of asking when it already has enough context to proceed
  • ~/simplify now runs a cleanup-only review (reuse, simplification, efficiency, altitude) and applies the fixes, instead of running the full `/code-review --fix` bug-hunting review
  • ~Renamed the /effort slider labels from "Speed"/"Intelligence" to "Faster"/"Smarter" for clarity
  • ~claude agents: type `! <command>` to run a shell command as a background session you can attach to and detach from. Also available as `claude --bg --exec '<command>'`
  • ~claude agents: `/logout` now signs you out instead of being sent to a background session
  • ~←← to open the agents view now works on Bedrock, Vertex, Foundry, and with telemetry disabled
8 more changed on the release page →
  • −Deprecated CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE (will be removed on 06/01). To use fast mode on Opus 4.6, switch with `/model claude-opus-4-6[1m]` and then `/fast on`
  • −Removed the stale "& for background" hint from the shortcuts help panel
  • ↑Improved the auto-mode classifier's detection of data exfiltration, particularly bulk transfers of repository contents
  • ✓Fixed rm -rf $HOME not being blocked as a dangerous path when `HOME` has a trailing slash
  • ✓Fixed $TMPDIR resolving to different directories in sandboxed vs unsandboxed Bash commands within the same session
  • ✓Fixed unreadable highlighted-row text in `claude agents` when the Claude Code theme doesn't match the terminal background
  • ✓Fixed background-agent completion notifications triggering premature "out of context" behavior on some 1M-context models
  • ✓Fixed background-session classifier losing the user's goal when a scheduled `/command` fires
  • ✓Fixed pinned background sessions respawning every minute after a Claude Code update, causing repeated agent-start notifications and process churn at idle
  • ✓Fixed background sessions stuck at "blocked", "running", or "working" not retiring after the idle grace period
  • ✓Fixed subagents in background sessions bypassing the worktree-isolation guard and writing to the shared checkout
14 more fixed on the release page →

2026-05-27

  • +Added skipLfs option to `github`/`git` plugin marketplace sources to skip Git LFS downloads during clone and update
  • ~Claude Code now shows a one-time notice when your npm global install can't auto-update; `/doctor` lists the fixes
  • ~Status line commands now receive `COLUMNS` and `LINES` environment variables so scripts can size output to the terminal width
+ 33 more− less
full release →
  • ~claude agents: autocomplete in the dispatch input now suggests native slash commands and bundled skills, not just project skills
  • ~claude agents: PR column now shows `PR #N` for a single PR or `N PRs` for multiple
  • ~claude doctor now shows the result of your last update attempt
  • ~Combined the separate "needs authentication" startup notifications for MCP servers and connectors into a single message
  • ~macOSBackground agents now appear as "Claude Code" in Privacy & Security and keep their permission grants across upgrades
  • ~--strict-mcp-config no longer strips inline `mcpServers` from explicitly-passed agent definitions (`--agents` / SDK `agents`), and blocked subagent MCP servers now surface a visible warning
  • ~/bg while Claude is responding now continues the response in the background session instead of dropping it
  • ~/model now saves your selection as the default for new sessions (matching the IDE). Press `s` in the picker to switch models for the current session only.
1 more changed on the release page →
  • ✓Fixed stateful MCP servers without the optional GET SSE stream reconnect-looping on `tools/list` (regression in v2.1.147)
  • ✓Fixed a regression where a custom API gateway could receive the user's Anthropic OAuth credential instead of the gateway's own token
  • ✓Fixed subagent (Agent tool) frontmatter MCP servers ignoring `--strict-mcp-config`, `--bare`, remote mode, enterprise managed MCP config, and managed-settings MCP server allow/deny policies
  • ✓Fixed the Windows PowerShell installer reporting "Installation complete!" when installation actually failed
  • ✓Fixed claude update installing the latest version instead of the configured release channel's version for npm installations
  • ✓Fixed excessive memory usage (multiple GB) when resuming a session by transcript file path on machines with many stored sessions
  • ✓Fixed claude agents and `claude --bg` running on a stale daemon started before binary-takeover support, even after upgrading
  • ✓Fixed a hang where the CLI could fail to exit when stdin was closed without EOF in stream-json mode, leaving a stale session marker behind
16 more fixed on the release page →

2026-05-26

  • +Added /reload-skills command to re-scan skill directories without restarting the session
  • +Added a MessageDisplay hook event that lets hooks transform or hide assistant message text as it is displayed
  • +Added pluginSuggestionMarketplaces managed setting: admins can allowlist org marketplaces whose plugins may be suggested via context-aware tips
+ 30 more− less
full release →
  • +Added the session entrypoint as an OpenTelemetry metric attribute (`app.entrypoint`, opt-in via `OTEL_METRICS_INCLUDE_ENTRYPOINT=true`)
  • ~/code-review --fix now applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions; `/simplify` now invokes `/code-review --fix`
  • ~Skills and slash commands can now set `disallowed-tools` in frontmatter to remove tools from the model while the skill is active
  • ~SessionStart hooks can now return `reloadSkills: true` to re-scan skill directories, making skills installed by the hook available in the same session
  • ~SessionStart hooks can now set the session title via `hookSpecificOutput.sessionTitle` on startup and resume
  • ~claude plugin marketplace remove now accepts `--scope user|project|local` for symmetry with `marketplace add`, `install`, and `uninstall`
  • ~Claude Code now switches to your configured `--fallback-model` for the rest of the session when the primary model is not found, instead of failing every request
  • ~Auto mode no longer requires opt-in consent
  • ~Vim mode: / in NORMAL mode now opens reverse history search (like Ctrl+R), matching bash/zsh vi-mode
5 more changed on the release page →
  • ✓Fixed terminal styling degrading in very long sessions by recycling the renderer's style pool
  • ✓Fixed the sandbox-enabled warning not appearing in condensed startup mode — it now shows in every layout
  • ✓Fixed the loading spinner showing "still thinking"/"almost done thinking" while a tool is running, and reset the thinking status to "thinking" after each tool
  • ✓Fixed focus mode showing a spurious "N messages hidden" count on turns with no hidden activity
  • ✓Fixed clicking a link inside an expanded tool result collapsing the section instead of opening the link
  • ✓Fixed markdown table cell borders inheriting the color of inline code, wrapped continuation lines losing their style, and empty header cells showing a label in the narrow-terminal stacked layout
  • ✓Fixed plugin MCP servers with the same command but different environment variables being incorrectly deduplicated
  • ✓Fixed /doctor reporting "marketplace not found" or "plugin not found" for stale `enabledPlugins` entries referencing removed marketplaces or dropped plugins
8 more fixed on the release page →

2026-05-23

2026-05-22

  • ~/usage now shows a per-category breakdown of what's driving your limits usage — skills, subagents, plugins, and per-MCP-server cost
  • ~/diff detail view can now be scrolled with the keyboard (arrows, `j`/`k`, `PgUp`/`PgDn`, `Space`, `Home`/`End`)
  • ~Markdown output now renders GFM task list checkboxes (`- [ ] todo` / `- [x] done`) instead of plain bullets
+ 23 more− less
full release →
  • ~Enterprise: added the allowAllClaudeAiMcps managed setting to load claude.ai cloud MCP connectors alongside `managed-mcp.json`
  • ↑Improved /feedback reports to include the conversation that happened before context compaction, making issues from earlier in long sessions easier to triage
  • ✓Fixed a PowerShell permission bypass: built-in `cd` functions (`cd..`, `cd\`, `cd~`, `X:`) changed the working directory undetected, letting a later command read outside the workspace
  • ✓Fixed the sandbox write allowlist in git worktrees covering the entire main repository root instead of only the shared `.git` directory (with `hooks/` and `config` denied)
  • ✓Fixed PowerShell prefix/wildcard allow rules (e.g. `PowerShell(dotnet.exe build *)`) not pre-approving native executables and scripts
  • ✓Fixed a permission-analysis gap where the parser trusted stale variable-tracking values for `PWD`/`OLDPWD`/`DIRSTACK` across `cd`/`pushd`/`popd`
  • ✓Fixed find in the Bash tool exhausting the macOS system file/vnode table and crashing the host on large directory trees
  • ✓Fixed the managed-settings approval dialog leaving the terminal frozen after accepting at startup
  • ✓Fixed /ultraplan and remote session creation failing with "Could not capture uncommitted changes" when the working tree has no real changes
  • ✓Fixed otelHeadersHelper failing silently when the script path contains spaces; helper failures are now reported in `/doctor` and the debug log
13 more fixed on the release page →

2026-05-21

  • ~Pinned background sessions (`Ctrl+T` in `claude agents`) now stay alive when idle, are restarted in place to apply Claude Code updates, and are shed under memory pressure only after non-pinned sessions
  • ~Renamed /simplify to `/code-review`. It now reports correctness bugs at a chosen effort level (e.g., `/code-review high`); pass `--comment` to post findings as inline GitHub PR comments. The old cleanup-and-fix behavior has been removed
  • ~Prompt history no longer records consecutive duplicate entries — recalling a prompt with arrow-up and submitting it again won't add another copy
+ 30 more− less
full release →
  • ↑Improved auto-updater: retries transient network failures, reports specific error categories and OS error codes on failure, and shows the current version when an update fails
  • ↑Improved diff rendering performance for large file edits
  • ✓Fixed enterprise login restrictions (`forceLoginOrgUUID` and `forceLoginMethod` managed-settings) not being enforced against third-party-provider and API-key sessions
  • ✓Fixed & in `!` command output displaying as `&amp;`, which broke copy-pasting URLs from commands like `gcloud auth login` on headless machines
  • ✓Fixed unknown slash commands silently doing nothing in headless/SDK mode — they now show an error message
  • ✓Fixed /help rendering a broken tab header and showing only one command per page on small terminals when not in fullscreen mode
  • ✓Fixed shell snapshot dropping user functions whose names start with a single underscore, which broke aliases referencing them
  • ✓Fixed plugin agents that declare multiple `Agent(...)` types in `tools:` frontmatter dropping all but the last entry
  • ✓Fixed hook if conditions like `PowerShell(git push*)` never matching — only `PowerShell(*)` worked
  • ✓Fixed PowerShell tool dropping output for commands that rely on the default formatter
20 more fixed on the release page →

2026-05-19

  • +Added claude agents --json to list live Claude sessions as JSON for scripting (tmux-resurrect, status bars, session pickers)
  • +Added agent_id and `parent_agent_id` attributes to `claude_code.tool` OTEL spans, and fixed trace parenting so background subagent spans nest under the dispatching Agent tool span
  • ~Status line JSON input now includes GitHub repo and PR information when detected
+ 17 more− less
full release →
  • ~/plugin Discover and Browse screens now show a plugin's commands, agents, skills, hooks, and MCP/LSP servers before installation
  • ~claude agents terminal tab title now shows the awaiting-input count so an alt-tabbed window tells you when an agent needs attention
  • ~Slash command and @-mention suggestion list now supports mouse hover and click in fullscreen mode
  • ~Stop and SubagentStop hook input now includes `background_tasks` and `session_crons` fields
  • ↑Improved the Read tool to return a truncated first page with a "PARTIAL view" notice instead of a hard error when a whole-file read exceeds the token limit
  • ✓Fixed a permission-prompt bypass where bare variable assignments to non-allowlisted environment variables in Bash commands were auto-approved
  • ✓Fixed MCP prompt slash commands showing raw server validation errors when a required argument is omitted — the error now names the missing argument and shows expected usage
  • ✓Fixed the spinner and elapsed-time display freezing until a keypress after the terminal was resized or refocused
  • ✓Fixed the cross-project resume hint failing in default Windows PowerShell 5.1 — Windows now uses `;` as the command separator
  • ✓Fixed voice push-to-talk not working in the agent view's reply pane
  • ✓Fixed task lists rendering in random order when several tasks are created at once
  • ✓Fixed stale "Failed to install Anthropic marketplace" banner showing when the marketplace is already installed
  • ✓Fixed the PR badge in the footer not updating immediately after `gh pr create` and other PR-state-changing commands run in-session
4 more fixed on the release page →

2026-05-18

  • +Added /resume support for background sessions — sessions started via `claude --bg` or agent view now appear alongside interactive ones, marked with `bg`
  • +Added elapsed duration to background subagent completion notifications (e.g. "Agent completed · 3h 2m 5s")
  • ~The /plugin browse and discover panes now show when a plugin was last updated
+ 47 more− less
full release →
  • ~/model now changes the model for the current session only; press `d` in the model picker to set a default for new sessions
  • ~Renamed "extra usage" to "usage credits" across CLI copy; `/extra-usage` is now `/usage-credits` (old name still works)
  • ~Fewer spurious tool errors during search: `head`/`tail` file views now satisfy the read-before-edit check, and a "no matches" result (exit code 1) from `egrep`, `fgrep`, `git grep`, or `git diff` is no longer reported as a command failure
  • ~Resumed sessions now keep the model they were using instead of picking up another session's `/model` choice
  • ~/bg and `←`-detach now preserve directories added via `/add-dir`
  • ~claude agents / `--bg` rejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic message
  • ~claude --bg --name <label> now echoes the name in the post-spawn confirmation
  • ~claude agents: renaming a background session with Ctrl+R now updates the attached session's banner immediately
6 more changed on the release page →
  • ↑Reduced terminal rendering glitches in VS Code by reducing spinner animation color count
  • ↑Improved recovery from rare pre-response stream stalls — now retries streaming once instead of falling back to a slower non-streaming request
  • ↑Improved SDK/headless MCP startup: pre-wait now overlaps startup instead of blocking before the first turn (up to 2s faster with slow MCP servers)
  • ✓Fixed startup hanging up to 75s when `api.anthropic.com` is unreachable (captive portal, firewall, VPN issues) — side-channel API calls now time out after 15s
  • ✓Fixed garbled terminal output after a missed window-resize event (e.g. dragging a VS Code split-pane divider) — now self-heals on the next frame instead of requiring Ctrl+L
  • ✓Fixed progressive terminal display corruption (stale/garbled glyphs) that could appear in very long sessions and only cleared on terminal resize or restart
  • ✓Fixed macOS background sessions crashing with "exit 1 before init" when the project lives under a Full Disk Access-protected folder (regression in 2.1.143)
  • ✓Fixed an unrecoverable conversation when reading a file whose image extension doesn't match its contents (e.g. HTML saved as .png) — now falls back to text
  • ✓Fixed /branch failing with "No conversation to branch" after entering a worktree or in some background sessions
  • ✓Fixed pressing Escape in the AskUserQuestion notes field aborting the turn instead of returning to answer selection
  • ✓Fixed model selection not applying when changed via the IDE model picker or `applyFlagSettings` after startup
22 more fixed on the release page →

2026-05-15

  • +Added plugin dependency enforcement: `claude plugin disable` now refuses when another enabled plugin depends on the target (with a copy-pasteable disable-chain hint), and `claude plugin enable` force-enables transitive dependencies
  • +Added projected context cost (per-turn and per-invocation token estimates) to the `/plugin` marketplace browse pane
  • +Added worktree.bgIsolation: "none" setting to let background sessions edit the working copy directly without `EnterWorktree`, for repos where worktrees are impractical
+ 30 more− less
full release →
  • ~PowerShell tool now passes `-ExecutionPolicy Bypass`. Opt out with `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1`
  • ~Background sessions now preserve the model and effort level you set after waking from idle
  • ~Shift+Tab in attached agent sessions now includes auto mode in the cycle
  • ~The PowerShell tool is now enabled by default on Windows for Bedrock, Vertex, and Foundry users. Opt out with `CLAUDE_CODE_USE_POWERSHELL_TOOL=0`.
  • ~claude agents now accepts `--add-dir`, `--settings`, `--mcp-config`, and `--plugin-dir` and applies them to the dashboard and to background sessions dispatched from it
  • ~claude agents accepts `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions` to set defaults for sessions dispatched from the view
  • ~claude --bg --dangerously-skip-permissions now persists across retire→wake
  • ~Worktree cleanup no longer falls back to `rm -rf` when `git worktree remove` fails, preventing loss of gitignored or in-progress files
4 more changed on the release page →
  • ✓Fixed a corrupt .credentials.json with a non-array `scopes` value hanging the CLI on startup or silently aborting OAuth token refresh
  • ✓Fixed right-click paste in claude agents on Windows Terminal and WSL
  • ✓Fixed stop hooks that block repeatedly looping forever — the turn now ends with a warning after 8 consecutive blocks (override via `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`)
  • ✓Fixed Esc/Ctrl+C not cancelling a pending `/loop` wakeup while Claude is idle between iterations
  • ✓Fixed /goal evaluator firing while background shells or delegated subagents are still running
  • ✓Fixed NO_COLOR/`FORCE_COLOR` in settings.json `env` stripping Claude Code's own UI colors — they now apply to subprocesses only
  • ✓Fixed agent view spawning repeated PowerShell processes on Windows when listing sessions
  • ✓Fixed /bg without a prompt sending "continue" to the forked session — the fork now waits for input
10 more fixed on the release page →

2026-05-14

  • +Added new claude agents flags: `--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions` to configure dispatched background sessions
  • ~Fast mode now uses Opus 4.7 by default (previously Opus 4.6). Set `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1` to pin fast mode to Opus 4.6
  • ~Plugins with a root-level `SKILL.md` and no `skills/` subdirectory are now surfaced as a skill
+ 21 more− less
full release →
  • ~The /plugin details pane and `claude plugin details` now show LSP servers a plugin provides
  • ~/web-setup warns before replacing an existing GitHub App connection
  • ↑Improved reactive compaction: the first summarize attempt now seeds from the original request's overflow size, avoiding a wasted near-full-context retry
  • ↑Improved hook configuration error: configuring a prompt- or agent-type hook for `SessionStart`/`Setup`/`SubagentStart` now shows a clear "use a command-type hook instead" error
  • ✓Fixed MCP_TOOL_TIMEOUT not raising the per-request fetch timeout for remote HTTP and SSE MCP servers, which capped tool calls at 60 seconds regardless of the configured value
  • ✓Fixed background sessions not recognizing pre-existing git worktrees, blocking Edit while EnterWorktree refused to create a duplicate
  • ✓Fixed background sessions disappearing and daemon reconnect failing after macOS sleep/wake — the daemon now detects clock jumps instead of treating them as elapsed idle time
  • ✓Fixed daemon not exiting cleanly after the binary is upgraded (e.g. `brew upgrade`), causing dispatched agents to crash-loop on the deleted path
  • ✓Fixed background agents crash-looping when the Claude-in-Chrome extension is connected without a shared tab
  • ✓Fixed clicking links in an attached `claude agents` session — the background worker's headless browser shim no longer applies while attached
  • ✓Fixed claude agents "v to open in editor" using the daemon's default editor instead of your shell's `$EDITOR`/`$VISUAL`
  • ✓Fixed claude agents deadlocking on Windows with network-drive working directories; Ctrl+C now works during startup
8 more fixed on the release page →

2026-05-13

  • +Added terminalSequence field to hook JSON output so hooks can emit desktop notifications, window titles, and bells without a controlling terminal
  • +Added CLAUDE_CODE_PLUGIN_PREFER_HTTPS to clone GitHub plugin sources over HTTPS instead of SSH, for environments without a GitHub SSH key
  • +Added ANTHROPIC_WORKSPACE_ID environment variable for workload identity federation — scopes the minted token to a specific workspace when the federation rule covers more than one
+ 58 more− less
full release →
  • +Added claude agents --cwd <path> to scope the session list to a directory
  • ~/feedback can now include recent sessions (last 24 hours or 7 days) for issues spanning more than the current session
  • ~Rewind menu: added "Summarize up to here" to compress earlier context while keeping recent turns intact
  • ~Auto mode permission dialog now explains when a `permissions.ask` rule caused the prompt
  • ~Restored the "view diff in your IDE" option on file-edit permission prompts when an IDE is connected
  • ~Background agents launched via `/bg` or `←←` now preserve the current permission mode instead of reverting to default
  • ~claude agents: agents that finish work but leave a background shell running now move to Completed instead of staying under Working
  • ~BedrockawsCredentialExport now always runs when configured instead of being skipped when ambient AWS credentials resolve, fixing auth for cross-account access
  • ~VSCodeVoice mode: the WSL error now suggests installing `sox libsox-fmt-pulse` for WSLg users
3 more changed on the release page →
  • ↑Improved spinner feedback during long thinking periods — the spinner now warms to amber after 10 seconds to signal Claude is still working
  • ↑Improved plugin menu navigation: `→`/Tab switch tabs, `↑` moves to the tab strip, and tab headers and search box are clickable in fullscreen mode
  • ✓Fixed background side-queries sending an unavailable Haiku model ID on Bedrock/Vertex/Foundry/gateway when no `ANTHROPIC_SMALL_FAST_MODEL` override is set — now falls back to the main-loop model
  • ✓Fixed claude daemon status and `/doctor` on Windows throwing when the daemon pipe key file is locked or unreadable — now shows the underlying error instead of an opaque failure
  • ✓Fixed claude agents showing the agent-type list instead of the dashboard when launched through a wrapper that adds flags
  • ✓Fixed claude agents opening a crashed session firing redundant dispatches when the working directory was deleted
  • ✓Fixed background jobs on a custom `ANTHROPIC_BASE_URL` gateway not getting auto-named — the namer now uses the main model when no Haiku model is configured
  • ✓Fixed /model in one session silently changing the autocompact threshold in other concurrent sessions
  • ✓Fixed switching permission mode while a tool-permission prompt is open not auto-dismissing the prompt when the new setting permits the tool
  • ✓Fixed pressing Enter while a permission/dialog prompt is open also submitting text in the input box
36 more fixed on the release page →

2026-05-12

  • ~Updated agent color palette
  • ~Plugins now warn when a default component folder (e.g. `commands/`) is silently ignored because `plugin.json` sets the matching key. Shown in `/doctor`, `claude plugin list`, and `/plugin`.
  • ↑Improved Agent tool subagent_type matching to accept case- and separator-insensitive values (e.g. `"Code Reviewer"` resolves to `code-reviewer`)
+ 10 more− less
  • ✓Fixed /goal silently hanging when `disableAllHooks` or `allowManagedHooksOnly` is set — now shows a clear message instead of an indicator that never resolves
  • ✓Fixed a regression in settings hot-reload where symlinked settings files caused misattributed change events and spurious `ConfigChange` hooks
  • ✓Fixed claude --bg failing with "connection dropped mid-request" when the background service was about to idle-exit
  • ✓Fixed background service startup failing on machines with enterprise endpoint security by allowing more time
  • ✓Fixed remote managed settings not retrying on 401 — now retries once with a force-refreshed token
  • ✓Fixed managed extraKnownMarketplaces auto-update policy not being persisted to `known_marketplaces.json`
  • ✓Fixed /loop scheduling redundant wakeups to poll for background tasks that already notify on completion
  • ✓Fixed a recurring event-loop stall on Windows when a missing executable (e.g. `gh`) triggered synchronous `where.exe` re-spawns on every check
2 more fixed on the release page →

2026-05-11

  • +Added agent view (Research Preview): a single list of every Claude Code session — running, blocked on you, or done. Run `claude agents` to get started. See https://code.claude.com/docs/en/agent-view
  • +Added /goal command: set a completion condition and Claude keeps working across turns until it's met. Works in interactive, `-p`, and Remote Control. Shows live elapsed/turns/tokens as an overlay panel
  • +Added /scroll-speed command to tune mouse wheel scroll speed with a live preview
+ 47 more− less
full release →
  • +Added claude plugin details <name> to show a plugin's component inventory and projected per-session token cost
  • +Added transcript view navigation: `?` for keyboard shortcuts, `{`/`}` to jump between user prompts, `v` to toggle shortcut panel
  • +Added hook args: string[] field (exec form) that spawns the command directly without a shell, so path placeholders never need quoting
  • +Added hook continueOnBlock config option for `PostToolUse` — set to `true` to feed the hook's rejection reason back to Claude and continue the turn
  • ~MCP stdio servers now receive `CLAUDE_PROJECT_DIR` in their environment, matching hooks. Plugin configs can reference `${CLAUDE_PROJECT_DIR}` in commands
  • ~Compaction prompt now asks the model to preserve sensitive user instructions
  • ~/mcp Reconnect now picks up `.mcp.json` edits without a restart, and shows the HTTP status and URL when reconnecting fails
  • ~/context all per-skill token estimates now account for the model's tokenizer and show rounded values
  • ~claude plugin install <name>@<marketplace> now auto-refreshes the marketplace and retries before reporting a plugin as not found
  • ~/plugin installed-plugin details now show hook event names and MCP server names cleanly
  • ~/context now shows the providing plugin's name for plugin-sourced skills
  • ~Remote MCP server reconnect retry on transient failures is now enabled for all users
3 more changed on the release page →
  • ✓Fixed a deadlock where expired credentials and the `forceRemoteSettingsRefresh` policy setting blocked `claude auth login`/`logout`/`status` with no way to recover
  • ✓Fixed autoAllowBashIfSandboxed not auto-approving commands with shell expansions like `$VAR` and `$(cmd)`
  • ✓Fixed a bug where a hook writing to the terminal could corrupt an on-screen interactive prompt; hooks now run without terminal access
  • ✓Fixed unbounded memory growth when an HTTP/SSE MCP server streams non-protocol data — response bodies now capped at 16 MB per SSE frame
  • ✓Fixed Skill(name *) permission rules — the wildcard form now works as a prefix match, matching `Bash(ls *)` behavior
  • ✓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
24 more fixed on the release page →

2026-05-09

2026-05-08

  • +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
  • ~WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
+ 49 more− less
full release →
  • ~Changed plugin marketplace removal key to `d` (matching delete elsewhere) instead of `r` which collided with retry
  • ↑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
  • ↑Improved error message when --worktree collides with an existing or stale worktree
  • ✓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
  • ✓Fixed plugin Stop/`UserPromptSubmit` hooks failing when cache cleanup deletes a version still in use by a running session
  • ✓Fixed colors appearing at wrong positions in bash command output and markdown code blocks
38 more fixed on the release page →

2026-05-07

  • +Added worktree.baseRef setting (`fresh` | `head`) to choose whether `--worktree`, `EnterWorktree`, and agent-isolation worktrees branch from `origin/<default>` or local `HEAD`. **Note:** the default `fresh` changes `EnterWorktree`'s base back to `origin/<default>` (it has been local `HEAD` since 2.1.128) — set `worktree.baseRef: "head"` to keep unpushed commits in new worktrees
  • +Added sandbox.bwrapPath and `sandbox.socatPath` managed settings (Linux/WSL) to specify custom bubblewrap and socat binary locations
  • +Added parentSettingsBehavior admin-tier key (`'first-wins' | 'merge'`) to let admins opt SDK `managedSettings` (parent tier) into the policy merge
+ 14 more− less
full release →
  • ~Hooks now receive the active effort level via the `effort.level` JSON input field and the `$CLAUDE_EFFORT` environment variable, and Bash tool commands can read `$CLAUDE_EFFORT`
  • ~claude --help now lists `--remote-control` alongside `--remote-control-session-name-prefix`
  • ↑Improved focus mode behavior
  • ↑Improved memory usage by releasing warm-spare background workers under memory pressure
  • ✓Fixed parallel sessions all dead-ending at 401 after a refresh-token race wiped shared credentials
  • ✓Fixed Edit/`Write` allow rules scoped to a drive root (`C:\`) or POSIX `/` matching incorrectly and always prompting
  • ✓Fixed an unhandled rejection (ECOMPROMISED) when a history or session-log file lock is compromised by clock skew or slow disk
  • ✓Fixed pressing Esc during conversation compaction showing a spurious "Error compacting conversation" notification
  • ✓Fixed HTTP(S)_PROXY / `NO_PROXY` / mTLS not being respected for the full MCP OAuth flow including discovery, dynamic client registration, token exchange, and token refresh
  • ✓Fixed Read/Write/Edit being denied on mapped network drives passed via `--add-dir` / SDK `additionalDirectories`
  • ✓Fixed Remote Control stop/interrupt from claude.ai not fully canceling the CLI session the same way local Esc does, causing queued messages to never advance after interrupting a stuck tool or prompt
  • ✓Fixed /effort in one session unexpectedly changing the effort level of other concurrent sessions, and a related issue where an IDE effort change could be silently dropped
2 more fixed on the release page →