Skip to main content
This page is generated from the CHANGELOG.md on GitHub. Longer releases are grouped by type of change, with long lists of improvements and bug fixes collapsed. Run claude --version to check your installed version.
October 9, 2026
Added
  • Added a code key to the Claude apps gateway’s managed.policies[]: the same settings as cli, also applied in Claude Desktop’s Code tab; beside desktop, it turns on Claude Desktop’s gateway mode
  • Added autoCompactWindow to subagent frontmatter and --agents definitions, so a subagent can auto-compact earlier than the main conversation’s window
  • Added CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL to run every workflow agent on one model while other subagents keep theirs
  • Added CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS environment variable to set a longer maximum delay for the backoff when retrying an overloaded (529) request
  • Added a note in /plugin on a plugin whose hooks are left out because another enabled plugin has the same name
  • Added an allow_large option to the Read tool so Claude can read a text file past the usual size limits in one call when it needs the whole file and the context has room
  • [Cloud sessions] Added a status filter to the Sessions and Runners lists on a self-hosted environment’s Activity tab in admin settings; you can pick several statuses at once
  • [Claude Tag] Added creating, editing and deleting workspace and channel memory files on the Activity page’s Memory tab for members with the Claude Tag Admin permission
Changed
  • Updated /cost, the status line, --max-budget-usd and the SDK’s cost figures to price Sonnet 5.5 cache reads at 0.10permilliontokens(was0.10 per million tokens (was 0.20)
  • Updated the bundled dataviz skill: lighter violet for the seventh series in light mode, softer primary text in dark mode, and compact y-axis labels like 1K
  • Changed the default limit on MCP tool descriptions sent up front and on MCP server instructions from 2,048 to 4,096 characters
  • Changed ←: a turn or ! command started while the session moves to the background is now stopped instead of finishing out of sight
  • [VSCode] Changed Claude in Chrome to ask before browser actions in every session, including one connected with @browser, as the terminal does; allowing a site for the session stops repeat asks
  • [Claude Tag] Changed Claude in Slack to show the footer with the session link, model and cost only on its newest reply in a thread; the reply before it drops the footer
October 8, 2026
Added
  • Added onFailure: "block" for command and HTTP hooks: a hook that can’t start, times out, or exits with an unexpected code blocks the action instead of letting it through
  • Added Program Status Protocol (OSC 7501) support: terminals that implement it can show whether Claude Code is working, waiting on you, or done
  • Added quoted text to the /copy picker, so a drafted message copies without its > markers
  • Added a warning to claude plugin install, enable, disable and marketplace add when the settings file they write to does not load
  • Added a line on stderr, when it is a terminal, that says what a claude -p run is waiting for when it stays open after its last turn
  • Added support for timeouts.upstream_ttfb_ms on the Claude apps gateway’s Bedrock, Vertex, Foundry and other cloud upstreams: a value you set now limits how long a stream may take to start there, after which it fails over or gets a 502
  • Added a “Backgrounding cancelled” message when you stop the turn while ← is waiting for the current tool to finish
  • Added an optional models list to every Claude apps gateway upstream: only the listed models are sent there, on failover too, and one * in an entry is a wildcard
  • Added support for forceLoginMethod: "gateway" and forceLoginGatewayUrl in your own user settings on machines with no managed settings, so /login opens on that Claude apps gateway
  • Added advice to claude plugin validate when a plugin’s README has no install line: it prints the line to paste and never changes the exit code, even with --strict
  • Added upstream_request_id to the Claude apps gateway’s inference audit event: the request ID from Amazon Bedrock, the Anthropic API or another upstream, for support cases
  • Added $.ui.notify for mods: raises a native notification through your own notification setting and says which channel sent it
  • Added children to a mod’s Button: strings and Text, so a row of a list is one pressable with a chip or a dim detail inside
  • Added CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS to limit how long unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) waits out 429 and 529 errors
  • Added a request-id header to the Claude apps gateway’s successful inference responses, so request_id in Claude Code telemetry matches the gateway’s audit log
  • [VSCode] Added a chat row for files Claude sends you: click a file’s name to open it in the editor; Claude’s caption shows underneath, and the row stays visible in Focus view
  • [Claude Tag] Added a confirmation in Claude Tag admin settings before adding a channel manager moves that member to Custom roles, which can remove their other access
Changed
  • Changed MCP tool descriptions the model loads through tool search to be cut at 16,384 characters instead of 2,048
  • Changed subagents to preload at most 32 skills from the skills field, each once; a subagent with the Skill tool can still invoke the rest
  • Changed Ctrl+C at the idle prompt of an attached background session to leave a pending /loop wakeup alone, so pressing it twice detaches and the loop keeps running; press Esc to stop it
  • Changed claude agents stopped with its background service (macOS, or Linux without the service installed): running sessions now stop in about a minute unless it is run again, and a notice says so
  • Changed claude.ai connectors to negotiate MCP protocol version 2026-07-28 by default on installs that fetch no flags; MCP_PROTOCOL_NEGOTIATION=legacy opts out
  • Changed Artifact pages with no background of their own to show on white instead of off-white
  • Changed what Claude and you read when a mod denies a tool call after the tool ran: it now says the tool ran and a plugin withheld its result
  • Changed tab stops to count from where a text starts instead of from the screen’s left edge: an answer indented by 2 has its first stop 8 cells in, where it was 6
  • Changed the Artifact tool’s permission prompts with telemetry disabled to the same five questions other installs get, instead of asking before each read of someone else’s artifact and each data edit
  • Changed scheduled and Run now routine runs in installs with telemetry disabled to publish new private artifacts, and update your own, without asking, as in other installs
  • Changed toasts from your organization’s mods to show ahead of other mods’ toasts instead of waiting behind them
  • Changed the Claude apps gateway to start with a warning and serve a desktop policy key its bundled Claude Desktop schema doesn’t know, so new Desktop settings need no gateway upgrade
  • Changed WebSocket (ws) MCP servers: a message over 16 MiB is no longer parsed and closes the connection, the limit the other transports already have
  • Self-hosted runner: Changed the runner to stop passing CCR_AUTO_MODE_ALLOW, CCR_AUTO_MODE_ENVIRONMENT and CCR_AUTO_MODE_SOFT_DENY into a session’s environment
  • [Claude Tag] Changed the settings confirmation cards Claude posts in a Slack channel to stay open for 30 minutes instead of 10
  • [Claude Tag] Changed Claude’s notice that a channel shared across Enterprise Grid workspaces uses organization defaults to post only when someone mentions Claude, at most once a month
October 8, 2026
  • Fixed prompt and agent hooks written as instructions (such as “Block commands that…”) allowing what they should block
  • Improved how prompt hooks on Stop and SubagentStop written as instructions (such as “Carry on if the build is broken”) are judged, so Claude is less likely to stop early
October 7, 2026
Added
  • Added Claude Haiku 5.5 (claude-haiku-5-5), now the default Haiku model on the Anthropic API — 1M context, 0.10/0.10/0.50 per Mtok (0.50/0.50/2.50 for prompts over 100K)
  • Added agentType to the subagentStatusLine payload, so scripts can tell custom subagent types apart
  • Added isDeferred to $.tool.register for mods: false lists the tool’s schema in the prompt from the start instead of behind tool search
Changed
  • Reverted the auto mode denial message change from 2.1.281 that told Claude a denial covers the outcome, not only the exact command
  • Reverted the 2.1.290 fix for cloud sessions staying asleep after a container restart lost a pending /loop wakeup or scheduled task; Claude is no longer told, and the session stays asleep
  • Changed claude.ai skill syncing to check for changes about every 40 minutes, instead of every 10, while no session is in use
  • Changed the order of agent lists and of MCP servers announced to the model: names with non-ASCII characters now sort after ASCII names
  • Changed OpenTelemetry claude_code.at_mention logging to emit at most 100 agent and 100 MCP-resource events each time a prompt is read
  • Self-hosted runner: Changed the orchestrator to sleep 4 to 6 seconds between polls instead of a constant 5, so several replicas for one environment stop polling at the same moment
  • [Claude Tag] Changed Claude in Slack to join announcement channels, where only admins can post, without posting its intro
  • [Claude Tag] Changed the limit on channel rules in Claude Tag admin settings from 20 to 50 for each workspace and for the organization-wide Slack page
October 6, 2026
Added
  • Added --marketplace <source> to claude plugin install: adds the marketplace if needed, under the same policy checks as claude plugin marketplace add, then installs the plugin from it
  • Added an effort parameter to the Agent tool, so Claude runs a sub-agent at the effort level you ask for
  • Added CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS environment variable to set a longer base delay for the backoff when retrying an overloaded (529) request
  • Added prompt.autocomplete, an event a mod hooks to add its own rows to the prompt box’s autocomplete list
  • Added prompt caching to $.model.complete for mods: prompt and system take blocks of text, and cache: true on a block caches the request up to it
  • Added workflow agents to the agent.spawn mod hook, with their run and index, so a mod can refuse them
  • [Claude Tag] Added an Edit button to the Allowed domains card on a channel’s Configure page, so Enterprise admins can open the access bundle that sets the channel’s domains
  • [Code Review] Added the period’s total with its change from the previous period, and a breakdown by repository, to the PRs reviewed chart in Code Review analytics
Changed
  • Changed local (stdio) MCP server connections to negotiate protocol version 2026-07-28 by default on every install, including Bedrock, Vertex and Foundry; MCP_PROTOCOL_NEGOTIATION=legacy opts out
  • Changed claude plugin test: a failed expect inside a hook the test registered, or a stub answer the engine refuses, now fails the test instead of passing silently
  • Changed usage limit messages to write claude.ai settings links with https:// so terminals and apps can make them clickable
  • Changed scheduled and Run now routine runs to publish a new artifact only you can see without asking for approval; artifacts that request connectors or other access still ask
  • Changed agent names to allow at most 256 characters: a longer one is rejected, and a skill’s or a plugin file’s name longer than that is ignored
  • [Claude Tag] Changed the first message of a Slack thread continued with !fork to a card showing where it came from, the request, and who asked, with a link to the original thread
  • [Claude Tag] Changed the organization-wide and default spend limit boxes on Claude Tag’s spend limits page in admin settings to save only when you press Save or Enter, not when you click away
October 6, 2026
  • Fixed a regression in 2.1.290 where cloud sessions could drop answers to permission prompts
  • Fixed a regression in 2.1.288 where the last messages of a session could be lost when quitting
October 5, 2026
Added
  • Added serverToolUses to the result of a mod’s turn.step hook: the tool calls the API ran itself (the advisor), each with its id, name, input, start and end
  • Added agentId to the tool.check event of plugin hooks, so a hook can tell a subagent’s permission check from the main session’s
  • Added ceiling to the question and verdict a mod’s tool.check hook reads, naming the approval an organization requires for a tool
  • Added ThemeKey and Color types to the plugin hooks typings, so an editor lists the theme colors a mod’s drawing can name
  • Added to claude plugin validate: each hook a mod registers at a gating site is listed with whether it has a .catch (gatingHooks under --json)
  • Added a Deny button to the Claude apps gateway’s sign-in approval page: it ends the pending sign-in, so the waiting terminal stops within seconds
  • Added claude attach <name> and claude logs <name>: part of a session name works in place of the id
  • Added /claude-api managed-agents-onboard <url> to set up the Managed Agents pattern a page describes as ant apply files
  • Added /claude-api managed-agents-onboard <quickstart-name> to build a Console quickstart template, such as deep-researcher, with the ant CLI
  • Added a warning when a managed settings file is a link to a file outside the managed settings folder
  • Added a /status and doctor warning when managed settings ignore user-configured sandbox allowRead paths or allowed domains
  • [VSCode] Added a screen reader announcement, “Message queued.”, when you send a message while Claude is working
  • [VSCode] Added a way to review and run a plugin marketplace’s install or update command from the Manage plugins dialog
  • [Claude Tag] Added fast mode in Slack: mention Claude with !fast to switch a thread to fast mode, moving it to Opus if needed, and !fast off to switch back; replies show (fast) while it’s on
  • [Claude Tag] Added the optional Path prefixes field when creating a custom connection in an access bundle, so its allow rule can cover only those paths instead of the whole host
Changed
  • Changed CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC to also skip the startup connection warm-up
  • Changed Claude in Chrome so that a project’s settings files can no longer turn it on; use --chrome, /chrome or your user settings
  • Changed the Bash tool to ask for permission before running pyright, which is no longer treated as a read-only command
  • Changed what a mod’s $.process.spawn rejects with when another mod denies it after the child ran: it now says the call ran and a plugin withheld its result
  • Changed the background daemon’s log to write a multi-line message as one JSON-quoted line
  • Changed skills and custom commands to refuse a ! shell command that contains raw control characters other than tab and newline, with a message that shows where they are
  • Changed /artifacts: opening an artifact in your browser now closes the list
  • Changed Bash permission checks so that more forms of the ps command ask for approval instead of running without asking
  • Changed plugin hooks so long text is clipped and logged instead of being refused or dropped silently
  • Changed background sessions whose scheduled task is gone: they now move to Completed about 20 seconds later and can be updated or shut down when idle
  • Changed the “Press ← again” confirm on a just-cleared prompt: a second ← no longer has to wait a second before it switches, and holding ← down now switches too
  • Changed the errors shown when the /ultrareview upload fails at a git step: they name the step and what to try, and no longer repeat git’s own error text
  • Changed /code-review at medium effort to also report cleanup and CLAUDE.md conventions findings on models without tuned review settings, including Opus 5.5 and Sonnet 5.5
  • Changed an in-process teammate’s agent_id in Agent results to its agent ID (its name@team address stays in teammate_id); TeammateIdle hooks no longer fire from its subagents or forks
  • Changed background sessions waiting on a scheduled wakeup (/loop): they are now left running through updates and low memory, where being restarted or shut down could silently lose the wakeup
  • Changed /model, /effort and /rename sent from claude agents to a busy background session to apply right away, without a confirmation, instead of when the turn ends
  • Changed the Claude apps gateway’s minimum supported PostgreSQL version from 14 to 11
  • Changed the interactive session’s WebSearch budget to refill over time (100 calls/hour; CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR sets the rate, 0 turns it off) instead of ending after 200 calls
  • Changed CLAUDE_CODE_DISABLE_ATTACHMENTS so a repository’s .claude/settings.json or .claude/settings.local.json can no longer set it; shell, user and managed settings still can
  • Changed claude plugin update on a plugin loaded from a directory to print just its reason, without the “Failed to update plugin” prefix, as for built-in plugins
  • Changed the built-in gh api in cloud sessions: a host other than github.com set in GH_HOST or GH_REPO is now refused (use --hostname or a full URL), and stderr notes requests to other hosts
  • Changed the claude-api skill’s Managed Agents examples to turn off the web tools unless the agent needs them and to use the auto permission policy
  • Self-hosted runners: Changed claude --environment <id> to create its session through the current Sessions API; printed and JSON session ids keep their session_… form
  • [VSCode] Changed message timestamps to show by default (turn them off with the Claude Code: Show Message Timestamps setting)
  • [Claude Tag] Changed the channel instructions limit to 8,192 characters instead of bytes, so non-English text gets the same room, and added a character count beside Save on the Configure page
October 3, 2026
Added
  • Added agent.spawn for teammates, one agent id across plugin hook events, and idle and waiting states in $.agent.list()
Changed
  • [VSCode] Reverted a 2.1.288 change to claude auth status that may have made sign-outs more frequent
Improved
  • Improved how quickly large files open in a plugin code pane by laying the highlighted view out once at its final width
  • Improved the line a mod’s author sees when its band or pane fails to draw: it names the mod and says nothing was drawn
October 2, 2026
Added
  • Added $.ui.selection() for mods: returns the text you last selected in fullscreen mode and, when the selection lies within one transcript row, that row
  • Added a built-in gh api to cloud sessions whose image has no GitHub CLI, and fixed the built-in sending control characters from file names, jq filters or GitHub errors to the terminal
  • Added recovery for a prompt cleared with Ctrl+C: pressing Up on the empty prompt brings the draft back, including pasted text and images
  • Added a re-authenticate prompt when an MCP server asks for more OAuth scope during a tool call
  • Added --max-findings <n>|all to /code-review to report more or fewer findings than the usual limit; the choice is reused until you pass --max-findings default
  • Added Ctrl+F to find a session by name and Alt+↑/↓ to jump between groups in the agents view; both, and rename, can be rebound in keybindings.json
  • Added a screen reader mode announcement of the new permission mode when you approve a plan, including with Shift+Tab
Changed
  • Changed the background command time limit to apply only in unattended sessions (-p, Agent SDK, CI, cloud); terminal, desktop app and VS Code sessions have no limit
  • Changed the client-side auto mode classifier to ignore an ANTHROPIC_DEFAULT_SONNET_MODEL pin that names Claude Sonnet 5.5 or Opus 5.5 and use Claude Sonnet 5 instead
  • Changed claude project purge to claude purge; the old name still works and prints a notice
  • Changed the agents view n: filter (and Ctrl+F search) so Enter opens the session whose name matches best instead of the top row
  • Changed /autocompact to save the auto-compact window per model, so each model keeps its own setting when you switch
  • Changed MCP URL prompts from servers that can’t report when you’re done to wait for “I’m done, continue” before the tool call continues, so you can finish in the browser first
October 1, 2026
Added
  • Added Claude Mods: plugins may now modify deeper behavior
  • Added You should know, a built-in mod where a side agent watches your back and flags things you or Claude might miss. Turn it on with /plugin enable cc-plugin-you-should-know@builtin (for first-party sessions with telemetry on)
  • Added an n:<text> filter to the agents view that matches session names and tasks; a filter now shows matches in collapsed sections and Enter opens the first match
  • Added prompt_text to the OpenTelemetry user_prompt event, a copy of prompt for backends that nest dotted keys; drop or mask it wherever you drop or mask prompt (anthropics/claude-code#70763)
  • Added URL prompts from MCP servers on the 2025-11-25 protocol, for example to sign in. If a server no longer connects after this update, add “bareElicitationCapability”: true to its MCP config entry
  • Windows: Added a startup warning when denying the Bash tool also turns off the PowerShell tool, so Claude has no shell tool
  • Self-hosted runner: Added a built-in gh api (REST only) for sessions that use Anthropic-managed git on macOS and Linux machines where the GitHub CLI is not installed
  • [VSCode] Added “Run in background” to a running command or sub-agent, to move it to the background and keep working
  • [VSCode] Added the output of background shells and Monitors to their cards in the agent map
Changed
  • Changed a shell write through a repo-committed symlink onto a sensitive file or out of the working tree to name where it lands and wait for a person, on lines with a ~ target too
  • Changed Opus 4.7+ and Fable to use a 1M context window by default on Bedrock, Vertex, Foundry and the Claude apps gateway, with no [1m] suffix (CLAUDE_CODE_DISABLE_1M_CONTEXT=1 keeps 200K)
  • Changed replies from claude agents to arrive as queued messages; slash commands other than /stop sent while a turn is running now run when it ends
  • Changed whole-tool Bash allow rules and allowing hooks to prompt for, not run, shell writes to files Claude Code’s file tools refuse outright (the Anthropic profile store, the host credentials file)
  • Changed right-click paste on Windows and Linux, and middle-click paste on Linux, to happen when the button is released; moving the pointer away before releasing cancels it
  • Changed MCP server alwaysLoad: false to defer all of that server’s tools behind tool search
  • Changed screen reader mode to write new or changed lines without first pausing with the cursor at the start of the line; set CLAUDE_AX_PREPARK_MS=50 to restore the pause
  • Changed automatic model switches after a flagged message to keep your current effort level instead of the new model’s default
  • Changed waiting permission prompts to show oldest first, so a new prompt no longer covers the one you’re reading (prompts with a countdown still open on top)
  • [VSCode] Changed the Claude in Chrome “Enabled by default” switch to also connect the editor’s own sessions, which still ask before browser actions
September 30, 2026
Added
  • Added a count such as “2 of 5” to the permission prompt when several permission requests stack up
  • Added mouse support for the “N more” rows of lists in fullscreen mode: click one to jump to that end of the list, with hover and pressed states
  • [VSCode] Added bookmarks: save Claude’s responses and keep them in view in a Bookmarks side panel
  • [VSCode] Added the questions Claude asks and your answers to the conversation: after you answer a question card, a Questions row shows each question with your picks
  • [VSCode] Added option previews to question cards in the chat panel: the highlighted choice’s mockup or snippet shows beside or under the options
  • [VSCode] Added rows under a message that open to the terminal output, browser tab, browser instructions and selected code sent with it
  • [Claude Tag] Added an Add channel button to Claude Tag’s spend limits page in admin settings, so a limit can be set on any channel, including a private one, from its channel ID or Slack link
Changed
  • Changed prompts sent while nothing is running or queued to show in the normal text color right away instead of gray
  • Changed how failed API requests are retried: one limit now covers a whole model call, so with the default retry settings a failing call sends at most 14 requests
  • Changed --bare to connect only the MCP servers named on the command line, send the model no system reminders, and start no background tasks; under --bare, a shell command that reaches its timeout now stops instead of moving to the background
  • Changed the send-now key (ctrl+enter) to move a skill’s own shell command to the background instead of ending it
  • Changed the WebFetch error for a rate-limited domain safety check to tell Claude not to retry it in a loop
  • Changed plugin installs to refuse npm sources that are git repositories or folders, and to install plugin dependencies only from registry packages
  • Changed list screens (/artifacts, /mcp, /skills, /hooks and others) to always line up each row’s details in one column after the names
  • Changed the overflow rows of lists to read ”↑ N more” / ”↓ N more” instead of “N more above” / “N more below”
  • Changed /hooks to open on one list of your configured hooks grouped by event, so viewing a hook takes one Enter instead of three
  • Changed the theme picker to a scrolling list that fits your terminal instead of pushing the preview off screen; number keys no longer pick a theme
  • Changed /exit’s Remove worktree to run after Claude Code stops the servers and shells it started there, which on Windows could keep the folder from being deleted
  • Changed the claude-api skill’s Managed Agents examples to create environments with limited networking
  • Removed the browser link from /ultrareview and claude ultrareview output
  • [VSCode] Changed Stop and Escape to end only the current turn; background agents keep running and can be stopped one by one from the agent map
  • [VSCode] Changed the ”✻ Claude Code” status bar item to show in every window, so you can open Claude when no file is open
  • [Cloud sessions] Changed a routine’s page to read “Due” with the scheduled time, instead of a next run time in the past, when a scheduled run is late and hasn’t started
September 29, 2026
Added
  • Added CLAUDE_CODE_DISABLE_WEB_FETCH environment variable to turn off the WebFetch tool
  • Added claude --desktop to open the Claude desktop app on the current directory, or on a session with --continue / --resume <id>
  • Added claude plugin configure <plugin> to show a plugin’s options and which are unset, or save new values read from stdin with --values-stdin
  • Added <server>.<key>=<value> to claude plugin install --config, so a bundled .mcpb MCP server’s own settings can be set at install time and it starts without visiting /plugin → Configure
  • Added allowedProviders managed setting to limit which API providers a machine may use (Anthropic API, a custom endpoint, Bedrock, Mantle, Vertex AI, Foundry, Claude Platform on AWS, or a Cloud gateway)
  • Added CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES environment variable to cap re-sends of a non-streaming fallback request that timed out
  • [VSCode] Added a note under a restored tab’s last message when a window reload interrupted it and no reply will follow
  • [VSCode] Added a plugin options form to Manage plugins: installing a plugin that has options asks for the unset ones, and a gear on its row changes them later
  • [VSCode] Added an on-demand diagnostics tool so Claude in the panel can read the Problems panel’s current errors and warnings at any time, not only right after it edits a file
  • [Claude Tag] Added direct messages with Claude for members on an Enterprise plan Standard or Usage-Based Chat seat who also have Cowork; a seat that includes Claude Code is no longer required
Changed
  • Changed MCP tools so a tool that sets its own _meta['anthropic/alwaysLoad'] to false stays deferred when its --mcp-config, Agent SDK or plugin server is set to alwaysLoad
  • Changed background Bash and PowerShell commands to stop after a time limit (their timeout with run_in_background, default 30 min, max 2 h); Claude is notified when one is stopped
  • Changed Code Review’s pull request reviews and /ultrareview to run when disableWorkflows is on, unless the machine running the review has it set by its own administrator (MDM or the managed-settings file)
  • Changed sessions behind a custom ANTHROPIC_BASE_URL to use the 1M context window of models that have one (Opus 4.7+, Sonnet 5+, Fable); run /autocompact 200k if your gateway stops at 200K
  • Changed Team and Enterprise sessions, and sessions whose sign-in plan Claude Code can’t determine, to withhold WebFetch until the organization policy loads if it couldn’t be loaded at startup
  • Changed /memory so that Auto-memory can no longer be turned on from a background session or from a session one of Claude Code’s own tools started; turning it off there still works
  • Changed the one-time offer to make auto mode your default permission mode to also show on third-party providers and with telemetry off, when your user settings default to another mode
  • Changed claude -p and Python Agent SDK sessions on third-party providers or with telemetry off to start in auto mode when no permission mode is configured, like interactive sessions; --permission-mode still overrides it
  • Changed Bedrock, Mantle and Claude Platform on AWS requests to a base URL with a non-default port to include the port in the SigV4-signed Host header
  • Changed the MCP server name widgets to be reserved in cloud sessions and on self-hosted runners: your own server under it, or a close spelling such as widgets_, no longer loads, so rename it
  • Changed /ultrareview on macOS and Linux to leave symbolic refs out when uploading a local checkout; a checkout whose current branch is a symbolic ref is now refused with an explanation
  • Windows: Changed project and local settings env to no longer set ALLUSERSPROFILE, SystemDrive, or the CommonProgramFiles variables; set them in user or managed settings instead
  • Changed /tasks to fold background work Claude Code runs for itself under one “System tasks” row; press Enter on it to show those tasks
  • Changed /ultrareview on macOS and Linux to require git 2.31 or newer to upload a local repository; checkouts made with --separate-git-dir are now refused instead of being uploaded with an older method
  • Changed /ultrareview uploads on macOS and Linux to send a partial clone as a working-tree snapshot on git 2.31 or newer, instead of falling back or refusing when git’s version looked too old
  • Changed /ultrareview uploads on macOS and Linux to refuse, instead of fetching, a partial clone missing some of its working tree’s files on older git versions; a clone made without --filter uploads
  • Changed Bedrock, Vertex and Mantle start-up model checks to identify themselves as Claude Code, like other Claude Code requests
  • Changed claude mcp get to hide the command, arguments, and environment values of stdio MCP servers provided by plugins; variable names are still shown
  • Changed /claude-api so it can no longer be run from Remote Control clients
  • Changed /config chrome=true to direct you to the /config panel instead of enabling Claude in Chrome by default; /config chrome=false still turns it off when it was on
  • Changed sandbox settings so project settings cannot widen or turn off an admin-required sandbox, replace the proxy behind a managed deny list, extend a strict allowlist, or reopen managed read-denies
  • [VSCode] Changed the Manage plugins dialog to ask before removing a marketplace or turning off a plugin that your project’s shared .claude/settings.json turns on
  • [Cloud sessions] Changed MCP_DISCOVERY_CACHE=1, when set in your cloud environment’s variables rather than a settings file, to reuse your connectors’ tool lists after a session restart; other MCP servers are no longer cached and connect at startup
September 28, 2026
Added
  • Added Claude Sonnet 5.5 (claude-sonnet-5-5), now the default Sonnet model on the Anthropic API — 1M context, 2/2/10 per Mtok with $0.20/Mtok cache reads
  • Added a “Yes, but ask again next time” answer to auto mode’s prompt before a read outside the working directories, so you can allow that one read and still be asked about later ones
  • Added dollar amounts to the Claude apps gateway spend limit in /usage and the status line (for example “271.40/271.40 / 500.00 spent this month”) when the gateway runs this version or later; the status line’s rate_limits.spend_limit also gains used_usd, limit_usd and period
  • Added effortSlider:decreaseEffort, increaseEffort and toggleUltracode keybinding actions, so the /effort slider’s arrow and Tab keys can be rebound in keybindings.json
  • Added /rate-limit-options to /help and the command menu for claude.ai subscribers, so the usage-limit notices that mention it point to a command you can find
  • Added /mcp reconnect all in the interactive terminal to retry every MCP server that failed to connect or needs authentication at once
  • Added Claude apps gateway startup warnings when a managed policy’s availableModels is empty, or leaves out the model Claude Code starts on without setting model or enforceAvailableModels
  • Added auth: { google: {} } for Claude apps gateway telemetry.forward_to destinations, so telemetry can be exported straight to Google Cloud’s OTLP endpoint using the gateway’s Google Cloud credentials
  • Added certificate client authentication (private_key_jwt) between the Claude apps gateway and its identity provider, for identity providers that issue certificate credentials instead of client secrets
  • [VSCode] Added an optional time above each prompt and response, with a date line where the day changes (Claude Code: Show Message Timestamps setting, off by default)
  • [VSCode] Added plugin load errors and notes to the Manage plugins rows, with a popup to disable, uninstall or copy the error
  • [VSCode] Added an Ultracode on/off switch under the Effort slider, replacing the slider’s Ultracode stop; the model pill shows ”· Ultracode” at any effort level
  • [Claude Tag] Added model family choices such as “Opus (latest)” for a thread, a channel default or your DM, so the choice follows the newest model in that family
  • [Claude Tag] Added the spend that counts toward your organization-wide limit to the analytics spend projection chart, with how much of the limit is used
Changed
  • Changed interactive terminal and VS Code sessions to start in auto mode when no permission mode is configured, on every plan and provider; permissions.defaultMode still overrides it
  • Changed Ultracode into its own toggle in /effort (Tab, or /effort ultracode [on|off]): it no longer forces xhigh effort and stays on at any effort level
  • Changed retries after a dropped connection mid-response to share one budget with the rest of the request’s retries, so a failing request gives up sooner
  • Changed the notice shown when a Sonnet model’s safeguards flag a message to explain why it happened and to offer editing and retrying
  • Changed safety-related model switches in sessions that pin an Opus model with ANTHROPIC_DEFAULT_OPUS_MODEL or modelOverrides: on the Anthropic API, the API now picks the model to switch to for each kind of flag, not the pinned model
  • Changed the non-interactive first turn to still wait up to 2s for connecting MCP servers named by --allowedTools or an mcp_tool hook, even when CLAUDE_CODE_MCP_STARTUP_WAIT_MS is 0
  • Changed /recap to decline with a short notice when it arrives relayed from a chat thread (your own included) or from a routine or webhook; typed in the terminal, the Claude apps, Remote Control, -p or an SDK host, it runs as before
  • Changed /artifacts to show its filter tabs beside the title with one-word labels (All, Mine, Shared), using the same tab bar as /config and /plugin
  • Changed artifact publishing to refuse a file on a network share (a \\host\share path or a /net automount) unless it is on a mapped network drive added with --add-dir
  • [VSCode] Changed CLAUDE_CONFIG_DIR in the claudeCode.environmentVariables setting to apply only when it is an absolute path, and passed it to terminals that continue the chat
  • [Claude Tag] Changed Claude to post its private sign-in notice at every @mention from someone who hasn’t connected their Claude account, instead of going quiet after the first
September 25, 2026
Added
  • Added x-claude-code-prompt-id to the gateway hint headers so LLM gateways can group the requests that serve one user prompt; opt in with CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
  • Added availableModelsMatch managed setting: with "exact", an availableModels entry allows only the model version it names, so new releases stay blocked until listed
  • Added deniedModels managed setting to block specific models, even when availableModels allows them
  • Added MCP tool, WebFetch and WebSearch outputs to the tool.output OpenTelemetry span event when OTEL_LOG_TOOL_CONTENT=1
  • Added /doctor prompt-audit (also /checkup prompt-audit) to audit your CLAUDE.md files, skills, agents and commands for prompting patterns written for older models
  • Added click-to-expand for truncated messages from your other sessions in fullscreen mode
  • Added path to --plugin-dir load-failure entries in the stream-json system/init plugin_errors, naming the directory that did not load
  • Added an opt-in load_test_mode block to the Claude apps gateway config: requests are built and signed but not sent upstream, and clients get a canned reply, so a deployment can be load tested
  • Added a mantle upstream provider to the Claude apps gateway for Amazon Bedrock’s Mantle endpoint
  • [Claude Tag] Added a “Channels Claude can search” admin setting that limits Claude’s Slack search to public channels it has been added to, set per organization, workspace or channel
  • [Claude Tag] Added a Back to Slack button on the page shown after connecting your Claude account, returning you to the thread you started from
Changed
  • Changed interactive sessions on third-party providers or with telemetry off to start in auto mode when no permission mode is configured; permissions.defaultMode still overrides it
  • Changed the /ultrareview launch dialog to say that reviewing a local branch may upload uncommitted changes to tracked files
  • Changed the /model picker’s Opus row and the Default model’s name to drop “(1M context)” where Opus already has a 1M context window; the window is unchanged
  • Changed prompt suggestions in the terminal to appear less often after 20 in a row go unused; using one brings them back
  • Changed --system-prompt and --append-system-prompt to accept their text and -file forms together; the file’s text comes first
  • Changed Skill(anthropic-skills:<name>) deny rules to also block that skill when Claude Desktop delivers it as a plugin, and Skill(skill:<name>) denies to match the skill’s alias and display name
  • Changed /rewind and /diff lists to move on the same keybinding actions as every other list (select:*); messageSelector:*/diff:* rebinds still work
  • Changed the /workflows run list to size itself like other lists: half the terminal inline, and it keeps its title on screen when the prompt shows below
  • Changed claude plugin eval to require git 2.31 or later when git is installed; a run on an older git is refused with a message naming the version
  • Changed artifact watching: a watch that was armed automatically (not one you asked for) now ends after 3.5 hours with no activity; publishing or watching the artifact again re-arms it
  • Self-hosted runner: Changed lifecycle hooks’ git to skip a repository’s Git LFS pre-push hook, ignore a writable system core.hooksPath, and not sign commits without --configure-git
  • Self-hosted runner: Changed GIT_SSL_CAINFO and GIT_SSL_NO_VERIFY under Anthropic-managed git: the runner’s own git always verifies Anthropic’s git route, and warning lines say what applies where
  • Reverted the 2.1.282 reservation of the claude-ai name: skills, commands, workflows and MCP servers’ skills and prompts so named load again, and Skill(claude-ai:*) rules are ordinary prefix rules
  • [Cloud sessions] Changed new routine schedules to default to a few minutes past the hour, with a note that routines set exactly on the hour can start several minutes late
September 24, 2026
Added
  • Added a maxProseWidth setting that caps the width of Claude’s prose in wide terminals while tables and code blocks keep the full width
  • Added a startup notice, and /status and claude doctor entries, listing telemetry variables in a project’s settings files that were ignored or that turned telemetry off
  • Added the allowClaudeInChromeWithManagedMcp managed setting to let claude --chrome run alongside an exclusive managed-mcp.json; the error shown when Chrome is blocked now names it
  • Added store.readiness_grace_seconds to the Claude apps gateway so /readyz can stay ready through a short Postgres outage such as a database failover
  • Added a scrollbar to the /feedback drafts list in fullscreen mode; it appears while the mouse is over the list
  • [Cloud sessions] Added Claude GitHub App status to Settings › Connectors › GitHub: whether the app is installed and reachable for your account, plus steps to connect, install or reconnect
  • [Cloud sessions] Added “Open repository” and “Open compare page” links to the repository menu of a cloud session whose repository is hosted on a Git server other than GitHub
  • [Cloud sessions] Added attaching a repository from a different GitHub owner, such as a fork’s upstream, to a running cloud session that already has one, including sessions started from Slack
Changed
  • Updated the claude-api skill: pre-output refusal billing now links to the How refusals are billed docs, mid-stream refusals bill at normal rates, and pre-output refusals count against rate limits
  • Updated the claude-api skill to recommend ant apply for keeping Managed Agents resources as version-controlled files
  • Changed auto mode to use the server-side classifier by default on a direct Anthropic API connection when telemetry is off (CLAUDE_CODE_AUTO_MODE_SERVER=0 opts out)
  • Changed sandbox.excludedCommands to ignore project and local settings entries when managed settings or --settings set allowUnsandboxedCommands: false, or managed allowManagedDomainsOnly: true
  • Changed project and local settings to ignore OpenTelemetry variables that turn on export, set its endpoint, or capture content, like CLAUDE_CODE_ENABLE_TELEMETRY and OTEL_LOG_*
  • Changed Windows/WSL managed settings so an admin policy that is present but invalid or unreadable (HKLM, managed-settings.json) keeps user-writable HKCU and WSL /etc/claude-code from applying
  • Changed Skill(anthropic-skills:*) and Skill(claude-ai:*) allow rules to cover only skills synced from claude.ai, not plugins or other skills that merely use such a name
  • Changed skill folders, command files and workflow commands in the anthropic-skills or claude-ai namespace to no longer load; a plugin so named still loads but yields name ties to synced skills
  • Changed MCP servers configured under the name anthropic-skills or claude-ai to list no skills or prompts (their tools still work); rename the server in your MCP configuration to list them again
  • Changed the ultracode visuals in /effort and the prompt input to plain styling (no ripple, border flourish or keyword glimmer) and removed the dynamic-workflows spinner tip
  • Changed the Clawd mascot’s feet in the start-up banner to sit under the corners of his body
  • [Claude Tag] Changed the bordered cards Claude uses in Slack replies for plans, tables and details to render wide by default instead of a narrow width
  • [Claude Tag] Changed newly connected Slack workspaces to follow the current default model instead of keeping whichever model was the default when they were connected
September 23, 2026
Added
  • Added Claude apps gateway support for newer Claude Desktop keys in desktop policy blocks, including blockReadsOutsideWorkingDirectories and disableBypassPermissionsMode
  • Added assume_role on Claude apps gateway Bedrock upstreams: the gateway calls Bedrock as an IAM role it assumes through STS, in another AWS account if needed, optionally one session per developer
  • Added guardrail: {id, version} on Claude apps gateway Bedrock upstreams to apply an Amazon Bedrock guardrail to every request sent through them (set it on all Bedrock upstreams or none)
  • Added telemetry.resource_attributes to the Claude apps gateway config, to put fixed labels on the telemetry of Claude Desktop and /login sessions
  • Added "attribution": false in settings.json to hide all commit and PR attribution; older CLI versions skip a settings file that holds it, so keep the object form in files shared across versions
  • Added MCP URL-mode elicitation on 2026-07-28 protocol connections, so servers can ask Claude Code to open a browser-based flow; no waiting dialog is left on screen when the server has no way to confirm completion
  • Added MCP server checks to claude plugin validate: it reports .mcp.json entries that would be silently dropped at load, undeclared ${user_config.*} references, and insecure URLs
  • Added an auto mode recommendation to /insights that estimates how many permission prompts auto mode could have handled in your recent sessions
  • Added a scrollbar to the /skills, /mcp and /plugin Installed lists in fullscreen mode, like the one /workflows now has: it appears while the mouse is over the list and can be clicked or dragged
  • [VSCode] Added a Continue/Stop prompt in the VS Code and JetBrains panels when auto mode falls back to billed classifier requests, replacing the unanswerable warning line
  • [Claude Code on the web] Added a Fast mode switch to the composer’s model menu in cloud sessions, shown when your plan includes fast mode and the selected model supports it
  • [Claude Code on the web] Added a settings shortcut on the GitHub setup tip and a “Troubleshoot GitHub connection” link in the repository pickers, both opening your GitHub connection page
  • [Claude Tag] Added a short line in the Slack thread after someone presses Stop, naming who stopped Claude’s response and saying to mention @Claude to continue
Changed
  • Changed send now (ctrl+enter or ctrl+x ctrl+s) to move running tools to the background instead of cancelling the turn
  • Changed auto mode so that, where its classifier review runs server-side, read-only and sandboxed shell commands also wait for that review and are blocked when it flags them
  • Changed CLAUDE_CODE_AUTO_MODE_SERVER to also apply on a direct Anthropic API connection: 0 opts out of the server-side auto mode classifier (the local classifier then counts toward usage), 1 opts in
  • Changed the dangerous rm prompt in --dangerously-skip-permissions and auto mode to wait 2 minutes for an answer, then deny the command with a rewrite hint so unattended sessions keep going (CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1 turns this off)
  • Changed AGENTS.md support to also work on Amazon Bedrock, Google Vertex AI, Microsoft Foundry, LLM gateways, and sessions with telemetry disabled
  • Changed Claude apps gateway to refuse to start when a managedMcpServers entry’s envHelper path starts with \??\ or /??/, a path form current Claude Desktop refuses to run
  • Changed self-hosted runners to pass system prompts to Claude Code as private files instead of command-line text, so large prompts no longer fail the launch; a wrapper or command hook that appends --system-prompt or --append-system-prompt must switch to --system-prompt-file or --append-system-prompt-file
  • Changed queued messages to show in the conversation above the spinner instead of under it
  • Changed the session artifact links under the prompt into one footer pill (⧉ name or ⧉ N) that opens /artifacts, which now lists this session’s artifacts first
  • Changed the Artifact tool to let Claude load scripts from unpkg.com in artifact pages
  • Changed hovering a list row in fullscreen mode, including in /config, to tint the row instead of drawing a second ❯ pointer beside the focused row’s
  • Changed /mcp: each server’s row now starts with its status icon and name, says its state once, and in a narrow terminal drops trailing facts like “managed” before shortening the name
  • Changed /workflows: each run’s row leads with its status icon and elapsed time, and a narrow terminal keeps the run’s name and time, dropping the agent and token counts first
  • Changed Remote Control attachment downloads to reuse connections and to skip files already downloaded in the session
  • Changed MCP resource lists (the resource list tool and @-mention suggestions) to skip MCP Apps UI resources; reading one by URI still works
  • Changed claude plugin uninstall --json and the /plugin dialog to say a plugin’s data was kept when its folder stays because another installed plugin uses it or install records cannot be read
  • Changed the background tasks list (/tasks): pressing x on a running /ultrareview now asks for confirmation before stopping the review
  • Removed the leftover “(removed)” /agents entry from the command menu and /help; typing /agents still explains where the wizard went
  • [Claude Tag] Changed the routine list Claude gives when asked in a Slack thread to show that thread’s own scheduled tasks by default instead of every routine in the channel
September 22, 2026
Added
  • Added Claude Opus 5.5 (claude-opus-5-5), now the default Opus model — 1M context, 4/4/20 per Mtok with $0.20/Mtok cache reads
  • Added mouse support to more lists in fullscreen mode: the wheel scrolls the /skills list, and a skill’s state options in /plugin can be clicked
  • Added CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH to change the 2,048-character cap on MCP tool descriptions and server instructions for every MCP server in the session
  • Added hook output sizes and the number of oversized outputs saved to a file to the hook_execution_complete OpenTelemetry event
  • [VSCode] Added a Status dialog, with a typed /status, showing the session’s version, account, model and server details
  • [VSCode] Added a Sandbox dialog for the sandbox mode, the unsandboxed fallback and excluded commands, opened from the panel menu or by typing /sandbox
  • [VSCode] Added a Claude in Chrome dialog (extension status, the install, reconnect and permissions pages, the enabled-by-default setting), opened from the panel menu or by typing /chrome
  • [VSCode] Added Export conversation, with a typed /export, to copy or save the conversation as plain text
  • [VSCode] Added each skill’s source, token estimate and on/off state to the Slash commands dialog, with a click to change the state, and a typed /skills that opens it
  • [VSCode] Added a typed /plan that switches to plan mode, sends a first planning prompt, or shows the session’s plan
  • [Claude Tag] Added Slack’s native Working indicator, Stop button and thread title to Claude’s threads in channels; the indicator stays up until Claude finishes, and Stop interrupts the task
  • [Claude Tag] Added a short notice in the Slack channel when a guest joining, or the last guest leaving, changes how Claude responds there under a Restrict or Channel only guest setting
Changed
  • Reverted ctrl+l / cmd+k in fullscreen mode clearing the transcript view (added in 2.1.260); they redraw the screen again
  • Changed the default model on Pro and Team Standard plans from Sonnet to Opus, matching Max, Team Premium, and Enterprise
  • Changed an effort level saved before /effort became per-model to no longer apply to newly released models such as Opus 5.5; they start at their default until you pick a level
  • Changed Opus 4.7, Opus 4.8 and Fable 5 to stop holding their launch-default effort over /effort in -p or the Agent SDK, a project, managed or --settings effortLevel, or a per-model level
  • Changed /autocompact’s footer hint to name ←/→, the keys that adjust other ordered values
  • Changed /fast’s footer to name Space as the toggle key
  • Self-hosted runner: Changed git in lifecycle hooks to ignore hook folders and programs named in the runner’s shared git files; local-path and git:// remotes there now need GIT_ALLOW_PROTOCOL
  • Changed plugin marketplaces whose name imitates a reserved marketplace name to be refused when added, and to stop loading if one was already added
  • Changed PermissionRequest hooks: an agent-type hook no longer runs there, since its answer could never allow or deny the request; it now shows an error pointing to command or http hooks
  • [VSCode] Changed “Open in New Tab” to open Claude beside the editor group you are working in rather than after the last group
  • [Claude Code on the web] Changed the admin Routines on/off setting to live under Admin settings → Capabilities → Remote sessions; the Claude Code admin page now links to it
  • [Claude Code on the web] Removed the empty repository picker shown when starting a session on a self-hosted environment in an organization where an admin has turned GitHub off
September 19, 2026
  • Changed auto mode for Claude API and Enterprise users, and on Bedrock, Vertex, Foundry and gateways, to default to the server-side classifier, which does not charge for classifier overhead (CLAUDE_CODE_AUTO_MODE_SERVER=0 opts out on Bedrock, Vertex, Foundry and gateways); warns on billed fallback. See https://code.claude.com/docs/en/auto-mode-classifier-billing
  • Added an Auto mode server row to /status showing whether this session’s auto mode classifier runs on the server
September 18, 2026
Added
  • Added AGENTS.md support: in a project with no CLAUDE.md, Claude Code reads AGENTS.md instead; change it under “Project instructions” in /config
  • Added CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 for Claude apps gateways whose only egress is a forward proxy: every outbound request hands the proxy the hostname instead of resolving it locally
  • Added an optional headers: map on Claude apps gateway upstreams, to send static headers to a proxy you run in front of a provider
  • Added a line saying a background task’s update is waiting when it finishes while a panel such as /tasks is open
  • [VSCode] Added a Sign out row to the panel menu, with /logout in the typed command menu
  • [VSCode] Added background shells and other running tasks to the agent map, each with a Stop, and a typed /tasks that opens it
  • [VSCode] Added a Copy response button on responses and a typed /copy
  • [VSCode] Added a one-time notice when inactive sessions are archived automatically, and an “Unarchive all” action on the Archived sessions group
  • [VSCode] Added the session’s cost and token usage to the Account & usage dialog and the session manager where plan limits do not apply (Vertex, Bedrock, Foundry, API key)
  • [Claude Code on the web] Added Personal and Organization sections to the environment picker on Team and Enterprise plans, and admins can now share a personal environment with the organization
Changed
  • Changed Fable to always appear in /model on the Anthropic API; it is greyed out only when your organization’s settings disable it
  • Changed the Bash sandbox instructions on Bedrock, Vertex and Foundry to the first-party wording, which frames the sandbox as the boundary of what the task was given
  • Changed /ultrareview in non-interactive sessions to refuse when the repository has no base branch or shared history
  • Changed subagent results to reach the main agent under a header marking them as subagent output, with the result indented, so text in a subagent’s result cannot pass as the session’s own instructions
  • Changed workflow scripts’ computed agent() prompts on Bedrock, Vertex and Foundry to reach the subagent framed as script-authored text, so the safety classifier does not read them as the user
  • Removed the background Haiku auto-title request from claude -p runs launched outside an SDK or IDE
  • Removed the deprecated TaskOutput tool; Claude reads a background task’s output file with Read instead, and the taskOutputMaxChars setting and TASK_MAX_OUTPUT_LENGTH no longer have any effect
  • [Claude Code on the web] Changed organization environments to open as a read-only summary from the Code tab on Team and Enterprise plans, with editing under Admin settings → Cloud environments
  • [Claude Code on the web] Changed the admin Claude Code setting labeled “Web” to “Cloud sessions” and removed the redundant read-only Mobile row beneath it
  • [Claude Tag] Changed the Pylon credential preset in Claude Tag access bundles so admins can point it at Pylon’s EU host
September 18, 2026
  • Fixed every request failing with 400 … Input tag 'advisor_20260301' when ANTHROPIC_BASE_URL points at a proxy or gateway (2.1.275 regression)
September 17, 2026
Added
  • Added the signed-in account to Claude apps gateway sign-in: when the gateway names it, you confirm it before the credential is saved, and /status shows it
  • Added a send-now key (ctrl+enter, or ctrl+x ctrl+s) that interrupts the current turn and sends all queued messages at once; sent and queued messages show in gray until the model receives them
  • Added a startup warning when a configured otelHeadersHelper fails, so sessions that silently export no telemetry are noticed
  • Added syncing of the skills and plugins enabled on your claude.ai account to terminal sessions signed in with it; opt out with syncClaudeAiSkills: false or syncClaudeAiPlugins: false
  • Added /plugin install <plugin> --marketplace <source>, which offers to add the marketplace before installing the plugin
  • [VSCode] Added viewing, editing and deleting a saved memory inside the Memory dialog
  • [VSCode] Added sending an attached image without typing any text
  • [VSCode] Added a Retry link to the MCP servers dialog when the server list fails to load
  • [VSCode] Added accept and reject buttons under each change in the proposed-change diff tab, so an edit can be reviewed change by change
  • [Claude Code on the web] Added a “New routine” button to the page shown when a routine link no longer resolves, next to the link back to your routines list
  • [Claude Tag] Added attach conditions for access bundles in Claude Tag settings: an Owner can let a bundle also apply in channels with guests or Slack Connect channels, not just member-only
  • [Claude Tag] Added Amazon CloudWatch, CloudWatch Logs, Amazon SNS, Google Cloud Monitoring and Cloud Logging presets to an access bundle’s Credentials tab in Claude Tag admin settings
  • [Claude Tag] Added Datadog presets for the US3, AP1, AP2 and US1-FED sites; new Datadog connections are now limited to Datadog’s read and query API routes
Changed
  • Updated /logout for Claude apps gateway sign-ins to also end the session on gateways that advertise token revocation
  • Changed hosted sessions to keep an unanswered permission prompt up after a container restart, instead of asking again
  • Changed the Artifact tool to ask for a one-word tab icon on a first publish instead of an emoji favicon
  • Changed Claude in Chrome in auto mode to skip the extension’s per-site check for classifier-approved calls, as bypass mode does, fixing browser_batch “Permission denied” after a redirect
  • Changed plugins installed from an npm source to be fetched with npm pack --ignore-scripts and integrity-verified, so a package’s install scripts no longer run
  • Changed scheduled and Run now routine runs to save data to, and republish the page of, an artifact you can edit without asking; public artifacts, first publishes and deletes still ask
  • Removed the startup notice that told you a one-off scheduled routine had run since your last session
  • [VSCode] Changed New session in a Claude editor tab to open in the sidebar when Preferred Location is set to Sidebar, instead of always opening another tab
  • [VSCode] Changed a message sent while Claude is working to wait at the bottom of the conversation until Claude starts on it
September 17, 2026
Added
  • Added a visible warning when memory usage is critical, with steps to free memory or restart safely
  • Added CLAUDE_CODE_MCP_STARTUP_WAIT_MS to bound how long the first non-interactive turn waits for connecting MCP servers (0 = don’t wait)
  • Added effort attribute to the claude_code.llm_request OpenTelemetry trace span, matching the api_request event
  • Added claude_code.managed_settings_resolved OTel event: managed-settings sources and policy helper state; redacted settings and digests with OTEL_LOG_MANAGED_SETTINGS=1
  • Added store.connect_timeout_seconds to the Claude apps gateway config to lengthen the Postgres connect timeout (default 5 seconds), and improved the boot error when the database is unreachable to point to store.postgres_url and the configured timeout
  • Added enduser.sub, the IdP subject, to the telemetry Claude Desktop and Cowork send through a Claude apps gateway
  • Added a Claude apps gateway warning when a replica has more requests open than the 256 it sends upstream at once, and a startup log line showing that limit
  • Added click-to-expand for collapsed teammate and agent messages in fullscreen mode
  • [VSCode] Added continuation of the step a window reload interrupted, labeled in the chat, with a Claude Code: Continue After Reload setting to turn it off
  • [VSCode] Added Memory and Instructions entries to the Customize menu: Memory shows the auto-memory toggles, the saved memories and the memory folders, and Instructions edits the CLAUDE.md files
  • [VSCode] Added a claudeCode.lockEditorGroups setting to stop Claude from locking the editor groups it opens in
  • [Claude Code on the web] Added a “Compare against” branch picker to a cloud session’s diff view, so you can diff its changes against any branch instead of only the base branch
  • [Claude Tag] Added a Guests setting to the Add channel and Add workspace forms in Claude Tag admin settings, so owners can pick Inherit, Allow, Channel only or Restrict up front
Changed
  • Changed Bedrock, Vertex, Foundry and telemetry-disabled installs to use the v2 MCP client and MCP 2026-07-28 negotiation with direct HTTP servers by default, as other installs already do (opt out: MCP_SDK_GENERATION=v1 or MCP_PROTOCOL_NEGOTIATION=legacy)
  • Changed /code-review to use leaner inline review prompts for every model that has no tuned settings of its own, instead of spawning many review subagents
  • Changed "type": "sdk" MCP entries in .mcp.json, settings, plugins and agent files to be skipped with a warning: only an SDK host application can register in-process servers
  • Changed artifact watching in local sessions: a new version published elsewhere no longer starts a turn; Claude learns of it from a later Artifact tool result
  • Changed plugin and marketplace clones to leave Git LFS files as pointers instead of downloading them; git lfs pull in the checkout fetches them
  • Changed self-hosted runners to skip a read-only repository the git host refuses at the access check instead of failing the session start
  • Changed the /status GitHub line to read “Cloud sessions”, and /web-setup, /ultrareview, and teleport messages to say “cloud session” instead of “Claude Code on the web”
  • [VSCode] Changed the default global gitignore file to $XDG_CONFIG_HOME/git/ignore when XDG_CONFIG_HOME is an absolute path
  • [Claude Code on the web] Changed routines to skip a run and retry for up to 72 hours when the owner’s GitHub connection is missing, instead of switching the routine off at the first failed check
  • [Claude Code on the web] Changed a routine’s on-hold notice: when your subscription is paused it now tells you to turn the routine back on yourself instead of promising an automatic resume
  • [Claude Tag] Removed the repeated guest-attribution note Claude appended to a Slack canvas each time it edited one in a channel using the “Channel only” guest setting
September 15, 2026
Added
  • Added x-claude-code-request-class, x-claude-code-agent-type, x-claude-code-prev-tool-durations, x-claude-code-compaction and x-claude-code-context-compacted request headers for LLM gateways; opt in with CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
  • Added a notification when an MCP server disconnects mid-session and automatic reconnection gives up, pointing at /mcp
  • Added forking a session started with claude --remote-control or /remote-control from the Claude app; the fork runs as a background session on your computer
  • [Claude Code on the web] Added a “Discard unsaved changes?” confirmation before the New routine page or the Edit routine dialog throws away a routine name, prompt or edit you typed
Changed
  • Reverted a 2.1.268 change that checked Read and Edit deny rules on Bash lines the permission checker can’t analyze (eval, env -C); commands like time -p make build prompt again instead of being denied
  • Changed auto mode on Bedrock, Vertex and Foundry to use the local classifier by default for now; set CLAUDE_CODE_AUTO_MODE_SERVER=1 to use the platform’s server-side classifier
  • Changed OTEL_LOG_TOOL_DETAILS=1 to also include real agent, skill, plugin and MCP server names on cost and token metrics
  • Changed sign-in with a Claude account to also request access to your claude.ai plugins
  • Changed /bug and /feedback reports to include only model-behavior params (model, system prompt, tools) from the last API request, omitting request metadata and CLAUDE_CODE_EXTRA_BODY fields
  • [Claude Code on the web] Changed the admin “Share cloud sessions” setting to live under Data and privacy instead of the Claude Code page, where Data and privacy admins can also manage it
  • [Claude Code on the web] Removed the full-page desktop-app download screen that new users without a cloud environment saw on Mac and Windows; they now go straight to setup
  • [Claude Tag] Changed Claude to start watching related public channels on its own, such as an incident channel a conversation depends on, instead of only when asked
September 15, 2026
  • Bug fixes and reliability improvements
September 14, 2026
Added
  • Added fast mode in Claude Code Remote sessions (cloud and self-hosted runners): the host’s fast-mode setting or /fast typed in the session applies where your organization allows it
  • Added mouse support to the /config panel in fullscreen mode: the wheel scrolls the settings list, a click on a setting’s value changes it, and the row under the pointer is highlighted
  • Added claude self-hosted-runner --drain-marker-file <path>: when that file exists at a SIGTERM drain, the runner reports its exit to the server as a host drain (telemetry only)
  • Added per-command allowed_domains to Bash, PowerShell and Monitor in auto mode with sandboxing: the hosts a command needs are reviewed with it and opened for it alone; other hosts are refused
  • Added omitClaudeMd to agent frontmatter and --agents JSON, letting custom and plugin subagents run without user, project and local CLAUDE.md files; managed policy files still load
  • Added --accept-command <sha256> to claude plugin install and claude plugin update to accept exactly the command a previous --json run displayed, instead of -y
  • Added support for a multiplier above 1, up to 10, in the modelPricing managed setting and the Claude apps gateway pricing block, for marked-up internal chargeback rates
  • Added a spinner tip pointing Bedrock, Vertex AI, Foundry and LLM gateway users to the Claude desktop app; the claude.ai desktop app tip now suggests /desktop, which offers to download the app
  • [VSCode] Added an Attach Open File setting that, when turned off, stops the open file from being added to messages; selected text is still attached
  • [Claude Code on the web] Added a Custom network access option to the Cloud environments editor in admin settings, with the same allowed-domains list the environment dialog on claude.ai/code offers
Changed
  • Changed auto mode so that a skill’s or slash command’s inline ! shell commands follow default-mode permission rules instead of the classifier; a command no rule decides runs as a reviewed tool call
  • Changed auto mode so a subagent reports back to its caller through a dedicated hand-back call that the safety classifier reviews, instead of its last message being reviewed after the fact
  • Changed Monitor watches to always have a deadline (at most 30 minutes; 10 in single-prompt -p runs) and notify Claude to re-arm, replacing the no-timeout persistent option
  • Changed the IDE selection indicator in the prompt to a [⧉ …] pill that wraps with the text instead of squeezing multi-line prompts; delete it with Backspace to leave the selection out
  • Changed the default dynamic workflow size to small on Pro plans and lowered the medium size guideline from 15 to 10 agents
  • Changed Claude apps gateway, Bedrock, Vertex AI, and Foundry sessions so that they no longer refresh a leftover claude.ai login that the session does not use
  • Updated the bundled claude-api skill to enable eager_input_streaming on streaming custom tools, and to start deliverable-shaped Managed Agents work with user.define_outcome
  • [VSCode] Changed the on state of toggle switches from Claude orange to the editor theme’s button color
  • [Claude Code on the web] Changed the Routines page on claude.ai/code to a new layout with Yours and Templates tabs and two-column routine cards that show run status, and removed its calendar view
September 12, 2026
  • Fixed read-only git commands in Bash unexpectedly asking for permission after a session had been running for a while (regression in 2.1.269)
September 11, 2026
Added
  • Added claude plugin eval: run a plugin’s eval suite against Claude Code and get scored, reproducible results (JSON + HTML report); see claude plugin eval --help
  • Added /output-style [name] to list and switch output styles, including over Remote Control and in cloud and other headless sessions
  • Added a diff of the files a Bash command changed to the Bash tool result when the Bash tool handles file edits (setting bashEditDiffEnabled)
  • Added OTEL_METRICS_INCLUDE_REPOSITORY to tag OpenTelemetry metrics and events with vcs.* repository attributes; commit events get vcs.ref.head.* with OTEL_LOG_TOOL_DETAILS
  • Added CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS to extend the LLM gateway /v1/models discovery timeout (default 3s)
  • Added a spinner tip suggesting /focus for a view with just your prompt, a one-line work summary, and the response
  • Added CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS (1–256) to raise the Workflow tool’s per-run concurrent agent limit for inference-bound fan-outs
  • [VSCode] Added an agent map: an “N agents” footer pill opens a map of the session’s sub-agents with per-agent cards, Stop agent, and read-only transcripts
  • [VSCode] Added a Hooks dialog to the command menu for viewing hooks and adding, editing, or removing them in user, project, and local settings; managed, plugin, and session hooks stay read-only
  • [VSCode] Added live progress rows for running subagents under the tool-call groups in Focus view
  • [VSCode] Added a Permission rules dialog that lists permission rules and adds or removes them in user, project, and local settings; startup-option, session-only, and managed rules stay read-only
  • [VSCode] Added a Cancel button to the Switch account screen that returns to your session as the current account
  • [Claude Code on the web] Added taking back a queued message in a cloud session before Claude reads it: remove it from the queue, or press Esc or Up, and the text returns to the message box
  • [Claude Tag] Added a confirmation dialog before Connect all or Disconnect on a GitHub installation in admin settings, to guard against accidental organization-wide changes
Changed
  • Changed /ultrareview --post to post the PR comment directly when the findings arrive and print the comment link, instead of starting a second cloud session to post it
  • Changed artifact database reads that save into the session scratchpad so they no longer stop for working-folder approval
  • Changed skills synced from claude.ai in cloud sessions to be named anthropic-skills:<name>, matching Claude Desktop; the bare name still works when nothing else uses it
  • [VSCode] Changed the current-file chip in the message box: an X now removes it, replacing the Hide toggle
  • [VSCode] Removed the Claude Code items from a session tab’s right-click menu and the editor title bar’s ”…” menu; they could not act on the tab the menu was opened on
  • [Claude Code on the web] Changed the Cloud environments admin page to list every environment instead of capping each table at five rows behind a Show more control that could be unreachable
  • [Claude Code on the web] Changed claude.ai/code for Free-plan users to open the plans page with a path to upgrade, instead of a “Disabled by org admin” page with no way forward
September 10, 2026
Added
  • Added to the Claude apps gateway: with pricing: set in gateway.yaml, signed-in Claude Code clients receive the same rates through managed settings, so /cost and telemetry match the spend meter
  • Added a startup warning for gateways when access_control.allow_cidrs is empty, and a one-time warning the first time a request arrives from a public address
  • Added the gatewayInternalNetworks managed setting, letting administrators allow /login to a Claude apps gateway on their organization’s own public IPv4 block
  • Added claude self-hosted-runner --remove-session-state (default off): delete each session’s per-session directories under <base-dir>/_sessions/ when the session ends
  • Added configDirectory to the output of claude auth status --json
  • Added --json to claude plugin install, uninstall, update, enable and disable, and errorDetails/noteDetails to each row of claude plugin list --json
  • Added browser-tab icons for published artifacts, chosen by Claude to match each page
  • [VSCode] Added Left and Right arrow keys to change where an always-allow permission rule is saved, for keyboard and screen reader users
  • [VSCode] Added a “Claude Code: Focus last message” command that moves keyboard focus to the newest message in the conversation, for keyboard and screen reader users
  • [Claude Tag] Added a link from a Slack channel’s configure page back to the organization’s Claude in Slack admin settings
  • [Code Review] Added a note under the still-open findings list in follow-up reviews: resolving a finding’s thread, not just replying to it, stops later reviews from counting it as open
Changed
  • Changed the system prompt on Bedrock, Vertex and Foundry to deliver environment, model and settings details as attachments, matching first-party sessions
  • Changed Bedrock, Vertex and Foundry sessions to keep the tool list byte-stable across a conversation (late-connecting tools load deferred instead of rewriting it), matching first-party sessions
  • Changed the task-tracking tools (TaskCreate/Get/Update/List, TodoWrite) to be offered only on Claude 3.x, Opus 4.0–4.7, Sonnet 4.0–4.6, Haiku 4.5; set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 elsewhere
  • Changed the artifact data-edit permission prompt in the terminal to a card that shows the document count and who can open the artifact
  • Changed local Cowork sessions set to skip all approvals: the Artifact tool now refuses a local file outside the session’s folders, or behind a symlink, instead of reading it without asking
  • Changed plain WebFetch deny and ask rules to no longer apply to Artifact tool reads and updates; use an Artifact rule (or WebFetch(domain:claude.ai)) to block or gate them
  • Changed the “N MCP servers need authentication” startup notice to announce each server once instead of at every launch
  • [VSCode] Changed the Manage plugins dialog to apply installs, enables, disables and uninstalls to open sessions without a restart
  • [VSCode] Changed some artifact permission prompts to omit the “don’t ask again” choice, matching the terminal
  • [Claude Tag] Changed memory in public channels: each channel now keeps its own notes, and Claude no longer recalls notes it saved in other public channels; workspace notes stay shared
September 9, 2026
Added
  • Added maxEffortLevel setting (top-level or per model under modelSettings): caps the effort level on every provider, including Bedrock, Vertex and Foundry; users can still pick a lower level
  • Added --system-prompt-snapshot off to render the system prompt fresh on every request instead of reusing the conversation’s recorded prompt (for iterating on prompt text)
  • [Claude Tag] Added a “Use a custom connector” link to the preset connection forms in Claude Tag admin settings, so you can switch to a custom connection without starting over
Changed
  • Self-hosted runner: Changed --use-anthropic-git-proxy to be reported to the server at registration and to print a warning for each session that still clones through the legacy git proxy
  • Gateway: Changed forward_user_identity upstreams to return a 429 as-is to a developer whose email was forwarded, instead of failing over to the next upstream, so the proxy’s per-user limits hold
September 8, 2026
  • Fixed a 2.1.265 regression affecting LLM-gateway and proxy setups: the undocumented CLAUDE_CODE_USE_GATEWAY environment variable, previously ignored unless ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN were both set, began forcing Cloud-gateway sign-in on its own in 2.1.265, so configurations that set it alongside an API key, apiKeyHelper, or custom auth headers failed every request with “Not signed in to the Cloud gateway”. The variable on its own is ignored again; no configuration change is needed
September 8, 2026
Added
  • Added user.email and user.groups to the telemetry Claude Desktop and Cowork send through a Claude apps gateway, matching terminal sessions
  • Added support for pointing --plugin-dir at a folder of plugins: each child folder with a manifest loads, and children added or removed while running are picked up
  • Added a 1 GB cap on tool results saved to disk; the in-conversation preview says when a saved file was truncated
  • [VSCode] Added automatic archiving of sessions inactive for a set period (new “Archive inactive sessions” setting, default 14 days)
Changed
  • Updated the .claude folder permission option to say what it actually allows: editing files in the project’s .claude folder (or ~/.claude) for the session
  • Changed machines with forceLoginGatewayUrl in managed settings to be Claude apps gateway sessions from startup, like forceLoginMethod: "gateway"; a leftover claude.ai login or API key is not used
  • Changed image processing to use the runtime’s built-in image support; the CLI no longer extracts a native image module to the temp directory
  • Changed plugin display metadata to prefer the marketplace entry over plugin.json on the Installed tab and claude plugin details, filling gaps from plugin.json
  • Changed Claude apps gateway sessions to export OpenTelemetry directly to a collector the gateway’s managed settings name in OTEL_EXPORTER_OTLP_ENDPOINT, instead of through the gateway’s relay; sessions without a named collector still use the relay
September 6, 2026
  • Bug fixes and reliability improvements
September 4, 2026
Added
  • Added an “Organization policy” line to /status and claude doctor that says why your organization’s policy could not be loaded, such as a proxy not passing the endpoint through
  • Added bashOutputMaxChars and taskOutputMaxChars settings to raise how much command and background-task output Claude receives inline before it is saved to a file, up to 128K characters
  • Added --append-subagent-system-prompt-file to read the subagent system prompt from a file, for prompts too large to pass on the command line
  • Added /skill-doctor to show which loaded skills go unused and what they cost in context, so you can prune them
  • [VSCode] Added a “Build a custom style” walkthrough to the Output styles menu that writes a custom output style file and lists it right away
  • [VSCode] Added an Add server form and a Remove action to the MCP servers dialog, so MCP servers can be added and removed without leaving the IDE
  • [VSCode] Added a hollow ring in the session list for sessions open in a terminal, another VS Code window, or Claude Desktop, so they no longer look closed
  • [VSCode] Added a fold button to permission and question prompts so the conversation behind them can be read without dismissing them; the space beside the prompt now scrolls the conversation
  • [VSCode] Added “Archive session” to the session list’s right-click menu and gave Unarchive its own icon
Changed
  • Changed a Claude apps gateway 403 on the managed settings load (at startup or after /login) to say Claude Code may not be enabled for the organization, instead of advising a new sign-in
  • Changed machines whose managed settings pin forceLoginMethod: "gateway" to ignore a leftover API key or claude.ai login and ask for /login; Bedrock, Vertex AI, and Foundry sessions are unaffected
  • Changed auto mode to treat a link that packs content into a public diagram renderer’s URL as an upload to that site: no longer auto-approved unless you asked for it
  • Changed the prompt’s word-editing keys to match Bash: Ctrl+W deletes back to whitespace, Alt+F and Alt+D stop at word end, punctuation separates words; keybindingFlavor no longer has any effect
  • Changed /context token counting to use a local estimate when the token-counting API is unavailable, instead of extra small-model requests
  • [VSCode] Changed the model picker to one flat list of every model, with rows kept for older model spellings listed last
September 3, 2026
Added
  • Added a diff panel that opens beside the conversation in fullscreen mode and shows your uncommitted changes as Claude edits; toggle it with /diff
  • Added a likely cause for prompt-cache misses (e.g. tool definitions or system prompt changed, idle past the TTL) to /cost and the status line’s prompt_cache field
  • Added /reload-plugins to headless sessions, so it appears in the Claude Code Desktop and SDK command lists
  • Added a text form of /advisor (/advisor, /advisor <model>, /advisor off) for the desktop app, Remote Control, and other headless (-p/Agent SDK) sessions
  • Added oidc.scope_on_refresh to the Claude apps gateway for IdPs that return an id_token on refresh only when asked for openid again
  • Added Claude apps gateway support for newer Claude Desktop keys in desktop policy blocks, including userPluginMarketplacesEnabled and userPluginUploadsEnabled
  • [VSCode] Added the selected effort level to the footer model pill, fixed a stale effort level after switching models, and returned the footer pills to their earlier compact size
  • [VSCode] Added Open and Closed to the session list’s status filter menu
Changed
  • Reverted the 2.1.259 change applying Read() deny rules to Bash arguments; it denied npm run build under a Read(./**/build/**) rule in every mode and made cd … && grep prompt even in auto mode
  • Updated the bundled claude-api skill so its Go, Java, and C# samples use current-generation model IDs, and clarified that cheaper worker or sub-agent models should be current-generation too
  • Changed ctrl+l / cmd+k in fullscreen mode to clear the transcript view like a terminal clear; scroll up to see earlier messages
  • Changed permission rules with text after the closing parenthesis (e.g. Bash(ls) x), which never matched anything, to be reported as invalid settings instead of being silently ignored
  • Changed server-managed settings so a managed CLAUDE.md (claudeMd) no longer triggers the security approval dialog; hooks, shell-command, sandbox, and unsafe env settings still require approval
  • Changed Claude in Chrome to follow your organization’s Claude in Chrome admin setting; when an admin turns it off, --chrome, /chrome and the browser tools are unavailable
  • Changed Claude apps gateway to send orgPluginSettings in the list form read by Claude Desktop 1.15200.0 and later; older desktops ignore it
  • Changed Claude apps gateway to also refuse to start, naming the field, when a desktop policy misspells a field in a nested object of a managedMcpServers or orgPluginSettings entry
  • Changed commands typed at the ! bash-mode prompt to run outside the sandbox even when strict sandbox mode (sandbox.allowUnsandboxedCommands: false) is on, like typing into your own terminal
  • Changed self-hosted runner --kill-session-after-min to release a session that is only waiting on its user (paused, resumable on the next message) instead of killing it and reporting a failure
  • Removed the one-hour time limit on background commands started by subagents; they now run until they exit or are stopped, matching the main session
September 2, 2026
Added
  • Added managedMcpServers managed setting: organizations can provide HTTP/SSE MCP servers to every user (same entry shape as .mcp.json); entries that name a command to run are skipped
  • Added --permission-prompts none for unattended headless hosts: anything that would prompt is denied automatically while the active permission mode (including auto mode) keeps deciding
  • Added recognition of glab mr create/merge/close/reopen/note/update so GitLab merge requests show as MR !N in the collapsed tool summary and refresh the footer MR badge
  • Added --json to claude plugin validate for a machine-readable validation report
  • [VSCode] Added an Active quick filter and a status filter menu (Needs input, Working, Completed) to the session list sidebar
Changed
  • Changed allowedMcpServers to govern only servers users add: a literal managed-mcp.json server your allowlist used to filter out now loads on upgrade; use deniedMcpServers to keep it off
September 1, 2026
  • Fixed Claude Code failing to launch on macOS 12 (Monterey), a regression introduced in 2.1.255
  • Fixed remote and scheduled sessions failing with “user messages must have non-empty content” after a re-sent permission approval could not be applied
September 1, 2026
Added
  • Added Claude Fable 5.1 (claude-fable-5-1), now the default Fable model — 1M context, 10/10/50 per Mtok with $0.25/Mtok cache reads
  • Added “Time format” (timeFormat) and timeZone settings: 12-hour, 24-hour, 24-hour UTC, or a strftime pattern for the turn-end clock and transcript-view timestamps
  • Added a Containment Escape rule to auto mode so cloud metadata-credential fetches, egress evasion, and cross-tenant reach are no longer auto-approved unless your environment marks them expected
  • Added CLAUDE_CODE_SUBAGENT_MODEL_FORCE to apply CLAUDE_CODE_SUBAGENT_MODEL (or the main model) to every subagent, ignoring per-spawn and agent-definition model overrides
  • Added s in /effort to change effort for the current session only, matching /model
  • Added a /doctor warning for stale sandbox mask files left by a killed session
  • Added a one-time prompt in auto mode before the first file read outside the working directories, with the option to block such reads (permissions.blockReadsOutsideWorkingDirectories)
  • Added support for a gateway-supplied description on discovered /model picker entries (CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY); entries without one still read “From gateway”
  • [VSCode] Added collapsible ACCOUNT & USAGE and SESSION MANAGER section headers to the session list panel, with the account email, the usage meter, and a View details link opening the usage dialog
  • [VSCode] Added a model pill to the input footer that shows the current model and opens the model picker, with an Effort row and a “More models” page
  • [VSCode] Added a collapse toggle to the Ungrouped section of the session list
  • [VSCode] Added output style selection to the command menu, including custom styles
Changed
  • Changed --effort to lift a new model’s default-effort hold for that session only rather than permanently; an effort picked on claude.ai for a Remote Control session now applies during the hold
  • Changed a policyHelper in MDM or managed-settings.json shadowed at launch by cached server-managed settings to run (or exit) as soon as the fetch reports them removed, not at the next launch
  • Changed managedSourcesBehavior: "merge" to take sandbox.credentials.awsPairs and sandbox.ripgrep whole from the highest managed source that sets them instead of combining the sources’ values
  • Changed gateway model discovery (CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1) to run even when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set, since it only queries your gateway
  • Changed claude --resume <session-id> --bg to continue that session under its own ID when nothing is running it, instead of silently starting a copy; a copy is now announced
  • Changed /btw history browsing from ←/→ to Shift+←/Shift+→ (or [/]), stepping through your recent side questions and back to the live answer
  • Changed defaultMode: "bypassPermissions" in .claude/settings.json or .claude/settings.local.json to be ignored, like "auto"; set it in user or managed settings, or pass --permission-mode
  • Changed fable and best in Claude apps gateway sessions to keep resolving to Fable 5 for now, since gateways not yet configured for Fable 5.1 reject it; pick Fable 5.1 in /model to use it
  • Changed --add-dir, /add-dir, and additionalDirectories to refuse network paths (UNC shares, /net/<host> automounts) with a message before touching them; on Windows use a mapped drive letter
  • Changed Claude apps gateway sign-in and token refresh requests to verify the gateway’s pinned TLS certificate, as the managed settings fetch already does
  • Changed Cowork and claude.ai cloud sessions: reading an artifact that isn’t yours now always asks you first, even in auto mode
  • Removed the Ctrl+E command explanation on Bash and PowerShell permission prompts
  • [VSCode] Changed the action menu to list slash commands in a filterable “Slash commands” dialog instead of inline; picking one runs it; the MCP servers dialog gained the same filter box
  • [VSCode] Changed “Delete session” to “Archive session”: archived sessions move to a collapsible “Archived sessions” group at the bottom of the list with an Unarchive action
August 31, 2026
  • Fixed Bash commands failing with “task output swap refused (tasks dir moved or linked)” on some Macs
  • Fixed “always allow” not saving in a project that has no .claude/settings.local.json yet
  • Fixed Remote Control sessions hosted by Claude Desktop or VS Code stalling for minutes after a tool finished when the connection to claude.ai was degraded
  • Fixed background task notifications with very large failure output (for example git errors on a full disk) making the conversation exceed the API request size limit
August 28, 2026
Added
  • Added PreModelSwitch and PostModelSwitch hook events (block, confirm, or annotate a model switch); SessionStart resume hooks now receive session staleness and the estimated re-cache cost
  • Added live streaming of a foreground subagent’s tool calls and results to Remote Control clients (background subagents, the default, still show status only)
  • Added a Spend limit bar to /usage and a rate_limits.spend_limit status line field for developers behind a Claude apps gateway with spend limits
  • Added a per-session prompt-cache line to /cost (hit ratio, misses, tokens re-cached, warm/cold) and a matching prompt_cache object for status line scripts
  • Added attach, logs, stop, respawn, and rm to claude --help; the --resume message for a running background session now names the exact claude attach <id> command
Changed
  • Changed /radio to be available on Bedrock, Vertex AI, Foundry, and Claude Platform on AWS, and when telemetry is disabled
  • Changed Claude in Chrome so browser actions always go through Claude Code’s permission checks, including in sessions with telemetry disabled, which previously used the Chrome extension’s own prompts
  • Changed CLAUDE_CODE_SUBAGENT_MODEL to set the default subagent model rather than override everything: an agent definition’s model: and an explicit per-spawn model now take precedence over it
  • Changed the default commit trailer to Co-Authored-By: Claude Code when the active model isn’t a recognized Claude model (e.g. third-party models behind a custom ANTHROPIC_BASE_URL)
  • Changed the default model for seat-based Enterprise subscriptions to Opus 5, matching other premium plans
  • Changed /effort to save your default effort level per model, so each model keeps its own setting when you switch
  • Changed analytics to no longer turn off before sign-in solely because managed settings force gateway login (or cannot be read); they stay off once signed in to the gateway or via DISABLE_TELEMETRY
  • Changed the footer PR badge on Bedrock, Vertex, and Foundry, and when telemetry is off, to call the GitHub API directly (via gh auth token, GH_TOKEN, or GITHUB_TOKEN) instead of gh pr view
  • Changed how Bash command output files are created and read back when commands run in the sandbox, so a sandboxed command cannot redirect or replace them
  • Changed plugin/LSP install suggestions and the auto-mode default offer to wait until you’ve sent or cleared what you’re typing, so the Enter that sends your prompt can’t answer them
  • Changed server-managed settings that terminate sandbox TLS, route sandbox traffic through your own proxy, inject credentials, or weaken sandbox isolation to require approval before they apply
  • Changed ANTHROPIC_CUSTOM_HEADERS from managed or project settings to require approval when it sets a credential, org/tenant, routing, or API-behavior header (e.g. Authorization, Host)
  • Changed project-level .claude/settings.json env to no longer set CLAUDE_CONFIG_DIR, CLAUDE_CODE_TMPDIR, or TMPDIR/TMP/TEMP; set them in your shell, user, or managed settings instead
  • Removed syntax highlighting for six rarely used languages (1c, gml, isbl, mathematica, maxima, sqf); the binary is 2.5 MB smaller
  • [VSCode] Changed the Remote Control banner to a footer pill (shown while Remote Control is on or has failed) that opens the session on claude.ai/code; turn it on or off with /remote-control
August 28, 2026
  • Bug fixes and reliability improvements
August 27, 2026
Added
  • Added --restricted (or CLAUDE_CODE_RESTRICTED=1): removes the built-in tools that run commands or code and WebFetch (unless named in --tools), keeps file tools inside the working directory, refuses bypassPermissions, and ignores user, project and local settings files
  • Added experimental.cacheTtl ("5m" or "1h") to agent frontmatter: a per-agent prompt cache TTL used when no subagent TTL setting is configured
  • Added claude self-hosted-runner --client-label <label> (or SELF_HOSTED_RUNNER_CLIENT_LABEL) to override the label the runner registers with (default: hostname)
  • Added server-managed settings diagnostics: a startup warning when the settings fail to load, and a /doctor and /status line explaining a load failure or why they weren’t fetched (Bedrock/Vertex/third-party provider, custom ANTHROPIC_BASE_URL)
  • Added a warning in /web-setup when the GitHub CLI token lacks the workflow scope, since pushes to very large repositories can be rejected without it
  • Added /usage-credits for Enterprise organizations billed through AWS Marketplace, self-serve Enterprise, and Enterprise trials, so members can request a higher usage limit from their admin
  • Added cross-session messaging (SendMessage / ListAgents) between sessions on the same machine on Bedrock, Vertex, and Foundry, and when telemetry is disabled
Changed
  • Changed shift+enter in the agent view dispatch input to insert a newline (matching the prompt); ctrl+enter now dispatches and attaches
  • Changed /loop: self-paced dynamic mode and the no-prompt autonomous default are now always available, including on Bedrock/Vertex/Foundry
  • Changed Anthropic telemetry export failures to log at debug level as [Anthropic telemetry] instead of [3P telemetry] OTEL diag error, so they are not mistaken for your OTel collector failing
  • Changed cross-session messaging in Linux user namespaces: root-equivalent trust for unmapped owners is limited to canonical system directories
  • Changed SendMessage from a subagent to another session: the result now notes that any reply is delivered to the parent session’s conversation, not to the subagent
August 26, 2026
Added
  • Added the SendFeedback tool: when something goes wrong in a session, Claude can draft a feedback report for you to review and send from /feedback (turn off with the feedbackDrafts setting)
  • Added {id, text, cooldownSessions, priority} entries, tipsFile, and label to spinnerTipsOverride, so organizations can rotate their own tips alongside the built-in ones
  • Added a tip on Bash permission prompts pointing to auto mode, with a one-keystroke “Yes, and switch to auto mode” option
  • Added /claude-api cost-optimize to profile an existing project’s Claude API spend and work through cost levers (caching, token hygiene, batch, effort, model choice) one measured change at a time
Changed
  • Updated the /claude-api skill with Admin API coverage (organization members, invites, workspaces, API keys, rate limit reports, workload identity federation, CMEK)
  • Changed Sonnet 5’s default auto-compact window to its full 1M context, so sessions on the 1M window now auto-compact at about 967K tokens instead of about 934K
  • Changed cross-session peer messages to collapse by default to a one-line Message from @<sender>: <first line> preview; Ctrl+O expands the full body
  • Changed terminal hyperlinks in rendered markdown: link targets that point at a network or automounter path, contain a control character, or lead with an invisible character now render as plain text
  • Changed the prompt-footer PR badge to skip its GitHub re-check on terminal refocus when the last check is under a minute old
  • Changed analytics to stay off from startup, not only after login, when managed settings force gateway login or a custom OAuth deployment is configured
  • Changed Claude apps gateway sign-in requests to identify Claude Code (a surface=claude_code device-authorization parameter and a claude-code/<version> User-Agent)
  • Changed organization sign-in enforcement to exit at start when the administrator’s managed settings cannot be read, even if host-supplied or per-user Windows registry settings exist
Improved
  • Improved plugin marketplace hardening: names containing control or invisible characters are rejected, and marketplace-supplied text in /plugin and claude plugin output is escape-safe
  • Improved Bedrock, Vertex, and Foundry sessions (and any with telemetry disabled): Claude is now told when a configured MCP server failed to connect, instead of concluding its tools don’t exist
August 25, 2026
Added
  • Added a startup warning for Bash allow rules with a wildcard before the subcommand (e.g. Bash(git * main)), since they also match options inserted before the subcommand
  • Added an Auto mode tab to /permissions for viewing and editing auto mode classifier rules
  • Added the turn’s completion time to the end-of-turn duration line, e.g. ✻ Sautéed for 23s · done 6:05 PM
Changed
  • Changed /code-review so Claude can also start it on its own on Bedrock, Vertex AI, and Foundry, through the Claude apps gateway, and when telemetry or non-essential traffic is disabled
  • /goal: Changed idle sessions to start at most three check-ins on long-running background work per goal; your next message allows three more
  • Changed claude install and claude update to defer a pending managed-settings consent prompt to the next interactive session instead of prompting mid-command
  • Changed OpenTelemetry plugin events for plugins synced from claude.ai: plugin_id_hash now reflects the plugin’s real marketplace, and enabled_via is admin-install for admin-installed plugins
August 25, 2026
  • Fixed a crash on startup on Linux distributions that ship glibc 2.44 (for example Arch Linux, CachyOS and Fedora Rawhide)
August 25, 2026
Added
  • Added a Loops breakdown to /usage: per-loop run count, total tokens, tokens per run, and last run, so runaway or chatty /loop tasks are easy to spot
  • Added modelPicker setting: curate the /model picker with an ordered, labeled list of models (any id spelling, including Vertex/Bedrock ids), appended to or replacing the built-in lineup
  • Added promptCacheTtl and subagentPromptCacheTtl settings so API-key and cloud-provider users can keep a 1-hour prompt cache on the main conversation while subagents stay at 5 minutes
  • Added modelPricing managed setting so an organization’s contracted per-model rates and discount multiplier are used for /cost, the status line, and telemetry cost figures instead of list price
  • Added a keyless sign-in under /login → Anthropic Console: “Sign in with your Console account” (recommended) alongside creating an API key, so organizations that don’t allow API keys can sign in
  • Added a Skipped sources line to /status that lists managed settings sources (for example managed-settings.json) present but not applied because a higher-precedence managed source is active
  • Added a managed marker in /mcp and /plugins on claude.ai connectors whose authentication is managed by your organization
  • Added a tip pointing claude.ai users who haven’t connected GitHub for Claude Code on the web to /web-setup
  • Added a /status line showing whether GitHub is connected for Claude Code on the web (Pro/Max), pointing to /web-setup when it isn’t
  • Added the model (and effort level) each subagent ran on to /tasks and the agent detail dialogs
Changed
  • Changed the sandboxed Bash tool prompt to no longer list allowed network hosts, so Claude attempts requests (and you can approve new hosts) instead of assuming unlisted hosts are blocked
  • Updated the /model picker and the bundled claude-api skill to show Sonnet 5’s 2/2/10 per Mtok pricing as its standard list price rather than a limited-time promo
  • Changed computer use on macOS so clicking the desktop, Dock, or a Finder window requires granting Finder via the access dialog, like any other app
  • Changed /model, /fast, and /effort to also run immediately instead of queueing until the turn ends on Bedrock, Vertex, and Foundry and when telemetry is disabled
  • Changed the cross-session messaging inbox socket to close connections that send no complete line within 30 seconds; scripts posting to it should connect once their data is ready
August 23, 2026
  • Bug fixes and reliability improvements
August 22, 2026
  • Bug fixes and reliability improvements
August 21, 2026
Added
  • Added the one-time fullscreen renderer offer on Bedrock, Vertex, Foundry and other previously excluded setups; new installs there now start in fullscreen
  • Added /claude-api upgrade to migrate Python projects from anthropic 0.x to 1.x, and updated the skill’s Python reference for 1.x (timeouts use anthropic.Timeout, not httpx.Timeout)
Changed
  • Cost estimates (/cost, status line, --max-budget-usd) now include the 1.1× US-only-inference premium for data-residency workspaces
  • Cloud sessions: plugins synced from claude.ai now show as name@synced, work with claude plugin enable/disable <name>@synced, and never override a same-named plugin you installed
  • Alpine/musl builds: native image paste, clipboard, and audio-capture add-ons now load (musl-built binaries instead of glibc ones refused by the runtime)
  • The usage-limit message shown when your monthly spend limit is already used up now also says when your session or weekly limit resets
  • Long file paths on tool-use rows now truncate in the middle to stay on one line
  • Remote sessions keep sending keep-alives while a long SessionStart or Setup hook runs, so the container is not idle-reaped mid-hook
  • /goal: repeat check-ins on long-running background work now back off (30 min, then 1 h, then every 2 h) instead of repeating every 30 minutes
  • /goal: resuming a session from the claude --resume picker now restores its active goal
  • ListAgents now tells a session its own name (the one peers use to message it), and SendMessage to your own name says so instead of “no agent named …”
  • ListAgents and /list-agents now list your live teammates (previously only subagents and other sessions appeared, so a reachable teammate looked absent)
  • keybindingFlavor: "readline" now also matches Bash for word keys: Alt+F and Ctrl/Option+→ stop at the end of the word, Alt+D deletes to it (Ctrl+Y pastes it back), and punctuation separates words
  • Persistent retry mode (CLAUDE_CODE_RETRY_WATCHDOG) now fails immediately on organization spend-limit and out-of-credits errors instead of waiting indefinitely for a reset
  • Claude in Chrome: /clear now closes the session’s Chrome tab group, and empty groups are closed on /resume and when Claude Code exits
  • Remote sessions: images uploaded from mobile now include their saved file path, so Claude can copy them into files it creates
  • Claude Code on the web: requests from Bash and other tools to non-API anthropic.com hosts (e.g. www, docs) now go through the session’s network proxy, so your environment’s allowed domains apply
  • Remote Control: clearer message and claude doctor wording when Remote Control isn’t enabled for your account
  • Windows: cross-session messaging is now available, so Claude Code sessions across your machines can message each other with SendMessage and find each other with ListAgents, as on macOS and Linux
  • [VSCode] “View usage” in the usage-limit banner now sits inline with the warning text instead of floating mid-banner
Improved
  • Improved the reminder shown after compaction so a skill’s original arguments are not re-run as a new request
August 20, 2026
Added
  • Added a keybindingFlavor setting: set it to "readline" to make Ctrl+W in the prompt delete back to the previous whitespace, as in Bash; the default ("classic") is unchanged
  • Added claude self-hosted-runner --defer-shutdown-max-min <minutes>: on SIGTERM, keep serving attached sessions, park what is left after that many minutes, then exit
  • Added claude self-hosted-runner --proxy-authorization-command / --proxy-authorization-file for egress proxies that require a freshly issued Proxy-Authorization header on every connection
Changed
  • Plugin marketplaces: headersHelper on a url marketplace or a catalog entry runs a command that mints HTTP headers (e.g. a short-lived token) for catalog and same-origin archive fetches
  • A catalog entry’s headersHelper runs only when you install or update that plugin, after its command is shown; claude plugin install/update ask [y/N] (or pass -y)
  • Cross-session messaging: sending to a session on this machine that refuses inbound messages (e.g. crossSessionInbound: "refuse") now reports “refused” to the sender instead of a silent success
  • Cross-session messaging: a session whose inbox drops your messages (rate limit or full queue) now tells your session, instead of the messages vanishing silently
  • Updated the bundled claude-api skill for the Managed Agents Aug 19 release: web search/fetch domain settings and memory stores on self-hosted sandboxes
  • Changed Ctrl+L and Cmd+K in fullscreen to always just repaint — the double-press /clear shortcut was removed, and 1-row nvim terminals no longer trigger automatic /clear loops
  • Changed claude mcp list and claude mcp get to show disabled servers as ⊘ Disabled instead of connecting to them for a health check
  • MCP headersHelper in a project .mcp.json, and inline MCP servers in project or --add-dir agent files, now require that folder’s trust dialog to have been accepted (also under claude -p)
  • MCP headersHelper from a project .mcp.json, plugin, or agent file runs without inherited credential env vars; user, managed and claude.ai-scope helpers now run from the Claude config dir
Improved
  • Improved startup: bare claude starts sooner on macOS
  • Improved Bash tool permission checking for zsh-specific syntax in shell conditionals
  • Improved Remote Control connection resilience: brief HTTP 403 refusals from a network edge, VPN, or proxy are now tolerated for up to 3 minutes, with the refusing party named when a block persists
  • Improved startup responsiveness: the automatic update check now runs about 10 seconds after launch instead of competing with startup for CPU
August 20, 2026
  • Fixed prompt caching for sessions using an LLM gateway or custom base URL
  • Added a built-in “Concise” output style: Claude leads with results and skips preamble and narration, while doing the work just as thoroughly. Select it under Output style in /config.
August 19, 2026
Added
  • Added ANTHROPIC_DEFAULT_MODEL environment variable: sets the model new sessions start on, while a /model pick still overrides it and persists across restarts (unlike ANTHROPIC_MODEL)
  • Added notify_when_idle to cross-session SendMessage: ask another Claude Code session on this machine to send one notice when it next goes idle — opt-in, one-shot, no polling (macOS and Linux)
  • [VSCode] Added screen reader support for the transcript: live announcements for replies, permission requests, errors, and status changes, plus per-turn heading navigation
Changed
  • Sandbox: on macOS, wildcard read-deny rules (e.g. **/.env) now take precedence inside allowed read regions, cover matched directories’ contents, and can’t be bypassed by renaming the denied file
  • Changed the /model picker to highlight only the newest model’s name, so the highlight marks the new release rather than an arbitrary subset of the list
  • /goal: an idle session whose goal is parked behind long-running background work now checks in automatically after 30 minutes (then 1h, 2h) instead of waiting for you to return
  • /usage now shows the usage-credits spend row for Team and Enterprise members, and shows a capped row at 0% before anything is spent
  • SIGTERM in print/SDK mode no longer records an interrupted turn or synthetic tool denials before exiting; running commands are still terminated and the process still exits with code 143
  • Pressing Enter on a slash-command typo or a command unavailable in this session now reports it instead of running the closest fuzzy match; prefixes and aliases still run
  • Remote Control now marks a session offline within seconds when the CLI exits or its terminal closes
  • SendMessage now refuses further messages to a session up front once a rapid burst would exceed what that session’s inbox accepts, instead of reporting them sent while they were dropped
  • Aligned the session title chip on the prompt border with the footer’s right edge
  • Right-aligned footer items (goal indicator, session state, background agent status) and truncated notices now share a consistent right margin with the rest of the prompt area
Improved
  • Improved startup performance: the session counter is now written in the background
  • Improved auto mode: Monitor allow rules are now set aside while auto mode is active, so Monitor commands are reviewed the same way Bash commands are
  • Improved auto mode on Bedrock, Vertex AI, and Foundry, and when telemetry is disabled: the classifier now uses the same defaults as on the Claude API, including severity-scored classification
  • Improved auto mode: the git status check can no longer be fooled by a repo’s status.showUntrackedFiles=no setting into reporting a clean tree
August 18, 2026
Added
  • Added an optional spellcheck setting that underlines misspelled words in the prompt input as you type, using your installed aspell, hunspell, or ispell
Changed
  • Vim mode: NORMAL mode and cursor position are now preserved when toggling the detailed transcript (ctrl+o) or closing a panel
  • Dialogs: arrow keys and Enter pressed in quick succession now select the option you navigated to instead of the previously highlighted one
  • SendMessage now refuses messages too large for cross-session delivery up front instead of silently dropping them
  • Remote Control: claude rc now applies the same enterprise-gateway availability check as interactive startup
Improved
  • Improved memory and CPU usage while cloud sessions such as /ultrareview or /autofix-pr run in the background — their event streams are no longer re-scanned and re-rendered on every update
  • Improved permission dialogs: display text and “don’t ask again” options now always match what a grant would cover, and “don’t ask again” is withheld when contents cannot be fully displayed
  • Improved the embedded grep in native macOS/Linux builds: pathological patterns now fail fast instead of exhausting memory, and -m N with -A/-C prints correct context
  • Improved the context-limit error to say when auto-compact is off and point to /config to re-enable it
August 17, 2026
Added
  • Added the optional CLAUDE_CODE_PROJECT_DIR_NAME environment variable: hosts that give each session its own config directory can choose a short name for the per-project transcript directory
  • Added the selection:clear keybinding action, so a key can be bound to clear an in-app text selection; also works in the agents view
  • Added a GitLab merge request badge to the footer and statusline: repos with a GitLab remote and an authenticated glab CLI show MR !N with draft/pending/green states
Changed
  • Claude Code now continues your session automatically when a claude.ai usage limit resets; turn it off in /config (“Continue automatically at usage limit”)
  • Claude is now told to use your account email only to identify you, and not to send it to unrelated services unless you ask
  • Security: remote file reads, session restore, CLAUDE.md includes, workflow scripts and file uploads now reject Windows NT-namespace (\??\) paths, hardening the remaining pre-approval file accesses against the NTLM credential-leak vector
  • Remote Control: signing this computer in to a different claude.ai account or organization now stops the running session within seconds and says why, instead of a misleading HTTP 404 hours later
  • Remote Control sessions started from Claude Code Desktop or VS Code now keep phones and claude.ai/code updated on the session’s permission mode (and claude.ai/code on the model) as they change
  • Remote Control: effort picks made on a phone or on claude.ai/code now apply to terminal- and Desktop/VS Code-hosted sessions, and the session publishes its effort level to connected clients
  • SendMessage and ListAgents now say when your account’s session list was too long to check completely, instead of treating unseen sessions as absent
  • Expired Anthropic profile credential now points you at /login when a claude.ai login would take precedence
  • Reduced the context cost of loading the built-in claude-api skill from ~200k+ tokens to ~25k by loading reference docs on demand
  • /permissions can now be opened while Claude is working — rule changes apply to the rest of the current turn
  • /add-dir <path> can now be used while Claude is working; /add-dir, /autocompact, /theme, /help, /config and /advisor dialogs open mid-turn in the fullscreen TUI
  • /goal now clears itself with a notice when a turn dies on an unrecoverable error (e.g. revoked auth, an exhausted credit balance, or a context overflow) instead of staying armed
  • /goal: when background tasks keep a goal waiting for 30+ minutes, Claude now checks in on them instead of waiting indefinitely (set CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0 to opt out)
  • claude setup-token now rejects unexpected extra arguments instead of silently ignoring them
  • Changed Esc in fullscreen mode to no longer clear a mouse text selection: it interrupts or dismisses as usual and the selection stays highlighted
  • Removed the redundant “Allowed by auto mode classifier” line that auto mode showed under every Agent tool call
  • Removed the “Default teammate model” setting from /config; agent-team teammates now use the leader’s model unless the spawn names one
  • Dimmed the elapsed-time counter on the running tool header so it no longer competes with the bold counts
  • Background task notifications delivered between turns are now sent to the model inside <system-reminder> tags, matching mid-turn delivery
  • Mantle: skip the admin-pin availability probe at startup when a main-loop model is already picked
  • Windows: startup no longer stalls on repeated rename retries when ~/.claude.json is read-only
Improved
  • Improved the transcript: your own prompts now render markdown (highlighted code blocks, inline code, lists) the same way replies do
  • Improved the “API returned an empty or malformed response” error to say what came back (content type, body kind, size, request ID) and why the original streaming request failed
  • Improved auto-generated session titles to read as short, specific names (e.g. “Login button bug”) rather than sentences restating your request (e.g. “Fix the login button on mobile”)
August 14, 2026
Added
  • Added GitLab merge request URL support to the --worktree flag and the claude agents view (where MRs display as !N)
  • Added an opt-in forward_user_identity apps gateway setting on Anthropic upstreams that sends the signed-in user’s identity as headers, so a proxy behind the gateway can attribute spend per user
  • Added opt-in memory cgroup support for Bash tool commands on Linux (CLAUDE_CODE_TOOL_MEMORY_LIMIT) so a runaway build can’t stall the session
  • Added CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS environment variable to configure the WebFetch session URL cache TTL (default unchanged: 15 minutes)
Changed
  • Changed the GitHub app setup tip to no longer appear in repositories whose origin remote is on gitlab.com or bitbucket.org; the enterprise marketplace tip now covers non-GitHub internal git hosts
  • Todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite) are no longer available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 to bring them back
  • Reverted the 2.1.232 Bash permission changes for Cygwin-style symlinks on Windows and for input redirections (< file); a narrower version will return in a later release
August 13, 2026
Added
  • Added /config rows for “Dialog expiry” and “Messages from your other sessions” (cross-session inbound accept/hold/refuse)
  • Added secret redaction for GitLab token families (glrt-, gloas-, glptt-, glagent-, glimt-, glsoat-, glcbt-, glft-, glffct-) and full redaction of routable glpat-/gldt- tokens; the glab CLI config store gets the same sandbox and credential-path protection as gh
  • Added GitLab support to plugin marketplaces: bare gitlab.com repo URLs (including nested subgroups) now clone like github.com URLs, and clone auth-failure hints name your actual git host
Changed
  • Subagent forking is now on by default: a subagent_type: "fork" subagent inherits the full conversation and prompt cache, and non-teammate agent spawns in interactive sessions now run in the background by default
  • Type @ in the prompt to mention another Claude session by name; Claude then uses SendMessage to reach that session directly
  • SendMessage now delivers to a bare name that exactly matches one live session, instead of asking to confirm with a ref first
  • Interactive sessions on one machine now keep unique names: starting or renaming a session to a name another live session already uses gives it a name-word-word variant and tells you
  • Settings: additionalMarketplaces and allowedMarketplaces are now accepted as friendlier aliases for extraKnownMarketplaces and strictKnownMarketplaces
  • Enterprise policy: a url-typed blockedMarketplaces entry for a bare repo URL keeps blocking that URL when the CLI classifies it as a git clone
  • Gateway: the desktop: overlay now accepts every released Desktop setting (was 11 hand-listed keys), validated at boot against Desktop’s own schema; unknown or invalid keys fail boot
  • Gateway: empty managed.policies[].match.groups/admin.admin_groups entries and malformed email_domain values (empty, or containing @, whitespace, or commas) now fail at boot instead of silently matching no one or granting admin access
  • Fable 5 is offered as an advisor in /advisor again for organizations with Fable access, with usage-credits consent set up through /model fable
  • Remote Control: resuming a conversation whose session was deleted from claude.ai or the app now starts a replacement instead of failing with a message about your login (regressed in v2.1.227)
  • /feedback and /bug now open immediately when invoked while Claude is responding, instead of waiting for the turn to finish
  • /plugin install plugin@marketplace now refreshes the marketplace first, so newly published plugins install without a manual marketplace update
  • /code-review at high, xhigh, and max effort now runs in a background agent like the other levels
  • Pasted and clipboard images are read without blocking the event loop
  • Remote Control now keeps reconnecting for about 30 minutes after a network blip and no longer drops after a few blips spread across an hour
  • Remote Control: resuming a conversation no longer silently takes Remote Control away from another Claude Code on the same machine that still has it; run /remote-control there to move it
  • Updated agent panel: completed subagents hide immediately with a /tasks footer hint, and the ”↓ N more” overflow indicator moved left for visibility
  • Remote Control: the terminal now says whether a session was taken over by another device, ended from another app, or deleted, and stops suggesting a reconnect that would undo it
  • Bash input redirections (< file) are now permission-checked like their argument spellings on all platforms
  • Shortened the message shown when resuming a completed background agent
  • Cowork sessions no longer inline external @-imports from user-scope memory files
  • Hardened the auto-generated cross-session messaging socket directory on shared /tmp: a pre-planted symlink or another user’s directory is now refused instead of used
  • Hardened the Linux filesystem sandbox against a protected-path bypass
  • Changed sandbox.ripgrep to be honored only from user, managed, and --settings settings; project settings can no longer override the sandbox’s ripgrep binary
  • Removed the startup tip suggesting you create custom subagents, and the matching nudge in the /powerup tour
Improved
  • Improved fullscreen streaming: long sessions stay responsive because the whole conversation is no longer re-normalized on every update
  • Improved the managed settings approval dialog: shows endpoint URLs, uses clearer wording for telemetry-only changes, skips routine OpenTelemetry options, and requires approval for server-managed sandbox binary overrides (sandbox.bwrapPath, sandbox.socatPath, sandbox.ripgrep)
August 13, 2026
  • Fixed MCP OAuth sign-in failing with a redirect URI mismatch for servers that use a pre-registered OAuth client, such as Slack
August 12, 2026
Added
  • Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior
  • Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams
  • Added plugin marketplace command sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; mode: "link" uses it in place
  • [VSCode] Added session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once
Changed
  • Documented claude remote-control --continue for resuming the most recent Remote Control session
  • ListAgents now marks disconnected Remote Control sessions as offline and labels your cloud sessions as cloud
  • Updated /login to repeat the CLAUDE_CODE_OAUTH_TOKEN override warning after a successful login
  • Changed /commit-push-pr so git/gh commands with dangerous flags (--force, --amend, --no-verify, etc.) are no longer auto-approved
  • Changed self-hosted runner Windows startup to require an explicit --base-dir; there is no default checkout directory on Windows
  • [VSCode] “Report a problem” and /bug now open the built-in feedback dialog instead of a retired survey link
  • [VSCode] Made the /btw side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts
Improved
  • Improved workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it (CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 disables)
  • Improved “prompt is too long” errors to explain why automatic compaction could not recover instead of only suggesting /compact
  • Improved sandbox: IPv6 literals in network domain lists are now bracketed ([::1]:443), and ambiguous spellings are enforced fail-closed and flagged by /doctor
August 11, 2026
Changed
  • Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, their descriptions are sanitized and labeled, and on your machine their bodies don’t run ! commands or expand @ files
  • Updated terminal title busy-spinner glyphs to reduce tab-bar jitter on some terminals
  • Changed the Write tool so newer models can overwrite an existing file they haven’t read this session, matching the Edit tool’s rules; older models still require the read first
  • Removed the outdated note about auto mode sessions costing slightly more from the first-use notice for Pro, Max, and Team plans
Improved
  • Improved cross-session messages: the sender and body now display inline instead of a collapsed line, and messages to Remote Control sessions on other machines show your Remote Control session name as the sender
  • Improved Vertex AI credential handling: expired or missing Google Cloud credentials now fail within seconds instead of retrying for minutes
  • Improved compaction progress: the retry countdown and stall hint now appear during compaction instead of only a progress bar
August 10, 2026
  • Fixed feature flags being evaluated without the user’s subscription tier when a session started with an expired login token, which could wrongly prompt Max plan users to enable usage credits for Fable
  • Fixed every Bash command failing under claude-code-action with allowed_non_write_users on GitHub-hosted runners
  • Fixed /tui bringing back a conversation that had been rewound to before its first message
  • Improved slash-command menu: blue now marks only the selected row, matched characters are bolded instead of recolored, and emoji or accented names keep their glyphs
  • Improved performance: fewer event-loop stalls on file-not-found suggestions and at-mention size checks
August 8, 2026
  • Bug fixes and reliability improvements
August 8, 2026
Added
  • Added gateway spend-limit support to Claude Code’s usage warning; the limit-reached message now names the cap, its reset time, and the operator’s message (requires the gateway on 2.1.225)
  • Added a workspace trust prompt to claude agents for untrusted directories, matching the behavior of claude
Changed
  • SendMessage can now start a conversation with your Remote Control sessions on other machines by name (ListAgents shows them as name [ref]), instead of only replying after they message you first
  • SendMessage: a Remote Control recipient you already confirmed is never swapped for a same-named session on this machine when its own list couldn’t be checked
Improved
  • Improved Remote Control: photos attached from the Claude app are now shown to Claude directly instead of being read from disk with a separate tool call
August 7, 2026
Added
  • Added self-hosted environments: claude self-hosted-runner turns your own machines or containers into a place Claude Code web, mobile, and desktop sessions can run, on Team and Enterprise plans
  • Added archive plugin source: install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinning
  • Added a cancel-and-confirm step when removing an unavailable paste changes a command’s text
  • Added ANTHROPIC_BEDROCK_REGION_PREFIX env var for Bedrock to prefer a specific cross-region inference profile over the AWS_REGION-derived one
  • Added crossSessionInbound and dialogExpiry settings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliver
  • Added sandbox credential-masking options: extract and onExtractNoMatch for structured env values, decode: "jwt" with maskClaims for JWT-aware masking, and awsPairs/sigv4 for AWS SigV4 re-signing; these need network.tlsTerminate and are honored only from user, managed, or --settings settings
  • Added cross-session SendMessage: Claude Code sessions can now message each other, on any of your machines, with ListAgents to discover them (macOS and Linux)
Changed
  • Removed the 200-subagent-per-session spawn cap; long-running sessions no longer refuse new agents (concurrency and depth limits still apply)
  • Changed managed settings: the approval prompt no longer re-appears after re-login or org switching when the organization’s settings are unchanged
  • Changed the feedback-survey transcript share: with your consent it now also uploads the last request’s model settings — the system prompt (which includes your CLAUDE.md instructions), tool definitions, and model parameters. Secrets are redacted as before, and these fields are dropped first if the share is too large
  • Changed the Bash tool description to always note that command output is displayed to the model, not reliably to the user
  • Changed recalled paste placeholder numbers to renumber when accepted into the input
  • Changed Remote Control to archive the stale server session instead of leaving a dead one listed when a fresh session is minted after compaction or /resume
Improved
  • Improved fullscreen mode to keep the full pre-compaction history in scrollback across repeated compactions, instead of only the most recent interval
  • Improved Remote Control: attached web and mobile clients now see compaction progress and the post-compaction boundary instead of a silent pause; /clear resets now propagate to attached clients
  • Improved Remote Control: connection failures now show a persistent failure indicator with details and a reconnect shortcut, instead of only an 8-second toast
August 6, 2026
Added
  • Added owner wildcard entries ("owner/*") to the strictKnownMarketplaces and blockedMarketplaces managed settings for allowing or blocking all marketplace repos under a GitHub org
  • Added a warning when workflow agents, forked skills, slash commands, or resumed background agents’ requested subagent model is restricted and the parent model runs instead
  • Added a /teleport hint in cloud sessions showing how to continue locally with claude --teleport <session id>
Changed
  • Changed CLAUDE_CODE_DISABLE_1M_CONTEXT to hold every Claude model with a native 1M window to 200K via auto-compaction, not just a fixed list; a startup warning now appears when auto-compaction isn’t holding the session to 200K
  • Changed auto-compact to keep sessions on unrecognized model IDs within the assumed context window instead of letting them grow past it; set CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 to restore the previous behavior
  • Changed /review to be an alias of /code-review, which reviews the current diff or a PR (/code-review <level> <pr#>); use /code-review ultra for a deep cloud review
  • Changed /code-review with no effort level to reuse the level you typed last; type a level like /code-review high to change it
August 4, 2026
Changed
  • Changed Remote Control auto-start so repo-local settings (.claude/settings.json or .claude/settings.local.json) can no longer turn it on (they can still turn it off); enable it at user scope via /config
  • Removed ultraplan feature
Improved
  • Improved auto mode safety: messages sent to other agent sessions via SendMessage are now evaluated by the permission classifier before dispatch
  • Improved the refusal when Claude tries to invoke a skill with disable-model-invocation: Claude is now told to ask you to run the skill instead of replicating its workflow
  • Improved the /diff view, the Remote Control workspace diff, and file-edit diffs in Claude Code on the web sessions to use raw git blob content, ignoring workspace-configured diff drivers and textconv
August 4, 2026
Added
  • [VSCode] Added Focus view: a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator, toggled with Ctrl+Alt+F or the “Claude Code: Toggle Focus view” command
  • Added mode: "mask" for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (the whole file, or just the spans captured by an extract regex) while the sandbox proxy substitutes the real value on egress; on macOS file masking falls back to deny
  • Added warnings to claude plugin validate when a marketplace or plugin name would be rejected by Claude Desktop’s managed marketplace sync
  • Added a prompt-audit subcommand to the claude-api skill for auditing prompts and tool descriptions for patterns written for older models
Changed
  • Reduced prompt-cache costs for auto-mode permission checks by reusing the cached conversation prefix across decisions
  • Changed background sessions to commit and push to preserve work, open a draft PR only when the task calls for one, follow your CLAUDE.md git instructions, and always end by reporting where the work lives
  • Changed /plugin install to refresh a stale marketplace catalog and retry before reporting a plugin not found
  • Changed plugins installed from /plugin to activate immediately when safe, instead of always requiring /reload-plugins
  • Changed plugins to accept "." as a skills path, and the root-level SKILL.md validation error now suggests using the plugin root
  • Changed /status to show the session kind: interactive, or a background job that is attached or unattended
  • Changed emoji autocomplete to accept common alternate shortcodes like :thumbsup:, :thumbsdown:, and :love:
  • Changed sessions forked with /fork to create a new worktree of their own instead of working in the original session’s checkout
  • Changed Claude in Chrome to close the browser tabs it opens once it no longer needs them
  • Changed fast mode to report on the stream when usage credits run out mid-session, instead of failing silently
  • Changed Monitor: a watch that exits without producing any output now says so instead of reporting “stream ended”
  • Changed the Gateway model field validation: non-string values are rejected with a 400 instead of being forwarded
  • Removed the repeated “Permission mode changed while the auto-mode classifier call was queued” notice from approval prompts
July 25, 2026
  • Bug fixes and reliability improvements
July 24, 2026
Added
  • Added Claude Opus 5 (claude-opus-5), now the default Opus model — 1M context, fast mode at 10/10/50 per Mtok
  • Added sandbox.network.strictAllowlist setting to deny non-allowlisted hosts for sandboxed commands without prompting
  • Added DirectoryAdded hook that fires after /add-dir or the SDK register_repo_root control request registers a new working directory mid-session
  • Added mcp_server_errors to the headless stream-json init event, listing --mcp-config entries skipped by config validation; terminal runs print a startup warning
  • Added the workflowSizeGuideline settings key so the advisory Dynamic workflow size guideline can be set from any settings file; the /config row is hidden while one does
  • Added nested subagent forwarding in stream-json: subagents spawned at depth-2+ now appear when --forward-subagent-text is set, keyed by their spawning Agent tool_use id
  • Added HTTP status and error text to claude mcp list and /mcp when a server fails to connect, and a warning for MCP config values with hidden leading or trailing whitespace
  • Added the current default workflow size to the running-workflow status line, with a pointer to /config for changing it
Changed
  • Changed dynamic workflows to default to a medium size guideline (aim for fewer than 15 agents); pick another size or unrestricted with Dynamic workflow size in /config
  • Changed managed MCP allowlist/denylist ${VAR} entries to resolve from the startup environment and managed-settings env instead of settings-file env
  • Changed the /model picker to highlight only the newest model’s name, so the highlight marks the new release rather than an arbitrary subset of the list
  • Removed Opus 4.7 from fast mode; /fast now applies to Opus 5 and Opus 4.8
  • Updated the claude-api skill to default to Claude Opus 5, with a migration path from Opus 4.8
  • Subagents can now spawn nested subagents up to depth 3 by default (was 1); set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 to disable nesting
Improved
  • Improved the “Remote Control is only available via api.anthropic.com” error to name the specific setting that caused it
  • Improved claude --teleport to show which repo your current checkout points at when it doesn’t match the session’s repo
July 22, 2026
Added
  • Added screen-reader announcements of deleted text for word and line deletions (Option+Delete, Ctrl+W, Cmd+Backspace, Ctrl+U, Ctrl+K) in --ax-screen-reader mode
  • Added an announcement when fast mode changes as a result of switching models via /config model=<x> or Remote Control
  • Added yes/no/on/off/1/0 (case-insensitive) as accepted values for skill and plugin frontmatter booleans, alongside true/false
Changed
  • Changed /code-review to run as a background subagent, so review work no longer fills your conversation and keeps stacked slash commands as its review target
  • Changed /deep-research to start only when invoked manually; Claude no longer launches it on its own
  • Changed plan mode with auto to no longer prompt for Bash commands the static analyzer can’t prove read-only; the auto-mode classifier judges them instead
  • Changed server-managed settings so benign feature and cost toggles no longer trigger the settings-approval prompt
  • Changed agent markdown files to reject agent names containing :, which is reserved for plugin namespacing
  • Changed skills with context: fork to run in the background by default; opt out per skill with background: false
Improved
  • Improved /ultrareview error feedback so Claude can correct an invalid argument instead of retrying it unchanged
  • Improved auto mode: the dangerous-rm, background-&, and suspicious-Windows-path checks no longer open permission dialogs; the auto-mode classifier adjudicates them instead
  • Improved sandbox command restrictions for IDE interactions
  • Improved trust dialogs to name the repository root the grant covers
July 21, 2026
Added
  • Added emoji shortcode autocomplete in the prompt input: type :heart: to insert ❤️, or :hea for suggestions — disable with the emojiCompletionEnabled setting
  • Added warnings when transcript writes are failing (e.g. disk full) or when session saving is off due to an inherited environment variable, instead of losing transcripts silently
  • Added a cap on concurrently-running subagents (default 20, override with CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) so one message can’t fan out unbounded background agents
Changed
  • Changed the login-expiry warning to appear 3 days before expiry instead of 5
  • Capped the frontend-design plugin suggestion tip at 3 lifetime impressions instead of repeating indefinitely
  • Changed subagents to no longer spawn nested subagents by default; set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH to allow deeper nesting
Improved
  • Improved footer PR badge links to be clickable hyperlinks even when terminal support can’t be detected (e.g. over ssh/tmux); set FORCE_HYPERLINK=0 to opt out
July 20, 2026
Added
  • Added sandbox.filesystem.disabled setting to skip filesystem isolation while keeping network egress control
Changed
  • /context now shows an explicit warning when the conversation exceeds the context window, and a failed /compact displays as an error
  • /rewind no longer restores or deletes files through symlinks or hard links at tracked paths and reports how many paths it skipped
  • Background sessions: /mcp and /install-github-app now park a “needs input” request in the agent view when no client is attached
  • Updated the bundled dataviz skill: reordered the default chart palette and fixed guidance that suggested direct labels for four-series charts
July 19, 2026
  • Claude no longer runs the /verify and /code-review skills on its own; invoke them with /verify or /code-review when you want them
July 18, 2026
Added
  • Added the EndConversation tool: Claude can end sessions with highly abusive users or jailbreak attempts, as on claude.ai since 2025 — see https://www.anthropic.com/research/end-subset-conversations
  • Added a periodic progress heartbeat for long-running tool calls that previously went silent
  • Added an ISO modified timestamp to memory file frontmatter
  • Added message.uuid, client_request_id, and tool_source attributes to OpenTelemetry log events for message-level correlation and tool provenance
  • Added CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH to configure the 60 KB truncation limit on OpenTelemetry content attributes
  • Added reasoning effort to the subagentStatusLine payload, so custom agent rows can render model and effort
  • Added permission prompts for docker commands (including the Podman docker shim) carrying daemon-redirect flags (--url, --connection, --identity, and Podman’s remote mode) that previously ran without one
Changed
  • Changed single-segment dir/** hook if: conditions to match only <cwd>/dir; write **/dir/** for any-depth matching. deny/ask permission rules keep their any-depth match.
  • Changed file commands using -m/--magic-file or -f/--files-from to require permission instead of being auto-allowed as read-only
  • Changed keep-alive connection pooling to disable after a stale-connection error, so retries open a fresh socket
  • Changed SessionStart hooks to report source "fork" when a session begins as a fork instead of "resume"
Improved
  • Improved the claude rc workspace-trust error in the home directory to say trust there is never saved and to suggest running from a project directory
July 17, 2026
Added
  • Added claude auto-mode reset to restore the default auto-mode configuration, with a confirmation prompt (pass --yes to skip)
  • Added a session-wide limit on WebSearch tool calls (default 200, tunable via CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) to stop runaway search loops
  • Added a per-session cap on subagent spawns (default 200, override with CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION) to stop runaway delegation loops; /clear resets the budget
Changed
  • /fork now copies your conversation into a new background session (its own row in claude agents) while you keep working; the in-session subagent it used to launch is now /subtask
  • MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable; configure the threshold or disable with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS
  • Typing /resume in the agent view now opens a picker of past sessions — including sessions deleted from the list — and resumes your pick as a background session
  • Reduced token usage in inter-agent messaging: SendMessage bodies are no longer duplicated into replayed history and tool results
  • Changed /fork to name the copy after your prompt when the session has no title, so the row is recognizable in the agent view
  • Changed bare /btw to reopen the side-question panel on your most recent exchange so you can browse earlier answers
  • Changed the ← footer hint to pulse N done for a moment when a background agent finishes while nothing needs your input
  • Deprecated the Task tool’s mode parameter (now ignored); subagents inherit the parent session’s permission mode by default
  • Changed Enterprise forceLoginMethod to be enforced for VS Code extension, SDK, setup-token, and install-github-app logins, not just the terminal
  • Changed session transcripts to record the reasoning effort level on each assistant message
  • Changed headless/SDK sessions to apply a set_model control request mid-turn; the next model round-trip uses the new model instead of waiting for the next turn
  • Changed agent view / claude agents --json: sessions waiting on a sandbox, MCP-input, or managed-settings prompt now show as “Needs input” instead of “Working”
  • Updated the auth status panel title from “Cloud authentication” to “Authentication”
  • Corrected an earlier release note (2.1.200): tmux through the 3.6 series lacks synchronized output; newer tmux with support is detected automatically
Improved
  • Improved web search and web fetch reliability by retrying 529 errors and rate-limited requests with bounded backoff
  • Improved prompt caching: the mid-conversation system block now works behind LLM gateways and custom base URLs (Bedrock, Vertex, 1P)
  • Improved background agent attach: cold-attaching now instantly shows the formatted transcript while the session boots, instead of a blank wait
July 15, 2026
Added
  • Added --forward-subagent-text flag and CLAUDE_CODE_FORWARD_SUBAGENT_TEXT environment variable to include subagent text and thinking in stream-json output
Changed
  • Hardened synced skill/plugin directory naming on Windows and kept CCR web fetch/search proxies working after /clear
  • Updated integer environment variables (timeouts, token budgets, retry counts) to accept scientific notation and digit-separator spellings like 1e6 and 64_000
  • Updated documentation links to the current docs sites
  • Changed “always allow” permission rules to save at the repository root, so approvals granted in a git worktree persist across sessions and worktrees
  • Changed /usage-credits to ask for confirmation before sending a request to organization admins
  • Changed Vim mode s and S (substitute char/line) to work in NORMAL mode, matching vim behavior
  • [VSCode] Updated the Remote Control banner to describe what it does
  • Claude in Chrome: hardened file-upload path validation
  • Claude in Chrome: save_to_disk on screenshot actions now writes the image to disk and returns the path; previously it did nothing
Improved
  • Improved terminal layout and rendering performance
  • Improved background agent result reporting — Claude now reports the status of still-running agents and waits for the real completion instead of fabricating results
  • Improved the memory index over-limit warning to measure only loaded content, excluding frontmatter and HTML comments
July 14, 2026
Added
  • Added a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of looking stuck
  • Added a startup warning for Write(path), NotebookEdit(path), and Glob(path) permission rules — use Edit(path) or Read(path) instead
Changed
  • Hardened the Agent tool against indirect prompt injection via content a subagent read
  • Memory writes that leave a MEMORY.md index over its read limit now produce an explicit error instead of silent truncation
  • Screen reader mode now announces permission mode changes aloud when cycling modes with Shift+Tab
  • The agents footer hint now shows how many background agents are waiting on your input, with a brief color emphasis when the count changes
  • Agent view: the session you pressed ← from stays visibly marked even after mouse hover or arrow keys move the selection
  • Fable temporarily shows as unavailable in the advisor picker while a server-side issue causing Fable advisor failures is fixed
Improved
  • Improved the Bash/PowerShell tool message when a command hits its timeout and is auto-backgrounded, so the model can distinguish a hang from an explicit background request
  • Improved auto mode: the permission classifier now defaults to Sonnet 5 for external sessions, validated on the session’s first request and pinned for the session
  • Improved the bundled dataviz skill’s chart color validation with perceptual OKLab color difference and recalibrated color-blindness thresholds
July 14, 2026
  • Fixed /model and other dialogs being blocked in claude agents background sessions (reverts an overly broad guard)
July 14, 2026
Added
  • Added screen reader mode: opt-in plain-text rendering for screen reader users. Run claude --ax-screen-reader, set CLAUDE_AX_SCREEN_READER=1, or add “axScreenReader”: true to settings.
  • Added vimInsertModeRemaps setting: map two-key insert-mode sequences like jj to Escape in vim mode
  • Added CLAUDE_CODE_PROCESS_WRAPPER: agent view and the background service now honor a corporate launcher by running every Claude Code self-spawn through a required wrapper executable
  • Added mouse-click support for multi-select menus and “Other” input rows in fullscreen mode
Changed
  • Changed the Fable 5 usage-credits consent prompt to start with the decline option focused
  • Reduced per-tool-call CPU overhead in print/SDK sessions with many MCP tools by caching tool-pool assembly (up to 7x faster tool rounds at high tool counts)
  • Reduced memory usage by bounding the file edit read cache to 16 MB instead of pinning up to 1,000 full files
  • Reduced session transcript size (up to 79x in edit-heavy sessions) and bounded checkpoint disk usage by pruning superseded file-history backups
  • Reduced memory usage when resuming sessions with background agents or forks spawned from large conversations
  • Completed background agents now stay listed in /tasks until cleanup instead of vanishing the moment they finish
  • Attaching to a stopped background agent now shows its transcript immediately while the session warms up, instead of a blank “Session is starting” screen
  • Background sessions: an older daemon no longer silently restarts workers spawned by a newer version onto the older binary
  • Agent view: Ctrl+X now deletes renamed-branch worktrees, never destroys unpushed commits, keeps the session row when a worktree is kept, and reused worktree names reset to the current base
  • Catastrophic removals (e.g. rm -rf ~) in commands containing $(…)/backticks/<(…) now prompt in --dangerously-skip-permissions and auto mode, matching the plain form
  • /install-github-app and the /mcp settings menu no longer open in background sessions
  • MCP servers configured with an empty URL now show as “not configured” in /mcp instead of a config error
  • /usage now shows your last-known usage bars with an “as of” note when the usage endpoint is rate-limited, instead of an error screen
Improved
  • Improved input responsiveness while agent task lists update — task updates no longer re-render the entire UI
July 11, 2026
Changed
  • Auto mode is now available without CLAUDE_CODE_ENABLE_AUTO_MODE opt-in on Bedrock, Vertex AI, and Foundry; disable via disableAutoMode in settings
  • Changed Bedrock, Vertex, and Claude Platform on AWS to default to Claude Opus 4.8
  • Changed auto mode to no longer read autoMode from .claude/settings.local.json (repo-resident); use ~/.claude/settings.json instead
  • Plugin hooks/monitors/MCP headersHelper: ${user_config.*} in shell-form commands is now rejected (shell-injection fix). Hooks: use exec form (args array) or $CLAUDE_PLUGIN_OPTION_<KEY>; monitors and headersHelper: read the value inside the script (config file or the server’s env block).
  • Plugin option values (pluginConfigs) are no longer read from project-level .claude/settings.json; only user, --settings, and managed settings are honored
Improved
  • Improved agent view: pasting the same text again now expands the collapsed [Pasted text #N] placeholder instead of adding a second one
  • Improved agent view: blocked session peeks now lead with the question and show a worded staleness clock (waiting 3m) instead of the same timestamp twice
July 9, 2026
Added
  • Added directory path suggestions to /cd, matching /add-dir behavior
  • Added a /doctor check that proposes trimming checked-in CLAUDE.md files by cutting content Claude could derive from the codebase
Changed
  • /commit-push-pr now auto-allows git push to the repo’s configured push remote (remote.pushDefault, or the sole remote when only one is configured) in addition to origin
  • Gateway: /login now supports Anthropic-operated public gateway endpoints
  • EnterWorktree now asks for confirmation before entering a git worktree outside the project’s .claude/worktrees/ directory
  • Background agents now upgrade to a new version in the background right after a Claude Code update, instead of paying a slow stale-session upgrade when you attach
  • Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice; deleted background jobs stay deleted
Improved
  • Improved /code-review findings quality on claude-opus-4-8 across all effort levels
  • Improved agents view: status column now uses full terminal width instead of truncating at 64 characters
July 8, 2026
Added
  • Added an auto mode rule that blocks tampering with session transcript files
Changed
  • 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
Improved
  • Improved auto mode to ask before running rm -rf on a variable it can’t resolve from context
  • Improved agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in claude agents
  • Improved agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, and the peek opens with full status including the exact ask for blocked sessions
July 8, 2026
  • Fixed hook events not streaming during SessionStart hooks in headless sessions, which could cause remote workers to be idle-reaped mid-hook
July 7, 2026
Added
  • 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
  • [VSCode] Added a Settings toggle for “Enable Remote Control for all sessions”
Changed
  • Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it
  • Changed left arrow to no longer close the background tasks, diff, and workflow detail views — press Esc instead
  • Changed the empty claude agents view to always show the organized sections (Needs input / Working / Completed) with descriptions
  • Removed the startup “claude command missing or broken” warnings — they now appear in /doctor and /status instead
  • Removed a redundant navigation hint from the claude agents footer
Improved
  • Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen
  • Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent
July 6, 2026
Added
  • 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
Changed
  • 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
Improved
  • Improved /workflows agent list layout: wider titles, a dedicated time column, shorter model names, and no per-row tool-call counts
  • Improved MCP error messages: clearer error when a server config has url but no type, suggesting "type": "http" instead of the misleading “command: expected string”
July 3, 2026
  • Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders
July 3, 2026
Changed
  • 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
Improved
  • Improved screen-reader output: decorative glyphs are now hidden, transcript symbols read as short labels, and nested tables read as Header: value. lines
  • Improved the install script to explain when installation is killed by the system running out of memory
July 2, 2026
Changed
  • Stacked slash-skill invocations like /skill-a /skill-b do XYZ now load all leading skills (up to 5), not just the first
  • 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
July 1, 2026
Added
  • 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
Changed
  • 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
  • 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
  • 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
  • Subagents now treat messages from the agent that launched them as normal task direction; an agent’s message is still never treated as the user’s approval
  • Removed the /agents wizard; ask Claude to create or manage subagents, or edit .claude/agents/ directly
Improved
  • Improved focus mode: subagents launched in a turn now appear in its activity summary, and completed background notifications fold into a single count
  • Improved syntax highlighting accuracy in code blocks, diffs, and file previews by upgrading to highlight.js 11
  • Improved API retry UX: the error reason is now shown after the second attempt, and a status page link replaces the spinner tip when the API is overloaded
June 30, 2026
  • Introducing Claude Sonnet 5: now the default model in Claude Code, with a native 1M-token context window and promotional pricing of 2/2/10 per Mtok through August 31. Update to version 2.1.197 for access. https://www.anthropic.com/news/claude-sonnet-5
June 29, 2026
Added
  • 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
Changed
  • Security: claude mcp list/get no longer spawn .mcp.json servers that a repo self-approved via a committed .claude/settings.json; untrusted workspaces show ⏸ Pending approval
  • 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
  • Changed opening the agents view from a foreground session to require a single ← press instead of two, matching the behavior in background sessions
Improved
  • Improved background session reliability: long-running commands and workflows now survive the session’s process being stopped, restarted, or updated — including on Windows, where background shells are handed off instead of being killed
  • Improved background agents: workers killed by a daemon restart are now automatically resumed from where they left off the next time the agents view opens
  • Improved /code-review workflow: merged five cleanup finders into one, cutting token usage by roughly 25%
June 26, 2026
Added
  • Added CLAUDE_CODE_DISABLE_MOUSE_CLICKS to disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll
Improved
  • Improved voice mode on Linux: now distinguishes “no microphone” from “SoX not installed” when SoX is present but no audio capture device exists
  • Improved claude agents completed list to fill available vertical space; on short terminals the header compacts so live sessions stay visible
  • Improved Remote session startup with a provisioning checklist while the container starts
June 25, 2026
Added
  • 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)
Improved
  • Improved background agents: the launch result no longer instructs Claude to “end your response” — it keeps working on other tasks while the agent runs
  • Improved MCP headersHelper auth: the helper now re-runs and reconnects automatically when a tool call returns 401/403
  • Improved plugin auto-rename: marketplace renames maps are now followed automatically, updating your settings to the new name
  • Improved /add-dir message when the directory is already a working directory
June 24, 2026
Added
  • Added /rewind support for resuming a conversation from before /clear was run
Changed
  • Reduced CPU usage during streaming responses by ~37% by coalescing text updates to 100ms
  • Reduced long-session memory growth from terminal output cache
June 24, 2026
  • Bug fixes and reliability improvements
June 23, 2026
Added
  • 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
Improved
  • 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
June 22, 2026
Added
  • 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
Changed
  • ! bash commands now trigger Claude to respond to the output automatically; set "respondToBashCommands": false in settings.json to keep the previous context-only behavior
  • Changed CLAUDE_CODE_MAX_RETRIES to cap at 15; for unattended sessions, use CLAUDE_CODE_RETRY_WATCHDOG instead
  • Changed background subagents to surface permission prompts in the main session instead of auto-denying; the dialog shows which agent is asking, and Esc denies just that tool
  • Changed /review <pr> to use the same review engine as /code-review medium
Improved
  • Improved claude mcp get and claude mcp remove to suggest the closest configured server name on a typo and truncate long server lists
  • Improved memory: the agent is now reminded to compact its MEMORY.md index when nearing the size limit
  • Improved skill frontmatter: display-name, default-enabled, fallback, and metadata.* keys now accept kebab-case, snake_case, and camelCase
  • Improved malformed SKILL.md YAML frontmatter handling: loads the skill body with empty metadata instead of failing silently
June 20, 2026
  • 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
June 19, 2026
Added
  • 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
  • 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
Improved
  • Improved auto mode safety: destructive git commands (git reset --hard, git checkout -- ., git clean -fd, git stash drop) are now blocked when you didn’t ask to discard local work, git commit --amend is blocked when the commit wasn’t made by the agent this session, and terraform destroy/pulumi destroy/cdk destroy are blocked unless you asked for the specific stack
June 17, 2026
Added
  • 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
Changed
  • Upgraded the bundled Bun runtime to 1.4
  • Changed fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior
  • Changed the Improved N memories line to no longer list individual files outside verbose mode
Improved
  • Improved streaming of long paragraphs: text now appears line-by-line instead of waiting for the first line break
  • Improved auto-retry: API connection drops mid-thinking now automatically retry instead of showing “Connection closed while thinking”
  • Improved the subagent panel: idle subagents auto-hide after 30s, the list caps at 5 rows with scroll hints, and keyboard hints now show in the footer
  • Improved the MCP OAuth browser page to match Claude Code’s visual style and auto-close on success
June 16, 2026
  • Fixed mid-stream connection drops: partial responses are now preserved instead of showing a raw error, and the spinner no longer gets stuck at “running tool”
  • Fixed mouse-wheel scrolling in WSL2 under Windows Terminal and VS Code (regression in 2.1.172)
  • Fixed a sandbox denyRead/allowRead glob over a large directory tree making the Bash tool description enormous and the session unusable on Linux
  • Fixed the feedback survey capturing a single-digit reply as a session rating immediately after a turn completes
  • Fixed the welcome screen stacking multiple promotional banners — at most one promo now shows per session
  • Fixed Ctrl+O not showing the subagent’s transcript when viewing a subagent
  • Fixed clicking the prompt input not returning focus from the subagent/footer panel
  • Fixed remote session background tasks appearing stuck as “still running” between turns
  • Improved plugin loading performance in remote sessions
June 15, 2026
Added
  • 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
Changed
  • 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.
  • 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/
  • Changed the workflow prompt keyword to use a purple shimmer highlight and trigger only on explicit phrases like “run a workflow” or “workflow:”, not on any mention of the word
  • /bug now requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title
Improved
  • Improved auto mode: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review
  • Improved /doctor with consistent flat tree layout across all sections, clearer section status icons, and highlighted command names
  • Improved the skill listing truncation warning to show how many skill descriptions are affected
  • 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
June 12, 2026
Added
  • Added footerLinksRegexes setting for regex-matched link badges in the footer row, configurable via user or managed settings
Changed
  • Session titles are now generated in the language of your conversation (set the language setting to pin a specific language)
  • 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
Improved
  • Improved Bedrock credential caching: credentials from awsCredentialExport are now cached until their Expiration instead of a fixed 1 hour
June 12, 2026
  • 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
June 12, 2026
Added
  • Added wheelScrollAccelerationEnabled setting to disable mouse-wheel scroll acceleration in fullscreen mode
  • [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
June 11, 2026
  • 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
June 10, 2026
Added
  • 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
Changed
  • 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
  • Disable mouse tracking on Windows consoles that don’t fully support it
  • 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
Improved
  • Improved performance in long conversations by removing redundant message normalization and avoiding full message-history transforms when streaming tool-use state is unchanged
  • Improved Claude in Chrome tool loading: browser tools now load in a single batched call instead of one per tool
  • Improved the non-interactive Usage Policy refusal message to suggest starting a new session or changing your model
June 9, 2026
  • 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
  • Fixed sessions not saving transcripts (and not appearing in —resume) when launched from the VS Code integrated terminal or any shell that inherited Claude Code environment variables.
June 8, 2026
Added
  • 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
  • Added a tip suggesting claude agents when running multiple concurrent sessions
Changed
  • /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
  • Promo credit claims for Apple/Google-billed subscribers without a payment method now explain where to add one
Improved
  • Improved TaskCreate reliability: malformed inputs are repaired automatically and validation errors for unloaded tools include the schema
  • Improved the error message shown when your organization has disabled API key authentication, with guidance based on where the active API key comes from
  • Improved color contrast for skill tags in the slash-command menu
June 6, 2026
  • Bug fixes and reliability improvements
June 6, 2026
  • Bug fixes and reliability improvements
June 6, 2026
Added
  • 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
Changed
  • 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
June 5, 2026
  • Bug fixes and reliability improvements
June 4, 2026
Added
  • 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
  • Skills: added \$ escape syntax to include a literal $ before a digit in command bodies
Changed
  • 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
  • stdio MCP servers now receive the same CLAUDE_CODE_SESSION_ID as hooks/Bash on --resume
  • 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
June 3, 2026
Changed
  • 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
  • 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
  • Removed the “Claude in Chrome enabled” and “marketplace installed” startup messages; model auto-updates and the team-onboarding tip now show as quiet notices under the logo
Improved
  • Improved background service startup and claude update verification to wait out endpoint-security scanning of new binaries instead of failing after 5 seconds
June 2, 2026
Added
  • [VSCode] Added a tip suggesting disabling terminal GPU acceleration (or running /terminal-setup) to fix garbled glyphs
Changed
  • 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
Improved
  • Improved terminal rendering performance by stabilizing the layout engine’s JIT compilation profile
  • Improved rendering performance for large file writes
June 2, 2026
Added
  • Added a prompt before writing to shell startup files (.zshenv, .zlogin, .bash_login) and ~/.config/git/, which could otherwise lead to unintended command execution
Changed
  • 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
  • Removed CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE; the environment variable is now a no-op
  • Removed the JetBrains plugin install suggestion from startup
  • 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
Improved
  • Improved performance of opening recently-inactive background agent sessions in claude agents
  • Improved auto mode classifier latency by reducing reasoning on routine actions, lowering the chance of “could not evaluate this action” blocks
  • Improved background-session teardown (claude rm/stop, idle reap) to send SIGTERM to running shell subprocesses before SIGKILL, so cleanup handlers run
May 31, 2026
  • Internal infrastructure improvements (no user-facing changes)
May 30, 2026
  • 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
May 29, 2026
Added
  • Added claude plugin init <name> to scaffold a new plugin in .claude/skills
  • Added autocomplete for /plugin arguments: subcommands, installed plugin names, and plugins from known marketplaces
  • Added a “Workflow keyword trigger” setting in /config to stop the word “workflow” in a prompt from triggering a dynamic workflow
Changed
  • Plugins in .claude/skills directories are now automatically loaded, no marketplace required
  • claude agents: the agent field in settings.json is now honored for dispatched sessions, with --agent <name> to override it
  • EnterWorktree can now switch between Claude-managed worktrees mid-session
  • tool_decision telemetry events now include tool_parameters (bash commands, MCP/skill names) when OTEL_LOG_TOOL_DETAILS=1
  • Worktrees managed by Claude are now left unlocked when the agent finishes, so git worktree remove/prune can clean them up
  • /terminal-setup now disables GPU acceleration in VS Code/Cursor/Windsurf integrated terminals to prevent garbled-text rendering
  • The Feature of the Week credit-claim status now appears as a notification in the status area instead of a line above the prompt
  • claude agents: slash-command autocomplete in the dispatch input now matches substrings
  • 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
  • Pressing backspace right after a workflow trigger keyword now dismisses the workflow request (same as alt+w) instead of deleting a character
Improved
  • Improved performance of long and resumed conversations by eliminating redundant message-rendering recomputations
May 29, 2026
  • Fixed an issue when using Opus 4.8 where thinking blocks were modified, leading to API errors.
May 28, 2026
Added
  • 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
  • Added Claude Opus 4.8 support and 4.7 → 4.8 migration guidance to the /claude-api skill
Changed
  • Opus 4.8 is here! Now defaults to high effort · /effort xhigh for your hardest tasks
  • 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
  • Deprecated CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE (will be removed on 06/01). To use fast mode on Opus 4.6, switch with /model claude-opus-4-6[1m] and then /fast on
  • Removed the stale ”& for background” hint from the shortcuts help panel
  • [VSCode] Auto mode no longer requires the bypass-permissions setting to appear in the mode picker, and a dismissable notice on the new-session screen explains auto mode the first time it’s active
Improved
  • Improved the auto-mode classifier’s detection of data exfiltration, particularly bulk transfers of repository contents
May 28, 2026
Added
  • Added skipLfs option to github/git plugin marketplace sources to skip Git LFS downloads during clone and update
Changed
  • 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
  • --strict-mcp-config no longer strips inline mcpServers from explicitly-passed agent definitions (--agents / SDK agents), and blocked subagent MCP servers now surface a visible warning
  • /bg while Claude is responding now continues the response in the background session instead of dropping it
  • /model now saves your selection as the default for new sessions (matching the IDE). Press s in the picker to switch models for the current session only.
  • If you customized the modelPicker:setAsDefault keybinding, rename it to modelPicker:thisSessionOnly in keybindings.json (the d action was replaced by s)
May 27, 2026
Added
  • Added /reload-skills command to re-scan skill directories without restarting the session
  • Added a MessageDisplay hook event that lets hooks transform or hide assistant message text as it is displayed
  • Added pluginSuggestionMarketplaces managed setting: admins can allowlist org marketplaces whose plugins may be suggested via context-aware tips
  • Added the session entrypoint as an OpenTelemetry metric attribute (app.entrypoint, opt-in via OTEL_METRICS_INCLUDE_ENTRYPOINT=true)
Changed
  • /code-review --fix now applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions; /simplify now invokes /code-review --fix
  • Skills and slash commands can now set disallowed-tools in frontmatter to remove tools from the model while the skill is active
  • SessionStart hooks can now return reloadSkills: true to re-scan skill directories, making skills installed by the hook available in the same session
  • SessionStart hooks can now set the session title via hookSpecificOutput.sessionTitle on startup and resume
  • claude plugin marketplace remove now accepts --scope user|project|local for symmetry with marketplace add, install, and uninstall
  • Claude Code now switches to your configured --fallback-model for the rest of the session when the primary model is not found, instead of failing every request
  • Auto mode no longer requires opt-in consent
  • Vim mode: / in NORMAL mode now opens reverse history search (like Ctrl+R), matching bash/zsh vi-mode
  • 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
  • Simplified the Workflow tool’s inline progress display — live agent counts now show only in the persistent workflow status row below the prompt
  • The post-response timer now shows “Waiting for N background agents/workflows to finish” when backgrounded agents or workflows are still running, and reports the cumulative time once their results are processed
May 23, 2026
  • Internal infrastructure improvements (no user-facing changes)
May 22, 2026
Added
  • Enterprise: added the allowAllClaudeAiMcps managed setting to load claude.ai cloud MCP connectors alongside managed-mcp.json
Changed
  • /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
Improved
  • Improved /feedback reports to include the conversation that happened before context compaction, making issues from earlier in long sessions easier to triage
May 22, 2026
  • Fixed the Bash tool returning exit code 127 on every command for some users (a regression introduced in 2.1.147)
May 21, 2026
Changed
  • 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
Improved
  • Improved auto-updater: retries transient network failures, reports specific error categories and OS error codes on failure, and shows the current version when an update fails
  • Improved diff rendering performance for large file edits
May 19, 2026
Added
  • 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
Changed
  • 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
Improved
  • Improved the Read tool to return a truncated first page with a “PARTIAL view” notice instead of a hard error when a whole-file read exceeds the token limit
May 19, 2026
Added
  • 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”)
Changed
  • 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)
  • 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
  • Resumed sessions now keep the model they were using instead of picking up another session’s /model choice
  • /bg and ←-detach now preserve directories added via /add-dir
  • claude agents / --bg rejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic message
  • claude --bg --name <label> now echoes the name in the post-spawn confirmation
  • claude agents: renaming a background session with Ctrl+R now updates the attached session’s banner immediately
  • 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.
Improved
  • Improved recovery from rare pre-response stream stalls — now retries streaming once instead of falling back to a slower non-streaming request
  • Improved SDK/headless MCP startup: pre-wait now overlaps startup instead of blocking before the first turn (up to 2s faster with slow MCP servers)
May 15, 2026
Added
  • 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
Changed
  • PowerShell tool now passes -ExecutionPolicy Bypass. Opt out with CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1
  • Background sessions now preserve the model and effort level you set after waking from idle
  • Shift+Tab in attached agent sessions now includes auto mode in the cycle
  • The PowerShell tool is now enabled by default on Windows for Bedrock, Vertex, and Foundry users. Opt out with CLAUDE_CODE_USE_POWERSHELL_TOOL=0.
  • claude agents now accepts --add-dir, --settings, --mcp-config, and --plugin-dir and applies them to the dashboard and to background sessions dispatched from it
  • claude agents accepts --permission-mode, --model, --effort, and --dangerously-skip-permissions to set defaults for sessions dispatched from the view
  • claude --bg --dangerously-skip-permissions now persists across retire→wake
  • Worktree cleanup no longer falls back to rm -rf when git worktree remove fails, preventing loss of gitignored or in-progress files
  • /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.
May 14, 2026
Added
  • 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
Changed
  • 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
  • Removed stale /model claude-sonnet-4-20250514 suggestion from Usage Policy refusal messages
Improved
  • Improved reactive compaction: the first summarize attempt now seeds from the original request’s overflow size, avoiding a wasted near-full-context retry
  • Improved hook configuration error: configuring a prompt- or agent-type hook for SessionStart/Setup/SubagentStart now shows a clear “use a command-type hook instead” error
May 13, 2026
Added
  • 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
  • Rewind menu: added “Summarize up to here” to compress earlier context while keeping recent turns intact
Changed
  • /feedback can now include recent sessions (last 24 hours or 7 days) for issues spanning more than the current session
  • 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
  • Bedrock: awsCredentialExport now always runs when configured instead of being skipped when ambient AWS credentials resolve, fixing auth for cross-account access
  • [VSCode] Voice mode: the WSL error now suggests installing sox libsox-fmt-pulse for WSLg users
  • claude agents: launching a session no longer fails when the pre-warmed background worker is unhealthy — now falls back to a fresh launch
  • claude agents no longer shows empty placeholder sessions left over from backgrounding a fresh REPL, and shows onboarding text when entered via ← with no other agents
  • Empty idle background sessions left over from ← are now automatically retired by the daemon after 5 minutes
Improved
  • Improved spinner feedback during long thinking periods — the spinner now warms to amber after 10 seconds to signal Claude is still working
  • Improved plugin menu navigation: →/Tab switch tabs, ↑ moves to the tab strip, and tab headers and search box are clickable in fullscreen mode
May 12, 2026
Changed
  • Updated agent color palette
  • Plugins now warn when a default component folder (e.g. commands/) is silently ignored because plugin.json sets the matching key. Shown in /doctor, claude plugin list, and /plugin.
Improved
  • Improved Agent tool subagent_type matching to accept case- and separator-insensitive values (e.g. "Code Reviewer" resolves to code-reviewer)
May 11, 2026
Added
  • 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
Changed
  • MCP stdio servers now receive CLAUDE_PROJECT_DIR in their environment, matching hooks. Plugin configs can reference ${CLAUDE_PROJECT_DIR} in commands
  • Compaction prompt now asks the model to preserve sensitive user instructions
  • /mcp Reconnect now picks up .mcp.json edits without a restart, and shows the HTTP status and URL when reconnecting fails
  • /context all per-skill token estimates now account for the model’s tokenizer and show rounded values
  • claude plugin install <name>@<marketplace> now auto-refreshes the marketplace and retries before reporting a plugin as not found
  • /plugin installed-plugin details now show hook event names and MCP server names cleanly
  • /context now shows the providing plugin’s name for plugin-sourced skills
  • Remote MCP server reconnect retry on transient failures is now enabled for all users
  • API requests from subagents now carry x-claude-code-agent-id / x-claude-code-parent-agent-id headers, and claude_code.llm_request OTEL spans include agent_id / parent_agent_id attributes
  • 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
  • [VSCode] Press Cmd/Ctrl+Shift+T to reopen the most recently closed session tab, configurable via claudeCode.enableReopenClosedSessionShortcut
May 9, 2026
  • Internal fixes
May 9, 2026
  • [VSCode] Fixed extension failing to activate on Windows
May 8, 2026
Added
  • 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
Changed
  • WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
  • Changed plugin marketplace removal key to d (matching delete elsewhere) instead of r which collided with retry
Improved
  • Improved visual consistency across slash command dialogs: standardized footer hints, dialog spacing, and arrow-key styling, and the dialog frame now appears immediately during loading instead of popping in after
  • Improved error message when --worktree collides with an existing or stale worktree
May 7, 2026
Added
  • 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
Changed
  • Hooks now receive the active effort level via the effort.level JSON input field and the $CLAUDE_EFFORT environment variable, and Bash tool commands can read $CLAUDE_EFFORT
  • claude --help now lists --remote-control alongside --remote-control-session-name-prefix
Improved
  • Improved focus mode behavior
  • Improved memory usage by releasing warm-spare background workers under memory pressure
May 6, 2026
Added
  • 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
Changed
  • Updated the /tui fullscreen startup banner to describe additional renderer benefits (lower memory usage, mouse support, auto-copy on select)
Improved
  • Improved visual consistency in slash command dialogs and /login, /upgrade, /extra-usage dialog spacing
May 6, 2026
  • 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
May 6, 2026
Added
  • 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
Changed
  • 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
May 4, 2026
Changed
  • 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)
  • Headless --output-format stream-json: init.plugin_errors now includes --plugin-dir load failures in addition to dependency demotions
May 1, 2026
Changed
  • 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
  • Bounded total size of file-modified reminders when a linter touches many files at once
  • Windows: clipboard writes no longer expose copied content in process command-line arguments visible to EDR/SIEM telemetry; also fixes >22KB selections not reaching the clipboard
  • PowerShell tool: bare -- (e.g. git diff -- file) is no longer mis-flagged as the --% stop-parsing token
April 29, 2026
  • Fixed OAuth authentication failing with a 401 retry loop when CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 is set
April 28, 2026
Added
  • 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
  • OpenTelemetry: added claude_code.at_mention log event for @-mention resolution
Changed
  • 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
  • Voice mode: keybindings bound to Caps Lock now show an error since terminals don’t deliver Caps Lock as a key event
April 28, 2026
Added
  • 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
  • OpenTelemetry: added stop_reason, gen_ai.response.finish_reasons, and user_system_prompt (gated behind OTEL_LOG_USER_PROMPTS) to LLM request spans
Changed
  • 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
  • Claude.ai connectors with the same upstream URL are now deduplicated instead of appearing as duplicates
  • Vertex AI: support X.509 certificate-based Workload Identity Federation (mTLS ADC)
  • Faster startup after upgrading: removed the Recent Activity panel from the release-notes splash
  • LSP diagnostic summaries now expand on click/ctrl+o and show the expand hint
  • SDK: mcp_authenticate now supports redirectUri for custom scheme completion and claude.ai connectors
  • [VSCode] Voice dictation now respects the accessibility.voice.speechLanguage setting when no Claude Code language is configured
  • [VSCode] /context now opens a native token usage dialog
  • Reduced peak file descriptor usage during find in the Bash tool on large directory trees
April 28, 2026
Added
  • 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
Changed
  • Windows: Git for Windows (Git Bash) is no longer required — when absent, Claude Code uses PowerShell as the shell tool
  • Skills can now reference the current effort level with ${CLAUDE_EFFORT} in their content
  • 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
  • Auto-compact in auto mode now displays auto (lowercase, no token count) instead of a misleading token value
  • [VSCode] /usage now opens the native Account & Usage dialog instead of returning plain-text session cost
  • [VSCode] Voice dictation now respects the language setting in ~/.claude/settings.json
April 23, 2026
Added
  • 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
Changed
  • /config settings (theme, editor mode, verbose, etc.) now persist to ~/.claude/settings.json and participate in project/local/policy override precedence
  • --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
  • Slash command picker now wraps long descriptions onto a second line instead of truncating
  • owner/repo#N shorthand links in output now use your git remote’s host instead of always pointing at github.com
  • Security: blockedMarketplaces now correctly enforces hostPattern and pathPattern entries
  • OpenTelemetry: tool_result and tool_decision events now include tool_use_id; tool_result also includes tool_input_size_bytes
  • Status line: stdin JSON now includes effort.level and thinking.enabled
  • Tool search is now disabled by default on Vertex AI to avoid an unsupported beta header error (opt in with ENABLE_TOOL_SEARCH)
  • Windows: removed false-positive “Windows requires ‘cmd /c’ wrapper” MCP config warning
April 23, 2026
Added
  • Added vim visual mode (v) and visual-line mode (V) with selection, operators, and visual feedback
  • Added DISABLE_UPDATES env var to completely block all update paths including manual claude update — stricter than DISABLE_AUTOUPDATER
  • Added a “Don’t ask again” option to the auto mode opt-in prompt
  • Added claude plugin tag to create release git tags for plugins with version validation
Changed
  • Merged /cost and /stats into /usage — both remain as typing shortcuts that open the relevant tab
  • Create and switch between named custom themes from /theme, or hand-edit JSON files in ~/.claude/themes/; plugins can also ship themes via a themes/ directory
  • Hooks can now invoke MCP tools directly via type: "mcp_tool"
  • WSL on Windows can now inherit Windows-side managed settings via the wslInheritsWindowsSettings policy key
  • Auto mode: include "$defaults" in autoMode.allow, autoMode.soft_deny, or autoMode.environment to add custom rules alongside the built-in list instead of replacing it
  • --continue/--resume now find sessions that added the current directory via /add-dir
  • /color now syncs the session accent color to claude.ai/code when Remote Control is connected
  • The /model picker now honors ANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTION overrides when using a custom ANTHROPIC_BASE_URL gateway
  • When auto-update skips a plugin due to another plugin’s version constraint, the skip now appears in /doctor and the /plugin Errors tab
April 22, 2026
Changed
  • Forked subagents can now be enabled on external builds by setting CLAUDE_CODE_FORK_SUBAGENT=1
  • Agent frontmatter mcpServers are now loaded for main-thread agent sessions via --agent
  • The /resume command now offers to summarize stale, large sessions before re-reading them, matching the existing --resume behavior
  • 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)
  • Windows: cached where.exe executable lookups per process for faster subprocess launches
  • Default effort for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 is now high (was medium)
Improved
  • 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
April 20, 2026
Changed
  • /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
  • Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for rm/rmdir targeting /, $HOME, or other critical system directories
  • 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
April 18, 2026
  • Fixed a crash in the permission dialog when an agent teams teammate requested tool permission
April 17, 2026
Added
  • Added sandbox.network.deniedDomains setting to block specific domains even when a broader allowedDomains wildcard would otherwise permit them
Changed
  • Changed the CLI to spawn a native Claude Code binary (via a per-platform optional dependency) instead of bundled JavaScript
  • Fullscreen mode: Shift+↑/↓ now scrolls the viewport when extending a selection past the visible edge
  • 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)
  • /extra-usage now works from Remote Control (mobile/web) clients
  • Remote Control clients can now query @-file autocomplete suggestions
  • Subagents that stall mid-stream now fail with a clear error after 10 minutes instead of hanging silently
  • Bash tool: multi-line commands whose first line is a comment now show the full command in the transcript, closing a UI-spoofing vector
  • Running cd <current-directory> && git … no longer triggers a permission prompt when the cd is a no-op
  • Security: on macOS, /private/{etc,var,tmp,home} paths are now treated as dangerous removal targets under Bash(rm:*) allow rules
  • Security: Bash deny rules now match commands wrapped in env/sudo/watch/ionice/setsid and similar exec wrappers
  • Security: Bash(find:*) allow rules no longer auto-approve find -exec/-delete
Improved
  • Improved /loop: pressing Esc now cancels pending wakeups, and wakeups display as “Claude resuming /loop wakeup” for clarity
  • Improved /ultrareview: faster launch with parallelized checks, diffstat in the launch dialog, and animated launching state
April 16, 2026
  • Fixed “claude-opus-4-7 is temporarily unavailable” for auto mode
April 16, 2026
Added
  • Added xhigh effort level for Opus 4.7, sitting between high and max. Available via /effort, --effort, and the model picker; other models fall back to high
  • Added “Auto (match terminal)” theme option that matches your terminal’s dark/light mode — select it from /theme
  • Added /less-permission-prompts skill — scans transcripts for common read-only Bash and MCP tool calls and proposes a prioritized allowlist for .claude/settings.json
  • Added /ultrareview for running comprehensive code review in the cloud using parallel multi-agent analysis and critique — invoke with no arguments to review your current branch, or /ultrareview <PR#> to fetch and review a specific GitHub PR
  • Added OTEL_LOG_RAW_API_BODIES environment variable to emit full API request and response bodies as OpenTelemetry log events for debugging
Changed
  • Claude Opus 4.7 xhigh is now available! Use /effort to tune speed vs. intelligence
  • Auto mode is now available for Max subscribers when using Opus 4.7
  • /effort now opens an interactive slider when called without arguments, with arrow-key navigation between levels and Enter to confirm
  • Auto mode no longer requires --enable-auto-mode
  • 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
  • /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
  • Suppressed spurious decompression, network, and transient error messages that could appear in the TUI during normal operation
  • Reverted the v2.1.110 cap on non-streaming fallback retries — it traded long waits for more outright failures during API overload
  • Windows: CLAUDE_ENV_FILE and SessionStart hook environment files now apply (previously a no-op)
  • Windows: permission rules with drive-letter paths are now correctly root-anchored, and paths differing only by drive-letter case are recognized as the same path
Improved
  • Improved /setup-vertex and /setup-bedrock to show the actual settings.json path when CLAUDE_CONFIG_DIR is set, seed model candidates from existing pins on re-run, and offer a “with 1M context” option for supported models
  • Improved plugin error handling: dependency errors now distinguish conflicting, invalid, and overly complex version requirements; fixed stale resolved versions after plugin update; plugin install now recovers from interrupted prior installs
April 15, 2026
Added
  • Added /tui command and tui setting — run /tui fullscreen to switch to flicker-free rendering in the same conversation
  • Added push notification tool — Claude can send mobile push notifications when Remote Control and “Push when Claude decides” config are enabled
  • Added autoScrollEnabled config to disable conversation auto-scroll in fullscreen mode
  • Added option to show Claude’s last response as commented context in the Ctrl+G external editor (enable via /config)
Changed
  • Changed Ctrl+O to toggle between normal and verbose transcript only; focus view is now toggled separately with the new /focus command
  • --resume/--continue now resurrects unexpired scheduled tasks
  • /context, /exit, and /reload-plugins now work from Remote Control (mobile/web) clients
  • Write tool now informs the model when you edit the proposed content in the IDE diff before accepting
  • Bash tool now enforces the documented maximum timeout instead of accepting arbitrarily large values
  • SDK/headless sessions now read TRACEPARENT/TRACESTATE from the environment for distributed trace linking
  • Session recap is now enabled for users with telemetry disabled (Bedrock, Vertex, Foundry, DISABLE_TELEMETRY). Opt out via /config or CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0.
  • Hardened “Open in editor” actions against command injection from untrusted filenames
Improved
  • 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
April 15, 2026
  • Improved the extended-thinking indicator with a rotating progress hint
April 14, 2026
Added
  • Added ENABLE_PROMPT_CACHING_1H env var to opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry (ENABLE_PROMPT_CACHING_1H_BEDROCK is deprecated but still honored), and FORCE_PROMPT_CACHING_5M to force 5-minute TTL
  • Added recap feature to provide context when returning to a session, configurable in /config and manually invocable with /recap; force with CLAUDE_CODE_ENABLE_AWAY_SUMMARY if telemetry disabled.
  • Added “verbose” indicator when viewing the detailed transcript (Ctrl+O)
  • Added a warning at startup when prompt caching is disabled via DISABLE_PROMPT_CACHING* environment variables
Changed
  • 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
  • Reduced memory footprint for file reads, edits, and syntax highlighting by loading language grammars on demand
Improved
  • Improved /model to warn before switching models mid-conversation, since the next response re-reads the full history uncached
  • Improved /resume picker to default to sessions from the current directory; press Ctrl+A to show all projects
  • Improved error messages: server rate limits are now distinguished from plan usage limits; 5xx/529 errors show a link to status.claude.com; unknown slash commands suggest the closest match
April 14, 2026
  • Show thinking hints sooner during long operations
April 13, 2026
Added
  • 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
Changed
  • /proactive is now an alias for /loop
April 10, 2026
Added
  • 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)
Changed
  • /ultraplan and other remote-session features now auto-create a default cloud environment instead of requiring web setup first
April 9, 2026
Added
  • 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
Changed
  • LSP: Claude Code now identifies itself to language servers via clientInfo in the initialize request
  • Updated the /claude-api skill to cover Managed Agents alongside Claude API
  • Dropped /compact hints when DISABLE_COMPACT is set.
April 8, 2026
Added
  • 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)
Changed
  • Updated /claude-api skill to cover Managed Agents alongside the Claude API
April 8, 2026
  • 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)
April 7, 2026
Added
  • Added support for Amazon Bedrock powered by Mantle, set CLAUDE_CODE_USE_MANTLE=1
  • 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
  • [VSCode] Added a warning banner when settings.json files fail to parse, so users know their permission rules are not being applied
Changed
  • Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (control this with /effort)
  • 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
  • [VSCode] Reduced cold-open subprocess work on starting a session
Improved
  • Improved --resume to resume sessions from other worktrees of the same repo directly instead of printing a cd command
April 4, 2026
Added
  • 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
Changed
  • /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
  • 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
Improved
  • Improved Write tool diff computation speed for large files (60% faster on files with tabs/&/$)
April 2, 2026
Added
  • 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)
Changed
  • Plugins can now ship executables under bin/ and invoke them as bare commands from the Bash tool
  • /feedback now explains why it’s unavailable instead of disappearing from the slash menu
  • Edit tool now uses shorter old_string anchors, reducing output tokens
Improved
  • Improved /claude-api skill guidance for agent design patterns including tool surface decisions, context management, and caching strategy
  • Improved performance: faster stripAnsi on Bun by routing through Bun.stripANSI
April 1, 2026
Added
  • 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)
Changed
  • Hardened PowerShell tool permission checks: fixed trailing & background job bypass, -ErrorAction Break debugger hang, archive-extraction TOCTOU, and parse-fail fallback deny-rule degradation
  • 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)
Improved
  • Improved performance: eliminated per-turn JSON.stringify of MCP tool schemas on cache-key lookup
  • Improved performance: SSE transport now handles large streamed frames in linear time (was quadratic)
  • Improved performance: SDK sessions with long conversations no longer slow down quadratically on transcript writes
  • Improved /resume all-projects view to load project sessions in parallel, improving load times for users with many projects
April 1, 2026
Added
  • 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
Changed
  • Auto mode: denied commands now show a notification and appear in /permissions → Recent tab where you can retry with r
  • Changed Edit to work on files viewed via Bash with sed -n or cat, without requiring a separate Read call first
  • Changed hook output over 10,000 characters to be saved to disk with a file path + a 2,000-character preview instead of being injected directly into context
  • Changed cleanupPeriodDays: 0 in settings.json to be rejected with a validation error — it previously silently disabled transcript persistence
  • Changed thinking summaries to no longer be generated by default in interactive sessions — set showThinkingSummaries: true in settings.json to restore
  • 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
Improved
  • Improved collapsed tool summary to show “Listed N directories” for ls/tree/du instead of “Read N files”
  • Improved Bash tool to warn when a formatter/linter command modifies files you have previously read, preventing stale-edit errors
  • Improved @-mention typeahead to rank source files above MCP resources with similar names
  • Improved PowerShell tool prompt with version-appropriate syntax guidance (5.1 vs 7+)
March 29, 2026
  • Fixed messages in Cowork Dispatch not getting delivered
March 27, 2026
Added
  • 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
Changed
  • 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”)
  • Read tool now uses compact line-number format and deduplicates unchanged re-reads, reducing token usage
Improved
  • Improved prompt cache hit rate for Bedrock, Vertex, and Foundry users by removing dynamic content from tool descriptions
March 26, 2026
Added
  • 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
Changed
  • 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
  • Reduced UI stutter when compaction triggers on large sessions
Improved
  • Improved @-mention file autocomplete performance on large repositories
  • Improved PowerShell dangerous command detection
  • Improved scroll performance with large transcripts by replacing WASM yoga-layout with a pure TypeScript implementation
March 26, 2026
Added
  • 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
  • [VSCode] Added rate limit warning banner with usage percentage and reset time
Changed
  • 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
  • MCP tool descriptions and server instructions are now capped at 2KB to prevent OpenAPI-generated servers from bloating context
  • MCP servers configured both locally and via claude.ai connectors are now deduplicated — the local config wins
  • Background bash tasks that appear stuck on an interactive prompt now surface a notification after ~45 seconds
  • Token counts ≥1M now display as “1.5m” instead of “1512.6k”
  • Global system-prompt caching now works when ToolSearch is enabled, including for users with MCP tools configured
  • Reduced scroll-to-top resets in long sessions by making the message window immune to compaction and grouping changes
  • Reduced terminal flickering when animated tool progress scrolls above the viewport
  • Changed issue/PR references to only become clickable links when written as owner/repo#123 — bare #123 is no longer auto-linked
  • 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
March 25, 2026
Added
  • 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)
  • Added CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK env var to disable the non-streaming fallback when streaming fails
  • [VSCode] Added Esc-twice (or /rewind) to open a keyboard-navigable rewind picker
Changed
  • 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
  • Reduced WebFetch peak memory usage for large pages
  • Reduced scrollback resets in long sessions from once per turn to once per ~50 messages
  • Faster claude -p startup with unauthenticated HTTP/SSE MCP servers (~600ms saved)
  • Bash ghost-text suggestions now include just-submitted commands immediately
  • Increased non-streaming fallback token cap (21k → 64k) and timeout (120s → 300s local) so fallback requests are less likely to be truncated
  • Interrupting a prompt before any response now automatically restores your input so you can edit and resubmit
  • /status now works while Claude is responding, instead of being queued until the turn finishes
  • Plugin MCP servers that duplicate an org-managed connector are now suppressed instead of running a second connection
  • Linux: respect XDG_DATA_HOME when registering the claude-cli:// protocol handler
  • Changed “stop all background agents” keybinding from Ctrl+F to Ctrl+X Ctrl+K to stop shadowing readline forward-char
  • Deprecated TaskOutput tool in favor of using Read on the background task’s output file path
  • Plugin options (manifest.userConfig) now available externally — plugins can prompt for configuration at enable time, with sensitive: true values stored in keychain (macOS) or protected credentials file (other platforms)
  • Claude can now reference the on-disk path of clipboard-pasted images for file operations
  • 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
  • Memory: MEMORY.md index now truncates at 25KB as well as 200 lines
  • Disabled AskUserQuestion and plan-mode tools when --channels is active
  • [VSCode] Spinner now turns red with “Not responding” when the backend hasn’t responded for 60 seconds
March 20, 2026
Added
  • 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
Changed
  • Resuming a session that was in a worktree now switches back to that worktree
  • Updated MCP OAuth to support Client ID Metadata Document (CIMD / SEP-991) for servers without Dynamic Client Registration
  • Changed plan mode to hide the “clear context” option by default (restore with "showClearContextOnPlanAccept": true)
  • Disabled line-by-line response streaming on Windows (including WSL in Windows Terminal) due to rendering issues
Improved
  • Improved MCP read/search tool calls to collapse into a single “Queried {server}” line (expand with Ctrl+O)
  • Improved ! bash mode discoverability — Claude now suggests it when you need to run an interactive command
  • Improved plugin freshness — ref-tracked plugins now re-clone on every load to pick up upstream changes
  • Improved Remote Control session titles to refresh after your third message
March 19, 2026
Added
  • 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
Changed
  • 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)
Improved
  • Improved responsiveness of @ file autocomplete in large git repositories
  • 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
  • Improved background tasks panel — left arrow now closes from the list view
March 18, 2026
Added
  • Added --console flag to claude auth login for Anthropic Console (API billing) authentication
  • Added “Show turn duration” toggle to the /config menu
  • [VSCode] Added /remote-control — bridge your session to claude.ai/code to continue from a browser or phone
Changed
  • CLAUDE_CODE_PLUGIN_SEED_DIR now supports multiple seed directories separated by the platform path delimiter (: on Unix, ; on Windows)
  • [VSCode] Session tabs now get AI-generated titles based on your first message
Improved
  • Improved startup memory usage by ~18MB across all scenarios
  • Improved non-streaming API fallback with a 2-minute per-attempt timeout, preventing sessions from hanging indefinitely
March 17, 2026
Added
  • 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
  • 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
Changed
  • 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
Improved
  • Improved memory usage and startup time when resuming large sessions
March 17, 2026
Added
  • Added allowRead sandbox filesystem setting to re-allow read access within denyRead regions
Changed
  • 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
  • /copy now accepts an optional index: /copy N copies the Nth-latest assistant response
  • 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)
  • [VSCode] When option+click doesn’t trigger native selection on macOS, the footer now points to the macOptionClickForcesSelection setting
Improved
  • Improved Esc to abort in-flight non-streaming API requests
  • Improved claude plugin validate to check skill, agent, and command frontmatter plus hooks/hooks.json, catching YAML parse errors and schema violations
  • Improved headless mode plugin installation to compose correctly with CLAUDE_CODE_PLUGIN_SEED_DIR
  • [VSCode] Improved plan preview tab titles to use the plan’s heading instead of “Claude’s Plan”
March 14, 2026
Added
  • 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
Changed
  • Updated --plugin-dir to only accept one path to support subcommands — use repeated --plugin-dir for multiple directories
March 13, 2026
Added
  • 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
Changed
  • Suppressed async hook completion messages by default (visible with --verbose or transcript mode)
  • Breaking change: Removed deprecated Windows managed settings fallback at C:\ProgramData\ClaudeCode\managed-settings.json — use C:\Program Files\ClaudeCode\managed-settings.json
Improved
  • Improved startup performance on macOS non-MDM machines by skipping unnecessary subprocess spawns
March 12, 2026
Added
  • 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
Changed
  • 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)
Improved
  • [VSCode] Improved scroll wheel responsiveness in the integrated terminal with terminal-aware acceleration
March 11, 2026
Added
  • 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)
Changed
  • Changed default Opus model on Bedrock, Vertex, and Microsoft Foundry to Opus 4.6 (was Opus 4.1)
  • Deprecated /output-style command — use /config instead. Output style is now fixed at session start for better prompt caching
March 10, 2026
Added
  • 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
  • Added support for marketplace git URLs without .git suffix (Azure DevOps, AWS CodeCommit)
  • 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
Changed
  • 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
  • Reduced bundle size by ~510 KB
  • Changed CLAUDE.md HTML comments (<!-- ... -->) to be hidden from Claude when auto-injected. Comments remain visible when read with the Read tool
March 7, 2026
Added
  • 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
Changed
  • Updated /debug to toggle debug logging on mid-session, since debug logs are no longer written by default
  • Removed startup notification noise for unauthenticated org-registered claude.ai connectors
Improved
  • Improved startup time by deferring native image processor loading to first use
  • Improved bridge session reconnection to complete within seconds after laptop wake from sleep, instead of waiting up to 10 minutes
  • 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.
March 6, 2026
Added
  • [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
Changed
  • 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.
Improved
  • Improved error message when microphone captures silence to distinguish from “no speech detected”
  • Improved compaction to preserve images in the summarizer request, allowing prompt cache reuse for faster and cheaper compaction
  • Improved /rename to work while Claude is processing, instead of being silently queued
March 5, 2026
Added
  • 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
  • Added pluginTrustMessage in managed settings to append organization-specific context to the plugin trust warning shown before installation
  • Added policy limit fetching (e.g., remote control restrictions) for Team plan OAuth users, not just Enterprise
  • Added pathPattern to strictKnownMarketplaces for regex-matching file/directory marketplace sources alongside hostPattern restrictions
  • Added plugin source type git-subdir to point to a subdirectory within a git repo
  • Added oauth.authServerMetadataUrl config option for MCP servers to specify a custom OAuth metadata discovery URL when standard discovery fails
  • [VSCode] Added compaction display as a collapsible “Compacted chat” card with the summary inside
Changed
  • Reduced baseline memory by ~16MB by deferring Yoga WASM preloading
  • Reduced memory footprint for SDK and CCR sessions using stream-json output
  • Reduced memory usage when resuming large sessions (including compacted history)
  • Reduced token usage on multi-agent tasks with more concise subagent final reports
  • Changed Sonnet 4.5 users on Pro/Max/Team Premium to be automatically migrated to Sonnet 4.6
  • Changed the /resume picker to show your most recent prompt instead of the first one. This also resolves some titles appearing as (session).
  • Changed claude.ai MCP connector failures to show a notification instead of silently disappearing from the tool list
  • Changed example command suggestions to be generated deterministically instead of calling Haiku
  • Changed resuming after compaction to no longer produce a preamble recap before continuing
  • [SDK] Changed task creation to no longer require the activeForm field — the spinner falls back to the task subject
  • [VSCode] The permission mode picker now respects permissions.disableBypassPermissionsMode from your effective Claude Code settings (including managed/policy settings) — when set to disable, bypass permissions mode is hidden from the picker
March 4, 2026
  • 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
  • Removed Opus 4 and 4.1 from Claude Code on the first-party API — users with these models pinned are automatically moved to Opus 4.6
March 4, 2026
  • Reduced spurious error logging
February 28, 2026
Added
  • Added /simplify and /batch bundled slash commands
  • Added ENABLE_CLAUDEAI_MCP_SERVERS=false env var to opt out from making claude.ai MCP servers available
  • 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.
  • 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
Changed
  • Project configs & auto memory now shared across git worktrees of the same repository
Improved
  • Improved /model command to show the currently active model in the slash command menu
  • Improved memory usage in long sessions with subagents by stripping heavy progress message payloads during context compaction
February 27, 2026
  • Fixed prompt suggestion cache regression that reduced cache hit rates
February 26, 2026
  • Fixed concurrent writes corrupting config file on Windows
February 26, 2026
  • 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.
  • Improved “always allow” prefix suggestions for compound bash commands (e.g. cd /tmp && git fetch && git push) to compute smarter per-subcommand prefixes instead of treating the whole command as one
  • Improved ordering of short task lists
  • Improved memory usage in multi-agent sessions by releasing completed subagent task state
  • Fixed MCP OAuth token refresh race condition when running multiple Claude Code instances simultaneously
  • Fixed shell commands not showing a clear error message when the working directory has been deleted
  • Fixed config file corruption that could wipe authentication when multiple Claude Code instances ran simultaneously
February 25, 2026
  • Expand Remote Control to more users
February 25, 2026
  • VS Code: Fixed another cause of “command ‘claude-vscode.editor.openLast’ not found” crashes
February 25, 2026
  • Fixed BashTool failing on Windows with EINVAL error
February 25, 2026
  • Fixed a UI flicker where user input would briefly disappear after submission before the message rendered
  • 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 graceful shutdown sometimes leaving stale sessions when using Remote Control by parallelizing teardown network calls
  • Fixed --worktree sometimes being ignored on first launch
  • Fixed a panic (“switch on corrupted value”) on Windows
  • Fixed a crash that could occur when spawning many processes on Windows
  • Fixed a crash in the WebAssembly interpreter on Linux x64 & Windows x64
  • Fixed a crash that sometimes occurred after 2 minutes on Windows ARM64
February 24, 2026
  • VS Code: Fixed extension crash on Windows (“command ‘claude-vscode.editor.openLast’ not found”)
February 24, 2026
Added
  • Added claude remote-control subcommand for external builds, enabling local environment serving for all users.
  • Added support for custom npm registries and specific version pinning when installing plugins from npm sources
  • 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.
Changed
  • Updated plugin marketplace default git timeout from 30s to 120s and added CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS to configure.
  • 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.
  • 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
Fixed
  • Fixed a security issue where statusLine and fileSuggestion hook commands could execute without workspace trust acceptance in interactive mode.
  • Fixed a bug where duplicate control_response messages (e.g. from WebSocket reconnects) could cause API 400 errors by pushing duplicate assistant messages into the conversation.
  • Fixed slash command autocomplete crashing when a plugin’s SKILL.md description is a YAML array or other non-string type
February 20, 2026
Added
  • 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.
  • Added support for isolation: worktree in agent definitions, allowing agents to declaratively run in isolated git worktrees.
  • Added claude agents CLI command to list all configured agents
  • Added CLAUDE_CODE_DISABLE_1M_CONTEXT environment variable to disable 1M context window support
  • VSCode: Added /extra-usage command support in VS Code sessions
Changed
  • CLAUDE_CODE_SIMPLE mode now also disables MCP tools, attachments, hooks, and CLAUDE.md file loading for a fully minimal experience.
  • Opus 4.6 (fast mode) now includes the full 1M context window
Improved
  • Improved memory usage during long sessions by clearing internal caches after compaction
  • Improved memory usage during long sessions by clearing large tool results after they have been processed
  • Improved startup performance for headless mode (-p flag) by deferring Yoga WASM and UI component imports
February 19, 2026
Added
  • Added --worktree (-w) flag to start Claude in an isolated git worktree
  • Added Ctrl+F keybinding to kill background agents (two-press confirmation)
  • Added ConfigChange hook event that fires when configuration files change during a session, enabling enterprise security auditing and optional blocking of settings changes.
Changed
  • Subagents support isolation: "worktree" for working in a temporary git worktree
  • Agent definitions support background: true to always run as a background task
  • Plugins can ship settings.json for default configuration
  • 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.
  • SDK model info now includes supportsEffort, supportedEffortLevels, and supportsAdaptiveThinking fields so consumers can discover model capabilities.
February 18, 2026
Added
  • 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.
  • 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)
Changed
  • Search patterns in collapsed tool results are now displayed in quotes for clarity
  • 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.
  • Increased initial session count in resume picker from 10 to 50 for faster session discovery (anthropics/claude-code#26123)
  • Moved config backup files from home directory root to ~/.claude/backups/ to reduce home directory clutter (anthropics/claude-code#26130)
  • The /rename command now updates the terminal tab title by default (anthropics/claude-code#25789)
February 18, 2026
  • Fixed orphaned CC processes after terminal disconnect on macOS
  • Added support for using claude.ai MCP connectors in Claude Code
February 17, 2026
Added
  • 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
Improved
  • Improved startup performance by removing eager loading of session history for stats caching
  • Improved memory usage for shell commands that produce large output — RSS no longer grows unboundedly with command output size
  • Improved collapsed read/search groups to show the current file or search pattern being processed beneath the summary line while active
  • [VSCode] Improved permission destination choice (project/user/session) to persist across sessions
February 16, 2026
  • Fixed ENAMETOOLONG errors for deeply-nested directory paths
  • Fixed auth refresh errors
February 16, 2026
  • 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
February 13, 2026
  • Improved startup performance by deferring Zod schema construction
  • Improved prompt cache hit rates by moving date out of system prompt
  • 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
February 13, 2026
Added
  • Added guard against launching Claude Code inside another Claude Code session
  • 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
  • Improved model error messages for Bedrock/Vertex/Foundry users with fallback suggestions
  • Improved /rename to auto-generate session name from conversation context when called without arguments
  • Improved narrow terminal layout for prompt footer
February 10, 2026
  • 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
February 10, 2026
  • Fixed VS Code terminal scroll-to-top regression introduced in 2.1.37
  • Fixed Tab key queueing slash commands instead of autocompleting
  • Fixed bash permission matching for commands using environment variable wrappers
  • Fixed text between tool uses disappearing when not using streaming
  • Fixed duplicate sessions when resuming in VS Code extension
  • Improved heredoc delimiter parsing to prevent command smuggling
  • Blocked writes to .claude/skills directory in sandbox mode
February 7, 2026
  • Fixed an issue where /fast was not immediately available after enabling /extra-usage
February 7, 2026
February 6, 2026
  • 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
February 6, 2026
Added
  • 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
  • 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
Changed
  • Errors from invalid managed settings are now surfaced
Improved
  • Improved error messages for API connection failures — now shows specific cause (e.g., ECONNREFUSED, SSL errors) instead of generic “Connection error”
February 5, 2026
Added
  • Added research preview agent teams feature for multi-agent collaboration (token-intensive feature, requires setting CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)
  • Added “Summarize from here” to the message selector, allowing partial conversation summarization.
  • VSCode: Added spinner when loading past conversations list
Changed
  • Claude Opus 4.6 is now available!
  • Claude now automatically records and recalls memories as it works
  • 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
Fixed
  • Fixed @ file completion showing incorrect relative paths when running from a subdirectory
  • Fixed: Bash tool no longer throws “Bad substitution” errors when heredocs contain JavaScript template literals like ${index + 1}, which previously interrupted tool execution
  • Fixed Thai/Lao spacing vowels (สระ า, ำ) not rendering correctly in the input field
  • VSCode: Fixed slash commands incorrectly being executed when pressing Enter with preceding text in the input field
February 4, 2026
Added
  • 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
Changed
  • Reduced layout jitter in the terminal when the spinner appears and disappears during streaming
  • Removed misleading Anthropic API pricing from model selector for third-party provider (Bedrock, Vertex, Foundry) users
Improved
  • Improved system prompts to more clearly guide the model toward using dedicated tools (Read, Edit, Glob, Grep) instead of bash equivalents (cat, sed, grep, find), reducing unnecessary bash command usage
  • Improved PDF and request size error messages to show actual limits (100 pages, 20MB)
February 3, 2026
Added
  • 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
  • [VSCode] Added multiline input support to the “Other” text input in question dialogs (use Shift+Enter for new lines)
Changed
  • Changed /model to execute immediately instead of being queued
Improved
  • 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
  • Improved TaskStop tool to display the stopped command/task description in the result line instead of a generic “Task stopped” message
January 31, 2026
  • Fixed startup performance issues when resuming sessions that have saved_hook_context
January 30, 2026
  • Added tool call failures and denials to debug logs
  • Fixed context management validation error for gateway users, ensuring CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 avoids the error
  • 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
  • Fixed status bar duplicating background task indicator when PR status was shown
  • 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
January 29, 2026
  • Fixed beta header validation error for gateway users on Bedrock and Vertex, ensuring CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 avoids the error
January 29, 2026
Added
  • Added customizable spinner verbs setting (spinnerVerbs)
Changed
  • Changed Bash commands to show timeout duration alongside elapsed time
  • Changed merged pull requests to show a purple status indicator in the prompt footer
Improved
  • Improved terminal rendering performance with optimized screen data layout
January 28, 2026
  • Fixed structured outputs for non-interactive (-p) mode
January 28, 2026
Added
  • 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)
Improved
  • Improved read/search progress indicators to show “Reading…” while in progress and “Read” when complete
  • Improved Claude to prefer file operation tools (Read, Edit, Write) over bash equivalents (cat, sed, awk)
January 27, 2026
Added
  • 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
Changed
  • Changed collapsed read/search groups to show present tense (“Reading”, “Searching for”) while in progress, and past tense (“Read”, “Searched for”) when complete
  • Changed ToolSearch results to appear as a brief notification instead of inline in the conversation
  • 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
  • Changed background agents to prompt for tool permissions before launching
  • Changed permission rules like Bash(*) to be accepted and treated as equivalent to Bash
  • Changed config backups to be timestamped and rotated (keeping 5 most recent) to prevent data loss
Improved
  • Improved /sandbox command UI to show dependency status with installation instructions when dependencies are missing
  • Improved thinking status text with a subtle shimmer animation
  • Improved task list to dynamically adjust visible items based on terminal height
  • Improved fork conversation hint to show how to resume the original session
January 23, 2026
Added
  • 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
  • [SDK] Added replay of queued_command attachment messages as SDKUserMessageReplay events when replayUserMessages is enabled
Changed
  • Changed skills without additional permissions or hooks to be allowed without requiring approval
  • Changed indexed argument syntax from $ARGUMENTS.0 to $ARGUMENTS[0] (bracket syntax)
  • [VSCode] Enabled session forking and rewind functionality for all users
January 23, 2026
  • 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
January 22, 2026
  • Fixed crashes on processors without AVX instruction support
January 22, 2026
  • 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 out-of-memory crashes when resuming sessions with heavy subagent usage
  • Fixed an issue where the “context remaining” warning was not hidden after running /compact
  • Fixed session titles on the resume screen not respecting the user’s language setting
  • [IDE] Fixed a race condition on Windows where the Claude Code sidebar view container would not appear on start
January 21, 2026
  • Added deprecation notification for npm installations - run claude install or see https://code.claude.com/docs/en/setup for more options
  • Improved UI rendering performance with React Compiler
  • Fixed the “Context left until auto-compact” warning not disappearing after running /compact
  • Fixed MCP stdio server timeout not killing child process, which could cause UI freezes
January 20, 2026
Added
  • 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
  • [VSCode] Added /usage command to display current plan usage
Improved
  • Improved backspace to delete pasted text as a single token instead of one character at a time
January 17, 2026
  • Fixed message rendering bug
January 17, 2026
  • Fixed excessive MCP connection requests for HTTP/SSE transports
January 17, 2026
  • 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
  • Fixed a crash when running bash commands containing heredocs with JavaScript template literals like ${index + 1}
  • Improved startup to capture keystrokes typed before the REPL is fully ready
  • Improved file suggestions to show as removable attachments instead of inserting text when accepted
  • [VSCode] Added install count display to plugin listings
  • [VSCode] Added trust warning when installing plugins
January 16, 2026
  • 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 long sessions with parallel tool calls failing with an API error about orphan tool_result blocks
  • Fixed MCP server reconnection hanging when cached connection promise never resolves
  • Fixed Ctrl+Z suspend not working in terminals using Kitty keyboard protocol (Ghostty, iTerm2, kitty, WezTerm)
January 14, 2026
Added
  • 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
Changed
  • 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.
  • Changed OAuth and API Console URLs from console.anthropic.com to platform.claude.com
Improved
  • Improved typing responsiveness by reducing memory allocation overhead in terminal rendering
January 13, 2026
Added
  • 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
Changed
  • Updated “Help improve Claude” setting fetch to refresh OAuth and retry when it fails due to a stale OAuth token
  • Changed task notification display to cap at 3 lines with overflow summary when multiple background tasks complete simultaneously
  • Changed terminal title to “Claude Code” on startup for better window identification
  • Removed ability to @-mention MCP servers to enable/disable - use /mcp enable <name> instead
Improved
  • Improved the external CLAUDE.md imports approval dialog to show which files are being imported and from where
  • Improved the /tasks dialog to go directly to task details when there’s only one background task running
  • Improved @ autocomplete with icons for different suggestion types and single-line formatting
January 12, 2026
  • Added CLAUDE_CODE_TMPDIR environment variable to override the temp directory used for internal temp files, useful for environments with custom temp directory requirements
January 11, 2026
  • Added CLAUDE_CODE_DISABLE_BACKGROUND_TASKS environment variable to disable all background task functionality including auto-backgrounding and the Ctrl+B shortcut
  • Fixed “Help improve Claude” setting fetch to refresh OAuth and retry when it fails due to a stale OAuth token
January 9, 2026
Added
  • 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
  • [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)
Changed
  • Merged slash commands and skills, simplifying the mental model with no change in behavior
  • Changed tool hook execution timeout from 60 seconds to 10 minutes
Improved
  • Improved terminal rendering stability by preventing uncontrolled writes from corrupting cursor state
  • Improved slash command suggestion readability by truncating long descriptions to 2 lines
January 9, 2026
Added
  • 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
Changed
  • Changed large bash command outputs to be saved to disk instead of truncated, allowing Claude to read the full content
  • Changed large tool outputs to be persisted to disk instead of truncated, providing full output access via file references
  • Changed /plugins installed tab to unify plugins and MCPs with scope-based grouping
  • Deprecated Windows managed settings path C:\ProgramData\ClaudeCode\managed-settings.json - administrators should migrate to C:\Program Files\ClaudeCode\managed-settings.json
  • [SDK] Changed minimum zod peer dependency to ^4.0.0
Improved
  • Improved Option-as-Meta hint on macOS to show terminal-specific instructions for native CSIu terminals like iTerm2, Kitty, and WezTerm
  • Improved error message when pasting images over SSH to suggest using scp instead of the unhelpful clipboard shortcut hint
  • Improved permission explainer to not flag routine dev workflows (git fetch/rebase, npm install, tests, PRs) as medium risk
January 7, 2026
Added
  • 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”)
  • 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
  • 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 hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent’s lifecycle
  • Added hooks support for skill and slash command frontmatter
  • Added new Vim motions: ; and , to repeat f/F/t/T motions, y operator for yank with yy/Y, p/P for paste, text objects (iw, aw, iW, aW, i", a", i', a', i(, a(, i[, a[, i{, a{), >> and << for indent/dedent, and J to join lines
  • Added /plan command shortcut to enable plan mode directly from the prompt
  • Added slash command autocomplete support when / appears anywhere in input, not just at the beginning
  • Added --tools flag support in interactive mode to restrict which built-in tools Claude can use during interactive sessions
  • Added CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS environment variable to override the default file read token limit
  • Added support for once: true config for hooks
  • Added support for YAML-style lists in frontmatter allowed-tools field for cleaner skill declarations
  • Added support for prompt and agent hook types from plugins (previously only command hooks were supported)
  • Added Cmd+V support for image paste in iTerm2 (maps to Ctrl+V)
  • Added left/right arrow key navigation for cycling through tabs in dialogs
  • Added real-time thinking block display in Ctrl+O transcript mode
  • Added filepath to full output in background bash task details dialog
  • Added Skills as a separate category in the context visualization
  • [VSCode] Added currently selected model name to the context menu
  • [VSCode] Added descriptive labels on auto-accept permission button (e.g., “Yes, allow npm for this project” instead of “Yes, and don’t ask again”)
Changed
  • Changed Shift+Enter to work out of the box in iTerm2, WezTerm, Ghostty, and Kitty without modifying terminal configs
  • Reduced permission prompts for complex bash commands
  • Multiple optimizations to improve startup performance
  • Updated Atlassian MCP integration to use a more reliable default configuration (streamable HTTP)
  • Changed “Interrupted” message color from red to grey for a less alarming appearance
  • Removed permission prompt when entering plan mode - users can now enter plan mode without approval
  • Removed underline styling from image reference links
  • [SDK] Changed minimum zod peer dependency to ^4.0.0
January 7, 2026
  • Fixed issue with macOS code-sign warning when using Claude in Chrome integration
January 7, 2026
  • Minor bugfixes
December 19, 2025
Added
  • 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
  • [VSCode] Added gift tag pictogram for year-end promotion message
Improved
  • Improved /context command visualization with grouped skills and agents by source, slash commands, and sorted token count
December 19, 2025
  • 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
  • Fixed slow input history cycling and race condition that could overwrite text after message submission
  • Improved /theme command to open theme picker directly
  • Improved theme picker UI
  • Improved search UX across resume session, permissions, and plugins screens with a unified SearchBox component
  • [VSCode] Added tab icon badges showing pending permissions (blue) and unread completions (orange)
December 17, 2025
Added
  • 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
  • Added scannable QR code to mobile app tip for quick app downloads
  • Added loading indicator when resuming conversations for better feedback
Changed
  • Reduced terminal flickering
  • Changed thinking toggle from Tab to Alt+T to avoid accidental triggers
Improved
  • Improved @ mention file suggestion speed (~3× faster in git repositories)
  • Improved file suggestion performance in repos with .ignore or .rgignore files
  • Improved settings validation errors to be more prominent
Fixed
  • Fixed /context command not respecting custom system prompts in non-interactive mode
  • Fixed order of consecutive Ctrl+K lines when pasting with Ctrl+Y
December 16, 2025
  • Added /config toggle to enable/disable prompt suggestions
  • Added /settings as an alias for the /config command
  • Fixed @ file reference suggestions incorrectly triggering when cursor is in the middle of a path
  • Fixed MCP servers from .mcp.json not loading when using --dangerously-skip-permissions
  • Fixed permission rules incorrectly rejecting valid bash commands containing shell glob patterns (e.g., ls *.txt, for f in *.png)
  • Bedrock: Environment variable ANTHROPIC_BEDROCK_BASE_URL is now respected for token counting and inference profile listing
  • New syntax highlighting engine for native build
December 15, 2025
Added
  • 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
Changed
  • Removed # shortcut for quick memory entry (tell Claude to edit your CLAUDE.md instead)
Improved
  • Improved memory usage by 3x for large conversations
  • Improved resolution of stats screenshots copied to clipboard (Ctrl+S) for crisper images
  • Improve UI for file creation permission dialog
Fixed
  • Fixed input being cleared when processing queued commands while the user was typing
  • Fixed prompt suggestions replacing typed input when pressing Tab
  • Fixed diff view not updating when terminal is resized
  • Fix thinking mode toggle in /config not persisting correctly
December 13, 2025
  • Minor bugfixes
December 12, 2025
  • Fixed IME (Input Method Editor) support for languages like Chinese, Japanese, and Korean by correctly positioning the composition window at the cursor
  • Fixed a bug where disallowed MCP tools were visible to the model
  • Fixed an issue where steering messages could be lost while a subagent is working
  • Fixed Option+Arrow word navigation treating entire CJK (Chinese, Japanese, Korean) text sequences as a single word instead of navigating by word boundaries
  • Improved plan mode exit UX: show simplified yes/no dialog when exiting with empty or missing plan instead of throwing an error
  • Add support for enterprise managed settings. Contact your Anthropic account team to enable this feature.
December 12, 2025
Added
  • Added search functionality to /permissions command with / keyboard shortcut for filtering rules by tool name
Changed
  • Thinking mode is now enabled by default for Opus 4.5
  • Thinking mode configuration has moved to /config
  • Show reason why autoupdater is disabled in /doctor
December 11, 2025
  • 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)
  • Fixed prompt not being saved to history when aborting a query with Escape
  • Fixed Read tool image handling to identify format from bytes instead of file extension
December 10, 2025
Added
  • 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
  • VSCode: Added copy-to-clipboard button on code blocks and bash tool inputs
  • Bedrock: Add support for aws login AWS Management Console credentials
Changed
  • 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
  • Unshipped AgentOutputTool and BashOutputTool, in favor of a new unified TaskOutputTool
Improved
  • Improved /resume screen with grouped forked sessions and keyboard shortcuts for preview (P) and rename (R)
  • Bedrock: Improve efficiency of token counting
Fixed
  • Fixed auto-loading .env when using native installer
  • Fixed --system-prompt being ignored when using --continue or --resume flags
  • VSCode: Fixed extension not working on Windows ARM64 by falling back to x64 binary via emulation
December 9, 2025
  • 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)
  • Fixed duplicate slash commands appearing when ~/.claude is symlinked to a project directory
  • Fixed slash command selection not working when multiple commands share the same name
  • Fixed an issue where skill files inside symlinked skill directories could become circular symlinks
  • Fixed running versions getting removed because lock file incorrectly going stale
  • Fixed IDE diff tab not closing when rejecting file changes
December 7, 2025
  • Reverted VSCode support for multiple terminal clients due to responsiveness issues.
December 6, 2025
  • 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
December 4, 2025
  • 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
December 3, 2025
  • Pro users now have access to Opus 4.5 as part of their subscription!
  • Fixed timer duration showing “11m 60s” instead of “12m 0s”
  • Windows: Managed settings now prefer C:\Program Files\ClaudeCode if it exists. Support for C:\ProgramData\ClaudeCode will be removed in a future version.
December 3, 2025
  • Added feedback input when rejecting plans, allowing users to tell Claude what to change
  • VSCode: Added streaming message support for real-time response display
December 2, 2025
  • 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.
November 26, 2025
  • 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
November 26, 2025
  • Hooks: Enable PermissionRequest hooks to process ‘always allow’ suggestions and apply permission updates
  • Fix issue with excessive iTerm notifications
November 24, 2025
  • Fixed duplicate message display when starting Claude with a command line argument
  • Fixed /usage command progress bars to fill up as usage increases (instead of showing remaining percentage)
  • Fixed image pasting not working on Linux systems running Wayland (now falls back to wl-paste when xclip is unavailable)
  • Permit some uses of $! in bash commands
November 24, 2025
  • 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”
  • Fixed handling of thinking errors
  • Fixed performance regression
November 21, 2025
  • Fixed bug preventing calling MCP tools that have nested references in their input schemas
  • Silenced a noisy but harmless error during upgrades
  • Improved ultrathink text display
  • Improved clarity of 5-hour session limit warning message
November 21, 2025
  • Added readline-style ctrl-y for pasting deleted text
  • Improved clarity of usage limit warning message
  • Fixed handling of subagent permissions
November 19, 2025
  • Improved error messages and validation for claude --teleport
  • Improved error handling in /usage
  • Fixed race condition with history entry not getting logged at exit
  • Fixed Vertex AI configuration not being applied from settings.json
November 19, 2025
  • Fixed image files being reported with incorrect media type when format cannot be detected from metadata
November 18, 2025
  • 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 &
November 18, 2025
  • 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
  • Fixed nested CLAUDE.md files not loading when @-mentioning files
  • Fixed duplicate rendering of some messages in the UI
  • Fixed some visual flickers
  • Fixed NotebookEdit tool inserting cells at incorrect positions when cell IDs matched the pattern cell-N
November 15, 2025
  • Added agent_id and agent_transcript_path fields to SubagentStop hooks.
November 14, 2025
Added
  • Added model parameter to prompt-based stop hooks, allowing users to specify a custom model for hook evaluation
  • Plugins: Added support for sharing and installing output styles
Changed
  • 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
  • Teleporting a session from web will automatically set the upstream branch
November 11, 2025
  • Fixed how idleness is computed for notifications
  • Hooks: Added matcher values for Notification hook events
  • Output Styles: Added keep-coding-instructions option to frontmatter
November 7, 2025
  • 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
November 6, 2025
  • Improve fuzzy search results when searching commands
  • Improved VS Code extension to respect chat.fontSize and chat.fontFamily settings throughout the entire UI, and apply font changes immediately without requiring reload
  • 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)
November 5, 2025
  • VSCode Extension: Added setting to configure the initial permission mode for new conversations
  • Improved file path suggestion performance with native Rust-based fuzzy finder
  • Fixed infinite token refresh loop that caused MCP servers with OAuth (e.g., Slack) to hang during connection
  • Fixed memory crash when reading or writing large files (especially base64-encoded images)
November 4, 2025
  • Native binary installs now launch quicker.
  • Fixed claude doctor incorrectly detecting Homebrew vs npm-global installations by properly resolving symlinks
  • Fixed claude mcp serve exposing tools with incompatible outputSchemas
November 4, 2025
  • Un-deprecate output styles based on community feedback
  • Added companyAnnouncements setting for displaying announcements on startup
  • Fixed hook progress messages not updating correctly during PostToolUse hook execution
October 31, 2025
  • 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 a bug with subagents and MCP servers related to “Tool names must be unique” error
  • Fixed issue causing /compact to fail with prompt_too_long by making it respect existing compact boundaries
  • Fixed plugin uninstall not removing plugins
October 30, 2025
Added
  • 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)
Changed
  • 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
  • Removed support for custom ripgrep configuration, resolving an issue where Search returns no results and config discovery fails
  • VSCode: Restored selection indicator in input footer showing current file or code selection status
October 27, 2025
  • 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)
  • Fixed a bug where macOS permission prompts would show up upon initial launch when launching from home directory
  • Various other bug fixes
October 24, 2025
  • New UI for permission prompts
  • Added current branch filtering and search to session resume screen for easier navigation
  • Fixed directory @-mention causing “No assistant message found” error
  • 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
October 21, 2025
October 20, 2025
  • Fixed a bug where project-level skills were not loading when —setting-sources ‘project’ was specified
  • 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
October 17, 2025
  • Fixed content layout shift when scrolling through slash commands
  • 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
October 18, 2025
  • 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
  • Fixed an issue where queued commands don’t have access to previous messages’ output
October 16, 2025
  • Added support for Claude Skills
October 15, 2025
  • Auto-background long-running bash commands instead of killing them. Customize with BASH_DEFAULT_TIMEOUT_MS
  • Fixed a bug where Haiku was unnecessarily called in print mode
October 15, 2025
  • 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
October 14, 2025
  • 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
October 10, 2025
  • 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
October 9, 2025
  • Fixed /plugin not working on native build
October 9, 2025
Changed
  • 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
October 8, 2025
  • Reduced system prompt size by 1.4k tokens
  • IDE: Fixed keyboard shortcuts and focus issues for smoother interaction
  • Fixed Opus fallback rate limit errors appearing incorrectly
  • Fixed /add-dir command selecting wrong default tab
October 8, 2025
  • 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
October 6, 2025
  • Fix regression where bash backgrounding stopped working
October 4, 2025
  • 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)
October 4, 2025
  • 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
September 30, 2025
  • Skip Sonnet 4.5 default model setting change for Bedrock and Vertex
  • Various bug fixes and presentation improvements
September 29, 2025
Added
  • New native VS Code extension
  • Add subagents dynamically with --agents flag
Changed
  • 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
September 26, 2025
  • Enable /context command for Bedrock and Vertex
  • Add mTLS support for HTTP-based OpenTelemetry exporters
September 25, 2025
  • 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
  • Fixed security vulnerability in Bash tool permission checks
  • Improved VSCode extension performance for large files
September 23, 2025
  • Bash permission rules now support output redirections when matching (e.g., Bash(python:*) matches python script.py > output.txt)
  • Fixed thinking mode triggering on negation phrases like “don’t think”
  • Fixed rendering performance degradation during token streaming
  • Added SlashCommand tool, which enables Claude to invoke your slash commands. https://code.claude.com/docs/en/slash-commands#SlashCommand-tool
  • Enhanced BashTool environment snapshot logging
  • Fixed a bug where resuming a conversation in headless mode would sometimes enable thinking unnecessarily
  • Migrated —debug logging to a file, to enable easy tailing & filtering
September 19, 2025
  • Fix input lag during typing, especially noticeable with large prompts
  • Improved VSCode extension command registry and sessions dialog user experience
  • Enhanced sessions dialog responsiveness and visual feedback
  • Fixed IDE compatibility issue by removing worktree support check
  • Fixed security vulnerability where Bash tool permission checks could be bypassed using prefix matching
September 19, 2025
  • 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
September 19, 2025
  • 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
September 16, 2025
  • 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
September 13, 2025
  • Deprecated piped input in interactive mode
  • Move Ctrl+R keybinding for toggling transcript to Ctrl+O
September 12, 2025
  • 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
September 10, 2025
  • /model now validates provided model names
  • Fixed Bash tool crashes caused by malformed shell syntax parsing
September 10, 2025
  • /terminal-setup command now supports WezTerm
  • MCP: OAuth tokens now proactively refresh before expiration
  • Fixed reliability issues with background Bash processes
September 9, 2025
  • SDK: Added partial message streaming support via --include-partial-messages CLI flag
September 5, 2025
  • Windows: Fixed path permission matching to consistently use POSIX format (e.g., Read(//c/Users/...))
August 29, 2025
  • Settings: /doctor now validates permission rule syntax and suggests corrections
August 27, 2025
  • 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
August 26, 2025
  • Windows: Add alt + v shortcut for pasting images from clipboard
  • Support NO_PROXY environment variable to bypass proxy for specified hostnames and IPs
August 25, 2025
  • Settings file changes take effect immediately - no restart required
August 22, 2025
  • Fixed issue causing “OAuth authentication is currently not supported”
  • 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
August 22, 2025
  • 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
August 19, 2025
  • Status line input now includes session cost info
  • Hooks: Introduced SessionEnd hook
August 18, 2025
  • 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
August 18, 2025
  • @-mention: Support files with spaces in path
  • New shimmering spinner
August 16, 2025
  • 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
August 14, 2025
  • 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
August 14, 2025
  • UI improvements: Fix text contrast for custom subagent colors and spinner rendering issues
August 14, 2025
  • 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
August 11, 2025
  • 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)
August 11, 2025
  • Ask permissions: have Claude Code always ask for confirmation to use specific tools with /permissions
August 7, 2025
  • 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
August 7, 2025
  • 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
August 5, 2025
  • Upgraded Opus to version 4.1
August 4, 2025
  • 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
  • Improved file suggestions performance in large repos
July 31, 2025
  • IDE: Fixed connection stability issues and error handling for diagnostics
  • Windows: Fixed shell environment setup for users without .bashrc files
July 30, 2025
  • 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
July 29, 2025
  • Windows: Fixed file search, @agent mentions, and custom slash commands functionality
July 28, 2025
  • 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
  • Improved network connectivity check reliability
July 25, 2025
  • 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
July 24, 2025
  • You can now create custom subagents for specialized tasks! Run /agents to get started
July 23, 2025
  • 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
  • Fixed issue where some Max users that specified Opus would still see fallback to Sonnet
July 23, 2025
  • 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
July 23, 2025
  • Added support for specifying a model in slash commands
  • Improved permission messages to help Claude understand allowed tools
  • Fix: Remove trailing newlines from bash output in terminal wrapping
July 23, 2025
  • 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
July 23, 2025
  • 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
July 19, 2025
  • 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
July 18, 2025
  • 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).
July 18, 2025
  • Added support for MCP server instructions
July 11, 2025
  • 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%
  • Fixed an issue with handling user directories with spaces for shell snapshots
  • 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
July 10, 2025
  • Fixed a bug in v1.0.45 where the app would sometimes freeze on launch
  • 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
  • Improved IDE extension path handling when Claude Code runs in WSL
  • Hooks: Added a PreCompact hook
  • Vim mode: Added c, f/F, t/T
July 10, 2025
  • Redesigned Search (Grep) tool with new tool input parameters and features
  • Disabled IDE diffs for notebook files, fixing “Timeout waiting after 1000ms” error
  • Fixed config file corruption issue by enforcing atomic writes
  • 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.
July 7, 2025
  • 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.
July 3, 2025
  • Fixed a bug where the theme selector was saving excessively
  • Hooks: Added EPIPE system error handling
July 3, 2025
  • Added tilde (~) expansion support to /add-dir command
July 3, 2025
  • 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
  • Fixed a bug where MCP tools would display twice in tool list
  • New tool parameters JSON for Bash tool in tool_decision event
July 3, 2025
  • Fixed a bug causing API connection errors with UNABLE_TO_GET_ISSUER_CERT_LOCALLY if NODE_EXTRA_CA_CERTS was set
July 3, 2025
  • New Active Time metric in OpenTelemetry logging
June 30, 2025
June 30, 2025
  • Remove ability to set Proxy-Authorization header via ANTHROPIC_AUTH_TOKEN or apiKeyHelper
June 30, 2025
  • Web search now takes today’s date into context
  • Fixed a bug where stdio MCP servers were not terminating properly on exit
June 25, 2025
  • Added support for MCP OAuth Authorization Server discovery
June 24, 2025
  • Fixed a memory leak causing a MaxListenersExceededWarning message to appear
June 24, 2025
  • Improved logging functionality with session ID support
  • Added prompt input undo functionality (Ctrl+Z and vim ‘u’ command)
  • Improvements to plan mode
June 24, 2025
  • Updated loopback config for litellm
  • Added forceLoginMethod setting to bypass login selection screen
June 24, 2025
  • Fixed a bug where ~/.claude.json would get reset when file contained invalid JSON
June 24, 2025
  • Custom slash commands: Run bash output, @-mention files, enable thinking with thinking keywords
  • Improved file path autocomplete with filename matching
  • Added timestamps in Ctrl-r mode and fixed Ctrl-c handling
  • Enhanced jq regex support for complex filters with pipes and select
June 24, 2025
  • Improved CJK character support in cursor navigation and rendering
June 24, 2025
  • 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
June 18, 2025
  • 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
June 16, 2025
  • Slash commands: moved “project” and “user” prefixes to descriptions
  • Slash commands: improved reliability for command discovery
  • Improved support for Ghostty
  • Improved web search reliability
June 16, 2025
  • Improved /mcp output
  • Fixed a bug where settings arrays got overwritten instead of merged
June 16, 2025
  • Released TypeScript SDK: import @anthropic-ai/claude-code to get started
  • Released Python SDK: pip install claude-code-sdk to get started
June 12, 2025
  • SDK: Renamed total_cost to total_cost_usd
June 12, 2025
  • Improved editing of files with tab-based indentation
  • Fix for tool_use without matching tool_result errors
  • Fixed a bug where stdio MCP server processes would linger after quitting Claude Code
June 9, 2025
  • Added —add-dir CLI argument for specifying additional working directories
  • Added streaming input support without require -p flag
  • Improved startup performance and session storage performance
  • 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
  • Fixed issue where pasted content was lost when dialogs appeared
June 9, 2025
  • We now emit messages from sub-tasks in -p mode (look for the parent_tool_use_id property)
  • Fixed crashes when the VS Code diff tool is invoked multiple times quickly
  • MCP server list UI improvements
  • Update Claude Code process title to display “claude” instead of “node”
June 4, 2025
  • Claude Code can now also be used with a Claude Pro subscription
  • Added /upgrade for smoother switching to Claude Max plans
  • Improved UI for authentication from API keys and Bedrock/Vertex/external auth tokens
  • Improved shell configuration error handling
  • Improved todo list handling during compaction
June 4, 2025
  • Added markdown table support
  • Improved streaming performance
June 2, 2025
  • Fixed Vertex AI region fallback when using CLOUD_ML_REGION
  • Increased default otel interval from 1s -> 5s
  • Fixed edge cases where MCP_TIMEOUT and MCP_TOOL_TIMEOUT weren’t being respected
  • Fixed a regression where search tools unnecessarily asked for permissions
  • Added support for triggering thinking non-English languages
  • Improved compacting UI
June 2, 2025
  • Renamed /allowed-tools -> /permissions
  • Migrated allowedTools and ignorePatterns from .claude.json -> settings.json
  • Deprecated claude config commands in favor of editing settings.json
  • Fixed a bug where —dangerously-skip-permissions sometimes didn’t work in —print mode
  • Improved error handling for /install-github-app
  • Bugfixes, UI polish, and tool reliability improvements
June 2, 2025
  • Improved edit reliability for tab-indented files
  • Respect CLAUDE_CONFIG_DIR everywhere
  • Reduced unnecessary tool permission prompts
  • Added support for symlinks in @file typeahead
  • Bugfixes, UI polish, and tool reliability improvements
May 28, 2025
  • Fixed a bug where MCP tool errors weren’t being parsed correctly
May 22, 2025
  • Added DISABLE_INTERLEAVED_THINKING to give users the option to opt out of interleaved thinking.
  • Improved model references to show provider-specific names (Sonnet 3.7 for Bedrock, Sonnet 4 for Console)
  • Updated documentation links and OAuth process descriptions
May 22, 2025
  • Claude Code is now generally available
  • Introducing Sonnet 4 and Opus 4 models
May 21, 2025
  • 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
May 17, 2025
  • Breaking change: —print JSON output now returns nested message objects, for forwards-compatibility as we introduce new metadata fields
  • Introduced settings.cleanupPeriodDays
  • Introduced CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var
  • Introduced —debug mode
May 13, 2025
  • 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 bug where thinking was not working in -p mode
  • Fixed a regression in /cost reporting
  • Deprecated MCP wizard interface in favor of other MCP commands
  • Lots of other bugfixes and improvements
May 9, 2025
  • CLAUDE.md files can now import other files. Add @path/to/file.md to ./CLAUDE.md to load additional files on launch
May 9, 2025
  • MCP SSE server configs can now specify custom headers
  • Fixed a bug where MCP permission prompt didn’t always show correctly
May 8, 2025
  • Claude can now search the web
  • Moved system & account status to /status
  • Added word movement keybindings for Vim
  • Improved latency for startup, todo tool, and file edits
May 5, 2025
  • Improved thinking triggering reliability
  • Improved @mention reliability for images and folders
  • You can now paste multiple large chunks into one prompt
May 2, 2025
  • Fixed a crash caused by a stack overflow error
  • Made db storage optional; missing db support disables —continue and —resume
May 1, 2025
  • Fixed an issue where auto-compact was running twice
May 1, 2025
April 30, 2025
  • 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
April 25, 2025
  • Added support for —disallowedTools
  • Renamed tools for consistency: LSTool -> LS, View -> Read, etc.
April 21, 2025
  • 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>
  • Improved performance for filename auto-complete
April 18, 2025
  • 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
April 18, 2025
  • Updated spinner to indicate tokens loaded and tool usage
April 17, 2025
  • 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
April 17, 2025
  • Fixed UI glitches with improved Select component behavior
  • Enhanced terminal output display with better text truncation logic
April 17, 2025
  • Shared project permission rules can be saved in .claude/settings.json
April 17, 2025
  • Print mode (-p) now supports streaming output via —output-format=stream-json
  • Fixed issue where pasting could trigger memory or bash mode unexpectedly
April 17, 2025
  • Fixed an issue where MCP tools were loaded twice, which caused tool call errors
April 2, 2025
  • Navigate menus with vim-style keys (j/k) or bash/emacs shortcuts (Ctrl+n/p) for faster interaction
  • Enhanced image detection for more reliable clipboard paste functionality
  • Fixed an issue where ESC key could crash the conversation history selector
April 2, 2025
  • Copy+paste images directly into your prompt
  • Improved progress indicators for bash and fetch tools
  • Bugfixes for non-interactive mode (-p)
April 2, 2025
  • 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
April 2, 2025
  • New web fetch tool lets Claude view URLs that you paste in
  • Fixed a bug with JPEG detection
April 2, 2025
  • New MCP “project” scope now allows you to add MCP servers to .mcp.json files and commit them to your repository
April 2, 2025
  • Previous MCP server scopes have been renamed: previous “project” scope is now “local” and “global” scope is now “user”
April 2, 2025
  • 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)
April 2, 2025
  • Ask Claude to make a plan with thinking mode: just say ‘think’ or ‘think harder’ or even ‘ultrathink’
April 2, 2025
  • MCP server startup timeout can now be configured via MCP_TIMEOUT environment variable
  • MCP server startup no longer blocks the app from starting up
April 2, 2025
  • 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
April 2, 2025
  • 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>
April 2, 2025
  • Vim bindings for text input - enable with /vim or /config
April 2, 2025
  • Interactive MCP setup wizard: Run “claude mcp add” to add MCP servers with a step-by-step interface
  • Fix for some PersistentShell issues
April 2, 2025
  • 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
April 2, 2025
  • Added ANSI color theme for better terminal compatibility
  • Fixed issue where slash command arguments weren’t being sent properly
  • (Mac-only) API keys are now stored in macOS Keychain
April 2, 2025
  • New /approved-tools command for managing tool permissions
  • Word-level diff display for improved code readability
  • Fuzzy matching for slash commands
April 2, 2025
  • Fuzzy matching for /commands