Invite a friend, get 1 month of Pro freeHow it works

Claude Code changelog

The last 25 stable releases of Claude Code, newest first, with the lines that remove, rename or deprecate something pulled out on top. Taken from the GitHub releases every morning.

Latest: 2.1.316 · October 31, 2026 GitHub → About Claude Code →

Breaking changes and deprecations

Latest releases

  1. 2.1.316

    • Breaking Deprecated fast mode for Opus 4.8 as of October 30, 2026; it will be removed on November 30, 2026. After removal, fast mode requests on Opus 4.8 return an error and do not fall back to standard Opus 4.8. Migrate to Op…
    • Added CLAUDE_CODE_DISABLE_ULTRATHINK, which turns the ultrathink keyword off
    • Added pooled group budgets to the Claude apps gateway: one monthly budget that a group's members share, on top of each member's own limit, set with pooled_budget on the spend limits admin API
    • Added CLAUDE_CODE_DISABLE_LOOPED_CROSS_CERT_DROP to keep system cross-certificates that certify each other in a loop, for servers whose private CA needs one
    • Added CLAUDE_CODE_SUBAGENT_EFFORT to set the effort level subagents run at when nothing else names one, instead of inheriting the session's
    • Added managed.policy_mode: layered to the Claude apps gateway: every policy that matches a developer applies, each merged over the ones listed below it, not only the first
    • Added guardrail.input_tagging on Claude apps gateway Bedrock upstreams, which wraps prompts in the input tags that an Amazon Bedrock guardrail's prompt attacks filter needs; all_messages_and_system also tags the syste…
    • Deprecated fast mode for Opus 4.8 as of October 30, 2026; it will be removed on November 30, 2026. After removal, fast mode requests on Opus 4.8 return an error and do not fall back to standard Opus 4.8. Migrate to Op…
    • Fixed shell commands being left running on macOS and Linux when Claude Code exits by itself, for example when credentials are refused or a cloud session is archived
    • Fixed bash aliases with line breaks in their value (except in Git Bash), and functions whose names start with a dash, being garbled or lost in the Bash tool's shell
    • Fixed bash scripts started from the Bash tool stopping after their first command when SHELLOPTS is exported
    45 more on GitHub →
  2. 2.1.314

    • Added permissions.blockWritesOutsideWorkingDirectories: Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode
    • Added an optional groups list to Claude apps gateway upstreams: only developers in the listed IdP groups are sent to that upstream, on failover too
    • Added guardrail_trace to Claude apps gateway Bedrock upstreams, to log which Amazon Bedrock guardrail filter fired on a request, without the matched text
    • Added idle compaction to VS Code and Claude Desktop's Code tab: a 200K+ token conversation left idle is summarized, and the summary is used on your next message if the prompt cache has expired
    • Fixed sessions failing turn after turn with "Invalid effort level" when an organization's admin caps a model's effort: Claude Code now lowers the effort, retries, and says which level it uses
    • Fixed claude -p exiting with code 0 and no output when startup failed; it now prints the error and exits 1
    • Fixed Bedrock sessions with many images failing every turn and /compact with "400 Input is too long." instead of removing older images and compacting
    • Fixed Microsoft Foundry sessions failing when the resource has no deployment for the default Sonnet, Opus or Haiku model: Claude Code now falls back to an older model of that family
    • Fixed repeated refused requests behind a gateway that doesn't accept tool search's tool_reference blocks: the request is sent again once without tool search, and the session remembers
    • Fixed TLS connections failing with UNABLE_TO_GET_ISSUER_CERT when the system certificate store holds a renewed root certificate that is cross-signed with its predecessor
    109 more on GitHub →
  3. 2.1.312

    • Added oidc.user_id_claim to the Claude apps gateway, to identify people by an id_token claim other than sub, such as Microsoft Entra ID's oid
    • Added click to send: in fullscreen, clicking the "to send now" hint under a queued message sends it right away, as its key does
    • Fixed managed settings and organization policy not being fetched for the rest of the session after signing in from the VS Code extension
    • Fixed Claude overwriting a very large CLAUDE.md, rules file or @-included file in a subdirectory after seeing only its start; Write now asks Claude to read it all or edit in place
    • Fixed per-directory and paths: skills not being found after a Bash cd deeper into a git repository
    • Fixed a rare case where the first reply after resuming a session in the terminal could be missing the next time the session was resumed
    • Fixed a command with an invalid name stopping all commands from loading, which could leave claude -p with no output
    • Fixed the Read tool sometimes failing on PDF pages with "pdftoppm failed: Could not write image" when the clean-up of old session files ran at the same time
    • Fixed the spinner, OpenTelemetry effort values and transcripts naming a newly picked effort level during a task before the model applied it; they now show the level in force
    • Fixed the /model and /effort cache warning saying the re-read waits for your next message; a change made while Claude is working can trigger it sooner
    29 more on GitHub →
  4. 2.1.311

    • Added --hold-idle-file and --max-hold-min to self-hosted-runner, to keep an idle session while your host reports processes it left running
    • Added a tip for the Explanatory output style, shown when you ask Claude for explanations
    • Fixed long freezes at startup and after reading or editing files when a CLAUDE.md file holds a very long list item
    • Fixed interrupting Claude not taking effect until a timeout while an MCP server had not answered a resource read or a skill was still downloading
    • Fixed standard-context sessions stopping with "Usage credits required for 1M context" when a request ran over 200K tokens; Claude Code now compacts the conversation and continues
    • Fixed Write and Edit stalling for up to 5 seconds after they ran, and reporting 0 lines changed, when changing thousands of lines in a file
    • Fixed subagents being unable to use MCP tools from servers that finish connecting after the subagent starts
    • Fixed Claude seeing stale MEMORY.md and CLAUDE.md content right after automatic compaction when those files were edited earlier in the session
    • Fixed claude -p and SDK sessions saving transcript messages out of order or keeping messages that were taken back
    • Fixed SubagentStop hooks running about twice a minute for each running subagent instead of once when it finishes
    82 more on GitHub →
  5. 2.1.310

    • Added the Monitor tool and plugin monitors on Bedrock, Vertex, and Foundry, and when telemetry or nonessential traffic is disabled; long foreground sleeps are now blocked there too
    • Fixed requests failing behind some gateways and compatible servers that reject the effort-2025-11-24 beta value or mid-conversation system messages; Claude Code now retries without them
    • Fixed background cleanup deleting some recent files, such as pasted images, when cleanupPeriodDays is set to a very large value
    • Fixed compaction after a "Prompt is too long" error keeping too much of a conversation with dense text, such as base64 or SVG, so the next request could fail again
    • Fixed file read permission prompts not showing where a symbolic link leads
    • Fixed a question's auto-continue timeout firing the moment the external editor closed after a long edit
    • Windows: Fixed PreToolUse and PermissionRequest hooks letting a tool call through when Git Bash is missing and the hook's command is only quoted strings, such as a quoted path
    • Improved auto mode's prompt before the first read outside the working directories: it now says when blocking those reads makes shell commands ask for permission
    • Improved memory use of non-interactive sessions (-p, Agent SDK) during compaction when the transcript file is very large
    • Improved a mod's Image to draw inside tmux with allow-passthrough and focus-events on, in kitty, Ghostty, and iTerm2 3.5+ with fullscreen rendering, where it showed only its alt text
    16 more on GitHub →
  6. 2.1.309

    • Fixed sandboxed Bash commands on macOS and Linux running the shell's startup files outside the sandbox before each command
    • Fixed macOS sandbox denyWrite glob patterns not applying at a path's real location when the pattern's folder is reached through a symlink
    • Fixed sandboxed commands and auto-accepted edits being able to modify the MCP config file passed with --mcp-config
    • Fixed a disabled MCP server being reconnected by a later permission prompt in print and SDK sessions
    • Fixed the Bash permission check trusting a variable set by a command whose redirect can fail to open
    • Fixed Bash permission checks not prompting for some compound commands that change directory before running git when the cd is wrapped or prefixed, as they do for a plain cd
    • Fixed an Edit(path) deny rule not blocking a Bash redirect to that path in some commands that also held a subshell
    • Fixed worktree-isolated sessions accepting some locale-prefixed commands the isolation guard should refuse
    • Fixed worktree-isolated sessions on zsh accepting some arithmetic commands that the isolation guard should refuse
    • Fixed worktrees and branch checkouts that Claude Code creates so they ignore git replace refs, as its other git operations already do
    69 more on GitHub →
  7. 2.1.308

    • Bug fixes and reliability improvements
    Release notes →
  8. 2.1.307

    • Added /claude-api api-version to move Claude API code to API version 2026-10-21
    • Added the claude_code.safety_event OpenTelemetry event for each tool call a permission rule, auto mode, a safety check, a hook or the sandbox stopped, prompted or sent back
    • Fixed requests failing with a model-not-found error when CLAUDE_CODE_DISABLE_1M_CONTEXT is set and the model is an alias with the [1m] suffix, such as opus[1m]
    • Fixed the prompt-caching-scope beta header being sent behind custom ANTHROPIC_BASE_URL gateways and on Foundry, where it has no effect
    • Fixed MCP servers showing "needs authentication" in claude -p on macOS while the login keychain was locked; they now say why, and the next run after an unlock connects without a new sign-in
    • Fixed MCP servers being reported as timed out, and staying failed in headless runs, when a macOS or Linux computer went to sleep while they were connecting
    • Fixed HTTP MCP tool calls being sent twice when the connection closed mid-call; only read-only or idempotent tools are now retried
    • Fixed a turn sometimes starting without an SDK MCP server's latest tools when a background task was running
    • Fixed some "Autocompact is thrashing" errors in turns that read many PDF pages, images or other large tool results
    • Fixed /autocompact in cloud sessions going back to the default window after the session restarted
    33 more on GitHub →
  9. 2.1.306

    • Fixed claude -p inside cloud sessions reporting "Not logged in" when started without the session's environment variables
    • Fixed an API error being replaced by "prompt is too long", and an unneeded compaction, in sessions with many MCP tools
    Release notes →
  10. 2.1.305

    • Added sandbox.allowNestedUserNamespaces so sandboxed commands on Linux can create user namespaces (Chromium, rootless podman); this lets them get around the sandbox's file protections
    • Added CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) notices a usage limit that was lifted before its reset
    • Fixed every request failing on Vertex, Bedrock and other providers when the endpoint or a gateway rejects tool search, and behind gateways with ToolSearch disallowed or left out of --tools (a 2.1.304 regression): Clau…
    • Fixed /effort and /autocompact settings not applying when the model name differed from a modelOverrides value by letter case or a [1m] tag
    • Fixed new worktrees in a bare repository sometimes starting from local HEAD instead of the default branch, and unchanged subagent worktrees sometimes not being cleaned up
    • Fixed Bash commands on a full disk failing with a raw ENOSPC file path: the error now says the disk is full and that nothing ran
    • Fixed an MCP server passed by a cloud session or by the SDK's setMcpServers being replaced later in the session by a same-named server from your own settings
    • Fixed Claude naming the wrong model for a subagent's work after the subagent switched to a fallback model
    • Fixed cloud sessions and teammates not telling Claude when a compaction had to leave the oldest messages out of its summary to fit
    • Fixed more cases of scheduled Cowork cloud sessions waiting five minutes for each subagent whose WebFetch needed a URL approval that nobody was there to give
    28 more on GitHub →
  11. 2.1.304

    • Added a transcript line when a plugin that runs first skips one of your mod's hooks, naming the event and the plugin
    • Added decider: "person" to a mod's tool.check answer: only the permission dialog or a host's callback can approve the ask, and it is refused with the mod's reason where nobody can be asked
    • Added e.isReadOnly to a mod's tool.check event, set when the tool call is read-only
    • Added /auto-mode-setup: a guided setup that reads your project and recent sessions to teach auto mode about your environment, now also available on Bedrock, Vertex, Foundry, Claude apps gateway and telemetry-disabled…
    • Added /claude-api managed-agents-secure, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anything
    • Added the names of the tools called earlier to the compaction summary in the transcript view (Ctrl+O)
    • Added a warning on Pro and Max plans when resuming an inactive conversation would use a noticeable share of your 5-hour usage limit: resume anyway, or start a new conversation and Claude can look up the previous one i…
    • Fixed the organization policy not refreshing until the hourly check after approving an ANTHROPIC_API_KEY at startup or switching "Use custom API key" in /config
    • Fixed sandboxed commands failing to start on Linux when a sandbox.filesystem.denyRead glob contains brackets that are not a character class, such as a [user-id] route folder
    • Fixed rm -r of a mounted drive or a folder at its top level (/Volumes, /media, WSL's /mnt/c) not getting the safety prompt that rm -rf /Applications gets
    66 more on GitHub →
  12. 2.1.303

    • Bug fixes and reliability improvements
    Release notes →
  13. 2.1.302

    • Added CLAUDE_CODE_AUTO_MODE_MODEL to choose the model the client-side auto mode classifier uses; it does not change the model for server-side auto mode
    • Added an Idle compaction row to /config for turning idle compaction off or back on; the notices shown after an idle compaction now say how to turn it off
    • Added a notice to /design-sync and /design-login that standalone Claude Design (claude.ai/design) closes by December 14, 2026
    • Fixed a "Prompt is too long" error when stopping a turn while the conversation was being compacted
    • Fixed requests failing with "diagnostics: Extra inputs are not permitted" after switching to Vertex or Bedrock mid-session
    • Fixed the Read tool loading an image file of any size, or a pipe or device named like an image, entirely into memory; image sources over 128 MB are now refused
    • Fixed /autocompact and /effort saving to the wrong model when a gateway names Opus 4 or 4.1 with a prefix, such as anthropic/claude-opus-4-1
    • Fixed a prompt cache miss when a tool added mid-session was loaded again through ToolSearch or after compaction
    • Fixed claude plugin and other subcommands sometimes exiting before a queued settings or config write finished, which could lose the change or leave a .tmp file behind
    • Fixed plugin marketplaces re-cloning on every refresh, and newly installed git plugins showing version "unknown", when git defaults to the reftable ref format
    53 more on GitHub →
  14. 2.1.301

    • Added CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) ends a request at a usage limit that resets too far away instead of waiting
    • Added OpenTelemetry tracing guidance to the claude-api skill, including setting up trace destinations with the ant CLI
    • Added the % motion to vim mode: jump to the matching bracket, alone or with d/c/y
    • Added rows to a mod's Input: a text field of several lines in the terminal, where Enter submits and Shift+Enter or a backslash before Enter starts a new line
    • Added classifier_verdict and permission_mode to OpenTelemetry tool_decision events, so auto mode classifier decisions can be told apart from permission rules
    • Added classifier_category to OpenTelemetry tool_decision events, naming the built-in rule a classifier block matched, when OTEL_LOG_TOOL_DETAILS=1
    • Fixed quitting removing a worktree made by a WorktreeCreate hook without asking when it may hold unpushed commits
    • Fixed the fable (and best) model alias erroring on the Anthropic API when the newest Fable model is not available to your organization: Claude Code now retries once on the previous Fable model
    • Fixed a misleading "Please run /login" error when a full disk keeps the login from being refreshed; the error now names the disk and says to delete files
    • Fixed Grep and Glob reporting no matches when the search program failed unexpectedly before returning any results; they now return an error saying the search failed
    41 more on GitHub →
  15. 2.1.300

    • Breaking Removed the --sandbox and --no-sandbox flags from claude remote-control, which had no effect; passing either now exits with an error. Set sandbox.enabled in settings to sandbox sessions
    • Added virtualText to a mod's prompt decorations: text drawn in the prompt box that never enters the draft or the submitted prompt
    • Added cache_creation_5m_tokens and cache_creation_1h_tokens to the OpenTelemetry api_request event, splitting cache writes by lifetime
    • Added $.ui.view({ agentId }) for mods: shows an agent's transcript in the main view when you ask, and $.ui.view({}) goes back
    • Added a dir prop on a mod's Text for right-to-left text: on Windows and in VS Code's terminal its rows read in that direction and sit flush right
    • Added /advisor on Claude Platform on AWS; no advisor runs until you pick one with /advisor, advisorModel or --advisor, and CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1 turns it off
    • Added OpenTelemetry GenAI semantic-convention attributes to trace spans, such as gen_ai.provider.name, gen_ai.conversation.id, gen_ai.tool.name and error.type
    • Added support for rewriting a workflow agent's prompt and model in the agent.spawn mod hook, which could only refuse workflow agents before
    • Added the prompt.change mod hook, raised when the prompt box's text changes without a typed edit: a recalled history entry, a clear, an undo, or a plugin's fill
    • Fixed cloud sessions telling Claude that an organization policy blocked a host when the session's own network settings did
    • Fixed /autocompact warning about high token usage when you choose a smaller auto-compact window
    78 more on GitHub →
  16. 2.1.299

    • Breaking Added size, weight, mono and tabular to a mod's Text and named spacing steps (xs to xl) to its Box; bold is deprecated in favor of weight
    • Added CLAUDE_CODE_DISABLE_FILE_MENTIONS environment variable: Claude gets the paths of @ file mentions to read with its file tools, not the files' contents
    • Added idle compaction in the terminal: a 200K+ token conversation left idle for about 54 minutes is compacted before its one-hour prompt cache expires, so your next message doesn't reprocess it all
    • Added CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS to change idle compaction's 200K-token minimum; "idleCompaction": false in settings.json turns it off. Both need v2.1.290 or later
    • Added $.prompt.media so a prompt.submit hook of a mod installed by managed settings can read the bytes of an image or document attached to the prompt
    • Added $.session.identity() for mods installed by managed settings: how the session is signed in, and its organization and email when managed forceLoginOrgUUID lists that organization
    • Added size, weight, mono and tabular to a mod's Text and named spacing steps (xs to xl) to its Box; bold is deprecated in favor of weight
    • Added --shutdown-drain-sec to claude self-hosted-runner orchestrator: on SIGTERM it stops polling and gives the poll in flight and running spawn hooks up to that many seconds to finish
    • Added the skill's frontmatter, source, plugin name and file path to what a mod's skill.prompt hook receives
    • Added /effort and /fast in agent view to set what new sessions start with; a bare /model, /effort or /fast there now opens a picker
    • Added a "safe mode" line to the agents view peek panel for background sessions started with --safe-mode
    180 more on GitHub →
  17. 2.1.296

    • Added a code key to the Claude apps gateway's managed.policies[]: the same settings as cli, also applied in Claude Desktop's Code tab; beside desktop, it turns on Claude Desktop's gateway mode
    • Added autoCompactWindow to subagent frontmatter and --agents definitions, so a subagent can auto-compact earlier than the main conversation's window
    • Added CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL to run every workflow agent on one model while other subagents keep theirs
    • Added CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS environment variable to set a longer maximum delay for the backoff when retrying an overloaded (529) request
    • Added a note in /plugin on a plugin whose hooks are left out because another enabled plugin has the same name
    • Added an allow_large option to the Read tool so Claude can read a text file past the usual size limits in one call when it needs the whole file and the context has room
    • Fixed managed-settings PreToolUse hooks that deny a tool call with "continue": false, and managed prompt hooks that block one, refusing the call but not ending the turn
    • Fixed PostToolUse hooks in managed settings not applying updatedMCPToolOutput in some sessions
    • Fixed headless sessions starting a folder's .mcp.json or plugin MCP server that was switched off for that folder, after changing directory or reloading plugins
    • Fixed a Claude apps gateway that serves allowedProviders with "gateway" locking out laptops that name that gateway in user settings
    69 more on GitHub →
  18. 2.1.295

    • Added onFailure: "block" for command and HTTP hooks: a hook that can't start, times out, or exits with an unexpected code blocks the action instead of letting it through
    • Added Program Status Protocol (OSC 7501) support: terminals that implement it can show whether Claude Code is working, waiting on you, or done
    • Added quoted text to the /copy picker, so a drafted message copies without its > markers
    • Added a warning to claude plugin install, enable, disable and marketplace add when the settings file they write to does not load
    • Added a line on stderr, when it is a terminal, that says what a claude -p run is waiting for when it stays open after its last turn
    • Added support for timeouts.upstream_ttfb_ms on the Claude apps gateway's Bedrock, Vertex, Foundry and other cloud upstreams: a value you set now limits how long a stream may take to start there, after which it fails o…
    • Added a "Backgrounding cancelled" message when you stop the turn while ← is waiting for the current tool to finish
    • Added an optional models list to every Claude apps gateway upstream: only the listed models are sent there, on failover too, and one in an entry is a wildcard
    • Added support for forceLoginMethod: "gateway" and forceLoginGatewayUrl in your own user settings on machines with no managed settings, so /login opens on that Claude apps gateway
    • Added advice to claude plugin validate when a plugin's README has no install line: it prints the line to paste and never changes the exit code, even with --strict
    133 more on GitHub →
  19. 2.1.294

    • Fixed prompt and agent hooks written as instructions (such as "Block commands that...") allowing what they should block
    • Improved how prompt hooks on Stop and SubagentStop written as instructions (such as "Carry on if the build is broken") are judged, so Claude is less likely to stop early
    Release notes →
  20. 2.1.293

    • Added Claude Haiku 5.5 (claude-haiku-5-5), now the default Haiku model on the Anthropic API — 1M context, $0.10/$0.50 per Mtok ($0.50/$2.50 for prompts over 100K)
    • Added agentType to the subagentStatusLine payload, so scripts can tell custom subagent types apart
    • Added isDeferred to $.tool.register for mods: false lists the tool's schema in the prompt from the start instead of behind tool search
    • Fixed Claude sometimes treating its own last actions before a context compaction as done after it, and retracting or redoing finished work
    • Fixed a memory leak where an HTTP MCP connection kept every request it had sent until it closed
    • Fixed a message sent while Claude was working being lost when ← moved the session to the background; if a queued message can't move, ← now stays put and says so
    • Fixed /model effort ←/→ wrapping past the highest or lowest level, which could accidentally save Low as a model's default effort
    • Fixed /tui disconnecting Claude in Chrome in a session started with --chrome, and ignoring --no-chrome
    • Fixed Claude being told to continue or message subagents with SendMessage in sessions, including resumed ones, where a host, a permission rule or a --tools list removed that tool
    • Fixed subagents and --agent sessions being told a built-in tool was disabled for the whole session when only their own tool list left it out
    46 more on GitHub →
  21. 2.1.292

    • Added --marketplace to claude plugin install: adds the marketplace if needed, under the same policy checks as claude plugin marketplace add, then installs the plugin from it
    • Added an effort parameter to the Agent tool, so Claude runs a sub-agent at the effort level you ask for
    • Added CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS environment variable to set a longer base delay for the backoff when retrying an overloaded (529) request
    • Added prompt.autocomplete, an event a mod hooks to add its own rows to the prompt box's autocomplete list
    • Added prompt caching to $.model.complete for mods: prompt and system take blocks of text, and cache: true on a block caches the request up to it
    • Added workflow agents to the agent.spawn mod hook, with their run and index, so a mod can refuse them
    • Fixed subagent definitions with permissionMode: auto entering auto mode when auto mode is unavailable (disabled by settings, circuit breaker, or a model that doesn't support it)
    • Fixed sandboxed commands being able to read the staged file copies of /ultrareview uploads under ~/.claude/seed-admin
    • Fixed a managed sandbox read-deny path (and user ones beside it) that appears or re-points mid-session not dropping project grants inside it or ending credential injection from files it covers
    • Fixed a notebook or PDF read on macOS and Windows being able to return a file outside what was approved, through a link swapped in mid-read
    82 more on GitHub →
  22. 2.1.291

    • Fixed a regression in 2.1.290 where cloud sessions could drop answers to permission prompts
    • Fixed a regression in 2.1.288 where the last messages of a session could be lost when quitting
    Release notes →
  23. 2.1.290

    • Added serverToolUses to the result of a mod's turn.step hook: the tool calls the API ran itself (the advisor), each with its id, name, input, start and end
    • Added agentId to the tool.check event of plugin hooks, so a hook can tell a subagent's permission check from the main session's
    • Added ceiling to the question and verdict a mod's tool.check hook reads, naming the approval an organization requires for a tool
    • Added ThemeKey and Color types to the plugin hooks typings, so an editor lists the theme colors a mod's drawing can name
    • Added to claude plugin validate: each hook a mod registers at a gating site is listed with whether it has a .catch (gatingHooks under --json)
    • Added a Deny button to the Claude apps gateway's sign-in approval page: it ends the pending sign-in, so the waiting terminal stops within seconds
    • Added claude attach and claude logs : part of a session name works in place of the id
    • Added /claude-api managed-agents-onboard to set up the Managed Agents pattern a page describes as ant apply files
    • Added /claude-api managed-agents-onboard to build a Console quickstart template, such as deep-researcher, with the ant CLI
    • Added a warning when a managed settings file is a link to a file outside the managed settings folder
    180 more on GitHub →
  24. 2.1.289

    • Fixed a deny or ask rule on a nested part of a compound shell command not holding over a user-installed mod's approval on managed machines
    • Fixed the terminal freezing on short code blocks with many unclosed tags or deeply nested ${ substitutions
    • Fixed Read deny rules not applying to files @-mentioned, changed, or selected in the IDE through a symlink
    • [VSCode] Reverted a 2.1.288 change to claude auth status that may have made sign-outs more frequent
    • Improved how quickly large files open in a plugin code pane by laying the highlighted view out once at its final width
    • Fixed plugin list, plugin eval and plugin update showing a stale copy of a plugin installed from a local folder marketplace, and hot reload for a symlinked --plugin-dir
    • Fixed installed mods not loading in the first session after an upgrade
    • Fixed a plugin's rows above the prompt showing a stale row while the Background tasks dialog was open in fullscreen
    • Fixed plugin panes drawing nothing when a link used a localhost address, an @ in its path, an uppercase host or a file: path
    • Fixed a user-installed plugin being able to rewrite the descriptions of an organization-managed MCP server's sign-in tools
    17 more on GitHub →
  25. 2.1.288

    • Added $.ui.selection() for mods: returns the text you last selected in fullscreen mode and, when the selection lies within one transcript row, that row
    • Added a built-in gh api to cloud sessions whose image has no GitHub CLI, and fixed the built-in sending control characters from file names, jq filters or GitHub errors to the terminal
    • Added recovery for a prompt cleared with Ctrl+C: pressing Up on the empty prompt brings the draft back, including pasted text and images
    • Added a re-authenticate prompt when an MCP server asks for more OAuth scope during a tool call
    • Added --max-findings |all to /code-review to report more or fewer findings than the usual limit; the choice is reused until you pass --max-findings default
    • Added Ctrl+F to find a session by name and Alt+↑/↓ to jump between groups in the agents view; both, and rename, can be rebound in keybindings.json
    • Added a screen reader mode announcement of the new permission mode when you approve a plan, including with Shift+Tab
    • Fixed mid-response API timeouts failing the turn: non-interactive sessions and subagents now continue from the partial response, and thinking-only responses are retried
    • Fixed long conversations failing with "Prompt is too long" instead of auto-compacting when the last reply reported zero token usage
    • Fixed --resume sometimes dropping files and other context that a compaction had just restored
    79 more on GitHub →

Other agents

Codex CLIGemini CLICopilot CLIopencodeHermes AgentQwen CodeKimi CLIGooseMistral VibeCrushAiderCline All agents →

Run Claude Code next to the other agents and see when one needs you: AgentVera keeps them in one window on Mac, Windows and Linux, and on your phone.

Bring your agents to one desk.

Download, pick a project, open your first agent. Your installed CLIs are ready to go.