Claude Code Changelog

AUTO-SYNC

Updated daily at 06:00 KST · Last sync: 2026-07-09 22:37 UTC · Source · Repo

339
Total Versions
184
With New Commands
Latest Release
Badge NEW Added IMP Improved FIX Fixed DEL Removed
Version Date Commands / Flags Key Features
v2.1.2052026-07-08--json-schemaFIX --max-turnsFIX /doctorIMP /checkupIMP /loginFIX
  • Added an auto mode rule that blocks tampering with session transcript files
  • Fixed --json-schema silently producing unstructured output when the schema was invalid, and schemas using the format keyword being rejected
  • Fixed a message sent while Claude was working being silently lost when the turn ended at the --max-turns limit
  • Auto-update binary downloads now stream to disk instead of buffering in memory, cutting the updater's peak memory usage by roughly 400 MB
  • Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on
  • /doctor is now a full setup checkup that can diagnose and fix issues; /checkup is its alias
  • Reserved the "Claude Browser" MCP server name (alongside "Claude Preview") ahead of the Claude Desktop pane rename; user-configured MCP servers can no longer register under either name
  • Fixed Cowork VM-mode local-agent sessions failing to start with "Not logged in · Please run /login" on CLI 2.1.203+
v2.1.2042026-07-08
  • Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook
v2.1.2032026-07-07/exitFIX /clearFIX /doctorDEL /statusDEL
  • Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted
  • Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible
  • Added the session's additional working directories to MCP roots/list, with notifications/roots/list_changed sent when the set changes
  • Fixed /exit incorrectly warning about running background agents after all named agents had completed
  • Fixed background task output on Windows being permanently replaced by an empty file after /clear
  • Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it
  • Removed the startup "claude command missing or broken" warnings — they now appear in /doctor and /status instead
  • [VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"
v2.1.2022026-07-06/configNEW Ctrl+RFIX /renameFIX /remote-controlFIX /workflowsIMP /review <pr>IMP /reviewIMP /code-reviewIMP
  • Added a "Dynamic workflow size" setting in /config for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap
  • Added workflow.run_id and workflow.name OpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run's activity can be reconstructed from OTel data
  • Fixed a crash in the inline Ctrl+R history search when accepting or cancelling while the search was still scanning the history file
  • Fixed /rename on background sessions being reverted when the job restarts, which broke addressing the session by its new name
  • Fixed /remote-control sessions showing the wrong permission mode in the mobile and web apps
  • Improved /workflows agent list layout: wider titles, a dedicated time column, shorter model names, and no per-row tool-call counts
  • Changed /review <pr> back to a fast single-pass review; use /code-review <level> <pr#> for the multi-agent review at a chosen effort level
v2.1.2012026-07-03
  • Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders
v2.1.2002026-07-03/configIMP --helpIMP --permission-mode manualIMP /mcpFIX
  • Changed AskUserQuestion dialogs to no longer auto-continue by default; opt into an idle timeout via /config
  • Changed the "default" permission mode to "Manual" across the CLI, --help, VS Code, and JetBrains; --permission-mode manual and "defaultMode": "manual" are accepted alongside default
  • Fixed /mcp server list not tracking focus for screen readers and magnifiers
v2.1.1992026-07-02/skill-aIMP /skill-bIMP /modelFIX /fastFIX /backgroundFIX /colorFIX
  • Stacked slash-skill invocations like /skill-a /skill-b do XYZ now load all leading skills (up to 5), not just the first
  • Fixed typing /model or /fast while viewing a subagent silently opening the lead's model picker — a notice now explains the command applies to the lead
  • Fixed backgrounding a session with ← or /background dropping its /color from the agent view row
  • Transient server rate-limit errors (429s unrelated to your usage limit) are now retried automatically with backoff for subscribers instead of failing the turn
  • CLAUDE_CODE_RETRY_WATCHDOG now raises the default retry count for non-capacity transient errors to 300 and lifts the cap of 15 on CLAUDE_CODE_MAX_RETRIES
  • claude agents session rows now show pull-request links as bare #N without the redundant "PR" label
v2.1.1982026-07-01/datavizNEW /diffFIX /loginIMP /desktopFIX --printFIX /branchFIX /agentsDEL
  • Subagents now run in the background by default, so Claude keeps working while they run and is notified when they finish (previously a gradual rollout)
  • Claude in Chrome is now generally available
  • Added background agent notifications in claude agents — sessions that need input or finish now fire the Notification hook (agent_needs_input / agent_completed)
  • Added /dataviz skill for chart and dashboard design guidance with a runnable color-palette validator
  • Gateway: added Claude Platform on AWS (anthropicAws) as an upstream provider; model-not-found responses now advance the failover chain
  • Background agents launched from claude agents now commit, push, and open a draft PR when they finish code work in a worktree, instead of stopping to ask
  • The built-in Explore agent now inherits the main session's model (capped at opus) instead of running on haiku
  • Subagents and context compaction now inherit the session's extended thinking configuration, improving output quality on delegated tasks
  • Fixed the /diff panel not refreshing when you switch branches or commit outside the session
  • Fixed Claude Platform on AWS and Mantle sessions dead-ending with "Please run /login" when the STS token expires — awsAuthRefresh now runs automatically
  • Fixed /desktop failing with "Cannot determine working directory" after entering and exiting a worktree
  • Fixed claude --bg silently creating an unattachable session when combined with --print/-p; the conflicting flags are now rejected up front
  • Fixed /branch deriving its default fork name from the compaction summary instead of the first real prompt
  • Keyboard shortcut hints now show opt/cmd instead of alt/super when connected from a Mac over SSH
  • /login now opens the sign-in dialog from the claude agents view instead of saying it isn't available
  • Removed the /agents wizard; ask Claude to create or manage subagents, or edit .claude/agents/ directly
v2.1.1972026-06-30
  • Introducing Claude Sonnet 5: now the default model in Claude Code, with a native 1M-token context window and promotional pricing of $2/$10 per Mtok through August 31. Update to version 2.1.197 for access. https://www.anthropic.com/news/claude-sonnet-5
v2.1.1962026-06-29/modelNEW Ctrl+cNEW /cdFIX Ctrl+CFIX Ctrl+XFIX Ctrl+KFIX /contextFIX /deep-researchFIX /code-reviewIMP
  • Added support for organization default models — admins set it in the org console; it shows as "Org default" (or "Role default") in /model when you haven't picked one yourself
  • Added readable default names for sessions at start, making them easier to identify and message
  • Added clickable file attachments in chat — Cmd/Ctrl-click reveals the file in Finder/Explorer
  • Fixed sessions moved with /cd reappearing in the old directory's resume list after a non-graceful exit when the old path contained special characters
  • Fixed Esc Esc at an idle prompt not opening the rewind menu (regression); use Ctrl+C or Ctrl+X Ctrl+K to stop background agents
  • Fixed /context showing 0 tokens for all tool groups on Bedrock
  • Fixed /deep-research misreporting verifier failures as "all claims refuted" instead of unverified
  • Improved /code-review workflow: merged five cleanup finders into one, cutting token usage by roughly 25%
  • Reduced per-frame rendering work in the terminal UI by skipping no-op subtree walks during streaming
  • The streaming idle watchdog is now on by default for all providers — it aborts and retries when a response stream produces no events for 5 minutes. Set CLAUDE_ENABLE_STREAM_WATCHDOG=0 to disable.
  • Remote Control is now disabled when ANTHROPIC_BASE_URL points at a non-Anthropic host, matching the existing behavior under CLAUDE_CODE_USE_BEDROCK/_VERTEX/_FOUNDRY
v2.1.1952026-06-26/pluginFIX
  • Added CLAUDE_CODE_DISABLE_MOUSE_CLICKS to disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll
  • Fixed /plugin Enable/Disable not working when a plugin's plugin.json name differs from its marketplace entry name
v2.1.1932026-06-25/permissionsNEW /mcpNEW /modelFIX /loginFIX /add-dirIMP
  • Added autoMode.classifyAllShell setting to route all Bash/PowerShell commands through the auto-mode classifier instead of only arbitrary-code-execution patterns
  • Added auto-mode denial reasons to the transcript, the denial toast, and /permissions recent denials
  • Added claude_code.assistant_response OpenTelemetry log event containing the model's response text. Redacted unless OTEL_LOG_ASSISTANT_RESPONSES=1; when that var is unset it follows OTEL_LOG_USER_PROMPTS, so deployments that already log prompt content will start receiving response content on upgrade — set OTEL_LOG_ASSISTANT_RESPONSES=0 to keep prompts-only.
  • Added live file path autocomplete to bash mode (!)
  • Added a startup notice when MCP servers need authentication, pointing at /mcp
  • Added automatic memory-pressure reaping for idle background shell commands (disable with CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1)
  • Fixed /model and other client-data-gated UI showing stale/empty state immediately after /login
  • Improved /add-dir message when the directory is already a working directory
v2.1.1912026-06-24/rewindNEW /clearNEW /voiceFIX /loginFIX /usageFIX /permissionsFIX
  • Added /rewind support for resuming a conversation from before /clear was run
  • Fixed /voice showing a generic "not available" message when disabled by an organization's policy — it now explains the restriction
  • Fixed /login URL opening truncated in Windows Terminal when it wraps across lines
  • Fixed claude agents sending builtin slash commands like /usage to background sessions as prompt text instead of showing a hint
  • Fixed /permissions Recently-denied tab: approving a denial now persists on close instead of being silently discarded
  • Reduced CPU usage during streaming responses by ~37% by coalescing text updates to 100ms
  • Reduced long-session memory growth from terminal output cache
v2.1.1902026-06-24
  • Bug fixes and reliability improvements
v2.1.1872026-06-23--modelNEW /modelNEW /configNEW --resumeFIX --json-schemaFIX /updateFIX /bgFIX /tuiFIX --bgFIX --backgroundFIX /shareFIX Ctrl+CFIX Ctrl+DFIX /install-github-appIMP /btwIMP /pluginIMP
  • Added sandbox.credentials setting to block sandboxed commands from reading credential files and secret environment variables
  • Added org-configured model restrictions to the model picker, --model, /model, and ANTHROPIC_MODEL, with a "restricted by your organization's settings" message when a restricted model is selected
  • Added mouse click support to select menus (permission prompts, /model, /config, etc.) in fullscreen mode
  • Fixed --resume failing with "No conversation found" when the original -p run produced no model turns
  • Fixed --json-schema and workflow agent({schema}) structured output: the model can no longer re-call StructuredOutput indefinitely after a successful call, and follow-up turns now reliably return structured output
  • Fixed /update over Remote Control hanging when a startup trust dialog would have shown
  • Fixed channel connections dropping after navigating to the agents view and back, and after /bg, /tui, or /update
  • Fixed claude --help not listing the --bg/--background flag
  • Fixed Esc, Ctrl-C, and Ctrl-D not working while /share is uploading
  • Improved /install-github-app: GitHub Actions workflow setup is now optional — you can install just the GitHub App and skip the workflow/secret steps
  • Improved /btw with ←/→ arrow navigation to step through earlier answers
  • Improved /plugin to surface plugins you haven't used recently so you can clean them up
  • [VSCode] Fixed extension becoming unresponsive when resuming a large session
v2.1.1862026-06-22/mcpNEW --no-browserNEW /workflowsNEW /pluginNEW /loginNEW Ctrl+CFIX --toolsFIX --effortFIX /review <pr>IMP /code-review mediumIMP /reviewIMP /code-reviewIMP
  • Added claude mcp login <name> and claude mcp logout <name> to authenticate MCP servers from the CLI without opening the interactive /mcp menu, with --no-browser stdin redirect support for completing over SSH
  • Added status filtering (press f) to the /workflows agent detail view
  • Added a "Skills" section to the /plugin Installed tab
  • Added teammateMode: "iterm2" setting with a warning when auto mode cannot find the it2 CLI
  • Added "Claude Platform on AWS - refresh credentials" option to /login when awsAuthRefresh is configured
  • ! bash commands now trigger Claude to respond to the output automatically; set "respondToBashCommands": false in settings.json to keep the previous context-only behavior
  • Fixed Esc and Ctrl+C not responding while background agents are still running after the main turn ends
  • Fixed /plugin Installed showing a "more above" indicator when already scrolled to the top
  • Fixed --tools allowing feature-gated tools to slip through before flags loaded on a cold first launch
  • Fixed agent teams: teammates spawned via tmux/pane backends now inherit the leader's --effort level
  • Changed /review <pr> to use the same review engine as /code-review medium
v2.1.1852026-06-20
  • The stream-stall hint now reads "Waiting for API response · will retry in …" instead of "No response from API · Retrying in …", and triggers after 20s of silence instead of 10s
v2.1.1832026-06-19/config --helpNEW /configNEW --helpNEW /doctorDEL --debugDEL
  • Added a warning when the requested model is deprecated or automatically updated to a newer model, shown on stderr in print mode (-p) and now also covering models set in agent frontmatter
  • Added attribution.sessionUrl setting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions
  • Added /config --help to list all available shorthand keys for /config key=value
  • Changed /config toggle behavior: Enter and Space both change the selected setting, and Esc now saves and closes instead of reverting
  • Removed the startup "setup issues" line under the logo — run /doctor to see configuration issues or use --debug
v2.1.1812026-06-17/configNEW Ctrl+cIMP Ctrl+CFIX /recapFIX /remote-controlFIX /effortFIX /modelFIX Ctrl+VFIX /statsFIX /copyFIX
  • Added /config key=value syntax to set any setting from the prompt (e.g. /config thinking=false) — works in interactive, -p, and Remote Control
  • Added sandbox.allowAppleEvents opt-in setting that lets sandboxed commands send Apple Events on macOS
  • Added CLAUDE_CLIENT_PRESENCE_FILE environment variable: point it at a marker file to suppress mobile push notifications while you're at the machine
  • Upgraded the bundled Bun runtime to 1.4
  • Changed fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior
  • Fixed macOS TUI freezing at session start (Ctrl+C unresponsive) when Spotlight is busy reindexing
  • Fixed /recap and conversation forks using the previous model immediately after a model switch
  • Fixed /remote-control leaving a stale "connecting…" line; it now confirms in the transcript once connected
  • Fixed settings changes (such as /effort or /model) failing with ENOENT when ~/.claude/settings.json is a relative symlink under a symlinked ~/.claude
  • Fixed Ctrl+C in fullscreen after a native terminal selection (modifier+drag) overwriting the clipboard with the app's prior selection
  • Fixed Ctrl+V showing "No image found in clipboard" instead of pasting when the clipboard contains text
  • Fixed /stats "Most active day" and daily token chart dates showing one day early in UTC-negative timezones
  • Fixed /copy and copy-on-select on Linux not detecting a clipboard utility installed after Claude Code started
v2.1.1792026-06-16Ctrl+OFIX
  • Fixed Ctrl+O not showing the subagent's transcript when viewing a subagent
v2.1.1782026-06-15/doctorIMP /rcIMP /bugIMP ctrl+bFIX --fallback-modelFIX /bgFIX
  • Agent teams: removed the TeamCreate and TeamDelete tools. With CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 set, every session now has one implicit team — spawn teammates directly with the Agent tool's name parameter, no setup step needed. The team_name parameter on the Agent tool is still accepted but ignored.
  • Added Tool(param:value) syntax for permission rules to match a tool's input parameters (with * wildcard), e.g. Agent(model:opus) to block Opus subagents
  • Skills in nested .claude/skills directories now load when working on files there; on a name clash, the nested skill appears as <dir>:<name> so both stay available
  • Nested .claude/ directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing .claude/workflows/
  • Improved /doctor with consistent flat tree layout across all sections, clearer section status icons, and highlighted command names
  • Improved Remote Control error messages: connection failures now show a persistent red "/rc failed" indicator in the footer, and the "not yet enabled" error now explains whether it's a gate, a check failure, stale entitlement, or org policy
  • /bug now requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title
  • Fixed several subagent issues: viewing a subagent's transcript now shows tool results and live progress, messages sent while it finishes its turn are no longer dropped, and backgrounding a running subagent (ctrl+b) no longer restarts it from scratch
  • Fixed compaction not honoring --fallback-model: compaction now falls back to the configured fallback model chain on overload or model-availability errors
  • Fixed background sessions created with /bg or ←← after a turn finished showing "Working" forever in the agents list
  • [VSCode] Fixed pressing Esc to dismiss a CJK IME candidate window canceling the running Claude task
v2.1.1762026-06-12/fastFIX /copyFIX /cdFIX /bgFIX
  • Session titles are now generated in the language of your conversation (set the language setting to pin a specific language)
  • Added footerLinksRegexes setting for regex-matched link badges in the footer row, configurable via user or managed settings
  • Fixed availableModels enforcement: alias model picks can no longer be redirected to a blocked model via ANTHROPIC_DEFAULT_*_MODEL environment variables, and /fast now refuses to toggle when it would switch to a model outside the allowlist
  • Fixed /copy and mouse-selection copy not reaching the system clipboard inside tmux over SSH, and tmux paste buffer not loading on versions older than 3.2
  • Fixed /cd and worktree moves leaving the session reporting the previous directory's git branch
  • Fixed backgrounded sessions showing "Working" forever when /bg mid-turn had nothing left to continue
  • Background sessions now show clearer guidance when a window left open across an auto-update can't submit a reply, and claude daemon status explains version-skew behavior
v2.1.1752026-06-12
  • Added enforceAvailableModels managed setting — when enabled, the availableModels allowlist also constrains the Default model (a Default that would resolve to a disallowed model now falls back to the first allowed model), and user or project settings can no longer widen a managed availableModels list
v2.1.1742026-06-12/modelFIX /advisorFIX /usageNEW
  • Added wheelScrollAccelerationEnabled setting to disable mouse-wheel scroll acceleration in fullscreen mode
  • Fixed the /model picker hiding the model family that Default resolves to — Opus now appears as its own row on Max/Team Premium/Enterprise plans, Sonnet on Pro/Team plans, and Opus on pay-as-you-go API accounts
  • Fixed /model picker showing a hardcoded Sonnet version label when ANTHROPIC_DEFAULT_SONNET_MODEL pins a different Sonnet
  • Fixed background sessions inheriting another session's ANTHROPIC_* provider env (gateway URL, custom headers, /model aliases) from the shell that started the background daemon
  • Fixed the /advisor dialog pre-selecting a saved advisor model that is blocked by the availableModels allowlist
  • [VSCode] Added usage attribution to the Account & usage dialog (/usage) showing cache misses, long context, subagents, and per-skill/agent/plugin/MCP breakdowns over the last 24h or 7d
v2.1.1732026-06-11
  • Fixed Fable 5 model names with a [1m] suffix not being normalized — Fable 5 includes 1M context by default, so the suffix is now stripped automatically
  • Fixed a spurious "sandbox dependencies missing" startup warning on Windows when sandbox was enabled in settings
v2.1.1722026-06-10/statusIMP /pluginNEW /modelFIX /configFIX /goalIMP /code-reviewIMP /rc /loop
  • Sub-agents can now spawn their own sub-agents (up to 5 levels deep)
  • Amazon Bedrock now reads the AWS region from ~/.aws config files when AWS_REGION isn't set, matching AWS SDK precedence; /status shows where the region came from
  • Added a search bar when browsing a marketplace's plugins in /plugin
  • Added model attribute to the claude_code.lines_of_code.count OTEL metric
  • Fixed /model suggestions in the claude agents dispatch input rendering with a misleading slash prefix and showing models disabled for your org
  • Fixed availableModels allowlists hiding the /model picker's Opus and Sonnet 1M rows when entries use version-specific IDs like claude-opus-4-8
  • Fixed the /model picker on Bedrock offering models the provider doesn't serve — selecting one silently switched the session model and lit the selection marker on multiple rows
  • Fixed WebFetch(domain:*.example.com) wildcard domain rules never matching subdomains in allow, deny, and ask position, and file permission rules with mid-pattern wildcards (e.g. Read(secrets-*/config.json)) being rejected at startup
  • Disable mouse tracking on Windows consoles that don't fully support it
  • Fixed the /plugin marketplace list losing its cursor after backing out of a long plugin list, and Esc from the plugin browser returning to the wrong tab
  • Reduced idle CPU usage: /goal status chip no longer re-renders the terminal at 5 Hz while idle, and fewer UI re-renders while subagents run in parallel
  • /code-review now keeps the ultra option visible when you're not signed in to claude.ai, with an explanation that the cloud review requires a claude.ai account
  • Shortened the Remote Control footer indicator to "/rc active" and hid it on narrow terminals
  • Stopped promoting /loop in remote sessions, where pending loops don't keep the container alive
  • [VSCode] Fixed PowerShell tool calls rendering as raw JSON instead of a proper command display and permission dialog, and stripped ANSI escape codes from displayed shell output
v2.1.1702026-06-09
  • Introducing Claude Fable 5: a Mythos-class model that we’ve made safe for general use. Fable’s capabilities exceed those of any model we’ve ever made generally available. Update to version 2.1.170 for access. https://www.anthropic.com/news/claude-fable-5-mythos-5
v2.1.1692026-06-08--safe-modeNEW /cdNEW --mcp-configFIX --allFIX /workflowsIMP --ideIMP --chromeIMP --bareIMP --remote-controlIMP
  • Self-hosted runner: added a post-session lifecycle hook that runs after the session ends and before the workspace is deleted, so you can snapshot uncommitted work or export logs; also made the child-process SIGTERM→SIGKILL window configurable (default unchanged at 5s)
  • Added --safe-mode flag (and CLAUDE_CODE_SAFE_MODE) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting
  • Added /cd command to move a session to a new working directory without breaking the prompt cache mid-session
  • Added a disableBundledSkills setting and CLAUDE_CODE_DISABLE_BUNDLED_SKILLS environment variable to hide bundled skills, workflows, and built-in slash commands from the model
  • Fixed enterprise managed MCP policies (allowedMcpServers/deniedMcpServers) not being enforced on reconnect, IDE-typed configs, --mcp-config servers during the first session after install, or before remote settings loaded; also fixed slow cold starts for orgs without remote settings
  • Fixed claude agents --json omitting blocked and just-dispatched background sessions; added --all to include completed sessions, plus new id and state fields
  • /workflows now opens immediately even while a turn is in progress
  • Reduced CPU usage while responses stream and during spinner animations
  • Restored a default 5-minute idle timeout on Vertex/Foundry so a stalled stream aborts instead of hanging indefinitely; set API_FORCE_IDLE_TIMEOUT=0 to opt out
  • Remote-managed settings with an invalid entry now apply their remaining valid policies and surface the validation error, instead of silently dropping the whole payload
  • Background sessions now preserve --ide, --chrome, --bare, --remote-control, and other flags across retire→wake, and respawn state validation was hardened
  • Background sessions are now told that shared-checkout edits are blocked until they enter a worktree, avoiding a wasted rejected edit before EnterWorktree
  • The "CLAUDE.md is too long" warning threshold now scales with the model's context window
  • Auto-updater on Windows now stops retrying within a session once claude.exe is held by another process
v2.1.1682026-06-06
  • Bug fixes and reliability improvements
v2.1.1672026-06-06
  • Bug fixes and reliability improvements
v2.1.1662026-06-06--fallback-modelNEW --thinking disabledIMP Shift+nFIX /loginFIX /voiceFIX Ctrl+OFIX /doctorFIX
  • Added fallbackModel setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; --fallback-model now also applies to interactive sessions
  • Added glob pattern support in deny rule tool-name position ("*" denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup
  • Hardened cross-session messaging: messages relayed via SendMessage from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them
  • MAX_THINKING_TOKENS=0, --thinking disabled, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)
  • Claude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately
  • claude update now announces the target version before downloading instead of going silent
  • claude agents: typing a URL into the list now filters to the session whose first prompt contained it
  • Fixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)
  • Fixed voice mode requiring /login to clear a stale auth check after toggling /voice
  • Fixed duplicated thinking text in the Ctrl+O transcript view while streaming
  • Fixed /doctor showing a contradictory failed "Not inside a remote session" check when run inside a remote session
v2.1.1652026-06-05
  • Bug fixes and reliability improvements
v2.1.1632026-06-04/plugin listNEW --enabledNEW --disabledNEW /pluginNEW /btwNEW --resumeIMP /mcpFIX /pluginsFIX
  • Added requiredMinimumVersion and requiredMaximumVersion managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version
  • Added /plugin list command to list installed plugins, with --enabled/--disabled filters
  • Added a "c to copy" shortcut to /btw that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere
  • Hooks: Stop and SubagentStop hooks can now return hookSpecificOutput.additionalContext to give Claude feedback and keep the turn going without being labeled a hook error
  • Skills: added \$ escape syntax to include a literal $ before a digit in command bodies
  • stdio MCP servers now receive the same CLAUDE_CODE_SESSION_ID as hooks/Bash on --resume
  • Fixed a stray "(no content)" line left in the transcript after closing panel dialogs like /mcp and /plugins
  • Background agent sessions now update to a new Claude Code version in the background, so opening a session after an update no longer waits on a cold restart
  • Clearer descriptions for built-in commands and skills in the / menu
  • The subscription-switch suggestion now shows in the startup announcement slot instead of a toast
  • claude agents dispatching from the state-grouped view now starts the session in the directory the agent view was opened from
v2.1.1622026-06-03--toolsIMP /effortIMP /ideIMP /terminal-setupIMP /scroll-speedIMP Ctrl+VFIX
  • claude agents --json now includes waitingFor showing what a waiting session is blocked on (e.g. permission prompt)
  • --tools: explicitly listing Grep/Glob now provides the dedicated search tools on native builds with embedded search (previously these names were silently ignored)
  • /effort now confirms when your chosen level will persist as the default for new sessions
  • Clicking a slash command in the autocomplete menu now fills it into your prompt instead of running it immediately; press Enter to run
  • Remote Control now shows as a persistent footer pill (with a link to the session) instead of a startup message
  • Renamed Windsurf to Devin Desktop in the /ide menu, /terminal-setup, and /scroll-speed, following the editor's rebrand
  • Fixed claude agents Ctrl+V image paste doing nothing in the dispatch input and the session reply box; pasting with no image now shows a hint
  • Quieter startup: notices group by severity, and session info and announcements share a single line per launch
  • Startup warnings rewritten to be shorter and clearer, each with a concrete fix
  • Launch-prompt warnings (deep link/pre-filled prompt) now stay pinned below the input until you act instead of scrolling away
  • Failed turns now show a compact warning line instead of a multi-line red error block
  • Background dispatch spawn failures now report the error class name when no errno is available
v2.1.1612026-06-02/mcpIMP /effortFIX --output-format textFIX /usage-creditsFIX /autofix-prFIX --resumeFIX /terminal-setupNEW
  • OTEL_RESOURCE_ATTRIBUTES values are now included as labels on metric datapoints, so you can slice usage metrics by custom dimensions like team or repo
  • claude agents rows now show done/total before the detail when work is fanned out; peek shows the longest-running item
  • /mcp now collapses claude.ai connectors you've never signed in to behind a "Show unused connectors" row
  • Parallel tool calls: a failed Bash command no longer cancels other calls in the same batch — each tool returns its own result independently
  • Fullscreen mode: clipboard now uses wl-copy/xclip/xsel on Linux when available, copies to both the clipboard and PRIMARY selection for middle-click paste, and the "hold {key} for native selection" hint now shows the correct key per terminal
  • Fixed the /effort dialog, workflow animations, and prompt keyword shimmer not honoring the "Reduce motion" setting
  • Fixed background subagent output corrupting claude -p stdout when using --output-format text or json
  • Fixed /usage-credits starting a re-login for Team and Enterprise admins instead of pointing to the organization's usage settings page
  • Fixed /autofix-pr reporting "cannot run on the default branch" when the session is inside a git worktree or another repository
  • Fixed --resume picker not showing sessions from the current directory when it isn't a git worktree (e.g., jj workspaces)
  • [VSCode] Added a tip suggesting disabling terminal GPU acceleration (or running /terminal-setup) to fix garbled glyphs
v2.1.1602026-06-02/effort ultracodeFIX /effortFIX --modelFIX
  • Added a prompt before writing to shell startup files (.zshenv, .zlogin, .bash_login) and ~/.config/git/, which could otherwise lead to unintended command execution
  • acceptEdits mode now prompts before writing build-tool config files that grant code execution (.npmrc, .yarnrc*, bunfig.toml, .bazelrc, .pre-commit-config.yaml, .devcontainer/, etc.)
  • Edit no longer requires a separate Read after viewing a file with grep: single-file grep/egrep/fgrep commands now satisfy the read-before-edit check
  • Fixed /effort ultracode incorrectly blaming the dynamic workflows setting when the model cannot run xhigh; ultracode is no longer offered on models that do not support it
  • Fixed model-not-found errors suggesting --model when running via the SDK or other hosts where the CLI flag doesn't apply
  • Renamed the dynamic-workflow trigger keyword from workflow to ultracode. The word "workflow" no longer triggers a run; asking for one in your own words still works. The trigger keyword is highlighted in violet in the prompt input
v2.1.1592026-05-31
  • Internal infrastructure improvements (no user-facing changes)
v2.1.1582026-05-30
  • Auto mode is now available on Bedrock, Vertex, and Foundry for Opus 4.7 and Opus 4.8. Opt in by setting CLAUDE_CODE_ENABLE_AUTO_MODE=1
v2.1.1572026-05-29/pluginNEW --agent <name>IMP --resumeFIX --worktreeFIX --worktree --tmuxFIX /modelFIX alt+vFIX /terminal-setupIMP /statusDEL /ideDEL alt+wIMP /configNEW
  • Plugins in .claude/skills directories are now automatically loaded, no marketplace required
  • 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
  • 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
  • Fixed --resume not reporting background subagents that were running when the previous Claude Code process exited
  • Fixed the --resume session picker leaving its contents on the terminal after exiting in fullscreen mode
  • Fixed --worktree and --worktree --tmux returning to the canonical repo root instead of the current linked worktree
  • Fixed the /model picker showing an incorrect "Newer version available" hint when the selected model is already the newest in its family; the pinned-model row now shows the model's description instead of its raw ID
  • WSL: fixed image paste (alt+v keybinding), screenshot paste on Windows 11, and added support for dragging images from Windows Explorer
  • /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
  • 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
  • [IDE] Fixed clicking Stop while a background subagent is running not actually stopping it
  • Pressing backspace right after a workflow trigger keyword now dismisses the workflow request (same as alt+w) instead of deleting a character
  • Added a "Workflow keyword trigger" setting in /config to stop the word "workflow" in a prompt from triggering a dynamic workflow
v2.1.1562026-05-29
  • Fixed an issue when using Opus 4.8 where thinking blocks were modified, leading to API errors.
v2.1.1542026-05-28/effortIMP /workflowsNEW /simplifyIMP /code-review --fixIMP /code-reviewIMP /logoutIMP /chrome /pluginIMP /remote-controlIMP /claude-apiNEW /fast onIMP /modelIMP /fastIMP /commandFIX ctrl+oFIX /mcpFIX
  • 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
  • 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
  • Claude in Chrome: pick which connected browser to use via /chrome → "Select browser…", or in-chat when a browser action runs with multiple connected
  • Plugins can now declare defaultEnabled: false in plugin.json or a marketplace entry; enable them with /plugin or claude plugin enable. Dependencies of enabled plugins are still enabled automatically
  • The /plugin Discover tab now pins plugins whose relevance signals match the current directory with a "suggested for this directory" annotation
  • Streaming tool execution is now always enabled, including when telemetry is disabled or on Bedrock/Vertex/Foundry (previously behind a feature flag)
  • Stdio MCP server subprocesses now receive CLAUDE_CODE_SESSION_ID and CLAUDECODE=1 in their environment
  • claude mcp list/get now show unapproved .mcp.json servers as ⏸ Pending approval instead of auto-approving and connecting when output is piped
  • /remote-control autocomplete now shows "Disconnect Remote Control" when Remote Control is already active
  • Added Claude Opus 4.8 support and 4.7 → 4.8 migration guidance to the /claude-api skill
  • 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
  • Fixed background-session classifier losing the user's goal when a scheduled /command fires
  • Fixed a phantom expand/click affordance on colored tool output: short ANSI-colored lines that fit on screen no longer show a "ctrl+o to expand" hint
  • Fixed /mcp tools list and tool detail rendering when MCP servers have long or multi-line tool names or long descriptions
  • Fixed the /model picker not showing fast mode pricing on the Default option for API (pay-as-you-go) users when fast mode is on
v2.1.1532026-05-28/doctorNEW --strict-mcp-configIMP --bareFIX --agentsIMP /bgIMP /btwFIX /copyFIX /renameFIX /modelIMP
  • 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
  • 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
  • macOS: background agents now appear as "Claude Code" in Privacy & Security and keep their permission grants across upgrades
  • 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
  • --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
  • Fixed /btw keyboard shortcuts becoming unresponsive in background sessions while a task is running
  • Fixed /copy and copy-on-select silently failing to update the system clipboard when attached to a background session inside tmux
  • Fixed /rename in background sessions not updating the session banner immediately
  • [VSCode] Fixed Claude Code processes not shutting down cleanly when VS Code closed on Windows, causing false "unclean exit" reports and orphaned MCP servers
  • /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.
v2.1.1522026-05-27/code-review --fixIMP /simplifyIMP /code-reviewIMP /reload-skillsNEW --fallback-modelNEW Ctrl+RNEW /usageIMP Ctrl+OIMP /doctorFIX --bareFIX
  • /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
  • Added /reload-skills command to re-scan skill directories without restarting the session
  • 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
  • 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
  • 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
  • The /usage breakdown now includes large session files; files are scanned with a streaming read so memory usage stays flat
  • Thinking summaries in the collapsed group now stay readable for at least 3 seconds, render as markdown, and cap at 10 lines (Ctrl+O shows the full thinking)
  • In fullscreen mode, the "Thinking for Ns" indicator now counts up live while the model is thinking, and keeps its value if you interrupt mid-thought
  • Fixed /doctor reporting "marketplace not found" or "plugin not found" for stale enabledPlugins entries referencing removed marketplaces or dropped plugins
  • Fixed the Agent tool description referencing an agent list that is never delivered when running with --bare or with attachments disabled
v2.1.1502026-05-23
  • Internal infrastructure improvements (no user-facing changes)
v2.1.1492026-05-22/usageIMP /diffIMP /ultraplanFIX /doctorFIX /effortFIX Ctrl+OFIX /configFIX /insightsFIX /feedbackIMP
  • /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
  • Enterprise: added the allowAllClaudeAiMcps managed setting to load claude.ai cloud MCP connectors alongside managed-mcp.json
  • 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
  • Fixed the status bar showing the user's baseline /effort setting instead of the effort level applied by skill/agent effort: frontmatter
  • Fixed Ctrl+O transcript view freezing at the moment it was opened instead of tailing new messages
  • Fixed /config exit summary reporting phantom changes to auto-compact and theme when toggling unrelated settings
  • Fixed /insights crashing when cached session-meta files are missing optional fields
  • Improved /feedback reports to include the conversation that happened before context compaction, making issues from earlier in long sessions easier to triage
v2.1.1482026-05-22
  • Fixed the Bash tool returning exit code 127 on every command for some users (a regression introduced in 2.1.147)
v2.1.1472026-05-21Ctrl+TIMP /simplifyIMP /code-reviewIMP /code-review highIMP --commentIMP /helpFIX /effortFIX /backgroundFIX /themeFIX /pluginFIX /statusFIX /mobileFIX /sandboxFIX /permissionsFIX
  • 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
  • Fixed /help rendering a broken tab header and showing only one command per page on small terminals when not in fullscreen mode
  • Fixed /effort opening with the slider on the wrong level — it now starts at your current effort
  • Fixed /background refusing sessions whose only typed input was a skill or custom slash command
  • Fixed /theme "New custom theme" and color editor dialogs not responding to Esc
  • Fixed plugin component counts in claude plugin details and /plugin being doubled when a plugin's manifest listed paths overlapping its default directories
  • Fixed several spacing and layout glitches in the /plugin, /status, /mobile, /sandbox, and /permissions menus
v2.1.1452026-05-19--jsonNEW /pluginIMP alt+tIMP /reviewFIX
  • 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
  • /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
  • Fixed /review using a deprecated projectCards GraphQL query that errored on repos with Classic Projects
v2.1.1442026-05-19/resumeNEW --bgNEW /pluginIMP /modelIMP /extra-usageIMP /usage-creditsIMP Ctrl+LFIX /branchFIX Ctrl+OFIX /bgIMP /add-dirIMP Ctrl+RIMP /doctorIMP /feedbackIMP
  • 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
  • /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)
  • 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
  • Reduced terminal rendering glitches in VS Code by reducing spinner animation color count
  • 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
  • Fixed /branch failing with "No conversation to branch" after entering a worktree or in some background sessions
  • Resumed sessions now keep the model they were using instead of picking up another session's /model choice
  • Fixed Bedrock and Vertex users unable to select "Opus (1M context)" from the /model picker (regression in v2.1.129)
  • Fixed scrolling in attached background sessions on Windows — PgUp/PgDn, mouse wheel, and Ctrl+O transcript navigation now work
  • /bg and ←-detach now preserve directories added via /add-dir
  • Fixed /resume picker not showing sessions forked from a background session
  • 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
  • Background session worktree isolation guard now applies for non-git VCS users with WorktreeCreate hooks configured
  • Plugin marketplace add/update now respects CLAUDE_CODE_PLUGIN_PREFER_HTTPS
  • /plugin now returns to the Installed list after enabling, disabling, or uninstalling a plugin
  • /doctor now shows an exec-form example when a command hook is missing the command field
  • Skill-listing truncation is no longer shown as a startup notification — run /doctor for the full breakdown
  • The post-survey follow-up hint now appears after every non-dismiss survey response with context-aware copy, making it easier to share more detail via /feedback.
v2.1.1432026-05-15/pluginNEW Shift+TIMP /loopFIX Ctrl+CFIX /goalFIX /bgIMP --agent <name>FIX --add-dirIMP --settingsIMP --mcp-configIMP --plugin-dirIMP --permission-mode --model --effort --dangerously-skip-permissions --strict-mcp-configIMP --fallback-modelIMP --allow-dangerously-skip-permissionsIMP
  • 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
  • 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
  • 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 /bg without a prompt sending "continue" to the forked session — the fork now waits for input
  • Fixed --agent <name> not finding plugin-contributed agents without the plugin: prefix
  • 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
  • /bg now preserves --mcp-config, --settings, --add-dir, --plugin-dir, and --strict-mcp-config, so backgrounded sessions keep their MCP servers and settings across respawn.
  • Background sessions launched from claude agents now honor permissions.defaultMode from settings.json (was previously overridden to auto mode)
  • /bg and ←-detach now preserve --fallback-model, so backgrounded workers degrade to the fallback model on overload instead of hard-failing.
  • /bg and ←-detach now preserve --allow-dangerously-skip-permissions, so the forked worker keeps bypass-permissions available in its Shift+Tab cycle.
  • Fixed claude agents --allow-dangerously-skip-permissions defaulting dispatched sessions to bypass mode instead of making it available in the permission cycle
v2.1.1422026-05-14--add-dirNEW --settingsNEW --mcp-configNEW --plugin-dirNEW --permission-modeNEW --modelNEW --effortNEW --dangerously-skip-permissionsNEW /pluginIMP /web-setup Ctrl+CFIX /modelDEL /model claude-sonnet-4-20250514DEL
  • 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
  • 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
  • Fixed claude agents deadlocking on Windows with network-drive working directories; Ctrl+C now works during startup
  • Fixed claude --bg --dangerously-skip-permissions not persisting across retire/wake
  • Fixed redundant set_model requests from remote clients injecting duplicate /model breadcrumbs into the transcript
  • Fixed /plugin browse pane showing "0 installs" for newly published plugins
  • Removed stale /model claude-sonnet-4-20250514 suggestion from Usage Policy refusal messages
v2.1.1412026-05-13--cwdNEW /feedbackIMP /bgIMP /doctorFIX /modelFIX Ctrl+CFIX ctrl+eFIX /tuiFIX /mcpFIX /loginFIX Alt+VFIX
  • 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
  • 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
  • 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 /model in one session silently changing the autocompact threshold in other concurrent sessions
  • Fixed prompts cancelled with Ctrl+C/Esc before any response being dropped from Up-arrow history
  • Fixed Ctrl+C not interrupting a running turn while in vim INSERT/VISUAL mode
  • Fixed alternative chat:submit keybindings (e.g. meta+enter, ctrl+enter) not working when enter is rebound to chat:newline
  • Fixed /tui silently dropping running background shells and subagents — now refuses and asks to wait for them to finish
  • Fixed /mcp server list not keeping the focused server visible in short terminals in fullscreen mode
  • Fixed redaction in /feedback bundles producing invalid JSON for quoted values like session IDs
  • Fixed Remote Control automatically re-enrolling a trusted device when the server rejects a stale token, instead of looping through /login
  • Fixed Windows Alt+V image paste reporting "no image found" when the clipboard contains a screenshot
  • Bedrock: awsCredentialExport now always runs when configured instead of being skipped when ambient AWS credentials resolve, fixing auth for cross-account access
v2.1.1402026-05-12/goalFIX /loopFIX /doctorIMP /pluginIMP
  • Updated agent color palette
  • Fixed /goal silently hanging when disableAllHooks or allowManagedHooksOnly is set — now shows a clear message instead of an indicator that never resolves
  • Fixed /loop scheduling redundant wakeups to poll for background tasks that already notify on completion
  • 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.
v2.1.1392026-05-11/goalNEW /scroll-speedNEW /mcpIMP /context allIMP /contextIMP /pluginIMP /scheduleIMP /modelFIX --printFIX Ctrl+SNEW
  • 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
  • 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 Control, /schedule, claude.ai MCP connectors, and notification preferences are now disabled when ANTHROPIC_API_KEY / apiKeyHelper / ANTHROPIC_AUTH_TOKEN is set, even if a Claude.ai login also exists. Unset the API key to use these features
  • Fixed /model picker "Default" row not reflecting ANTHROPIC_DEFAULT_OPUS_MODEL/ANTHROPIC_DEFAULT_SONNET_MODEL overrides
  • Fixed claude_code.active_time.total OpenTelemetry metric not being emitted in --print mode
  • [VSCode] Press Cmd/Ctrl+Shift+T to reopen the most recently closed session tab, configurable via claudeCode.enableReopenClosedSessionShortcut
v2.1.1382026-05-09
  • Internal fixes
v2.1.1372026-05-09
  • [VSCode] Fixed extension failing to activate on Windows
v2.1.1362026-05-08/clearFIX --resumeFIX --continueFIX Ctrl+BFIX Ctrl+GFIX /usageFIX /insightsFIX /resumeFIX /branchFIX /install-github-appFIX /desktopFIX /web-setupFIX /doctorFIX /myplugin reviewFIX /mypluginFIX /clear <name>FIX /release-notesFIX /mcpFIX /settingsFIX /terminal-setupFIX --worktreeIMP
  • Added CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL to re-enable the session quality survey for enterprises capturing responses through OpenTelemetry
  • Added settings.autoMode.hard_deny for auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions
  • Fixed MCP servers configured in .mcp.json, plugins, and claude.ai connectors silently disappearing after /clear in the VS Code extension, JetBrains plugin, and Agent SDK
  • Fixed --resume / --continue not finding sessions when the project path contains underscores
  • WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
  • Fixed Backspace and Ctrl+Backspace getting swapped after using Ctrl+G to open an external editor on terminals with persistent extended-key modes
  • Fixed /usage weekly reset showing time of day instead of the calendar date
  • Fixed /insights crash when session history contains tool calls with malformed input fields
  • Fixed env vars from CLAUDE_ENV_FILE SessionStart hooks going stale after /resume or /clear
  • Fixed /branch saving a multi-line session title when given a pasted multi-line name
  • Fixed Esc not dismissing dialogs in /install-github-app, /desktop, /resume, and /web-setup
  • Fixed /doctor MCP schema errors not naming the missing field or showing the source file path
  • Fixed plugin slash commands with spaces (e.g. /myplugin review) not resolving to their namespaced form
  • Fixed /clear <name> not labeling the cleared session for /resume
  • Fixed /release-notes getting stuck on an old version after a failed changelog refresh
  • Fixed /mcp server list not scrolling when there are more servers than fit in the terminal
  • Fixed /settings language change being reverted on Escape after confirming
  • Fixed /terminal-setup only appearing in autocomplete on exact name match instead of partial prefixes
  • Improved error message when --worktree collides with an existing or stale worktree
v2.1.1332026-05-07--worktreeNEW --add-dirFIX /effortFIX --remote-controlIMP --remote-control-session-name-prefixIMP
  • 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
  • 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
  • Fixed Read/Write/Edit being denied on mapped network drives passed via --add-dir / SDK additionalDirectories
  • 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
  • claude --help now lists --remote-control alongside --remote-control-session-name-prefix
  • [VSCode] Fixed claudeCode.claudeProcessWrapper failing with "Unsupported platform" when the extension build doesn't bundle a Claude binary
v2.1.1322026-05-06Ctrl+VNEW --resumeFIX --permission-modeFIX Ctrl+ZFIX Ctrl+EFIX /usageFIX Ctrl+SFIX /terminal-setupFIX Shift+EFIX /effortFIX /statusFIX Alt+TFIX /mcpFIX /loginIMP /upgradeIMP /extra-usageIMP /tui fullscreenIMP /tuiIMP
  • 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
  • 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 --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 /usage Ctrl+S hanging when copying the stats screenshot to the clipboard on Linux/X11
  • Fixed /terminal-setup showing a contradictory error in Windows Terminal — Shift+Enter is natively supported there
  • Fixed /effort picker not reflecting the CLAUDE_CODE_EFFORT_LEVEL env var override
  • Fixed /status showing the wrong default model for some users
  • Fixed Alt+T (thinking toggle) not working on macOS terminals without "Option as Meta" enabled (iTerm2, Terminal.app defaults)
  • Fixed MCP servers that connect but fail tools/list silently showing 0 tools — they now retry once and show "connected · tools fetch failed" in /mcp
  • Improved visual consistency in slash command dialogs and /login, /upgrade, /extra-usage dialog spacing
  • Updated the /tui fullscreen startup banner to describe additional renderer benefits (lower memory usage, mouse support, auto-copy on select)
v2.1.1312026-05-06
  • 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
v2.1.1292026-05-06--plugin-url <url>NEW --plugin-urlNEW /modelIMP Ctrl+RIMP Ctrl+SIMP /clearFIX /renameFIX Ctrl+GFIX /contextFIX /agentsFIX /branchFIX /resumeFIX /effortFIX --debugFIX
  • 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
  • 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 /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 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
  • Fixed cache-miss warning appearing spuriously after /clear or compaction when changing /effort or /model
  • Fixed harmless WebSocket warning being logged as an error in --debug during voice mode
  • [VSCode] Fixed /clear not clearing the conversation context and displayed transcript
v2.1.1282026-05-04/colorIMP /mcpIMP --plugin-dirIMP --channelsIMP /modelIMP /compactIMP --debugIMP /exitFIX /pluginFIX /configFIX /fastFIX /renameFIX --resumeFIX --continueFIX /plugin updateFIX --output-format stream-jsonIMP
  • 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
  • --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)
  • Fixed stray "4;0;" desktop notification on every /exit in Kitty and other terminals that interpret OSC 9 as a notification
  • Fixed /plugin Components panel showing "Marketplace 'inline' not found" for plugins loaded via --plugin-dir
  • Fixed tab navigation in /config stranding focus — the tab header now stays focused so arrows and Esc keep working
  • Fixed /fast on 3P providers fuzzy-matching to an unrelated skill instead of showing "not available"
  • Fixed /rename without args failing on resumed sessions whose last entry is a compact boundary
  • Fixed stale "remote-control is active" status lines from prior sessions appearing after --resume/--continue
  • Fixed /plugin update never detecting new versions of npm-sourced plugins
  • Headless --output-format stream-json: init.plugin_errors now includes --plugin-dir load failures in addition to dependency demotions
v2.1.1262026-05-01/modelIMP --dry-runNEW --allNEW --yesNEW --interactiveNEW --dangerously-skip-permissionsIMP Ctrl+LFIX --channelsFIX /pluginFIX /remote-controlFIX --
  • 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)
  • 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
  • Windows: PowerShell 7 installed via the Microsoft Store, MSI without PATH, or .NET global tool is now detected
  • Windows: when 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
  • Fixed Ctrl+L clearing the prompt input — it now only forces a screen redraw, matching readline behavior
  • Fixed plan-mode tools being unavailable in interactive sessions launched with --channels
  • Fixed /plugin Uninstall reporting "Enabled" instead of "Uninstalled"
  • Bounded total size of file-modified reminders when a linter touches many files at once
  • Fixed /remote-control retries appearing stuck on "connecting…" — each retry now shows its result
  • PowerShell tool: bare -- (e.g. git diff -- file) is no longer mis-flagged as the --% stop-parsing token
v2.1.1232026-04-29
  • Fixed OAuth authentication failing with a 401 retry loop when CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 is set
v2.1.1222026-04-28/resumeIMP /mcpIMP /branchFIX /modelFIX
  • 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
  • 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
  • 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
  • Voice mode: keybindings bound to Caps Lock now show an error since terminals don't deliver Caps Lock as a key event
v2.1.1212026-04-28--pruneNEW /skillsNEW --dangerously-skip-permissionsIMP /terminal-setupIMP /copyIMP ctrl+oIMP /contextIMP /usageFIX --resumeFIX Ctrl+LFIX /focusFIX
  • 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
  • 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
  • The terminal tab session title is now generated in your configured language setting
  • LSP diagnostic summaries now expand on click/ctrl+o and show the expand hint
  • [VSCode] /context now opens a native token usage dialog
  • Fixed /usage leaking up to ~2GB of memory on machines with large transcript histories
  • 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 scrollback duplication when pressing Ctrl+L or triggering a redraw in non-fullscreen mode on tmux, GNOME Terminal, Windows Terminal, and Konsole
  • Fixed /usage returning "rate limited" after a stale OAuth token — now refreshes automatically
  • Fixed /usage dialog content being clipped when no-flicker mode is off
  • Fixed /focus showing "Unknown command" when the fullscreen renderer is off — now explains how to enable it
v2.1.120/ultrareviewNEW --jsonNEW /rewindFIX /pluginFIX /usageIMP
  • Windows: Git for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
  • 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
  • Skills can now reference the current effort level with ${CLAUDE_EFFORT} in their content
  • 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
  • Faster session start when you have many claude.ai connectors configured but not authorized
  • 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
  • Fixed /rewind and other interactive overlays not responding to keyboard input after launching with claude --resume
  • Fixed /plugin marketplace failing to load when one entry uses an unrecognized source format — that entry is shown but installing it prompts you to update
  • [VSCode] /usage now opens the native Account & Usage dialog instead of returning plain-text session cost
v2.1.1192026-04-23/configIMP --from-prIMP --printIMP --agent <name>IMP --client-secretFIX /skillsFIX /agentsFIX /exportFIX /usageFIX /planFIX /plan openFIX /reload-pluginsFIX /doctorFIX /statusFIX
  • /config settings (theme, editor mode, verbose, etc.) now persist to ~/.claude/settings.json and participate in project/local/policy override precedence
  • 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
  • --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
  • Slash command suggestions now highlight the characters that matched your query
  • Fixed MCP OAuth client secret stored via --client-secret not being sent during token exchange for servers requiring client_secret_post
  • Fixed /skills Enter key closing the dialog instead of pre-filling /<skill-name> in the prompt
  • Fixed /agents detail view mislabeling built-in tools unavailable to subagents as "Unrecognized"
  • Fixed /export showing the current default model instead of the model the conversation actually used
  • Fixed /usage progress bars overlapping with their "Resets …" labels
  • Fixed /plan and /plan open not acting on the existing plan when entering plan mode
  • Fixed /reload-plugins and /doctor reporting load errors for disabled plugins
  • Fixed disabled MCP servers appearing as "failed" in /status
  • Fixed /doctor warning about MCP server entries overridden by a higher-precedence scope
v2.1.1182026-04-23/cost /stats /usage /theme --continueIMP --resumeIMP /add-dirIMP /colorIMP /modelIMP /doctorIMP /pluginIMP /mcpFIX /loginFIX --dangerously-skip-permissionsFIX /forkFIX Alt+KFIX Alt+XFIX
  • Added vim visual mode (v) and visual-line mode (V) with selection, operators, and visual feedback
  • 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"
  • Added DISABLE_UPDATES env var to completely block all update paths including manual claude update — stricter than DISABLE_AUTOUPDATER
  • 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
  • Added a "Don't ask again" option to the auto mode opt-in prompt
  • Added claude plugin tag to create release git tags for plugins with version validation
  • --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
  • When auto-update skips a plugin due to another plugin's version constraint, the skip now appears in /doctor and the /plugin Errors tab
  • 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 macOS keychain race where a concurrent MCP token refresh could overwrite a freshly-refreshed OAuth token, causing unexpected "Please run /login" prompts
  • Fixed /login having no effect in a session launched with CLAUDE_CODE_OAUTH_TOKEN — the env token is now cleared so disk credentials take effect
  • Fixed unreadable text in the "new messages" scroll pill and /plugin badges
  • Fixed plan acceptance dialog offering "auto mode" instead of "bypass permissions" when running with --dangerously-skip-permissions
  • Fixed /fork writing the full parent conversation to disk per fork — now writes a pointer and hydrates on read
  • Fixed Alt+K / Alt+X / Alt+^ / Alt+_ freezing keyboard input
v2.1.1172026-04-22--agentIMP /modelIMP /resumeIMP --resumeIMP /compactIMP /loginFIX /contextFIX
  • 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
  • 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
  • The /resume command now offers to summarize stale, large sessions before re-reading them, matching the existing --resume behavior
  • Faster startup when both local and claude.ai MCP servers are configured (concurrent connect now default)
  • 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)
  • 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 /login having no effect when launched with CLAUDE_CODE_OAUTH_TOKEN env var and that token expires
  • Fixed Opus 4.7 sessions showing inflated /context percentages and autocompacting too early — Claude Code was computing against a 200K context window instead of Opus 4.7's native 1M
v2.1.1162026-04-20/resumeFIX /terminal-setupIMP /configIMP /doctorIMP /reload-pluginsIMP --agentIMP /storageNEW Ctrl+ZFIX /branchFIX /pluginFIX /updateFIX /tuiFIX
  • /resume on large sessions is significantly faster (up to 67% on 40MB+ sessions) and handles sessions with many dead-fork entries more efficiently
  • Faster MCP startup when multiple stdio servers are configured; resources/templates/list is now deferred to first @-mention
  • 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
  • /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
  • Fixed Ctrl+Z hanging the terminal when Claude Code is launched via a wrapper process (e.g. npx, bun run)
  • Fixed /branch rejecting conversations with transcripts larger than 50MB
  • Fixed /resume silently showing an empty conversation on large session files instead of reporting the load error
  • Fixed /plugin Installed tab showing the same item twice when it appears under Needs attention or Favorites
  • Fixed /update and /tui not working after entering a worktree mid-session
v2.1.1142026-04-18
  • Fixed a crash in the permission dialog when an agent teams teammate requested tool permission
v2.1.1132026-04-17Ctrl+AIMP Ctrl+EIMP Ctrl+BIMP /loopIMP /extra-usageIMP /ultrareviewIMP /privateIMP Ctrl+UFIX /copyFIX /effort autoFIX /effortFIX /insightsFIX
  • Added sandbox.network.deniedDomains setting to block specific domains even when a broader allowedDomains wildcard would otherwise permit them
  • Fullscreen mode: Shift+↑/↓ now scrolls the viewport when extending a selection past the visible edge
  • Ctrl+A and Ctrl+E now move to the start/end of the current logical line in multiline input, matching readline behavior
  • Windows: Ctrl+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)
  • Improved /loop: pressing Esc now cancels pending wakeups, and wakeups display as "Claude resuming /loop wakeup" for clarity
  • /extra-usage now works from Remote Control (mobile/web) clients
  • Remote Control clients can now query @-file autocomplete suggestions
  • Improved /ultrareview: faster launch with parallelized checks, diffstat in the launch dialog, and animated launching state
  • 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
  • Security: on macOS, /private/{etc,var,tmp,home} paths are now treated as dangerous removal targets under Bash(rm:*) allow rules
  • Fixed Cmd-backspace / Ctrl+U to once again delete from the cursor to the start of the line
  • Fixed /copy "Full response" not aligning markdown table columns for pasting into GitHub, Notion, or Slack
  • Fixed /effort auto confirmation — now says "Effort level set to max" to match the status bar label
  • Fixed /insights crashing with EBUSY on Windows
v2.1.1122026-04-16
  • Fixed "claude-opus-4-7 is temporarily unavailable" for auto mode
v2.1.1112026-04-16/effortNEW --effortNEW /themeNEW /less-permission-promptsNEW /ultrareviewNEW --enable-auto-mode /setup-vertexIMP /setup-bedrockIMP /skillsIMP Ctrl+UIMP Ctrl+YIMP Ctrl+LIMP --output-format stream-jsonIMP /resumeFIX /contextFIX /clearFIX /renameFIX /commitFIX
  • 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
  • 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
  • /effort now opens an interactive slider when called without arguments, with arrow-key navigation between levels and Enter to confirm
  • 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
  • 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
  • Auto mode no longer requires --enable-auto-mode
  • Windows: PowerShell 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
  • 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
  • /skills menu now supports sorting by estimated token count — press t to toggle
  • Ctrl+U now clears the entire input buffer (previously: delete to start of line); press Ctrl+Y to restore
  • Ctrl+L now forces a full screen redraw in addition to clearing the prompt input
  • Transcript view footer now shows [ (dump to scrollback) and v (open in editor) shortcuts
  • The "+N lines" marker for truncated long pastes is now a full-width rule for easier scanning
  • Headless --output-format stream-json now includes plugin_errors on the init event when plugins are demoted for unsatisfied dependencies
  • Added OTEL_LOG_RAW_API_BODIES environment variable to emit full API request and response bodies as OpenTelemetry log events for debugging
  • 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
v2.1.1102026-04-15/tuiNEW /tui fullscreenNEW /focusIMP Ctrl+OIMP /configNEW Ctrl+GNEW /pluginIMP /doctorIMP --resumeIMP --continueIMP /contextIMP /exitIMP /reload-pluginsIMP /renameFIX /skillsFIX
  • 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
  • Changed Ctrl+O to toggle between normal and verbose transcript only; focus view is now toggled separately with the new /focus command
  • Added autoScrollEnabled config to disable conversation auto-scroll in fullscreen mode
  • Added option to show Claude's last response as commented context in the Ctrl+G external editor (enable via /config)
  • 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
  • --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.
  • Fixed plugin install not honoring dependencies declared in plugin.json when the marketplace entry omits them; /plugin install now lists auto-installed dependencies
  • Fixed --resume sometimes showing the first prompt instead of the /rename name for sessions still running or exited uncleanly
  • Fixed dropped keystrokes after the CLI relaunches (e.g. /tui, provider setup wizards)
  • Hardened "Open in editor" actions against command injection from untrusted filenames
  • Fixed /skills menu not scrolling when the list overflows the modal in fullscreen mode
v2.1.1092026-04-15
  • Improved the extended-thinking indicator with a rotating progress hint
v2.1.1082026-04-14/configNEW /recapNEW /initIMP /reviewIMP /security-reviewIMP /undoIMP /rewindIMP /modelIMP /resumeIMP Ctrl+AIMP Ctrl+ONEW /loginFIX /renameFIX --teleportFIX /feedbackFIX --resume <id>FIX --resumeFIX
  • 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.
  • 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
  • Reduced memory footprint for file reads, edits, and syntax highlighting by loading language grammars on demand
  • Added "verbose" indicator when viewing the detailed transcript (Ctrl+O)
  • Added a warning at startup when prompt caching is disabled via DISABLE_PROMPT_CACHING* environment variables
  • Fixed paste not working in the /login code prompt (regression in 2.1.105)
  • Fixed claude --resume <session-id> losing the session's custom name and color set via /rename
  • 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
  • Fixed --teleport and --resume <id> precondition errors (e.g. dirty git tree, session not found) exiting silently instead of showing the error message
  • Fixed --resume truncating sessions when the transcript contained a self-referencing message
v2.1.1072026-04-14
  • Show thinking hints sooner during long operations
v2.1.1052026-04-13/proactiveIMP /loopIMP /doctorIMP /configIMP alt+eFIX Ctrl+JFIX /resumeFIX --worktreeFIX /branchFIX /modelFIX /helpFIX
  • Added path parameter to the EnterWorktree tool to switch into an existing worktree of the current repository
  • Added PreCompact hook support: hooks can now block compaction by exiting with code 2 or returning {"decision":"block"}
  • Added background monitor support for plugins via a top-level monitors manifest key that auto-arms at session start or on skill invoke
  • /proactive is now an alias for /loop
  • Improved /doctor layout with status icons; press f to have Claude fix reported issues
  • Improved /config labels and descriptions for clarity
  • Fixed alt+enter not inserting a newline in terminals using ESC-prefix alt encoding, and Ctrl+J not inserting a newline (regression in 2.1.100)
  • Fixed "Resume this session with..." hint not printing on exit after /resume, --worktree, or /branch
  • Fixed /model picker on AWS Bedrock in non-US regions persisting invalid us.* model IDs to settings.json when inference profile discovery is still in-flight
  • Fixed /help dropping the tab bar, Shortcuts heading, and footer at short terminal heights
v2.1.1012026-04-10/team-onboardingNEW /ultraplanIMP /renameIMP --nameIMP /pluginIMP --resumeFIX --continueFIX --setting-sourcesFIX /resumeFIX /btwFIX /contextFIX /plugin updateFIX /mcpFIX /loginFIX /add-dir --rememberFIX /configFIX /add-dirFIX /remote-controlFIX /insightsFIX
  • Added /team-onboarding command to generate a teammate ramp-up guide from your local Claude Code usage
  • Added OS CA certificate store trust by default, so enterprise TLS proxies work without extra setup (set CLAUDE_CODE_CERT_STORE=bundled to use only bundled CAs)
  • /ultraplan and other remote-session features now auto-create a default cloud environment instead of requiring web setup first
  • Improved claude -p --resume <name> to accept session titles set via /rename or --name
  • Improved /plugin and claude plugin update to show a warning when the marketplace could not be refreshed, instead of silently reporting a stale version
  • Fixed --resume/--continue losing conversation context on large sessions when the loader anchored on a dead-end branch instead of the live conversation
  • Fixed --resume chain recovery bridging into an unrelated subagent conversation when a subagent message landed near a main-chain write gap
  • Fixed a crash on --resume when a persisted Edit/Write tool result was missing its file_path
  • Fixed --setting-sources without user causing background cleanup to ignore cleanupPeriodDays and delete conversation history older than 30 days
  • Fixed several /resume picker issues: narrow default view hiding sessions from other projects, unreachable preview on Windows Terminal, incorrect cwd in worktrees, session-not-found errors not surfacing in stderr, terminal title not being set, and resume hint overlapping the prompt input
  • Fixed /btw writing a copy of the entire conversation to disk on every use
  • Fixed /context Free space and Messages breakdown disagreeing with the header percentage
  • Fixed several plugin issues: slash commands resolving to the wrong plugin with duplicate name: frontmatter, /plugin update failing with ENAMETOOLONG, Discover showing already-installed plugins, directory-source plugins loading from a stale version cache, and skills not honoring context: fork and agent frontmatter fields
  • Fixed the /mcp menu offering OAuth-specific actions for MCP servers configured with headersHelper; Reconnect is now offered instead to re-invoke the helper script
  • Fixed /login OAuth URL rendering with padding that prevented clean mouse selection
  • Fixed in-app settings writes (e.g. /add-dir --remember, /config) not refreshing the in-memory snapshot, preventing removed directories from being revoked mid-session
  • Fixed claude --continue -p not correctly continuing sessions created by -p or the SDK
  • Fixed several Remote Control issues: worktrees removed on session crash, connection failures not persisting in the transcript, spurious "Disconnected" indicator in brief mode for local sessions, and /remote-control failing over SSH when only CLAUDE_CODE_ORGANIZATION_UUID is set
  • Fixed /insights sometimes omitting the report file link from its response
  • [VSCode] Fixed the file attachment below the chat input not clearing when the last editor tab is closed
v2.1.982026-04-09--exclude-dynamic-system-prompt-sectionsNEW --dangerously-skip-permissionsFIX --add-dirFIX --resumeFIX /resumeIMP --resume <name>FIX /exportFIX /effort maxFIX /effortFIX /agentsIMP /reload-pluginsIMP --debugIMP /claude-apiIMP /compact
  • Added interactive Google Vertex AI setup wizard accessible from the login screen when selecting "3rd-party platform", guiding you through GCP authentication, project and region configuration, credential verification, and model pinning
  • Added CLAUDE_CODE_PERFORCE_MODE env var: when set, Edit/Write/NotebookEdit fail on read-only files with a p4 edit hint instead of silently overwriting them
  • Added Monitor tool for streaming events from background scripts
  • Added subprocess sandboxing with PID namespace isolation on Linux when CLAUDE_CODE_SUBPROCESS_ENV_SCRUB is set, and CLAUDE_CODE_SCRIPT_CAPS env var to limit per-session script invocations
  • Added --exclude-dynamic-system-prompt-sections flag to print mode for improved cross-user prompt caching
  • Added workspace.git_worktree to the status line JSON input, set whenever the current directory is inside a linked git worktree
  • Added W3C TRACEPARENT env var to Bash tool subprocesses when OTEL tracing is enabled, so child-process spans correctly parent to Claude Code's trace tree
  • LSP: Claude Code now identifies itself to language servers via clientInfo in the initialize request
  • Fixed --dangerously-skip-permissions being silently downgraded to accept-edits mode after approving a write to a protected path via Bash
  • Fixed removing a directory from additionalDirectories revoking access to the same directory passed via --add-dir
  • Fixed agent team members not inheriting the leader's permission mode when using --dangerously-skip-permissions
  • Fixed file-edit diffs disappearing from the UI on --resume when the edited file was larger than 10KB
  • Fixed several /resume picker issues: --resume <name> opening uneditable, filter reload wiping search state, empty list swallowing arrow keys, cross-project staleness, and transient task-status text replacing conversation summaries
  • Fixed /export not honoring absolute paths and ~, and silently rewriting user-supplied extensions to .txt
  • Fixed /effort max being denied for unknown or future model IDs
  • Improved /resume filter hint labels and added project/worktree/branch names in the filter indicator
  • Improved /agents with a tabbed layout: a Running tab shows live subagents, and the Library tab adds Run agent and View running instance actions
  • Improved /reload-plugins to pick up plugin-provided skills without requiring a restart
  • Improved hook errors in the transcript to include the first line of stderr for self-diagnosis without --debug
  • Updated the /claude-api skill to cover Managed Agents alongside Claude API
  • [VSCode] Fixed false-positive "requires git-bash" error on Windows when CLAUDE_CODE_GIT_BASH_PATH is set or Git is installed at a default location
  • Dropped /compact hints when DISABLE_COMPACT is set.
v2.1.972026-04-08Ctrl+ONEW /agentsNEW --dangerously-skip-permissionsFIX --add-dirFIX /resumeFIX --resume <name>FIX Ctrl+AFIX --resumeFIX Shift+EFIX /claude-apiIMP
  • Added focus view toggle (Ctrl+O) in NO_FLICKER mode showing prompt, one-line tool summary with edit diffstats, and final response
  • Added refreshInterval status line setting to re-run the status line command every N seconds
  • Added workspace.git_worktree to the status line JSON input, set when the current directory is inside a linked git worktree
  • Added ● N running indicator in /agents next to agent types with live subagent instances
  • Added syntax highlighting for Cedar policy files (.cedar, .cedarpolicy)
  • Fixed --dangerously-skip-permissions being silently downgraded to accept-edits mode after approving a write to a protected path
  • Fixed removing a directory from settings.permissions.additionalDirectories revoking access to the same directory passed via --add-dir
  • Fixed several /resume picker issues: --resume <name> opening uneditable, Ctrl+A reload wiping search, empty list swallowing navigation, task-status text replacing conversation summary, and cross-project staleness
  • Fixed file-edit diffs disappearing on --resume when the edited file was larger than 10KB
  • Fixed --resume cache misses and lost mid-turn input from attachment messages not being saved to the transcript
  • Fixed Shift+Enter and Alt/Cmd+arrow shortcuts not working in Warp with NO_FLICKER mode
  • Updated /claude-api skill to cover Managed Agents alongside the Claude API
v2.1.962026-04-08
  • Fixed Bedrock requests failing with 403 "Authorization header is missing" when using AWS_BEARER_TOKEN_BEDROCK or CLAUDE_CODE_SKIP_BEDROCK_AUTH (regression in 2.1.94)
v2.1.942026-04-07/effortIMP Shift+SFIX alt+sFIX --resumeIMP
  • Added support for Amazon Bedrock powered by Mantle, set CLAUDE_CODE_USE_MANTLE=1
  • Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (control this with /effort)
  • Added compact Slacked #channel header with a clickable channel link for Slack MCP send-message tool calls
  • Added keep-coding-instructions frontmatter field support for plugin output styles
  • Added hookSpecificOutput.sessionTitle to UserPromptSubmit hooks for setting the session title
  • Plugin skills declared via "skills": ["./"] now use the skill's frontmatter name for the invocation name instead of the directory basename, giving a stable name across install methods
  • Fixed Shift+Space inserting the literal word "space" instead of a space character in search inputs
  • Improved --resume to resume sessions from other worktrees of the same repo directly instead of printing a cd command
  • [VSCode] Reduced cold-open subprocess work on starting a session
  • [VSCode] Fixed dropdown menus selecting the wrong item when the mouse was over the list while typing or using arrow keys
  • [VSCode] Added a warning banner when settings.json files fail to parse, so users know their permission rules are not being applied
v2.1.922026-04-04/costNEW /release-notesIMP --remote-control-session-name-prefixIMP ctrl+eFIX /clearFIX /tagDEL /vimDEL /configDEL
  • Added forceRemoteSettingsRefresh policy setting: when set, the CLI blocks startup until remote managed settings are freshly fetched, and exits if the fetch fails (fail-closed)
  • Added interactive Bedrock setup wizard accessible from the login screen when selecting "3rd-party platform" — guides you through AWS authentication, region configuration, credential verification, and model pinning
  • Added per-model and cache-hit breakdown to /cost for subscription users
  • /release-notes is now an interactive version picker
  • Remote Control session names now use your hostname as the default prefix (e.g. myhost-graceful-unicorn), overridable with --remote-control-session-name-prefix
  • Pro users now see a footer hint when returning to a session after the prompt cache has expired, showing roughly how many tokens the next turn will send uncached
  • Fixed ctrl+e jumping to the end of the next line when already at end of line in multiline prompts
  • Fixed idle-return "/clear to save X tokens" hint showing cumulative session tokens instead of current context size
  • Removed /tag command
  • Removed /vim command (toggle vim mode via /config → Editor mode)
  • Linux sandbox now ships the apply-seccomp helper in both npm and native builds, restoring unix-socket blocking for sandboxed commands
v2.1.912026-04-02/openNEW --resumeFIX /feedbackIMP /claude-apiIMP
  • Added MCP tool result persistence override via _meta["anthropic/maxResultSizeChars"] annotation (up to 500K), allowing larger results like DB schemas to pass through without truncation
  • Added disableSkillShellExecution setting to disable inline shell execution in skills, custom slash commands, and plugin commands
  • Added support for multi-line prompts in claude-cli://open?q= deep links (encoded newlines %0A no longer rejected)
  • Plugins can now ship executables under bin/ and invoke them as bare commands from the Bash tool
  • Fixed transcript chain breaks on --resume that could lose conversation history when async transcript writes fail silently
  • /feedback now explains why it's unavailable instead of disappearing from the slash menu
  • Improved /claude-api skill guidance for agent design patterns including tool surface decisions, context management, and caching strategy
  • Edit tool now uses shorter old_string anchors, reducing output tokens
v2.1.902026-04-01/powerupNEW --resumeIMP /modelFIX /configFIX /resumeIMP /displaydnsDEL
  • Added /powerup — interactive lessons teaching Claude Code features with animated demos
  • Added CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE env var to keep the existing marketplace cache when git pull fails, useful in offline environments
  • Added .husky to protected directories (acceptEdits mode)
  • Fixed --resume causing a full prompt-cache miss on the first request for users with deferred tools, MCP servers, or custom agents (regression since v2.1.69)
  • Fixed headers disappearing when scrolling /model, /config, and other selection screens
  • Hardened PowerShell tool permission checks: fixed trailing & background job bypass, -ErrorAction Break debugger hang, archive-extraction TOCTOU, and parse-fail fallback deny-rule degradation
  • Improved /resume all-projects view to load project sessions in parallel, improving load times for users with many projects
  • Changed --resume picker to no longer show sessions created by claude -p or SDK invocations
  • Removed Get-DnsClientCache and ipconfig /displaydns from auto-allow (DNS cache privacy)
v2.1.892026-04-01--resumeNEW alt+sNEW --mcp-configNEW /permissionsIMP /pathFIX /statsFIX Shift+EFIX Ctrl+BIMP /envIMP /usageIMP /buddy
  • Added "defer" permission decision to PreToolUse hooks — headless sessions can pause at a tool call and resume with -p --resume to have the hook re-evaluate
  • Added CLAUDE_CODE_NO_FLICKER=1 environment variable to opt into flicker-free alt-screen rendering with virtualized scrollback
  • Added PermissionDenied hook that fires after auto mode classifier denials — return {retry: true} to tell the model it can retry
  • Added named subagents to @ mention typeahead suggestions
  • Added MCP_CONNECTION_NONBLOCKING=true for -p mode to skip the MCP connection wait entirely, and bounded --mcp-config server connections at 5s instead of blocking on the slowest server
  • Auto mode: denied commands now show a notification and appear in /permissions → Recent tab where you can retry with r
  • Fixed Edit(//path/) and Read(//path/) allow rules to check the resolved symlink target, not just the requested path
  • Fixed /stats undercounting tokens by excluding subagent usage, and losing historical data beyond 30 days when the stats cache format changes
  • Fixed -p --resume hangs when the deferred tool input exceeds 64KB or no deferred marker exists, and -p --continue not resuming deferred tools
  • Fixed --resume crash when transcript contains a tool result from an older CLI version or interrupted write
  • Fixed Shift+Enter submitting instead of inserting a newline on Windows Terminal Preview 1.25
  • Documented TaskCreated hook event and its blocking behavior
  • Preserved task notifications when backgrounding a running command with Ctrl+B
  • PowerShell tool on Windows: external-command arguments containing both a double-quote and whitespace now prompt instead of auto-allowing (PS 5.1 argument-splitting hardening)
  • /env now applies to PowerShell tool commands (previously only affected Bash)
  • /usage now hides redundant "Current week (Sonnet only)" bar for Pro and Enterprise plans
  • Image paste no longer inserts a trailing space
  • Pasting !command into an empty prompt now enters bash mode, matching typed ! behavior
  • /buddy is here for April 1st — hatch a small creature that watches you code
v2.1.872026-03-29
  • Fixed messages in Cowork Dispatch not getting delivered
v2.1.862026-03-27--resumeFIX /feedbackFIX --bareFIX /modelFIX /pluginFIX /skillsIMP
  • Added X-Claude-Code-Session-Id header to API requests so proxies can aggregate requests by session without parsing the body
  • Added .jj and .sl to VCS directory exclusion lists so Grep and file autocomplete don't descend into Jujutsu or Sapling metadata
  • Fixed --resume failing with "tool_use ids were found without tool_result blocks" on sessions created before v2.1.85
  • Fixed potential out-of-memory crash when using /feedback on very long sessions with large transcript files
  • Fixed --bare mode dropping MCP tools in interactive sessions and silently discarding messages enqueued mid-turn
  • Fixed statusline showing another session's model when running multiple Claude Code instances and using /model in one of them
  • Fixed /plugin uninstall dialog: pressing n now correctly uninstalls the plugin while preserving its data directory
  • Reduced startup event-loop stalls when many claude.ai MCP connectors are configured (macOS keychain cache extended from 5s to 30s)
  • Reduced token overhead when mentioning files with @ — raw string content no longer JSON-escaped
  • Memory filenames in the "Saved N memories" notice now highlight on hover and open on click
  • Skill descriptions in the /skills listing are now capped at 250 characters to reduce context usage
  • Changed /skills menu to sort alphabetically for easier scanning
  • Auto mode now shows "unavailable for your plan" when disabled by plan restrictions (was "temporarily unavailable")
  • [VSCode] Fixed extension incorrectly showing "Not responding" during long-running operations
  • [VSCode] Fixed extension defaulting Max plan users to Sonnet after the OAuth token refreshes (8 hours after login)
v2.1.852026-03-26/loopNEW /openIMP /compactFIX /plugin enableFIX /plugin disableFIX /pluginFIX --worktreeFIX --mcp-configFIX shift+eFIX Ctrl+CFIX Ctrl+DFIX
  • Added CLAUDE_CODE_MCP_SERVER_NAME and CLAUDE_CODE_MCP_SERVER_URL environment variables to MCP headersHelper scripts, allowing one helper to serve multiple servers
  • Added conditional if field for hooks using permission rule syntax (e.g., Bash(git *)) to filter when they run, reducing process spawning overhead
  • Added timestamp markers in transcripts when scheduled tasks (/loop, CronCreate) fire
  • Added trailing space after [Image #N] placeholder when pasting images
  • Deep link queries (claude-cli://open?q=…) now support up to 5,000 characters, with a "scroll to review" warning for long pre-filled prompts
  • MCP OAuth now follows RFC 9728 Protected Resource Metadata discovery to find the authorization server
  • Plugins blocked by organization policy (managed-settings.json) can no longer be installed or enabled, and are hidden from marketplace views
  • PreToolUse hooks can now satisfy AskUserQuestion by returning updatedInput alongside permissionDecision: "allow", enabling headless integrations that collect answers via their own UI
  • tool_parameters in OpenTelemetry tool_result events are now gated behind OTEL_LOG_TOOL_DETAILS=1
  • Fixed /compact failing with "context exceeded" when the conversation has grown too large for the compact request itself to fit
  • Fixed /plugin enable and /plugin disable failing when a plugin's install location differs from where it's declared in settings
  • Fixed --worktree exiting with an error in non-git repositories before the WorktreeCreate hook could run
  • Fixed Python Agent SDK: type:'sdk' MCP servers passed via --mcp-config are no longer dropped during startup
  • Fixed shift+enter and meta+enter being intercepted by typeahead suggestions instead of inserting newlines
  • Fixed terminal left in enhanced keyboard mode after exit in Ghostty, Kitty, WezTerm, and other terminals supporting the Kitty keyboard protocol — Ctrl+C and Ctrl+D now work correctly after quitting
  • Reduced UI stutter when compaction triggers on large sessions
v2.1.842026-03-26/modelNEW /clearNEW Ctrl+UFIX ctrl+xFIX ctrl+kFIX --json-schemaFIX /voiceIMP /mobileIMP /chromeIMP /upgradeIMP /statsIMP Ctrl+SIMP
  • Added PowerShell tool for Windows as an opt-in preview. Learn more at https://code.claude.com/docs/en/tools-reference#powershell-tool
  • Added ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL_SUPPORTS env vars to override effort/thinking capability detection for pinned default models for 3p (Bedrock, Vertex, Foundry), and _MODEL_NAME/_DESCRIPTION to customize the /model picker label
  • Added CLAUDE_STREAM_IDLE_TIMEOUT_MS env var to configure the streaming idle watchdog threshold (default 90s)
  • Added TaskCreated hook that fires when a task is created via TaskCreate
  • Added WorktreeCreate hook support for type: "http" — return the created worktree path via hookSpecificOutput.worktreePath in the response JSON
  • Added allowedChannelPlugins managed setting for team/enterprise admins to define a channel plugin allowlist
  • Added x-client-request-id header to API requests for debugging timeouts
  • Added idle-return prompt that nudges users returning after 75+ minutes to /clear, reducing unnecessary token re-caching on stale sessions
  • Deep links (claude-cli://) now open in your preferred terminal instead of whichever terminal happens to be first in the detection list
  • Rules and skills paths: frontmatter now accepts a YAML list of globs
  • Fixed Ctrl+U (kill-to-line-start) being a no-op at line boundaries in multiline input, so repeated Ctrl+U now clears across lines
  • Fixed null-unbinding a default chord binding (e.g. "ctrl+x ctrl+k": null) still entering chord-wait mode instead of freeing the prefix key
  • Fixed workflow subagents failing with API 400 when the outer session uses --json-schema and the subagent also specifies a schema
  • Slash commands unavailable for the current auth setup (/voice, /mobile, /chrome, /upgrade, etc.) are now hidden instead of shown
  • Stats screenshot (Ctrl+S in /stats) now works in all builds and is 16× faster
v2.1.832026-03-25Ctrl+ONEW Ctrl+XNEW Ctrl+ENEW Ctrl+GNEW --mcp-configFIX --printFIX /configFIX --channelsFIX Ctrl+BFIX --resumeIMP /statusIMP Ctrl+FIMP Ctrl+KIMP Ctrl+LIMP Ctrl+UIMP --bare -p --worktreeFIX /rewindNEW
  • Added managed-settings.d/ drop-in directory alongside managed-settings.json, letting separate teams deploy independent policy fragments that merge alphabetically
  • Added CwdChanged and FileChanged hook events for reactive environment management (e.g., direnv)
  • Added sandbox.failIfUnavailable setting to exit with an error when sandbox is enabled but cannot start, instead of running unsandboxed
  • Added disableDeepLinkRegistration setting to prevent claude-cli:// protocol handler registration
  • Added CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 to strip Anthropic and cloud provider credentials from subprocess environments (Bash tool, hooks, MCP stdio servers)
  • Added transcript search — press / in transcript mode (Ctrl+O) to search, n/N to step through matches
  • Added Ctrl+X Ctrl+E as an alias for opening the external editor (readline-native binding; Ctrl+G still works)
  • Pasted images now insert an [Image #N] chip at the cursor so you can reference them positionally in your prompt
  • Agents can now declare initialPrompt in frontmatter to auto-submit a first turn
  • chat:killAgents and chat:fastMode are now rebindable via ~/.claude/keybindings.json
  • Fixed --mcp-config CLI flag bypassing allowedMcpServers/deniedMcpServers managed policy enforcement
  • Fixed claude.ai MCP connectors (Slack, Gmail, etc.) not being available in single-turn --print mode
  • Fixed /config menu showing both the search cursor and list selection at the same time
  • Fixed --channels showing "Channels are not currently available" on first launch after upgrade
  • Fixed Ctrl+B interfering with readline backward-char at an idle prompt — it now only fires when a foreground task can be backgrounded
  • Improved --resume memory usage and startup latency on large sessions
  • /status now works while Claude is responding, instead of being queued until the turn finishes
  • Changed "stop all background agents" keybinding from Ctrl+F to Ctrl+X Ctrl+K to stop shadowing readline forward-char
  • Ctrl+L now clears the screen and forces a full redraw — use this to recover when Cmd+K leaves the UI partially blank. Use Ctrl+U or double-Esc to clear prompt input.
  • --bare -p (SDK pattern) is ~14% faster to the API request
  • Disabled AskUserQuestion and plan-mode tools when --channels is active
  • Fixed --worktree hanging silently when the worktree name contained a forward slash
  • [VSCode] Added Esc-twice (or /rewind) to open a keyboard-navigable rewind picker
v2.1.812026-03-20--bareNEW --settingsNEW --channelsNEW /btwFIX /renameFIX /exitFIX Ctrl+OIMP
  • Added --bare flag for scripted -p calls — skips hooks, LSP, plugin sync, and skill directory walks; requires ANTHROPIC_API_KEY or an apiKeyHelper via --settings (OAuth and keychain auth disabled); auto-memory fully disabled
  • Added --channels permission relay — channel servers that declare the permission capability can forward tool approval prompts to your phone
  • Fixed --channels bypass for Team/Enterprise orgs with no other managed settings configured
  • Resuming a session that was in a worktree now switches back to that worktree
  • Fixed /btw not including pasted text when used during an active response
  • Fixed /rename not syncing the title for Remote Control sessions
  • Fixed Remote Control /exit not reliably archiving the session
  • Improved MCP read/search tool calls to collapse into a single "Queried {server}" line (expand with Ctrl+O)
  • Updated MCP OAuth to support Client ID Metadata Document (CIMD / SEP-991) for servers without Dynamic Client Registration
  • Disabled line-by-line response streaming on Windows (including WSL in Windows Terminal) due to rendering issues
  • [VSCode] Fixed Windows PATH inheritance for Bash tool when using Git Bash (regression in v2.1.78)
v2.1.802026-03-19--channelsNEW --resumeFIX /remote-controlFIX /sandboxFIX /effortIMP /permissionsIMP /plugin installIMP /pluginIMP
  • Added rate_limits field to statusline scripts for displaying Claude.ai rate limit usage (5-hour and 7-day windows with used_percentage and resets_at)
  • Added source: 'settings' plugin marketplace source — declare plugin entries inline in settings.json
  • Added CLI tool usage detection to plugin tips, in addition to file pattern matching
  • Added effort frontmatter support for skills and slash commands to override the model effort level when invoked
  • Added --channels (research preview) — allow MCP servers to push messages into your session
  • Fixed --resume dropping parallel tool results — sessions with parallel tool calls now restore all tool_use/tool_result pairs instead of showing [Tool result missing] placeholders
  • Fixed /remote-control appearing for gateway and third-party provider deployments where it cannot function
  • Fixed /sandbox tab switching not responding to Tab or arrow keys
  • Improved /effort to show what auto currently resolves to, matching the status bar indicator
  • Improved /permissions — Tab and arrow keys now switch tabs from within a list
  • Simplified plugin install tips to use a single /plugin install command instead of a two-step flow
  • Reduced memory usage on startup in large repositories (~80 MB saved on 250k-file repos)
v2.1.792026-03-18--consoleNEW /configNEW Ctrl+CFIX /btwFIX /permissionsFIX /resumeFIX /remote-controlNEW
  • Added --console flag to claude auth login for Anthropic Console (API billing) authentication
  • Added "Show turn duration" toggle to the /config menu
  • Fixed Ctrl+C not working in -p (print) mode
  • Fixed /btw returning the main agent's output instead of answering the side question when triggered during streaming
  • Fixed left/right arrow tab navigation in /permissions
  • Fixed SessionEnd hooks not firing when using interactive /resume to switch sessions
  • CLAUDE_CODE_PLUGIN_SEED_DIR now supports multiple seed directories separated by the platform path delimiter (: on Unix, ; on Windows)
  • [VSCode] Added /remote-control — bridge your session to claude.ai/code to continue from a browser or phone
  • [VSCode] Session tabs now get AI-generated titles based on your first message
  • [VSCode] Fixed the thinking pill showing "Thinking" instead of "Thought for Ns" after a response completes
  • [VSCode] Fixed missing session diff button when opening sessions from the left sidebar
v2.1.782026-03-17/plugin uninstallNEW /pluginNEW --resumeFIX /sandboxFIX ctrl+uFIX ctrl+dFIX ctrl+kFIX --worktreeFIX /modelNEW
  • Added StopFailure hook event that fires when the turn ends due to an API error (rate limit, auth failure, etc.)
  • Added ${CLAUDE_PLUGIN_DATA} variable for plugin persistent state that survives plugin updates; /plugin uninstall prompts before deleting it
  • Added effort, maxTurns, and disallowedTools frontmatter support for plugin-shipped agents
  • Terminal notifications (iTerm2/Kitty/Ghostty popups, progress bar) now reach the outer terminal when running inside tmux with set -g allow-passthrough on
  • Response text now streams line-by-line as it's generated
  • Fixed cc log and --resume silently truncating conversation history on large sessions (>5 MB) that used subagents
  • Fixed /sandbox Dependencies tab showing Linux prerequisites on macOS instead of macOS-specific info
  • Fixed ctrl+u in normal mode scrolling instead of readline kill-line (ctrl+u/ctrl+d half-page scroll moved to transcript mode only)
  • Fixed voice mode modifier-combo push-to-talk keybindings (e.g. ctrl+k) requiring a hold instead of activating immediately
  • Fixed --worktree flag not loading skills and hooks from the worktree directory
  • Added ANTHROPIC_CUSTOM_MODEL_OPTION env var to add a custom entry to the /model picker, with optional _NAME and _DESCRIPTION suffixed vars for display
  • [VSCode] Fixed a brief flash of the login screen when opening the sidebar while already authenticated
  • [VSCode] Fixed "API Error: Rate limit reached" when selecting Opus — model dropdown no longer offers 1M context variant to subscribers whose plan tier is unknown
v2.1.772026-03-17/copyIMP /copy NIMP --resumeFIX /feedbackFIX Ctrl+DFIX /mcpFIX /forkIMP /branchIMP
  • Increased default maximum output token limits for Claude Opus 4.6 to 64k tokens, and the upper bound for Opus 4.6 and Sonnet 4.6 models to 128k tokens
  • Added allowRead sandbox filesystem setting to re-allow read access within denyRead regions
  • /copy now accepts an optional index: /copy N copies the Nth-latest assistant response
  • Fixed --resume silently truncating recent conversation history due to a race between memory-extraction writes and the main transcript
  • Fixed Ctrl+D in /feedback text input deleting forward instead of the second press exiting the session
  • Fixed input deadlock when opening /mcp or similar dialogs while the agent is running
  • Faster startup on macOS (~60ms) by reading keychain credentials in parallel with module loading
  • Faster --resume on fork-heavy and very large sessions — up to 45% faster loading and ~100-150MB less peak memory
  • Background bash tasks are now killed if output exceeds 5GB, preventing runaway processes from filling disk
  • Sessions are now auto-named from plan content when you accept a plan
  • Show a notice when apiKeyHelper takes longer than 10s, preventing it from blocking the main loop
  • The Agent tool no longer accepts a resume parameter — use SendMessage({to: agentId}) to continue a previously spawned agent
  • SendMessage now auto-resumes stopped agents in the background instead of returning an error
  • Renamed /fork to /branch (/fork still works as an alias)
v2.1.762026-03-14--name <name>NEW --nameNEW --worktreeNEW /effortNEW /voiceIMP /exportFIX --plugin-dirIMP
  • Added MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL)
  • Added new Elicitation and ElicitationResult hooks to intercept and override responses before they're sent back
  • Added -n / --name <name> CLI flag to set a display name for the session at startup
  • Added worktree.sparsePaths setting for claude --worktree in large monorepos to check out only the directories you need via git sparse-checkout
  • Added PostCompact hook that fires after compaction completes
  • Added /effort slash command to set model effort level
  • Added session quality survey — enterprise admins can configure the sample rate via the feedbackSurveyRate setting
  • Fixed /voice not working on Windows when installed via npm
  • Fixed /export showing only the filename instead of the full file path in the success message
  • Improved --worktree startup performance by reading git refs directly and skipping redundant git fetch when the remote branch is already available locally
  • Improved /voice to show your dictation language on enable and warn when your language setting isn't supported for voice input
  • Updated --plugin-dir to only accept one path to support subcommands — use repeated --plugin-dir for multiple directories
  • [VSCode] Fixed gitignore patterns containing commas silently excluding entire filetypes from the @-mention file picker
v2.1.752026-03-13/colorNEW /renameNEW /voiceFIX /modelFIX /pluginFIX /resumeFIX /statusFIX --verboseIMP
  • Added 1M context window for Opus 4.6 by default for Max, Team, and Enterprise plans (previously required extra usage)
  • Added /color command for all users to set a prompt-bar color for your session
  • Added session name display on the prompt bar when using /rename
  • Added last-modified timestamps to memory files, helping Claude reason about which memories are fresh vs. stale
  • Added hook source display (settings/plugin/skill) in permission prompts when a hook requires confirmation
  • Fixed voice mode not activating correctly on fresh installs without toggling /voice twice
  • Fixed the Claude Code header not updating the displayed model name after switching models with /model or Option+P
  • Fixed managed-disabled plugins showing up in the /plugin Installed tab — plugins force-disabled by your organization are now hidden
  • Fixed /resume losing session names after resuming a forked or continued session
  • Fixed Esc not closing the /status dialog after visiting the Config tab
  • Suppressed async hook completion messages by default (visible with --verbose or transcript mode)
v2.1.742026-03-12/contextNEW --agentsFIX --modelFIX /plugin installFIX /pluginFIX --plugin-dirIMP
  • Added actionable suggestions to /context command — identifies context-heavy tools, memory bloat, and capacity warnings with specific optimization tips
  • Added autoMemoryDirectory setting to configure a custom directory for auto-memory storage
  • Fixed full model IDs (e.g., claude-opus-4-5) being silently ignored in agent frontmatter model: field and --agents JSON config — agents now accept the same model values as --model
  • Fixed /plugin install failing inside the REPL for marketplace plugins with local sources
  • Changed --plugin-dir so local dev copies now override installed marketplace plugins with the same name (unless that plugin is force-enabled by managed settings)
  • [VSCode] Fixed delete button not working for Untitled sessions
  • [VSCode] Improved scroll wheel responsiveness in the integrated terminal with terminal-aware acceleration
v2.1.732026-03-11/resumeFIX /ideFIX /loopFIX --resumeFIX --continueFIX /heapdumpFIX /effortIMP /modelIMP /output-styleIMP /configIMP
  • Added modelOverrides setting to map model picker entries to custom provider model IDs (e.g. Bedrock inference profile ARNs)
  • Added actionable guidance when OAuth login or connectivity checks fail due to SSL certificate errors (corporate proxies, NODE_EXTRA_CA_CERTS)
  • Fixed /resume showing the current session in the picker
  • Fixed /ide crashing with onInstall is not defined when auto-installing the extension
  • Fixed /loop not being available on Bedrock/Vertex/Foundry and when telemetry was disabled
  • Fixed SessionStart hooks firing twice when resuming a session via --resume or --continue
  • Fixed /heapdump failing on Windows with EEXIST error when the Desktop folder already exists
  • Improved /effort to work while Claude is responding, matching /model behavior
  • Deprecated /output-style command — use /config instead. Output style is now fixed at session start for better prompt caching
  • VSCode: Fixed HTTP 400 errors for users behind proxies or on Bedrock/Vertex with Claude 4.5 models
v2.1.722026-03-10/copyNEW /planNEW /effort autoIMP /effortIMP /configIMP --continueFIX --compactFIX --effortFIX /clearFIX Ctrl+BFIX /modelFIX Ctrl+CFIX Shift+EFIX /anthropicNEW
  • Added w key in /copy to write the focused selection directly to a file, bypassing the clipboard (useful over SSH)
  • Added optional description argument to /plan (e.g., /plan fix the auth bug) that enters plan mode and immediately starts
  • Added ExitWorktree tool to leave an EnterWorktree session
  • Added CLAUDE_CODE_DISABLE_CRON environment variable to immediately stop scheduled cron jobs mid-session
  • Added lsof, pgrep, tput, ss, fd, and fdfind to the bash auto-approval allowlist, reducing permission prompts for common read-only operations
  • Restored the model parameter on the Agent tool for per-invocation model overrides
  • Simplified effort levels to low/medium/high (removed max) with new symbols (○ ◐ ●) and a brief notification instead of a persistent icon. Use /effort auto to reset to default
  • Improved /config — Escape now cancels changes, Enter saves and closes, Space toggles settings
  • Reduced bundle size by ~510 KB
  • Fixed --continue not resuming from the most recent point after --compact
  • Added support for marketplace git URLs without .git suffix (Azure DevOps, AWS CodeCommit)
  • Fixed --effort CLI flag being reset by unrelated settings writes on startup
  • Fixed backgrounded Ctrl+B queries losing their transcript or corrupting the new conversation after /clear
  • Fixed /clear killing background agent/bash tasks — only foreground tasks are now cleared
  • Fixed /model not displaying results when run while Claude is working
  • Fixed double Ctrl+C not exiting when background agents or tasks are running
  • VSCode: Fixed scroll speed in integrated terminals not matching native terminals
  • VSCode: Fixed Shift+Enter submitting input instead of inserting a newline for users with older keybindings
  • VSCode: Added effort level indicator on the input border
  • VSCode: Added vscode://anthropic.claude-code/open URI handler to open a new Claude Code tab programmatically, with optional prompt and session query parameters
v2.1.712026-03-07/loopNEW /forkFIX /pluginIMP /permissionsFIX --printFIX /plugin uninstallIMP /debugIMP
  • Added /loop command to run a prompt or slash command on a recurring interval (e.g. /loop 5m check the deploy)
  • Added cron scheduling tools for recurring prompts within a session
  • Added voice:pushToTalk keybinding to make the voice activation key rebindable in keybindings.json (default: space) — modifier+letter combos like meta+k have zero typing interference
  • Added fmt, comm, cmp, numfmt, expr, test, printf, getconf, seq, tsort, and pr to the bash auto-approval allowlist
  • Fixed forked conversations (/fork) sharing the same plan file, which caused plan edits in one fork to overwrite the other
  • Fixed /plugin marketplace update failing with merge conflicts when the marketplace is pinned to a branch/tag ref
  • Fixed /plugin marketplace add owner/repo@ref incorrectly parsing @ — previously only # worked as a ref separator, causing undiagnosable errors with strictKnownMarketplaces
  • Fixed duplicate entries in /permissions Workspace tab when the same directory is added with and without a trailing slash
  • Fixed --print hanging forever when team agents are configured — the exit loop no longer waits on long-lived in_process_teammate tasks
  • Improved /plugin uninstall to disable project-scoped plugins in .claude/settings.local.json instead of modifying .claude/settings.json, so changes don't affect teammates
  • Improved plugin-provided MCP server deduplication — servers that duplicate a manually-configured server (same command/URL) are now skipped, preventing duplicate connections and tool sets. Suppressions are shown in the /plugin menu.
  • Updated /debug to toggle debug logging on mid-session, since debug logs are no longer written by default
v2.1.702026-03-06/pluginFIX /security-reviewFIX /colorFIX /color defaultFIX /color grayFIX /color resetFIX /color noneFIX --resumeFIX /renameIMP /pollIMP /mcpNEW
  • Fixed plugins showing as inaccurately installed in /plugin
  • Fixed /security-review command failing with unknown option merge-base on older git versions
  • Fixed /color command having no way to reset back to the default color — /color default, /color gray, /color reset, and /color none now restore the default
  • Fixed skill listing being re-injected on every --resume (~600 tokens saved per resume)
  • Improved /rename to work while Claude is processing, instead of being silently queued
  • Reduced prompt input re-renders during turns by ~74%
  • Reduced startup memory by ~426KB for users without custom CA certificates
  • Reduced Remote Control /poll rate to once per 10 minutes while connected (was 1–2s), cutting server load ~300×. Reconnection is unaffected — transport loss immediately wakes fast polling.
  • [VSCode] Added spark icon in VS Code activity bar that lists all Claude Code sessions, with sessions opening as full editors
  • [VSCode] Added full markdown document view for plans in VS Code, with support for adding comments to provide feedback
  • [VSCode] Added native MCP server management dialog — use /mcp in the chat panel to enable/disable servers, reconnect, and manage OAuth authentication without switching to the terminal
v2.1.692026-03-05/claude-apiNEW Ctrl+UNEW /remote-controlNEW --nameNEW --agentNEW /reload-pluginsNEW --worktreeNEW --model claude-opus-4-0FIX --model claude-opus-4-1FIX /loginFIX Shift+EFIX Ctrl+SFIX ctrl+oFIX /statsFIX --setting-sources userFIX /pluginFIX /compactFIX /voiceFIX /costFIX /clearFIX --mcp-configFIX /contextFIX Ctrl+OFIX /configFIX --append-system-prompt-fileIMP --system-prompt-fileIMP /resumeIMP
  • Added the /claude-api skill for building applications with the Claude API and Anthropic SDK
  • Added Ctrl+U on an empty bash prompt (!) to exit bash mode, matching escape and backspace
  • Added numeric keypad support for selecting options in Claude's interview questions (previously only the number row above QWERTY worked)
  • Added optional name argument to /remote-control and claude remote-control (/remote-control My Project or --name "My Project") to set a custom session title visible in claude.ai/code
  • Added Voice STT support for 10 new languages (20 total) — Russian, Polish, Turkish, Dutch, Ukrainian, Greek, Czech, Danish, Swedish, Norwegian
  • Added effort level display (e.g., "with low effort") to the logo and spinner, making it easier to see which effort setting is active
  • Added agent name display in terminal title when using claude --agent
  • Added sandbox.enableWeakerNetworkIsolation setting (macOS only) to allow Go programs like gh, gcloud, and terraform to verify TLS certificates when using a custom MITM proxy with httpProxyPort
  • Added includeGitInstructions setting (and CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS env var) to remove built-in commit and PR workflow instructions from Claude's system prompt
  • Added /reload-plugins command to activate pending plugin changes without restarting
  • Added a one-time startup prompt suggesting Claude Code Desktop on macOS and Windows (max 3 showings, dismissible)
  • Added ${CLAUDE_SKILL_DIR} variable for skills to reference their own directory in SKILL.md content
  • Added InstructionsLoaded hook event that fires when CLAUDE.md or .claude/rules/*.md files are loaded into context
  • Added agent_id (for subagents) and agent_type (for subagents and --agent) to hook events
  • Added worktree field to status line hook commands with name, path, branch, and original repo directory when running in a --worktree session
  • Fixed --model claude-opus-4-0 and --model claude-opus-4-1 resolving to deprecated Opus versions instead of current
  • Fixed macOS keychain corruption when using multiple OAuth MCP servers. Large OAuth metadata blobs could overflow the security -i stdin buffer, silently leaving stale credentials behind and causing repeated /login prompts.
  • Fixed Shift+Enter printing [27;2;13~ instead of inserting a newline in Ghostty over SSH
  • Fixed stash (Ctrl+S) being cleared when submitting a message while Claude is working
  • Fixed ctrl+o (transcript toggle) freezing for many seconds in long sessions with lots of file edits
  • Fixed plan mode feedback input not supporting multi-line text entry (backslash+Enter and Shift+Enter now insert newlines)
  • Fixed /stats crash when transcript files contain entries with missing or malformed timestamps
  • Fixed --setting-sources user not blocking dynamically discovered project skills
  • Fixed plugin Stop/SessionEnd/etc hooks not firing after any /plugin operation
  • Fixed /compact summary rendering as a user bubble in SDK consumers (Claude Code Remote web UI, VSCode extension)
  • Fixed Escape not interrupting a running turn when the input box has draft text. Use Up arrow to pull queued messages back for editing, or Ctrl+U to clear the input line.
  • Fixed Android app crash when running local slash commands (/voice, /cost) in Remote Control sessions
  • Fixed memory retention in in-process teammates where the parent's full conversation history was pinned for the teammate's lifetime, preventing GC after /clear or auto-compact
  • Fixed hang when --mcp-config points to a corrupted file
  • Fixed slow startup when many skills/plugins are installed
  • Fixed /clear not fully clearing all session caches, reducing memory retention in long sessions
  • Fixed /context showing identical token counts for all MCP tools from a server
  • Fixed extra blank lines appearing below each tool call in the expanded subagent transcript view (Ctrl+O)
  • Fixed Tab/arrow keys not cycling Settings tabs when /config search box is focused but empty
  • Improved --worktree startup by eliminating a git subprocess on the startup path
  • Improved documentation to clarify that --append-system-prompt-file and --system-prompt-file work in interactive mode (the docs previously said print mode only)
  • Changed the /resume picker to show your most recent prompt instead of the first one. This also resolves some titles appearing as (session).
v2.1.682026-03-04/modelIMP
  • Opus 4.6 now defaults to medium effort for Max and Team subscribers. Medium effort works well for most tasks — it's the sweet spot between speed and thoroughness. You can change this anytime with /model
  • Re-introduced the "ultrathink" keyword to enable high effort for the next turn
v2.1.662026-03-04
  • Reduced spurious error logging
v2.1.632026-02-28/simplifyNEW /batchNEW /costFIX /modelIMP /copyNEW /clearFIX
  • Added /simplify and /batch bundled slash commands
  • Fixed local slash command output like /cost appearing as user-sent messages instead of system messages in the UI
  • Project configs & auto memory now shared across git worktrees of the same repository
  • Added ENABLE_CLAUDEAI_MCP_SERVERS=false env var to opt out from making claude.ai MCP servers available
  • Improved /model command to show the currently active model in the slash command menu
  • Added HTTP hooks, which can POST JSON to a URL and receive JSON instead of running a shell command
  • Added manual URL paste fallback during MCP OAuth authentication. If the automatic localhost redirect doesn't work, you can paste the callback URL to complete authentication.
  • VSCode: Fixed remote sessions not appearing in conversation history
  • Added "Always copy full response" option to the /copy picker. When selected, future /copy commands will skip the code block picker and copy the full response directly.
  • VSCode: Added session rename and remove actions to the sessions list
  • Fixed /clear not resetting cached skills, which could cause stale skill content to persist in the new conversation
v2.1.622026-02-27
  • Fixed prompt suggestion cache regression that reduced cache hit rates
v2.1.612026-02-26
  • Fixed concurrent writes corrupting config file on Windows
v2.1.592026-02-26/memory /copyNEW
  • Claude automatically saves useful context to auto-memory. Manage with /memory
  • Added /copy command to show an interactive picker when code blocks are present, allowing selection of individual code blocks or the full response.
v2.1.582026-02-25
  • Expand Remote Control to more users
v2.1.562026-02-25
  • VS Code: Fixed another cause of "command 'claude-vscode.editor.openLast' not found" crashes
v2.1.552026-02-25
  • Fixed BashTool failing on Windows with EINVAL error
v2.1.532026-02-25ctrl+fFIX --worktreeFIX
  • Fixed bulk agent kill (ctrl+f) to send a single aggregate notification instead of one per agent, and to properly clear the command queue
  • Fixed --worktree sometimes being ignored on first launch
v2.1.522026-02-24
  • VS Code: Fixed extension crash on Windows ("command 'claude-vscode.editor.openLast' not found")
v2.1.512026-02-24/modelIMP
  • Added claude remote-control subcommand for external builds, enabling local environment serving for all users.
  • Updated plugin marketplace default git timeout from 30s to 120s and added CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS to configure.
  • Added support for custom npm registries and specific version pinning when installing plugins from npm sources
  • BashTool now skips login shell (-l flag) by default when a shell snapshot is available, improving command execution performance. Previously this required setting CLAUDE_BASH_NO_LOGIN=true.
  • Tool results larger than 50K characters are now persisted to disk (previously 100K). This reduces context window usage and improves conversation longevity.
  • Added CLAUDE_CODE_ACCOUNT_UUID, CLAUDE_CODE_USER_EMAIL, and CLAUDE_CODE_ORGANIZATION_UUID environment variables for SDK callers to provide account info synchronously, eliminating a race condition where early telemetry events lacked account metadata.
  • The /model picker now shows human-readable labels (e.g., "Sonnet 4.5") instead of raw model IDs for pinned model versions, with an upgrade hint when a newer version is available.
  • Managed settings can now be set via macOS plist or Windows Registry. Learn more at https://code.claude.com/docs/en/settings#settings-files
v2.1.502026-02-20/mcp reconnectFIX /mcpFIX /extra-usageNEW
  • Added support for startupTimeout configuration for LSP servers
  • Added WorktreeCreate and WorktreeRemove hook events, enabling custom VCS setup and teardown when agent worktree isolation creates or removes worktrees.
  • Linux: Fixed native modules not loading on systems with glibc older than 2.30 (e.g., RHEL 8)
  • Fixed /mcp reconnect freezing the CLI when given a server name that doesn't exist
  • Added support for isolation: worktree in agent definitions, allowing agents to declaratively run in isolated git worktrees.
  • CLAUDE_CODE_SIMPLE mode now also disables MCP tools, attachments, hooks, and CLAUDE.md file loading for a fully minimal experience.
  • Added claude agents CLI command to list all configured agents
  • Added CLAUDE_CODE_DISABLE_1M_CONTEXT environment variable to disable 1M context window support
  • Opus 4.6 (fast mode) now includes the full 1M context window
  • VSCode: Added /extra-usage command support in VS Code sessions
v2.1.492026-02-19--worktreeNEW Ctrl+FNEW Ctrl+CFIX --scopeFIX /modelIMP /configFIX --resumeFIX /clearFIX
  • Added --worktree (-w) flag to start Claude in an isolated git worktree
  • Subagents support isolation: "worktree" for working in a temporary git worktree
  • Added Ctrl+F keybinding to kill background agents (two-press confirmation)
  • Agent definitions support background: true to always run as a background task
  • Plugins can ship settings.json for default configuration
  • Fixed Ctrl+C and ESC being silently ignored when background agents are running and the main thread is idle. Pressing twice within 3 seconds now kills all background agents.
  • Fixed plugin enable and plugin disable to auto-detect the correct scope when --scope is not specified, instead of always defaulting to user scope
  • Simple mode (CLAUDE_CODE_SIMPLE) now includes the file edit tool in addition to the Bash tool, allowing direct file editing in simple mode.
  • Permission suggestions are now populated when safety checks trigger an ask response, enabling SDK consumers to display permission options
  • Sonnet 4.5 with 1M context is being removed from the Max plan in favor of our frontier Sonnet 4.6 model, which now has 1M context. Please switch in /model.
  • Fixed verbose mode not updating thinking block display when toggled via /config — memo comparators now correctly detect verbose changes
  • SDK model info now includes supportsEffort, supportedEffortLevels, and supportsAdaptiveThinking fields so consumers can discover model capabilities.
  • Added ConfigChange hook event that fires when configuration files change during a session, enabling enterprise security auditing and optional blocking of settings changes.
  • Fixed --resume session picker showing raw XML tags for sessions that start with commands like /clear. Now correctly falls through to the session ID fallback.
v2.1.472026-02-18ctrl+fIMP Shift+DIMP Shift+UIMP /renameIMP /helpFIX /modelFIX /compactFIX /clearFIX /resumeFIX /add-dirNEW Shift+EFIX /resume <session-id>FIX /forkFIX
  • Search patterns in collapsed tool results are now displayed in quotes for clarity
  • Windows: Fixed CWD tracking temp files never being cleaned up, causing them to accumulate indefinitely (anthropics/claude-code#17600)
  • Use ctrl+f to kill all background agents instead of double-pressing ESC. Background agents now continue running when you press ESC to cancel the main thread, giving you more control over agent lifecycle.
  • Simplified teammate navigation to use only Shift+Down (with wrapping) instead of both Shift+Up and Shift+Down.
  • Added last_assistant_message field to Stop and SubagentStop hook inputs, providing the final assistant response text so hooks can access it without parsing transcript files.
  • Fixed custom session titles set via /rename being lost after resuming a conversation (anthropics/claude-code#23610)
  • Fixed built-in slash commands (/help, /model, /compact, etc.) being hidden from the autocomplete dropdown when many user skills are installed (anthropics/claude-code#22020)
  • Fixed session name persisting in status bar after /clear command (anthropics/claude-code#26082)
  • Fixed /resume silently dropping sessions when the first message exceeds 16KB or uses array-format content (anthropics/claude-code#25721)
  • Added chat:newline keybinding action for configurable multi-line input (anthropics/claude-code#26075)
  • Added added_dirs to the statusline JSON workspace section, exposing directories added via /add-dir to external scripts (anthropics/claude-code#26096)
  • Fixed Warp terminal incorrectly prompting for Shift+Enter setup when it supports it natively (anthropics/claude-code#25957)
  • Increased initial session count in resume picker from 10 to 50 for faster session discovery (anthropics/claude-code#26123)
  • Windows: fixed worktree session matching when drive letter casing differs (anthropics/claude-code#26123)
  • Fixed /resume <session-id> failing to find sessions whose first message exceeds 16KB (anthropics/claude-code#25920)
  • Fixed crash when using /fork on sessions that used web search — null entries in search results from transcript deserialization are now handled gracefully (anthropics/claude-code#25811)
  • Windows: Fixed the same CLAUDE.md file being loaded twice when drive letter casing differs between paths (anthropics/claude-code#25756)
  • Moved config backup files from home directory root to ~/.claude/backups/ to reduce home directory clutter (anthropics/claude-code#26130)
  • Fixed sessions with large first prompts (>16KB) disappearing from the /resume list (anthropics/claude-code#26140)
  • The /rename command now updates the terminal tab title by default (anthropics/claude-code#25789)
v2.1.46
  • Added support for using claude.ai MCP connectors in Claude Code
v2.1.452026-02-17--add-dirNEW
  • Added support for Claude Sonnet 4.6
  • Added support for reading enabledPlugins and extraKnownMarketplaces from --add-dir directories
  • Added spinnerTipsOverride setting to customize spinner tips — configure tips with an array of custom tip strings, and optionally set excludeDefault: true to show only your custom tips instead of the built-in ones
  • Added SDKRateLimitInfo and SDKRateLimitEvent types to the SDK, enabling consumers to receive rate limit status updates including utilization, reset times, and overage information
  • [VSCode] Improved permission destination choice (project/user/session) to persist across sessions
v2.1.442026-02-16
  • Fixed ENAMETOOLONG errors for deeply-nested directory paths
  • Fixed auth refresh errors
v2.1.43
  • Fixed AWS auth refresh hanging indefinitely by adding a 3-minute timeout
  • Fixed spurious warnings for non-agent markdown files in .claude/agents/ directory
  • Fixed structured-outputs beta header being sent unconditionally on Vertex/Bedrock
v2.1.422026-02-13/resumeFIX /compactFIX
  • Added one-time Opus 4.6 effort callout for eligible users
  • Fixed /resume showing interrupt messages as session titles
  • Fixed image dimension limit errors to suggest /compact
v2.1.412026-02-13/resumeFIX /renameIMP
  • Added guard against launching Claude Code inside another Claude Code session
  • Fixed /resume session previews showing raw XML tags instead of readable command names
  • Added speed attribute to OTel events and trace spans for fast mode visibility
  • Added claude auth login, claude auth status, and claude auth logout CLI subcommands
  • Added Windows ARM64 (win32-arm64) native binary support
  • Improved /rename to auto-generate session name from conversation context when called without arguments
v2.1.392026-02-10
  • Improved terminal rendering performance
  • Fixed fatal errors being swallowed instead of displayed
  • Fixed process hanging after session close
  • Fixed character loss at terminal screen boundary
  • Fixed blank lines in verbose transcript view
v2.1.382026-02-10
  • Blocked writes to .claude/skills directory in sandbox mode
v2.1.372026-02-07/fastFIX /extra-usageFIX
  • Fixed an issue where /fast was not immediately available after enabling /extra-usage
v2.1.362026-02-07
  • Fast mode is now available for Opus 4.6. Learn more at https://code.claude.com/docs/en/fast-mode
v2.1.342026-02-06
  • Fixed a crash when agent teams setting changed between renders
  • Fixed a bug where commands excluded from sandboxing (via sandbox.excludedCommands or dangerouslyDisableSandbox) could bypass the Bash ask permission rule when autoAllowBashIfSandboxed was enabled
v2.1.332026-02-06/skillsNEW /resumeFIX
  • Added TeammateIdle and TaskCompleted hook events for multi-agent workflows
  • Added support for restricting which sub-agents can be spawned via Task(agent_type) syntax in agent "tools" frontmatter
  • Added memory frontmatter field support for agents, enabling persistent memory with user, project, or local scope
  • Added plugin name to skill descriptions and /skills menu for better discoverability
  • Fixed /resume session picker showing raw XML markup instead of clean titles for sessions started with slash commands
  • Errors from invalid managed settings are now surfaced
  • VSCode: Added support for remote sessions, allowing OAuth users to browse and resume sessions from claude.ai
  • VSCode: Added git branch and message count to the session picker, with support for searching by branch name
  • VSCode: Fixed scroll-to-bottom under-scrolling on initial session load and session switch
v2.1.322026-02-05--add-dirIMP
  • Claude Opus 4.6 is now available!
  • Added research preview agent teams feature for multi-agent collaboration (token-intensive feature, requires setting CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)
  • Claude now automatically records and recalls memories as it works
  • Added "Summarize from here" to the message selector, allowing partial conversation summarization.
  • Skills defined in .claude/skills/ within additional directories (--add-dir) are now loaded automatically.
  • Updated --resume to re-use --agent value specified in previous conversation by default.
  • Skill character budget now scales with context window (2% of context), so users with larger context windows can see more skill descriptions without truncation
  • VSCode: Fixed slash commands incorrectly being executed when pressing Enter with preceding text in the input field
  • VSCode: Added spinner when loading past conversations list
v2.1.312026-02-04
  • Added session resume hint on exit, showing how to continue your conversation later
  • Added support for full-width (zenkaku) space input from Japanese IME in checkbox selection
  • Reduced layout jitter in the terminal when the spinner appears and disappears during streaming
v2.1.302026-02-03--client-idNEW --client-secretNEW /debugNEW --topo-orderNEW --cherry-pickNEW --formatNEW --rawNEW /loginFIX /upgradeFIX --resumeIMP /modelIMP Shift+ENEW
  • Added pages parameter to the Read tool for PDFs, allowing specific page ranges to be read (e.g., pages: "1-5"). Large PDFs (>10 pages) now return a lightweight reference when @ mentioned instead of being inlined into context.
  • Added pre-configured OAuth client credentials for MCP servers that don't support Dynamic Client Registration (e.g., Slack). Use --client-id and --client-secret with claude mcp add.
  • Added /debug for Claude to help troubleshoot the current session
  • Added support for additional git log and git show flags in read-only mode (e.g., --topo-order, --cherry-pick, --format, --raw)
  • Added token count, tool uses, and duration metrics to Task tool results
  • Added reduced motion mode to the config
  • Fixed 400 errors that could occur after running /login when the conversation contained thinking blocks
  • Fixed rate limit message showing incorrect "/upgrade" suggestion for Max 20x users when extra-usage is unavailable
  • Improved memory usage for --resume (68% reduction for users with many sessions) by replacing the session index with lightweight stat-based loading and progressive enrichment
  • Changed /model to execute immediately instead of being queued
  • [VSCode] Added multiline input support to the "Other" text input in question dialogs (use Shift+Enter for new lines)
  • [VSCode] Fixed duplicate sessions appearing in the session list when starting a new conversation
v2.1.292026-01-31
  • Fixed startup performance issues when resuming sessions that have saved_hook_context
v2.1.272026-01-30--from-prNEW /contextFIX
  • Added tool call failures and denials to debug logs
  • Added --from-pr flag to resume sessions linked to a specific GitHub PR number or URL
  • Sessions are now automatically linked to PRs when created via gh pr create
  • Fixed /context command not displaying colored output
  • Windows: Fixed bash command execution failing for users with .bashrc files
  • Windows: Fixed console windows flashing when spawning child processes
  • VSCode: Fixed OAuth token expiration causing 401 errors after extended sessions
v2.1.252026-01-29
  • Fixed beta header validation error for gateway users on Bedrock and Vertex, ensuring CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 avoids the error
v2.1.232026-01-29
  • Added customizable spinner verbs setting (spinnerVerbs)
  • [IDE] Fixed model options displaying incorrect region strings for Bedrock users in headless mode
v2.1.222026-01-28
  • Fixed structured outputs for non-interactive (-p) mode
v2.1.212026-01-28
  • Added support for full-width (zenkaku) number input from Japanese IME in option selection prompts
  • [VSCode] Added automatic Python virtual environment activation, ensuring python and pip commands use the correct interpreter (configurable via claudeCode.usePythonEnvironment setting)
  • [VSCode] Fixed message action buttons having incorrect background colors
v2.1.202026-01-27Ctrl+GNEW --add-dirNEW /contextFIX /sandboxIMP /commit-push-prIMP /copyIMP
  • Added arrow key history navigation in vim normal mode when cursor cannot move further
  • Added external editor shortcut (Ctrl+G) to the help menu for better discoverability
  • Added PR review status indicator to the prompt footer, showing the current branch's PR state (approved, changes requested, pending, or draft) as a colored dot with a clickable link
  • Added support for loading CLAUDE.md files from additional directories specified via --add-dir flag (requires setting CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1)
  • Added ability to delete tasks via the TaskUpdate tool
  • Fixed duplicate output in some commands like /context
  • Improved /sandbox command UI to show dependency status with installation instructions when dependencies are missing
  • Changed the /commit-push-pr skill to automatically post PR URLs to Slack channels when configured via MCP tools
  • Changed the /copy command to be available to all users
v2.1.192026-01-23/renameFIX /tagFIX Ctrl+SFIX
  • Added env var CLAUDE_CODE_ENABLE_TASKS, set to false to keep the old system temporarily
  • Added shorthand $0, $1, etc. for accessing individual arguments in custom commands
  • Fixed /rename and /tag not updating the correct session when resuming from a different directory (e.g., git worktrees)
  • Fixed pasted text content being lost when using prompt stash (Ctrl+S) and restore
  • [SDK] Added replay of queued_command attachment messages as SDKUserMessageReplay events when replayUserMessages is enabled
  • [VSCode] Enabled session forking and rewind functionality for all users
v2.1.182026-01-22/keybindingsNEW
  • Added customizable keyboard shortcuts. Configure keybindings per context, create chord sequences, and personalize your workflow. Run /keybindings to get started. Learn more at https://code.claude.com/docs/en/keybindings
v2.1.172026-01-22
  • Fixed crashes on processors without AVX instruction support
v2.1.162026-01-22/compactFIX
  • Added new task management system, including new capabilities like dependency tracking
  • [VSCode] Added native plugin management support
  • [VSCode] Added ability for OAuth users to browse and resume remote Claude sessions from the Sessions dialog
  • Fixed an issue where the "context remaining" warning was not hidden after running /compact
  • [IDE] Fixed a race condition on Windows where the Claude Code sidebar view container would not appear on start
v2.1.152026-01-21/compactFIX
  • Added deprecation notification for npm installations - run claude install or see https://docs.anthropic.com/en/docs/claude-code/getting-started for more options
  • Fixed the "Context left until auto-compact" warning not disappearing after running /compact
v2.1.142026-01-20/feedbackFIX /contextFIX /configFIX /modelFIX /todosFIX /compactFIX /usageNEW
  • Added history-based autocomplete in bash mode (!) - type a partial command and press Tab to complete from your bash command history
  • Added search to installed plugins list - type to filter by name or description
  • Added support for pinning plugins to specific git commit SHAs, allowing marketplace entries to install exact versions
  • Fixed /feedback command generating invalid GitHub issue URLs when description is very long
  • Fixed /context command to show the same token count and percentage as the status line in verbose mode
  • Fixed an issue where /config, /context, /model, and /todos command overlays could close unexpectedly
  • Fixed slash command autocomplete selecting wrong command when typing similar commands (e.g., /context vs /compact)
  • [VSCode] Added /usage command to display current plan usage
v2.1.122026-01-17
  • Fixed message rendering bug
v2.1.112026-01-17
  • Fixed excessive MCP connection requests for HTTP/SSE transports
v2.1.102026-01-17--initNEW --init-onlyNEW --maintenanceNEW
  • Added new Setup hook event that can be triggered via --init, --init-only, or --maintenance CLI flags for repository setup and maintenance operations
  • Added keyboard shortcut 'c' to copy OAuth URL when browser doesn't open automatically during login
  • [VSCode] Added install count display to plugin listings
  • [VSCode] Added trust warning when installing plugins
v2.1.92026-01-16Ctrl+GNEW Ctrl+ZFIX
  • Added auto:N syntax for configuring the MCP tool search auto-enable threshold, where N is the context window percentage (0-100)
  • Added plansDirectory setting to customize where plan files are stored
  • Added external editor support (Ctrl+G) in AskUserQuestion "Other" input field
  • Added session URL attribution to commits and PRs created from web sessions
  • Added support for PreToolUse hooks to return additionalContext to the model
  • Added ${CLAUDE_SESSION_ID} string substitution for skills to access the current session ID
  • Fixed Ctrl+Z suspend not working in terminals using Kitty keyboard protocol (Ghostty, iTerm2, kitty, WezTerm)
v2.1.72026-01-14/modelFIX /themeFIX
  • Added showTurnDuration setting to hide turn duration messages (e.g., "Cooked for 1m 6s")
  • Added ability to provide feedback when accepting permission prompts
  • Added inline display of agent's final response in task notifications, making it easier to see results without reading the full transcript file
  • Fixed spinner briefly flashing when running local slash commands like /model or /theme
  • Enabled MCP tool search auto mode by default for all users. When MCP tool descriptions exceed 10% of the context window, they are automatically deferred and discovered via the MCPSearch tool instead of being loaded upfront. This reduces context usage for users with many MCP tools configured. Users can disable this by adding MCPSearch to disallowedTools in their settings.
  • [VSCode] Fixed claudeProcessWrapper setting passing the wrapper path instead of the Claude binary path
v2.1.62026-01-13/configNEW /doctorNEW /statsNEW Ctrl+GNEW /tasksIMP /mcpDEL
  • Added search functionality to /config command for quickly filtering settings
  • Added Updates section to /doctor showing auto-update channel and available npm versions (stable/latest)
  • Added date range filtering to /stats command - press r to cycle between Last 7 days, Last 30 days, and All time
  • Added automatic discovery of skills from nested .claude/skills directories when working with files in subdirectories
  • Added context_window.used_percentage and context_window.remaining_percentage fields to status line input for easier context window display
  • Added an error display when the editor fails during Ctrl+G
  • Improved the /tasks dialog to go directly to task details when there's only one background task running
  • Updated "Help improve Claude" setting fetch to refresh OAuth and retry when it fails due to a stale OAuth token
  • Removed ability to @-mention MCP servers to enable/disable - use /mcp enable <name> instead
  • [VSCode] Fixed usage indicator not updating after manual compact
v2.1.52026-01-12
  • Added CLAUDE_CODE_TMPDIR environment variable to override the temp directory used for internal temp files, useful for environments with custom temp directory requirements
v2.1.42026-01-11Ctrl+BNEW
  • Added CLAUDE_CODE_DISABLE_BACKGROUND_TASKS environment variable to disable all background task functionality including auto-backgrounding and the Ctrl+B shortcut
v2.1.32026-01-09/configNEW /doctorNEW /clearFIX
  • Merged slash commands and skills, simplifying the mental model with no change in behavior
  • Added release channel (stable or latest) toggle to /config
  • Added detection and warnings for unreachable permission rules, with warnings in /doctor and after saving rules that include the source of each rule and actionable fix guidance
  • Fixed plan files persisting across /clear commands, now ensuring a fresh plan file is used after clearing a conversation
  • [VSCode] Added clickable destination selector for permission requests, allowing you to choose where settings are saved (this project, all projects, shared with team, or session only)
v2.1.22026-01-09Shift+TNEW --agentNEW /tasksFIX /pluginsIMP
  • Added source path metadata to images dragged onto the terminal, helping Claude understand where images originated
  • Added clickable hyperlinks for file paths in tool output in terminals that support OSC 8 (like iTerm)
  • Added support for Windows Package Manager (winget) installations with automatic detection and update instructions
  • Added Shift+Tab keyboard shortcut in plan mode to quickly select "auto-accept edits" option
  • Added FORCE_AUTOUPDATE_PLUGINS environment variable to allow plugin autoupdate even when the main auto-updater is disabled
  • Added agent_type to SessionStart hook input, populated if --agent is specified
  • Fixed remote session URL and teleport being broken when using /tasks command
  • Changed /plugins installed tab to unify plugins and MCPs with scope-based grouping
  • [SDK] Changed minimum zod peer dependency to ^4.0.0
  • [VSCode] Fixed usage display not updating after manual compact
v2.1.02026-01-07Shift+EIMP --resumeFIX Ctrl+RFIX Ctrl+BNEW /teleportNEW /remote-envNEW --disallowedToolsNEW /planNEW --toolsNEW Ctrl+VNEW Ctrl+ONEW Alt+BFIX Alt+FFIX /pathFIX /contextFIX --model haikuFIX /hooksFIX /skillsIMP /statsIMP
  • Added automatic skill hot-reload - skills created or modified in ~/.claude/skills or .claude/skills are now immediately available without restarting the session
  • Added support for running skills and slash commands in a forked sub-agent context using context: fork in skill frontmatter
  • Added support for agent field in skills to specify agent type for execution
  • Added language setting to configure Claude's response language (e.g., language: "japanese")
  • Changed Shift+Enter to work out of the box in iTerm2, WezTerm, Ghostty, and Kitty without modifying terminal configs
  • Added respectGitignore support in settings.json for per-project control over @-mention file picker behavior
  • Added IS_DEMO environment variable to hide email and organization from the UI, useful for streaming or recording sessions
  • Fixed files and skills not being properly discovered when resuming sessions with -c or --resume
  • Fixed pasted content being lost when replaying prompts from history using up arrow or Ctrl+R search
  • Reduced permission prompts for complex bash commands
  • Added wildcard pattern matching for Bash tool permissions using * at any position in rules (e.g., Bash(npm *), Bash(* install), Bash(git * main))
  • Added unified Ctrl+B backgrounding for both bash commands and agents - pressing Ctrl+B now backgrounds all running foreground tasks simultaneously
  • Added support for MCP list_changed notifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection
  • Added /teleport and /remote-env slash commands for claude.ai subscribers, allowing them to resume and configure remote sessions
  • Added support for disabling specific agents using Task(AgentName) syntax in settings.json permissions or the --disallowedTools CLI flag
  • Added /plan command shortcut to enable plan mode directly from the prompt
  • Added --tools flag support in interactive mode to restrict which built-in tools Claude can use during interactive sessions
  • Added Cmd+V support for image paste in iTerm2 (maps to Ctrl+V)
  • Added real-time thinking block display in Ctrl+O transcript mode
  • Fixed Alt+B and Alt+F (word navigation) not working in iTerm2, Ghostty, Kitty, and WezTerm
  • Fixed bash command prefix extraction to correctly identify subcommands after global options (e.g., git -C /path log now correctly matches Bash(git log:*) rules)
  • Fixed slash commands passed as CLI arguments (e.g., claude /context) not being executed properly
  • Fixed skill token estimates in /context to accurately reflect frontmatter-only loading
  • Fixed model picker showing incorrect selection for Bedrock/Vertex users using --model haiku
  • Fixed /hooks menu selecting wrong hook type when scrolling to a different option
  • Improved skills from /skills/ directories to be visible in the slash command menu by default (opt-out with user-invocable: false in frontmatter)
  • Improved /stats output
v2.0.762026-01-07
  • Fixed issue with macOS code-sign warning when using Claude in Chrome integration
v2.0.752025-12-20
  • Minor bugfixes
v2.0.742025-12-19/terminal-setupNEW /themeNEW ctrl+tNEW /plugins discoverFIX /pluginsFIX /contextIMP
  • Added LSP (Language Server Protocol) tool for code intelligence features like go-to-definition, find references, and hover documentation
  • Added /terminal-setup support for Kitty, Alacritty, Zed, and Warp terminals
  • Added ctrl+t shortcut in /theme to toggle syntax highlighting on/off
  • Added syntax highlighting info to theme picker
  • Added guidance for macOS users when Alt shortcuts fail due to terminal configuration
  • Fixed visual bug in /plugins discover where list selection indicator showed while search box was focused
  • Improved /context command visualization with grouped skills and agents by source, slash commands, and sorted token count
  • [Windows] Fixed issue with improper rendering
  • [VSCode] Added gift tag pictogram for year-end promotion message
v2.0.732025-12-19alt+yNEW ctrl+yNEW --session-idNEW --resumeNEW --continueNEW --fork-sessionNEW /themeIMP
  • Added clickable [Image #N] links that open attached images in the default viewer
  • Added alt-y yank-pop to cycle through kill ring history after ctrl-y yank
  • Added search filtering to the plugin discover screen (type to filter by name, description, or marketplace)
  • Added support for custom session IDs when forking sessions with --session-id combined with --resume or --continue and --fork-session
  • Improved /theme command to open theme picker directly
  • [VSCode] Added tab icon badges showing pending permissions (blue) and unread completions (orange)
v2.0.722025-12-17/contextFIX Ctrl+KFIX Ctrl+YFIX Alt+TIMP
  • Added Claude in Chrome (Beta) feature that works with the Chrome extension (https://claude.ai/chrome) to let you control your browser directly from Claude Code
  • Reduced terminal flickering
  • Added scannable QR code to mobile app tip for quick app downloads
  • Added loading indicator when resuming conversations for better feedback
  • Fixed /context command not respecting custom system prompts in non-interactive mode
  • Fixed order of consecutive Ctrl+K lines when pasting with Ctrl+Y
  • Changed thinking toggle from Tab to Alt+T to avoid accidental triggers
v2.0.712025-12-16/configNEW /settingsNEW --dangerously-skip-permissionsFIX
  • Added /config toggle to enable/disable prompt suggestions
  • Added /settings as an alias for the /config command
  • Fixed MCP servers from .mcp.json not loading when using --dangerously-skip-permissions
  • Bedrock: Environment variable ANTHROPIC_BEDROCK_BASE_URL is now respected for token counting and inference profile listing
  • New syntax highlighting engine for native build
v2.0.702025-12-15Ctrl+SIMP /configFIX
  • Added Enter key to accept and submit prompt suggestions immediately (tab still accepts for editing)
  • Added wildcard syntax mcp__server__* for MCP tool permissions to allow or deny all tools from a server
  • Added auto-update toggle for plugin marketplaces, allowing per-marketplace control over automatic updates
  • Added current_usage field to status line input, enabling accurate context window percentage calculations
  • Improved resolution of stats screenshots copied to clipboard (Ctrl+S) for crisper images
  • Fix thinking mode toggle in /config not persisting correctly
  • Improve UI for file creation permission dialog
v2.0.692025-12-13
  • Minor bugfixes
v2.0.682025-12-12
  • Add support for enterprise managed settings. Contact your Anthropic account team to enable this feature.
v2.0.672025-12-11/config /permissionsNEW /doctorIMP
  • Thinking mode is now enabled by default for Opus 4.5
  • Thinking mode configuration has moved to /config
  • Added search functionality to /permissions command with / keyboard shortcut for filtering rules by tool name
  • Show reason why autoupdater is disabled in /doctor
  • Fixed scroll position resetting after deleting a permission rule in /permissions
  • Windows: Fixed plugin MCP servers failing due to colons in log directory paths
v2.0.652025-12-11alt+pNEW
  • Added ability to switch models while writing a prompt using alt+p (linux, windows), option+p (macos).
  • Added context window information to status line input
  • Added fileSuggestion setting for custom @ file search commands
  • Added CLAUDE_CODE_SHELL environment variable to override automatic shell detection (useful when login shell differs from actual working shell)
v2.0.642025-12-10/statsIMP /renameNEW /resume <name>NEW /resumeNEW --resumeNEW --system-promptFIX --continueFIX
  • Made auto-compacting instant
  • Agents and bash commands can run asynchronously and send messages to wake up the main agent
  • /stats now provides users with interesting CC stats, such as favorite model, usage graph, usage streak
  • Added named session support: use /rename to name sessions, /resume <name> in REPL or claude --resume <name> from the terminal to resume them
  • Added support for .claude/rules/`. See https://code.claude.com/docs/en/memory for details.
  • Added image dimension metadata when images are resized, enabling accurate coordinate mappings for large images
  • Fixed --system-prompt being ignored when using --continue or --resume flags
  • Improved /resume screen with grouped forked sessions and keyboard shortcuts for preview (P) and rename (R)
  • VSCode: Added copy-to-clipboard button on code blocks and bash tool inputs
  • VSCode: Fixed extension not working on Windows ARM64 by falling back to x64 binary via emulation
  • Bedrock: Improve efficiency of token counting
  • Bedrock: Add support for aws login AWS Management Console credentials
v2.0.622025-12-09
  • Added "(Recommended)" indicator for multiple-choice questions, with the recommended option moved to the top of the list
  • Added attribution setting to customize commit and PR bylines (deprecates includeCoAuthoredBy)
v2.0.612025-12-07
  • Reverted VSCode support for multiple terminal clients due to responsiveness issues.
v2.0.602025-12-05--disable-slash-commandsNEW /mcp
  • Added background agent support. Agents run in the background while you work
  • Added --disable-slash-commands CLI flag to disable all slash commands
  • Added model name to "Co-Authored-By" commit messages
  • Enabled "/mcp enable [server-name]" or "/mcp disable [server-name]" to quickly toggle all servers
  • Updated Fetch to skip summarization for pre-approved websites
  • VSCode: Added support for multiple terminal clients connecting to the IDE server simultaneously
v2.0.592025-12-04--agentNEW
  • Added --agent CLI flag to override the agent setting for the current session
  • Added agent setting to configure main thread with a specific agent's system prompt, tool restrictions, and model
  • VS Code: Fixed .claude.json config file being read from incorrect location
v2.0.582025-12-03
  • Pro users now have access to Opus 4.5 as part of their subscription!
  • Windows: Managed settings now prefer C:\Program Files\ClaudeCode if it exists. Support for C:\ProgramData\ClaudeCode will be removed in a future version.
v2.0.572025-12-03
  • Added feedback input when rejecting plans, allowing users to tell Claude what to change
  • VSCode: Added streaming message support for real-time response display
v2.0.562025-12-01
  • Added setting to enable/disable terminal progress bar (OSC 9;4)
  • VSCode Extension: Added support for VS Code's secondary sidebar (VS Code 1.97+), allowing Claude Code to be displayed in the right sidebar while keeping the file explorer on the left. Requires setting sidebar as Preferred Location in the config.
v2.0.552025-11-26
  • Fixed proxy DNS resolution being forced on by default. Now opt-in via CLAUDE_CODE_PROXY_RESOLVES_HOSTS=true environment variable
  • Fixed keyboard navigation becoming unresponsive when holding down arrow keys in memory location selector
  • Improved AskUserQuestion tool to auto-submit single-select questions on the last question, eliminating the extra review screen for simple question flows
  • Improved fuzzy matching for @ file suggestions with faster, more accurate results
v2.0.542025-11-25
  • Hooks: Enable PermissionRequest hooks to process 'always allow' suggestions and apply permission updates
  • Fix issue with excessive iTerm notifications
v2.0.522025-11-24/usageFIX
  • Fixed /usage command progress bars to fill up as usage increases (instead of showing remaining percentage)
  • Permit some uses of $! in bash commands
v2.0.512025-11-24/usageIMP
  • Added Opus 4.5! https://www.anthropic.com/news/claude-opus-4-5
  • Introducing Claude Code for Desktop: https://claude.com/download
  • To give you room to try out our new model, we've updated usage limits for Claude Code users. See the Claude Opus 4.5 blog for full details
  • Pro users can now purchase extra usage for access to Opus 4.5 in Claude Code
  • Plan Mode now builds more precise plans and executes more thoroughly
  • Usage limit notifications now easier to understand
  • Switched /usage back to "% used"
v2.0.502025-11-21
  • Silenced a noisy but harmless error during upgrades
v2.0.492025-11-21ctrl+yNEW
  • Added readline-style ctrl-y for pasting deleted text
v2.0.472025-11-19/usageIMP
  • Improved error handling in /usage
v2.0.462025-11-19
  • Fixed image files being reported with incorrect media type when format cannot be detected from metadata
v2.0.452025-11-18
  • Added support for Microsoft Foundry! See https://code.claude.com/docs/en/azure-ai-foundry
  • Added PermissionRequest hook to automatically approve or deny tool permission requests with custom logic
  • Send background tasks to Claude Code on the web by starting a message with &
v2.0.432025-11-17
  • Added permissionMode field for custom agents
  • Added tool_use_id field to PreToolUseHookInput and PostToolUseHookInput types
  • Added skills frontmatter field to declare skills to auto-load for subagents
  • Added the SubagentStart hook event
v2.0.422025-11-14
  • Added agent_id and agent_transcript_path fields to SubagentStop hooks.
v2.0.412025-11-14--model haiku /model ctrl+r
  • Added model parameter to prompt-based stop hooks, allowing users to specify a custom model for hook evaluation
  • Fixed: Bedrock users no longer see duplicate Opus entries in the /model picker when using --model haiku
  • ctrl-r history search landing on a slash command no longer cancels the search
  • SDK: Support custom timeouts for hooks
  • Allow more safe git commands to run without approval
  • Plugins: Added support for sharing and installing output styles
  • Teleporting a session from web will automatically set the upstream branch
v2.0.372025-11-10
  • Hooks: Added matcher values for Notification hook events
  • Output Styles: Added keep-coding-instructions option to frontmatter
v2.0.362025-11-07
  • Fixed: DISABLE_AUTOUPDATER environment variable now properly disables package manager update notifications
  • Fixed queued messages being incorrectly executed as bash commands
  • Fixed input being lost when typing while a queued message is processed
v2.0.352025-11-06/hooksFIX
  • Improve fuzzy search results when searching commands
  • Added CLAUDE_CODE_EXIT_AFTER_STOP_DELAY environment variable to automatically exit SDK mode after a specified idle duration, useful for automated workflows and scripts
  • Migrated ignorePatterns from project config to deny permissions in the localSettings.
  • Fixed menu navigation getting stuck on items with empty string or other falsy values (e.g., in the /hooks menu)
v2.0.342025-11-05
  • VSCode Extension: Added setting to configure the initial permission mode for new conversations
v2.0.332025-11-04
  • Native binary installs now launch quicker.
v2.0.322025-11-03
  • Un-deprecate output styles based on community feedback
  • Added companyAnnouncements setting for displaying announcements on startup
v2.0.312025-10-31shift+t alt+m /compactFIX
  • Windows: native installation uses shift+tab as shortcut for mode switching, instead of alt+m
  • Vertex: add support for Web Search on supported models
  • VSCode: Adding the respectGitIgnore configuration to include .gitignored files in file searches (defaults to true)
  • Fixed issue causing /compact to fail with prompt_too_long by making it respect existing compact boundaries
v2.0.302025-10-30/output-styleIMP /contextFIX --mcp-configFIX
  • Added helpful hint to run security unlock-keychain when encountering API key errors on macOS with locked keychain
  • Added allowUnsandboxedCommands sandbox setting to disable the dangerouslyDisableSandbox escape hatch at policy level
  • Added disallowedTools field to custom agent definitions for explicit tool blocking
  • Added prompt-based stop hooks
  • VSCode: Added respectGitIgnore configuration to include .gitignored files in file searches (defaults to true)
  • Enabled SSE MCP servers on native build
  • Deprecated output styles. Review options in /output-style and use --system-prompt-file, --system-prompt, --append-system-prompt, CLAUDE.md, or plugins instead
  • Fixed a bug where /context would sometimes fail with "max_tokens must be greater than thinking.budget_tokens" error message
  • Fixed --mcp-config flag to correctly override file-based MCP configurations
  • VSCode: Restored selection indicator in input footer showing current file or code selection status
v2.0.282025-10-27--max-budget-usdNEW /terminal-setupIMP
  • Plan mode: introduced new Plan subagent
  • Subagents: claude can now choose to resume subagents
  • Subagents: claude can dynamically choose the model used by its subagents
  • SDK: added --max-budget-usd flag
  • Discovery of custom slash commands, subagents, and output styles no longer respects .gitignore
  • Stop /terminal-setup from adding backslash to Shift + Enter in VS Code
  • Add branch and tag support for git-based plugins and marketplaces using fragment syntax (e.g., owner/repo#branch)
  • Various other bug fixes
v2.0.272025-10-24
  • New UI for permission prompts
  • Added current branch filtering and search to session resume screen for easier navigation
  • VSCode Extension: Add config setting to include .gitignored files in file searches
  • VSCode Extension: Bug fixes for unrelated 'Warmup' conversations, and configuration/settings occasionally being reset to defaults
v2.0.252025-10-21/platformDEL
  • Removed legacy SDK entrypoint. Please migrate to @anthropic-ai/claude-agent-sdk for future SDK updates: https://platform.claude.com/docs/en/agent-sdk/migration-guide
v2.0.242025-10-20
  • Claude Code Web: Support for Web -> CLI teleport
  • Sandbox: Releasing a sandbox mode for the BashTool on Linux & Mac
  • Bedrock: Display awsAuthRefresh output when auth is required
v2.0.222025-10-17
  • IDE: Add toggle to enable/disable thinking.
  • Fix bug causing duplicate permission prompts with parallel tool calls
  • Add support for enterprise managed MCP allowlist and denylist
v2.0.212025-10-16
  • Support MCP structuredContent field in tool responses
  • Added an interactive question tool
  • Claude will now ask you questions more often in plan mode
  • Added Haiku 4.5 as a model option for Pro users
v2.0.202025-10-16
  • Added support for Claude Skills
v2.0.192025-10-15
  • Auto-background long-running bash commands instead of killing them. Customize with BASH_DEFAULT_TIMEOUT_MS
v2.0.172025-10-15
  • Added Haiku 4.5 to model selector!
  • Haiku 4.5 automatically uses Sonnet in plan mode, and Haiku for execution (i.e. SonnetPlan by default)
  • 3P (Bedrock and Vertex) are not automatically upgraded yet. Manual upgrading can be done through setting ANTHROPIC_DEFAULT_HAIKU_MODEL
  • Introducing the Explore subagent. Powered by Haiku it'll search through your codebase efficiently to save context!
  • OTEL: support HTTP_PROXY and HTTPS_PROXY
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC now disables release notes fetching
v2.0.152025-10-14
  • Fixed bug with resuming where previously created files needed to be read again before writing
  • Fixed bug with -p mode where @-mentioned files needed to be read again before writing
v2.0.142025-10-10
  • Fix @-mentioning MCP servers to toggle them on/off
  • Improve permission checks for bash with inline env vars
  • Fix ultrathink + thinking toggle
  • Reduce unnecessary logins
  • Document --system-prompt
  • Several improvements to rendering
  • Plugins UI polish
v2.0.132025-10-09/pluginFIX
  • Fixed /plugin not working on native build
v2.0.122025-10-09/plugin install /plugin marketplace /plugin /plugin validate /doctor /modelIMP /help /resumeIMP /configIMP
  • Plugin System Released**: Extend Claude Code with custom commands, agents, hooks, and MCP servers from marketplaces
  • /plugin install, /plugin enable/disable, /plugin marketplace commands for plugin management
  • Repository-level plugin configuration via extraKnownMarketplaces for team collaboration
  • /plugin validate command for validating plugin structure and configuration
  • Plugin announcement blog post at https://www.anthropic.com/news/claude-code-plugins
  • Plugin documentation available at https://code.claude.com/docs/en/plugins
  • Comprehensive error messages and diagnostics via /doctor command
  • Avoid flickering in /model selector
  • Improvements to /help
  • Avoid mentioning hooks in /resume summaries
  • Changes to the "verbose" setting in /config now persist across sessions
v2.0.112025-10-08/add-dirFIX
  • Reduced system prompt size by 1.4k tokens
  • IDE: Fixed keyboard shortcuts and focus issues for smoother interaction
  • Fixed /add-dir command selecting wrong default tab
v2.0.102025-10-07/mcp Ctrl+GNEW
  • Rewrote terminal renderer for buttery smooth UI
  • Enable/disable MCP servers by @mentioning, or in /mcp
  • Added tab completion for shell commands in bash mode
  • PreToolUse hooks can now modify tool inputs
  • Press Ctrl-G to edit your prompt in your system's configured text editor
  • Fixes for bash permission checks with environment variables in the command
v2.0.92025-10-06
  • Fix regression where bash backgrounding stopped working
v2.0.82025-10-04/context
  • Update Bedrock default Sonnet model to global.anthropic.claude-sonnet-4-5-20250929-v1:0
  • IDE: Add drag-and-drop support for files and folders in chat
  • /context: Fix counting for thinking blocks
  • Improve message rendering for users with light themes on dark terminals
  • Remove deprecated .claude.json allowedTools, ignorePatterns, env, and todoFeatureEnabled config options (instead, configure these in your settings.json)
v2.0.52025-10-02
  • IDE: Fix IME unintended message submission with Enter and Tab
  • IDE: Add "Open in Terminal" link in login screen
  • Fix unhandled OAuth expiration 401 API errors
  • SDK: Added SDKUserMessageReplay.isReplay to prevent duplicate messages
v2.0.12025-09-30
  • Skip Sonnet 4.5 default model setting change for Bedrock and Vertex
  • Various bug fixes and presentation improvements
v2.0.02025-09-29/rewind /usage Ctrl+R --agents
  • New native VS Code extension
  • Fresh coat of paint throughout the whole app
  • /rewind a conversation to undo code changes
  • /usage command to see plan limits
  • Tab to toggle thinking (sticky across sessions)
  • Ctrl-R to search history
  • Unshipped claude config command
  • Hooks: Reduced PostToolUse 'tool_use' ids were found without 'tool_result' blocks errors
  • SDK: The Claude Code SDK is now the Claude Agent SDK
  • Add subagents dynamically with --agents flag
v1.0.1262025-09-26/contextIMP
  • Enable /context command for Bedrock and Vertex
  • Add mTLS support for HTTP-based OpenTelemetry exporters
v1.0.1242025-09-25
  • Set CLAUDE_BASH_NO_LOGIN environment variable to 1 or true to to skip login shell for BashTool
  • Fix Bedrock and Vertex environment variables evaluating all strings as truthy
  • No longer inform Claude of the list of allowed tools when permission is denied
v1.0.1232025-09-23
  • Bash permission rules now support output redirections when matching (e.g., Bash(python:*) matches python script.py > output.txt)
  • Added SlashCommand tool, which enables Claude to invoke your slash commands. https://code.claude.com/docs/en/slash-commands#SlashCommand-tool
  • Migrated --debug logging to a file, to enable easy tailing & filtering
v1.0.1202025-09-19
  • Fix input lag during typing, especially noticeable with large prompts
v1.0.1192025-09-18
  • Fix Windows issue where process visually freezes on entering interactive mode
  • Support dynamic headers for MCP servers via headersHelper configuration
  • Fix thinking mode not working in headless sessions
  • Fix slash commands now properly update allowed tools instead of replacing them
v1.0.1172025-09-16Ctrl+R /add-dir
  • Add Ctrl-R history search to recall previous commands like bash/zsh
  • Fix input lag while typing, especially on Windows
  • Add sed command to auto-allowed commands in acceptEdits mode
  • Fix Windows PATH comparison to be case-insensitive for drive letters
  • Add permissions management hint to /add-dir output
v1.0.1152025-09-16/t
  • Improve thinking mode display with enhanced visual effects
  • Type /t to temporarily disable thinking mode in your prompt
  • Improve path validation for glob and grep tools
  • Show condensed output for post-tool hooks to reduce visual clutter
  • Fix visual feedback when loading state completes
  • Improve UI consistency for permission request dialogs
v1.0.1132025-09-13Ctrl+R Ctrl+O
  • Move Ctrl+R keybinding for toggling transcript to Ctrl+O
v1.0.1122025-09-12Ctrl+R
  • Transcript mode (Ctrl+R): Added the model used to generate each assistant message
  • Addressed issue where some Claude Max users were incorrectly recognized as Claude Pro users
  • Hooks: Added systemMessage support for SessionEnd hooks
  • Added spinnerTipsEnabled setting to disable spinner tips
  • IDE: Various improvements and bug fixes
v1.0.1112025-09-10/modelIMP
  • /model now validates provided model names
v1.0.1102025-09-09/terminal-setupIMP
  • /terminal-setup command now supports WezTerm
  • MCP: OAuth tokens now proactively refresh before expiration
v1.0.1092025-09-08--include-partial-messagesNEW
  • SDK: Added partial message streaming support via --include-partial-messages CLI flag
v1.0.1062025-09-04
  • Windows: Fixed path permission matching to consistently use POSIX format (e.g., Read(//c/Users/...))
v1.0.97/doctorIMP
  • Settings: /doctor now validates permission rule syntax and suggests corrections
v1.0.942025-08-27/memoryIMP /todosNEW
  • Vertex: add support for global endpoints for supported models
  • /memory command now allows direct editing of all imported memory files
  • SDK: Add custom tools as callbacks
  • Added /todos command to list current todo items
v1.0.932025-08-26
  • Windows: Add alt + v shortcut for pasting images from clipboard
  • Support NO_PROXY environment variable to bypass proxy for specified hostnames and IPs
v1.0.902025-08-24
  • Settings file changes take effect immediately - no restart required
v1.0.882025-08-22/costFIX
  • Status line input now includes exceeds_200k_tokens
  • Fixed incorrect usage tracking in /cost.
  • Introduced ANTHROPIC_DEFAULT_SONNET_MODEL and ANTHROPIC_DEFAULT_OPUS_MODEL for controlling model aliases opusplan, opus, and sonnet.
  • Bedrock: Updated default Sonnet model to Sonnet 4
v1.0.862025-08-20/contextNEW --replay-user-messagesNEW
  • Added /context to help users self-serve debug context issues
  • SDK: Added UUID support for all SDK messages
  • SDK: Added --replay-user-messages to replay user messages back to stdout
v1.0.852025-08-19
  • Status line input now includes session cost info
  • Hooks: Introduced SessionEnd hook
v1.0.842025-08-18
  • Fix tool_use/tool_result id mismatch error when network is unstable
  • Fix Claude sometimes ignoring real-time steering when wrapping up a task
  • @-mention: Add ~/.claude/\* files to suggestions for easier agent, output style, and slash command editing
  • Use built-in ripgrep by default; to opt out of this behavior, set USE_BUILTIN_RIPGREP=0
v1.0.832025-08-15
  • @-mention: Support files with spaces in path
  • New shimmering spinner
v1.0.822025-08-15
  • SDK: Add request cancellation support
  • SDK: New additionalDirectories option to search custom paths, improved slash command processing
  • Settings: Validation prevents invalid fields in .claude/settings.json files
  • MCP: Improve tool name consistency
  • Bash: Fix crash when Claude tries to automatically read large files
v1.0.812025-08-14
  • Released output styles, including new built-in educational output styles "Explanatory" and "Learning". Docs: https://code.claude.com/docs/en/output-styles
  • Agents: Fix custom agent loading when agent files are unparsable
v1.0.802025-08-13
  • UI improvements: Fix text contrast for custom subagent colors and spinner rendering issues
v1.0.772025-08-12/model
  • Bash tool: Fix heredoc and multiline string escaping, improve stderr redirection handling
  • SDK: Add session support and permission denial tracking
  • Fix token limit errors in conversation summarization
  • Opus Plan Mode: New setting in /model to run Opus only in plan mode, Sonnet otherwise
v1.0.732025-08-11
  • MCP: Support multiple config files with --mcp-config file1.json file2.json
  • MCP: Press Esc to cancel OAuth authentication flows
  • Bash: Improved command validation and reduced false security warnings
  • UI: Enhanced spinner animations and status line visual hierarchy
  • Linux: Added support for Alpine and musl-based distributions (requires separate ripgrep installation)
v1.0.722025-08-08/permissions
  • Ask permissions: have Claude Code always ask for confirmation to use specific tools with /permissions
v1.0.712025-08-07Ctrl+b /statusline
  • Background commands: (Ctrl-b) to run any Bash command in the background so Claude can keep working (great for dev servers, tailing logs, etc.)
  • Customizable status line: add your terminal prompt to Claude Code with /statusline
v1.0.702025-08-06
  • Performance: Optimized message rendering for better performance with large contexts
  • Windows: Fixed native file search, ripgrep, and subagent functionality
  • Added support for @-mentions in slash command arguments
v1.0.692025-08-05
  • Upgraded Opus to version 4.1
v1.0.682025-08-04/pr-commentsFIX /doctorIMP
  • Fix incorrect model names being used for certain commands like /pr-comments
  • Windows: improve permissions checks for allow / deny tools and project trust. This may create a new project entry in .claude.json - manually merge the history field if desired.
  • Windows: improve sub-process spawning to eliminate "No such file or directory" when running commands like pnpm
  • Enhanced /doctor command with CLAUDE.md and MCP tool context for self-serve debugging
  • SDK: Added canUseTool callback support for tool confirmation
  • Added disableAllHooks setting
v1.0.652025-07-31
  • IDE: Fixed connection stability issues and error handling for diagnostics
  • Windows: Fixed shell environment setup for users without .bashrc files
v1.0.642025-07-30
  • Agents: Added model customization support - you can now specify which model an agent should use
  • Agents: Fixed unintended access to the recursive agent tool
  • Hooks: Added systemMessage field to hook JSON output for displaying warnings and context
  • SDK: Fixed user input tracking across multi-turn conversations
  • Added hidden files to file search and @-mention suggestions
v1.0.632025-07-29
  • Windows: Fixed file search, @agent mentions, and custom slash commands functionality
v1.0.622025-07-28/add-dirIMP
  • Added @-mention support with typeahead for custom agents. @<your-custom-agent> to invoke it
  • Hooks: Added SessionStart hook for new session initialization
  • /add-dir command now supports typeahead for directory paths
v1.0.612025-07-25Ctrl+R --settingsNEW
  • Transcript mode (Ctrl+R): Changed Esc to exit transcript mode rather than interrupt
  • Settings: Added --settings flag to load settings from a JSON file
  • Settings: Fixed resolution of settings files paths that are symlinks
  • OTEL: Fixed reporting of wrong organization after authentication changes
  • Slash commands: Fixed permissions checking for allowed-tools with Bash
  • IDE: Added support for pasting images in VSCode MacOS using ⌘+V
  • IDE: Added CLAUDE_CODE_AUTO_CONNECT_IDE=false for disabling IDE auto-connection
  • Added CLAUDE_CODE_SHELL_PREFIX for wrapping Claude and user-provided shell commands run by Claude Code
v1.0.602025-07-24/agentsNEW
  • You can now create custom subagents for specialized tasks! Run /agents to get started
v1.0.592025-07-23
  • SDK: Added tool confirmation support with canUseTool callback
  • SDK: Allow specifying env for spawned process
  • Hooks: Exposed PermissionDecision to hooks (including "ask")
  • Hooks: UserPromptSubmit now supports additionalContext in advanced JSON output
v1.0.582025-07-22
  • Added support for reading PDFs
  • MCP: Improved server health status display in 'claude mcp list'
  • Hooks: Added CLAUDE_PROJECT_DIR env var for hook commands
v1.0.572025-07-21
  • Added support for specifying a model in slash commands
  • Fix: Remove trailing newlines from bash output in terminal wrapping
v1.0.562025-07-18shift+t
  • Windows: Enabled shift+tab for mode switching on versions of Node.js that support terminal VT mode
  • Fixes for WSL IDE detection
  • Fix an issue causing awsRefreshHelper changes to .aws directory not to be picked up
v1.0.552025-07-17Ctrl+ZFIX
  • Clarified knowledge cutoff for Opus 4 and Sonnet 4 models
  • Windows: fixed Ctrl+Z crash
  • SDK: Added ability to capture error logging
  • Add --system-prompt-file option to override system prompt in print mode
v1.0.542025-07-16
  • Hooks: Added UserPromptSubmit hook and the current working directory to hook inputs
  • Custom slash commands: Added argument-hint to frontmatter
  • Windows: OAuth uses port 45454 and properly constructs browser URL
  • Windows: mode switching now uses alt + m, and plan mode renders properly
  • Shell: Switch to in-memory shell snapshot to fix file-related errors
v1.0.532025-07-15
  • Updated @-mention file truncation from 100 lines to 2000 lines
  • Add helper script settings for AWS token refresh: awsAuthRefresh (for foreground operations like aws sso login) and awsCredentialExport (for background operation with STS-like response).
v1.0.522025-07-15
  • Added support for MCP server instructions
v1.0.512025-07-11/doctorIMP --append-system-promptIMP
  • Added support for native Windows (requires Git for Windows)
  • Added support for Bedrock API keys through environment variable AWS_BEARER_TOKEN_BEDROCK
  • Settings: /doctor can now help you identify and fix invalid setting files
  • --append-system-prompt can now be used in interactive mode, not just --print/-p.
  • Increased auto-compact warning threshold from 60% to 80%
  • OTEL resource now includes os.type, os.version, host.arch, and wsl.version (if running on Windows Subsystem for Linux)
  • Custom slash commands: Fixed user-level commands in subdirectories
  • Plan mode: Fixed issue where rejected plan from sub-task would get discarded
v1.0.482025-07-10
  • Added progress messages to Bash tool based on the last 5 lines of command output
  • Added expanding variables support for MCP server configuration
  • Moved shell snapshots from /tmp to ~/.claude for more reliable Bash tool calls
  • Hooks: Added a PreCompact hook
  • Vim mode: Added c, f/F, t/T
v1.0.452025-07-08Ctrl+UIMP /clearIMP
  • Redesigned Search (Grep) tool with new tool input parameters and features
  • Disabled IDE diffs for notebook files, fixing "Timeout waiting after 1000ms" error
  • Updated prompt input undo to Ctrl+\_ to avoid breaking existing Ctrl+U behavior, matching zsh's undo shortcut
  • Stop Hooks: Fixed transcript path after /clear and fixed triggering when loop ends with tool call
  • Custom slash commands: Restored namespacing in command names based on subdirectories. For example, .claude/commands/frontend/component.md is now /frontend:component, not /component.
v1.0.442025-07-07/exportNEW /mcpIMP Ctrl+ZIMP Ctrl+UIMP
  • New /export command lets you quickly export a conversation for sharing
  • MCP: resource_link tool results are now supported
  • MCP: tool annotations and tool titles now display in /mcp view
  • Changed Ctrl+Z to suspend Claude Code. Resume by running fg. Prompt input undo is now Ctrl+U.
v1.0.432025-07-03
  • Hooks: Added EPIPE system error handling
v1.0.422025-07-03/add-dirNEW
  • Added tilde (~) expansion support to /add-dir command
v1.0.412025-07-02
  • Hooks: Split Stop hook triggering into Stop and SubagentStop
  • Hooks: Enabled optional timeout configuration for each command
  • Hooks: Added "hook_event_name" to hook input
  • New tool parameters JSON for Bash tool in tool_decision event
v1.0.402025-07-01
  • Fixed a bug causing API connection errors with UNABLE_TO_GET_ISSUER_CERT_LOCALLY if NODE_EXTRA_CA_CERTS was set
v1.0.392025-07-01
  • New Active Time metric in OpenTelemetry logging
v1.0.382025-06-30/github
  • Released hooks. Special thanks to community input in https://github.com/anthropics/claude-code/issues/712. Docs: https://code.claude.com/docs/en/hooks
v1.0.372025-06-27
  • Remove ability to set Proxy-Authorization header via ANTHROPIC_AUTH_TOKEN or apiKeyHelper
v1.0.362025-06-27
  • Web search now takes today's date into context
v1.0.352025-06-25
  • Added support for MCP OAuth Authorization Server discovery
v1.0.342025-06-24
  • Fixed a memory leak causing a MaxListenersExceededWarning message to appear
v1.0.332025-06-23Ctrl+ZNEW
  • Added prompt input undo functionality (Ctrl+Z and vim 'u' command)
  • Improvements to plan mode
v1.0.322025-06-23
  • Updated loopback config for litellm
  • Added forceLoginMethod setting to bypass login selection screen
v1.0.312025-06-20
  • Fixed a bug where ~/.claude.json would get reset when file contained invalid JSON
v1.0.302025-06-19Ctrl+rNEW Ctrl+cNEW
  • Custom slash commands: Run bash output, @-mention files, enable thinking with thinking keywords
  • Added timestamps in Ctrl-r mode and fixed Ctrl-c handling
v1.0.292025-06-18
  • Improved CJK character support in cursor navigation and rendering
v1.0.282025-06-18
  • Slash commands: Fix selector display during history navigation
  • Resizes images before upload to prevent API size limit errors
  • Added XDG_CONFIG_HOME support to configuration directory
  • Performance optimizations for memory usage
  • New attributes (terminal.type, language) in OpenTelemetry logging
v1.0.272025-06-17/resume
  • Streamable HTTP MCP servers are now supported
  • Remote MCP servers (SSE and HTTP) now support OAuth
  • MCP resources can now be @-mentioned
  • /resume slash command to switch conversations within Claude Code
v1.0.252025-06-16
  • Slash commands: moved "project" and "user" prefixes to descriptions
  • Slash commands: improved reliability for command discovery
v1.0.242025-06-14/mcpIMP
  • Improved /mcp output
v1.0.232025-06-13
  • Released TypeScript SDK: import @anthropic-ai/claude-code to get started
  • Released Python SDK: pip install claude-code-sdk to get started
v1.0.222025-06-12
  • SDK: Renamed total_cost to total_cost_usd
v1.0.212025-06-11
  • Fix for tool_use without matching tool_result errors
v1.0.182025-06-09--add-dirNEW /mcpNEW
  • Added --add-dir CLI argument for specifying additional working directories
  • Added streaming input support without require -p flag
  • Added CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR environment variable to freeze working directory for bash commands
  • Added detailed MCP server tools display (/mcp)
  • MCP authentication and permission improvements
  • Added auto-reconnection for MCP SSE connections on disconnect
v1.0.172025-06-06
  • We now emit messages from sub-tasks in -p mode (look for the parent_tool_use_id property)
  • MCP server list UI improvements
  • Update Claude Code process title to display "claude" instead of "node"
v1.0.112025-06-04/upgradeNEW
  • Claude Code can now also be used with a Claude Pro subscription
  • Added /upgrade for smoother switching to Claude Max plans
v1.0.102025-06-03
  • Added markdown table support
v1.0.82025-06-02
  • Increased default otel interval from 1s -> 5s
  • Added support for triggering thinking non-English languages
v1.0.72025-05-30/allowed-toolsIMP /permissionsIMP /install-github-appIMP
  • Renamed /allowed-tools -> /permissions
  • Migrated allowedTools and ignorePatterns from .claude.json -> settings.json
  • Improved error handling for /install-github-app
  • Bugfixes, UI polish, and tool reliability improvements
v1.0.62025-05-29
  • Respect CLAUDE_CONFIG_DIR everywhere
  • Reduced unnecessary tool permission prompts
  • Added support for symlinks in @file typeahead
  • Bugfixes, UI polish, and tool reliability improvements
v1.0.42025-05-28
  • Fixed a bug where MCP tool errors weren't being parsed correctly
v1.0.12025-05-22
  • Added DISABLE_INTERLEAVED_THINKING to give users the option to opt out of interleaved thinking.
  • Updated documentation links and OAuth process descriptions
v1.0.02025-05-22
  • Claude Code is now generally available
  • Introducing Sonnet 4 and Opus 4 models
v0.2.1252025-05-21
  • Breaking change: Bedrock ARN passed to ANTHROPIC_MODEL or ANTHROPIC_SMALL_FAST_MODEL should no longer contain an escaped slash (specify / instead of %2F)
  • Removed DEBUG=true in favor of ANTHROPIC_LOG=debug, to log all requests
v0.2.1172025-05-17--debugNEW
  • Introduced settings.cleanupPeriodDays
  • Introduced CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var
  • Introduced --debug mode
v0.2.1082025-05-13/costFIX
  • You can now send messages to Claude while it works to steer Claude in real-time
  • Introduced BASH_DEFAULT_TIMEOUT_MS and BASH_MAX_TIMEOUT_MS env vars
  • Fixed a regression in /cost reporting
v0.2.1072025-05-09
  • CLAUDE.md files can now import other files. Add @path/to/file.md to ./CLAUDE.md to load additional files on launch
v0.2.1062025-05-09
  • MCP SSE server configs can now specify custom headers
v0.2.1052025-05-08/statusIMP
  • Claude can now search the web
  • Moved system & account status to /status
  • Added word movement keybindings for Vim
v0.2.1022025-05-05
  • You can now paste multiple large chunks into one prompt
v0.2.1002025-05-02
  • Made db storage optional; missing db support disables --continue and --resume
v0.2.982025-05-01
  • Fixed an issue where auto-compact was running twice
v0.2.962025-05-01
  • Claude Code can now also be used with a Claude Max subscription (https://claude.ai/upgrade)
v0.2.932025-04-30--continueNEW --resumeNEW
  • Resume conversations from where you left off from with "claude --continue" and "claude --resume"
  • Claude now has access to a Todo list that helps it stay on track and be more organized
v0.2.82--disallowedToolsNEW
  • Added support for --disallowedTools
  • Renamed tools for consistency: LSTool -> LS, View -> Read, etc.
v0.2.75--mcp-configNEW
  • Hit Enter to queue up additional messages while Claude is working
  • Drag in or copy/paste image files directly into the prompt
  • @-mention files to directly add them to context
  • Run one-off MCP servers with claude --mcp-config <path-to-file>
v0.2.742025-04-18
  • Added support for refreshing dynamically generated API keys (via apiKeyHelper), with a 5 minute TTL
  • Task tool can now perform writes and run bash commands
v0.2.722025-04-17
  • Updated spinner to indicate tokens loaded and tool usage
v0.2.702025-04-15
  • Network commands like curl are now available for Claude to use
  • Claude can now run multiple web queries in parallel
  • Pressing ESC once immediately interrupts Claude in Auto-accept mode
v0.2.692025-04-11
  • Fixed UI glitches with improved Select component behavior
  • Enhanced terminal output display with better text truncation logic
v0.2.672025-04-09
  • Shared project permission rules can be saved in .claude/settings.json
v0.2.662025-04-09--output-formatNEW
  • Print mode (-p) now supports streaming output via --output-format=stream-json
v0.2.63
  • Fixed an issue where MCP tools were loaded twice, which caused tool call errors
v0.2.612025-04-03Ctrl+nNEW
  • Navigate menus with vim-style keys (j/k) or bash/emacs shortcuts (Ctrl+n/p) for faster interaction
v0.2.592025-04-02
  • Copy+paste images directly into your prompt
  • Bugfixes for non-interactive mode (-p)
v0.2.542025-03-25ctrl+rNEW
  • Quickly add to Memory by starting your message with '#'
  • Press ctrl+r to see full output for long tool results
  • Added support for MCP SSE transport
v0.2.532025-03-21
  • New web fetch tool lets Claude view URLs that you paste in
v0.2.502025-03-19
  • New MCP "project" scope now allows you to add MCP servers to .mcp.json files and commit them to your repository
v0.2.492025-03-18
  • Previous MCP server scopes have been renamed: previous "project" scope is now "local" and "global" scope is now "user"
v0.2.472025-03-18/config
  • Press Tab to auto-complete file and folder names
  • Press Shift + Tab to toggle auto-accept for file edits
  • Automatic conversation compaction for infinite conversation length (toggle with /config)
v0.2.442025-03-15
  • Ask Claude to make a plan with thinking mode: just say 'think' or 'think harder' or even 'ultrathink'
v0.2.412025-03-14
  • MCP server startup timeout can now be configured via MCP_TIMEOUT environment variable
  • MCP server startup no longer blocks the app from starting up
v0.2.372025-03-11/release-notesNEW
  • New /release-notes command lets you view release notes at any time
  • claude config add/remove commands now accept multiple values separated by commas or spaces
v0.2.362025-03-10
  • Import MCP servers from Claude Desktop with claude mcp add-from-claude-desktop
  • Add MCP servers as JSON strings with claude mcp add-json <n> <json>
v0.2.342025-03-08/vimNEW /configNEW
  • Vim bindings for text input - enable with /vim or /config
v0.2.322025-03-05
  • Interactive MCP setup wizard: Run "claude mcp add" to add MCP servers with a step-by-step interface
  • Fix for some PersistentShell issues
v0.2.312025-03-05
  • Custom slash commands: Markdown files in .claude/commands/ directories now appear as custom slash commands to insert prompts into your conversation
  • MCP debug mode: Run with --mcp-debug flag to get more information about MCP server errors
v0.2.302025-03-04
  • Added ANSI color theme for better terminal compatibility
  • (Mac-only) API keys are now stored in macOS Keychain
v0.2.26/approved-toolsNEW
  • New /approved-tools command for managing tool permissions
  • Word-level diff display for improved code readability
  • Fuzzy matching for slash commands
v0.2.21/commands
  • Fuzzy matching for /commands