claude --version to check your installed version.
October 9, 2026
Added
- Added a
codekey to the Claude apps gateway’smanaged.policies[]: the same settings ascli, also applied in Claude Desktop’s Code tab; besidedesktop, it turns on Claude Desktop’s gateway mode - Added
autoCompactWindowto subagent frontmatter and--agentsdefinitions, so a subagent can auto-compact earlier than the main conversation’s window - Added
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODELto run every workflow agent on one model while other subagents keep theirs - Added
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MSenvironment variable to set a longer maximum delay for the backoff when retrying an overloaded (529) request - Added a note in
/pluginon a plugin whose hooks are left out because another enabled plugin has the same name - Added an
allow_largeoption 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
- Updated
/cost, the status line,--max-budget-usdand the SDK’s cost figures to price Sonnet 5.5 cache reads at 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
/copypicker, so a drafted message copies without its>markers - Added a warning to
claude plugin install,enable,disableandmarketplace addwhen the settings file they write to does not load - Added a line on stderr, when it is a terminal, that says what a
claude -prun is waiting for when it stays open after its last turn - Added support for
timeouts.upstream_ttfb_mson 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
modelslist 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"andforceLoginGatewayUrlin your own user settings on machines with no managed settings, so/loginopens on that Claude apps gateway - Added advice to
claude plugin validatewhen 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_idto the Claude apps gateway’sinferenceaudit event: the request ID from Amazon Bedrock, the Anthropic API or another upstream, for support cases - Added
$.ui.notifyfor mods: raises a native notification through your own notification setting and says which channel sent it - Added children to a mod’s
Button: strings andText, so a row of a list is one pressable with a chip or a dim detail inside - Added
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MSto limit how long unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) waits out 429 and 529 errors - Added a
request-idheader to the Claude apps gateway’s successful inference responses, sorequest_idin 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 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
skillsfield, 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
/loopwakeup alone, so pressing it twice detaches and the loop keeps running; press Esc to stop it - Changed
claude agentsstopped 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=legacyopts 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
desktoppolicy 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_ENVIRONMENTandCCR_AUTO_MODE_SOFT_DENYinto 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
promptandagenthooks written as instructions (such as “Block commands that…”) allowing what they should block - Improved how
prompthooks 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.50 per Mtok (2.50 for prompts over 100K) - Added
agentTypeto thesubagentStatusLinepayload, so scripts can tell custom subagent types apart - Added
isDeferredto$.tool.registerfor mods:falselists the tool’s schema in the prompt from the start instead of behind tool search
- 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
/loopwakeup 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_mentionlogging 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>toclaude plugin install: adds the marketplace if needed, under the same policy checks asclaude plugin marketplace add, then installs the plugin from it - Added an
effortparameter to the Agent tool, so Claude runs a sub-agent at the effort level you ask for - Added
CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MSenvironment 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.completefor mods:promptandsystemtake blocks of text, andcache: trueon a block caches the request up to it - Added workflow agents to the
agent.spawnmod 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 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=legacyopts out - Changed
claude plugin test: a failedexpectinside 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
namelonger than that is ignored - [Claude Tag] Changed the first message of a Slack thread continued with
!forkto 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
serverToolUsesto the result of a mod’sturn.stephook: the tool calls the API ran itself (the advisor), each with its id, name, input, start and end - Added
agentIdto thetool.checkevent of plugin hooks, so a hook can tell a subagent’s permission check from the main session’s - Added
ceilingto the question and verdict a mod’stool.checkhook reads, naming the approval an organization requires for a tool - Added
ThemeKeyandColortypes 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(gatingHooksunder--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>andclaude 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 asant applyfiles - Added
/claude-api managed-agents-onboard <quickstart-name>to build a Console quickstart template, such asdeep-researcher, with theantCLI - 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
!fastto switch a thread to fast mode, moving it to Opus if needed, and!fast offto 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
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICto 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,/chromeor 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.spawnrejects 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
pscommand 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
/ultrareviewupload fails at a git step: they name the step and what to try, and no longer repeat git’s own error text - Changed
/code-reviewat 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_idin Agent results to its agent ID (itsname@teamaddress stays inteammate_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,/effortand/renamesent fromclaude agentsto 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_HOURsets the rate, 0 turns it off) instead of ending after 200 calls - Changed
CLAUDE_CODE_DISABLE_ATTACHMENTSso a repository’s.claude/settings.jsonor.claude/settings.local.jsoncan no longer set it; shell, user and managed settings still can - Changed
claude plugin updateon 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 apiin cloud sessions: a host other than github.com set inGH_HOSTorGH_REPOis now refused (use--hostnameor a full URL), and stderr notes requests to other hosts - Changed the
claude-apiskill’s Managed Agents examples to turn off the web tools unless the agent needs them and to use theautopermission 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.spawnfor teammates, one agent id across plugin hook events, and idle and waiting states in$.agent.list()
- [VSCode] Reverted a 2.1.288 change to
claude auth statusthat may have made sign-outs more frequent
- Improved how quickly large files open in a plugin code pane by laying the highlighted view out once at its final width
- 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 apito 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>|allto /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 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_MODELpin that names Claude Sonnet 5.5 or Opus 5.5 and use Claude Sonnet 5 instead - Changed
claude project purgetoclaude 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
/autocompactto 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_textto the OpenTelemetryuser_promptevent, a copy ofpromptfor backends that nest dotted keys; drop or mask it wherever you drop or maskprompt(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 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=1keeps 200K) - Changed replies from
claude agentsto arrive as queued messages; slash commands other than/stopsent while a turn is running now run when it ends - Changed whole-tool
Bashallow 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: falseto 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=50to 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 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
--bareto 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,/hooksand 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
/hooksto 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-apiskill’s Managed Agents examples to create environments with limited networking - Removed the browser link from
/ultrareviewandclaude ultrareviewoutput - [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_FETCHenvironment variable to turn off the WebFetch tool - Added
claude --desktopto 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>toclaude plugin install --config, so a bundled.mcpbMCP server’s own settings can be set at install time and it starts without visiting/plugin→ Configure - Added
allowedProvidersmanaged 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_RETRIESenvironment 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 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 toalwaysLoad - Changed background Bash and PowerShell commands to stop after a time limit (their
timeoutwithrun_in_background, default 30 min, max 2 h); Claude is notified when one is stopped - Changed Code Review’s pull request reviews and
/ultrareviewto run whendisableWorkflowsis 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_URLto use the 1M context window of models that have one (Opus 4.7+, Sonnet 5+, Fable); run/autocompact 200kif 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 -pand 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-modestill 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
widgetsto be reserved in cloud sessions and on self-hosted runners: your own server under it, or a close spelling such aswidgets_, no longer loads, so rename it - Changed
/ultrareviewon 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
envto no longer setALLUSERSPROFILE,SystemDrive, or theCommonProgramFilesvariables; set them in user or managed settings instead - Changed
/tasksto fold background work Claude Code runs for itself under one “System tasks” row; press Enter on it to show those tasks - Changed
/ultrareviewon macOS and Linux to require git 2.31 or newer to upload a local repository; checkouts made with--separate-git-dirare now refused instead of being uploaded with an older method - Changed
/ultrareviewuploads 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
/ultrareviewuploads 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--filteruploads - Changed Bedrock, Vertex and Mantle start-up model checks to identify themselves as Claude Code, like other Claude Code requests
- Changed
claude mcp getto hide the command, arguments, and environment values of stdio MCP servers provided by plugins; variable names are still shown - Changed
/claude-apiso it can no longer be run from Remote Control clients - Changed
/config chrome=trueto direct you to the /config panel instead of enabling Claude in Chrome by default;/config chrome=falsestill 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.jsonturns 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, 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
/usageand the status line (for example “500.00 spent this month”) when the gateway runs this version or later; the status line’srate_limits.spend_limitalso gainsused_usd,limit_usdandperiod - Added
effortSlider:decreaseEffort,increaseEffortandtoggleUltracodekeybinding actions, so the/effortslider’s arrow and Tab keys can be rebound inkeybindings.json - Added
/rate-limit-optionsto/helpand 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 allin 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
availableModelsis empty, or leaves out the model Claude Code starts on without settingmodelorenforceAvailableModels - Added
auth: { google: {} }for Claude apps gatewaytelemetry.forward_todestinations, 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 interactive terminal and VS Code sessions to start in auto mode when no permission mode is configured, on every plan and provider;
permissions.defaultModestill 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_MODELormodelOverrides: 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
--allowedToolsor anmcp_toolhook, even whenCLAUDE_CODE_MCP_STARTUP_WAIT_MSis0 - Changed
/recapto 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,-por an SDK host, it runs as before - Changed
/artifactsto show its filter tabs beside the title with one-word labels (All, Mine, Shared), using the same tab bar as/configand/plugin - Changed artifact publishing to refuse a file on a network share (a
\\host\sharepath or a/netautomount) unless it is on a mapped network drive added with--add-dir - [VSCode] Changed
CLAUDE_CONFIG_DIRin theclaudeCode.environmentVariablessetting 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-idto the gateway hint headers so LLM gateways can group the requests that serve one user prompt; opt in withCLAUDE_CODE_GATEWAY_HINT_HEADERS=1 - Added
availableModelsMatchmanaged setting: with"exact", anavailableModelsentry allows only the model version it names, so new releases stay blocked until listed - Added
deniedModelsmanaged setting to block specific models, even whenavailableModelsallows them - Added MCP tool, WebFetch and WebSearch outputs to the
tool.outputOpenTelemetry span event whenOTEL_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
pathto--plugin-dirload-failure entries in the stream-jsonsystem/initplugin_errors, naming the directory that did not load - Added an opt-in
load_test_modeblock 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
mantleupstream 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 interactive sessions on third-party providers or with telemetry off to start in auto mode when no permission mode is configured;
permissions.defaultModestill overrides it - Changed the
/ultrareviewlaunch dialog to say that reviewing a local branch may upload uncommitted changes to tracked files - Changed the
/modelpicker’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-promptand--append-system-promptto accept their text and-fileforms 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, andSkill(skill:<name>)denies to match the skill’s alias and display name - Changed
/rewindand/difflists to move on the same keybinding actions as every other list (select:*);messageSelector:*/diff:*rebinds still work - Changed the
/workflowsrun 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 evalto 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-pushhook, ignore a writable systemcore.hooksPath, and not sign commits without--configure-git - Self-hosted runner: Changed
GIT_SSL_CAINFOandGIT_SSL_NO_VERIFYunder 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-ainame: skills, commands, workflows and MCP servers’ skills and prompts so named load again, andSkill(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
maxProseWidthsetting 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
/statusandclaude doctorentries, listing telemetry variables in a project’s settings files that were ignored or that turned telemetry off - Added the
allowClaudeInChromeWithManagedMcpmanaged setting to letclaude --chromerun alongside an exclusivemanaged-mcp.json; the error shown when Chrome is blocked now names it - Added
store.readiness_grace_secondsto the Claude apps gateway so/readyzcan stay ready through a short Postgres outage such as a database failover - Added a scrollbar to the
/feedbackdrafts 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
- Updated the
claude-apiskill: 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-apiskill to recommendant applyfor 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=0opts out) - Changed
sandbox.excludedCommandsto ignore project and local settings entries when managed settings or--settingssetallowUnsandboxedCommands: false, or managedallowManagedDomainsOnly: true - Changed project and local settings to ignore OpenTelemetry variables that turn on export, set its endpoint, or capture content, like
CLAUDE_CODE_ENABLE_TELEMETRYandOTEL_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-codefrom applying - Changed
Skill(anthropic-skills:*)andSkill(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-skillsorclaude-ainamespace 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-skillsorclaude-aito list no skills or prompts (their tools still work); rename the server in your MCP configuration to list them again - Changed the
ultracodevisuals in/effortand 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
desktoppolicy blocks, includingblockReadsOutsideWorkingDirectoriesanddisableBypassPermissionsMode - Added
assume_roleon 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_attributesto the Claude apps gateway config, to put fixed labels on the telemetry of Claude Desktop and/loginsessions - Added
"attribution": falseinsettings.jsonto 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.jsonentries that would be silently dropped at load, undeclared${user_config.*}references, and insecure URLs - Added an auto mode recommendation to
/insightsthat estimates how many permission prompts auto mode could have handled in your recent sessions - Added a scrollbar to the
/skills,/mcpand/pluginInstalled lists in fullscreen mode, like the one/workflowsnow 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 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_SERVERto also apply on a direct Anthropic API connection:0opts out of the server-side auto mode classifier (the local classifier then counts toward usage),1opts in - Changed the dangerous
rmprompt in--dangerously-skip-permissionsand 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=1turns 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
managedMcpServersentry’senvHelperpath 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
commandhook that appends--system-promptor--append-system-promptmust switch to--system-prompt-fileor--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 (
⧉ nameor⧉ 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 --jsonand 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): pressingxon a running/ultrareviewnow asks for confirmation before stopping the review - Removed the leftover “(removed)”
/agentsentry from the command menu and/help; typing/agentsstill 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, 20 per Mtok with $0.20/Mtok cache reads - Added mouse support to more lists in fullscreen mode: the wheel scrolls the
/skillslist, and a skill’s state options in/plugincan be clicked - Added
CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTHto 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_completeOpenTelemetry 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
/skillsthat opens it - [VSCode] Added a typed
/planthat 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
- Reverted
ctrl+l/cmd+kin 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
/effortbecame 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
/effortin-por the Agent SDK, a project, managed or--settingseffortLevel, 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 needGIT_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
PermissionRequesthooks: 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=0opts 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 serverrow to/statusshowing 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=1for 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
/tasksis open - [VSCode] Added a Sign out row to the panel menu, with
/logoutin the typed command menu - [VSCode] Added background shells and other running tasks to the agent map, each with a Stop, and a typed
/tasksthat 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 Fable to always appear in
/modelon 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
/ultrareviewin 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 -pruns launched outside an SDK or IDE - Removed the deprecated TaskOutput tool; Claude reads a background task’s output file with Read instead, and the
taskOutputMaxCharssetting andTASK_MAX_OUTPUT_LENGTHno 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'whenANTHROPIC_BASE_URLpoints 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
/statusshows 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
otelHeadersHelperfails, 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: falseorsyncClaudeAiPlugins: 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
- Updated
/logoutfor 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-scriptsand 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_MSto bound how long the first non-interactive turn waits for connecting MCP servers (0= don’t wait) - Added
effortattribute to theclaude_code.llm_requestOpenTelemetry trace span, matching theapi_requestevent - Added
claude_code.managed_settings_resolvedOTel event: managed-settings sources and policy helper state; redacted settings and digests withOTEL_LOG_MANAGED_SETTINGS=1 - Added
store.connect_timeout_secondsto 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 tostore.postgres_urland 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.lockEditorGroupssetting 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 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=v1orMCP_PROTOCOL_NEGOTIATION=legacy) - Changed
/code-reviewto 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 pullin 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
/statusGitHub 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/ignorewhenXDG_CONFIG_HOMEis 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-compactionandx-claude-code-context-compactedrequest headers for LLM gateways; opt in withCLAUDE_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-controlor/remote-controlfrom 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
- 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 liketime -p make buildprompt 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=1to use the platform’s server-side classifier - Changed
OTEL_LOG_TOOL_DETAILS=1to 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
/bugand/feedbackreports to include only model-behavior params (model, system prompt, tools) from the last API request, omitting request metadata andCLAUDE_CODE_EXTRA_BODYfields - [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
/fasttyped in the session applies where your organization allows it - Added mouse support to the
/configpanel 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_domainsto 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
omitClaudeMdto agent frontmatter and--agentsJSON, letting custom and plugin subagents run without user, project and local CLAUDE.md files; managed policy files still load - Added
--accept-command <sha256>toclaude plugin installandclaude plugin updateto accept exactly the command a previous--jsonrun displayed, instead of-y - Added support for a
multiplierabove 1, up to 10, in themodelPricingmanaged setting and the Claude apps gatewaypricingblock, 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 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
-pruns) and notify Claude to re-arm, replacing the no-timeoutpersistentoption - 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-apiskill to enableeager_input_streamingon streaming custom tools, and to start deliverable-shaped Managed Agents work withuser.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); seeclaude 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_REPOSITORYto tag OpenTelemetry metrics and events withvcs.*repository attributes; commit events getvcs.ref.head.*withOTEL_LOG_TOOL_DETAILS - Added
CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MSto extend the LLM gateway/v1/modelsdiscovery timeout (default 3s) - Added a spinner tip suggesting
/focusfor 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
/ultrareview --postto 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 ingateway.yaml, signed-in Claude Code clients receive the same rates through managed settings, so/costand telemetry match the spend meter - Added a startup warning for gateways when
access_control.allow_cidrsis empty, and a one-time warning the first time a request arrives from a public address - Added the
gatewayInternalNetworksmanaged setting, letting administrators allow/loginto 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
configDirectoryto the output ofclaude auth status --json - Added
--jsontoclaude plugin install,uninstall,update,enableanddisable, anderrorDetails/noteDetailsto each row ofclaude 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 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=1elsewhere - 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
WebFetchdeny and ask rules to no longer apply to Artifact tool reads and updates; use anArtifactrule (orWebFetch(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
maxEffortLevelsetting (top-level or per model undermodelSettings): caps the effort level on every provider, including Bedrock, Vertex and Foundry; users can still pick a lower level - Added
--system-prompt-snapshot offto 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
- Self-hosted runner: Changed
--use-anthropic-git-proxyto 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_identityupstreams 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_GATEWAYenvironment variable, previously ignored unlessANTHROPIC_BASE_URLandANTHROPIC_AUTH_TOKENwere 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.emailanduser.groupsto the telemetry Claude Desktop and Cowork send through a Claude apps gateway, matching terminal sessions - Added support for pointing
--plugin-dirat 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)
- Updated the
.claudefolder permission option to say what it actually allows: editing files in the project’s.claudefolder (or~/.claude) for the session - Changed machines with
forceLoginGatewayUrlin managed settings to be Claude apps gateway sessions from startup, likeforceLoginMethod: "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.jsonon the Installed tab andclaude plugin details, filling gaps fromplugin.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
/statusandclaude doctorthat says why your organization’s policy could not be loaded, such as a proxy not passing the endpoint through - Added
bashOutputMaxCharsandtaskOutputMaxCharssettings 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-fileto read the subagent system prompt from a file, for prompts too large to pass on the command line - Added
/skill-doctorto 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 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;
keybindingFlavorno longer has any effect - Changed
/contexttoken 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
/costand the status line’sprompt_cachefield - Added
/reload-pluginsto 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_refreshto the Claude apps gateway for IdPs that return an id_token on refresh only when asked foropenidagain - Added Claude apps gateway support for newer Claude Desktop keys in
desktoppolicy blocks, includinguserPluginMarketplacesEnabledanduserPluginUploadsEnabled - [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
- Reverted the 2.1.259 change applying
Read()deny rules to Bash arguments; it deniednpm run buildunder aRead(./**/build/**)rule in every mode and madecd … && grepprompt even in auto mode - Updated the bundled
claude-apiskill 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+kin fullscreen mode to clear the transcript view like a terminalclear; 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 unsafeenvsettings still require approval - Changed Claude in Chrome to follow your organization’s Claude in Chrome admin setting; when an admin turns it off,
--chrome,/chromeand the browser tools are unavailable - Changed Claude apps gateway to send
orgPluginSettingsin 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
desktoppolicy misspells a field in a nested object of amanagedMcpServersororgPluginSettingsentry - 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-minto 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
managedMcpServersmanaged 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 nonefor 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/updateso GitLab merge requests show asMR !Nin the collapsed tool summary and refresh the footer MR badge - Added
--jsontoclaude plugin validatefor 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
allowedMcpServersto govern only servers users add: a literalmanaged-mcp.jsonserver your allowlist used to filter out now loads on upgrade; usedeniedMcpServersto 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, 50 per Mtok with $0.25/Mtok cache reads - Added “Time format” (
timeFormat) andtimeZonesettings: 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_FORCEto applyCLAUDE_CODE_SUBAGENT_MODEL(or the main model) to every subagent, ignoring per-spawn and agent-definition model overrides - Added
sin/effortto change effort for the current session only, matching/model - Added a
/doctorwarning 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
descriptionon discovered/modelpicker 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
--effortto 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
policyHelperin MDM ormanaged-settings.jsonshadowed 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 takesandbox.credentials.awsPairsandsandbox.ripgrepwhole 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 whenCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICis set, since it only queries your gateway - Changed
claude --resume <session-id> --bgto continue that session under its own ID when nothing is running it, instead of silently starting a copy; a copy is now announced - Changed
/btwhistory browsing from←/→toShift+←/Shift+→(or[/]), stepping through your recent side questions and back to the live answer - Changed
defaultMode: "bypassPermissions"in.claude/settings.jsonor.claude/settings.local.jsonto be ignored, like"auto"; set it in user or managed settings, or pass--permission-mode - Changed
fableandbestin 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/modelto use it - Changed
--add-dir,/add-dir, andadditionalDirectoriesto 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
PreModelSwitchandPostModelSwitchhook events (block, confirm, or annotate a model switch);SessionStartresume 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
/usageand arate_limits.spend_limitstatus 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 matchingprompt_cacheobject for status line scripts - Added
attach,logs,stop,respawn, andrmtoclaude --help; the--resumemessage for a running background session now names the exactclaude attach <id>command
- Changed
/radioto 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_MODELto set the default subagent model rather than override everything: an agent definition’smodel:and an explicit per-spawn model now take precedence over it - Changed the default commit trailer to
Co-Authored-By: Claude Codewhen the active model isn’t a recognized Claude model (e.g. third-party models behind a customANTHROPIC_BASE_URL) - Changed the default model for seat-based Enterprise subscriptions to Opus 5, matching other premium plans
- Changed
/effortto 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, orGITHUB_TOKEN) instead ofgh 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_HEADERSfrom 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.jsonenvto no longer setCLAUDE_CONFIG_DIR,CLAUDE_CODE_TMPDIR, orTMPDIR/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(orCLAUDE_CODE_RESTRICTED=1): removes the built-in tools that run commands or code andWebFetch(unless named in--tools), keeps file tools inside the working directory, refusesbypassPermissions, 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>(orSELF_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
/doctorand/statusline explaining a load failure or why they weren’t fetched (Bedrock/Vertex/third-party provider, customANTHROPIC_BASE_URL) - Added a warning in
/web-setupwhen the GitHub CLI token lacks theworkflowscope, since pushes to very large repositories can be rejected without it - Added
/usage-creditsfor 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 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
SendMessagefrom 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
SendFeedbacktool: when something goes wrong in a session, Claude can draft a feedback report for you to review and send from/feedback(turn off with thefeedbackDraftssetting) - Added
{id, text, cooldownSessions, priority}entries,tipsFile, andlabeltospinnerTipsOverride, 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-optimizeto 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
- Updated the
/claude-apiskill 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_codedevice-authorization parameter and aclaude-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 plugin marketplace hardening: names containing control or invisible characters are rejected, and marketplace-supplied text in
/pluginandclaude pluginoutput 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
/permissionsfor 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
/code-reviewso 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 installandclaude updateto 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_hashnow reflects the plugin’s real marketplace, andenabled_viaisadmin-installfor 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/looptasks are easy to spot - Added
modelPickersetting: curate the/modelpicker with an ordered, labeled list of models (any id spelling, including Vertex/Bedrock ids), appended to or replacing the built-in lineup - Added
promptCacheTtlandsubagentPromptCacheTtlsettings 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
modelPricingmanaged 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 sourcesline to/statusthat lists managed settings sources (for examplemanaged-settings.json) present but not applied because a higher-precedence managed source is active - Added a
managedmarker in/mcpand/pluginson 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
/statusline showing whether GitHub is connected for Claude Code on the web (Pro/Max), pointing to/web-setupwhen it isn’t - Added the model (and effort level) each subagent ran on to
/tasksand the agent detail dialogs
- 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
/modelpicker and the bundledclaude-apiskill to show Sonnet 5’s 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/effortto 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 upgradeto migrate Python projects fromanthropic0.x to 1.x, and updated the skill’s Python reference for 1.x (timeouts useanthropic.Timeout, nothttpx.Timeout)
- 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 withclaude 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
SessionStartorSetuphook 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 theclaude --resumepicker now restores its active goalListAgentsnow tells a session its own name (the one peers use to message it), andSendMessageto your own name says so instead of “no agent named …”ListAgentsand/list-agentsnow 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:
/clearnow closes the session’s Chrome tab group, and empty groups are closed on/resumeand 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 doctorwording 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
SendMessageand find each other withListAgents, 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 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
keybindingFlavorsetting: 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-filefor egress proxies that require a freshly issuedProxy-Authorizationheader on every connection
- Plugin marketplaces:
headersHelperon 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
headersHelperruns only when you install or update that plugin, after its command is shown;claude plugin install/updateask[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-apiskill 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
/clearshortcut was removed, and 1-row nvim terminals no longer trigger automatic/clearloops - Changed
claude mcp listandclaude mcp getto show disabled servers as⊘ Disabledinstead of connecting to them for a health check - MCP
headersHelperin a project.mcp.json, and inline MCP servers in project or--add-diragent files, now require that folder’s trust dialog to have been accepted (also underclaude -p) - MCP
headersHelperfrom 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 startup: bare
claudestarts 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_MODELenvironment variable: sets the model new sessions start on, while a/modelpick still overrides it and persists across restarts (unlikeANTHROPIC_MODEL) - Added
notify_when_idleto cross-sessionSendMessage: 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
- 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
/modelpicker 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/usagenow 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
SendMessagenow 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 startup performance: the session counter is now written in the background
- Improved auto mode:
Monitorallow 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=nosetting into reporting a clean tree
August 18, 2026
Added
- Added an optional
spellchecksetting that underlines misspelled words in the prompt input as you type, using your installedaspell,hunspell, orispell
- 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
SendMessagenow refuses messages too large for cross-session delivery up front instead of silently dropping them- Remote Control:
claude rcnow applies the same enterprise-gateway availability check as interactive startup
- Improved memory and CPU usage while cloud sessions such as
/ultrareviewor/autofix-prrun 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
grepin native macOS/Linux builds: pathological patterns now fail fast instead of exhausting memory, and-m Nwith-A/-Cprints correct context - Improved the context-limit error to say when auto-compact is off and point to
/configto re-enable it
August 17, 2026
Added
- Added the optional
CLAUDE_CODE_PROJECT_DIR_NAMEenvironment variable: hosts that give each session its own config directory can choose a short name for the per-project transcript directory - Added the
selection:clearkeybinding 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
- 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
SendMessageandListAgentsnow 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
/loginwhen a claude.ai login would take precedence - Reduced the context cost of loading the built-in
claude-apiskill from ~200k+ tokens to ~25k by loading reference docs on demand /permissionscan 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,/configand/advisordialogs open mid-turn in the fullscreen TUI/goalnow 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 (setCLAUDE_CODE_GOAL_CHECKIN_MINUTES=0to opt out)claude setup-tokennow 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.jsonis read-only
- 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
--worktreeflag and theclaude agentsview (where MRs display as!N) - Added an opt-in
forward_user_identityapps 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_MSenvironment variable to configure the WebFetch session URL cache TTL (default unchanged: 15 minutes)
- 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=1to 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
/configrows 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 routableglpat-/gldt-tokens; theglabCLI config store gets the same sandbox and credential-path protection asgh - Added GitLab support to plugin marketplaces: bare
gitlab.comrepo URLs (including nested subgroups) now clone likegithub.comURLs, and clone auth-failure hints name your actual git host
- 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 usesSendMessageto reach that session directly SendMessagenow 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-wordvariant and tells you - Settings:
additionalMarketplacesandallowedMarketplacesare now accepted as friendlier aliases forextraKnownMarketplacesandstrictKnownMarketplaces - Enterprise policy: a url-typed
blockedMarketplacesentry 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_groupsentries and malformedemail_domainvalues (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
/advisoragain 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)
/feedbackand/bugnow open immediately when invoked while Claude is responding, instead of waiting for the turn to finish/plugin install plugin@marketplacenow refreshes the marketplace first, so newly published plugins install without a manual marketplace update/code-reviewat 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-controlthere to move it - Updated agent panel: completed subagents hide immediately with a
/tasksfooter 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.ripgrepto be honored only from user, managed, and--settingssettings; 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
/poweruptour
- 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
commandsources: 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
- Documented
claude remote-control --continuefor resuming the most recent Remote Control session ListAgentsnow marks disconnected Remote Control sessions asofflineand labels your cloud sessions ascloud- Updated
/loginto repeat theCLAUDE_CODE_OAUTH_TOKENoverride warning after a successful login - Changed
/commit-push-prso 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
/bugnow open the built-in feedback dialog instead of a retired survey link - [VSCode] Made the
/btwside-question panel resizable by dragging its boundary, in both side-docked and stacked layouts
- 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=0disables) - 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 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-actionwithallowed_non_write_userson GitHub-hosted runners - Fixed
/tuibringing 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 agentsfor untrusted directories, matching the behavior ofclaude
- SendMessage can now start a conversation with your Remote Control sessions on other machines by name (
ListAgentsshows them asname [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 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-runnerturns your own machines or containers into a place Claude Code web, mobile, and desktop sessions can run, on Team and Enterprise plans - Added
archiveplugin 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_PREFIXenv var for Bedrock to prefer a specific cross-region inference profile over theAWS_REGION-derived one - Added
crossSessionInboundanddialogExpirysettings: 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:
extractandonExtractNoMatchfor structured env values,decode: "jwt"withmaskClaimsfor JWT-aware masking, andawsPairs/sigv4for AWS SigV4 re-signing; these neednetwork.tlsTerminateand are honored only from user, managed, or--settingssettings - Added cross-session
SendMessage: Claude Code sessions can now message each other, on any of your machines, withListAgentsto discover them (macOS and Linux)
- 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.mdinstructions), 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 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;
/clearresets 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 thestrictKnownMarketplacesandblockedMarketplacesmanaged 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
/teleporthint in cloud sessions showing how to continue locally withclaude --teleport <session id>
- Changed
CLAUDE_CODE_DISABLE_1M_CONTEXTto 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=1to restore the previous behavior - Changed
/reviewto be an alias of/code-review, which reviews the current diff or a PR (/code-review <level> <pr#>); use/code-review ultrafor a deep cloud review - Changed
/code-reviewwith no effort level to reuse the level you typed last; type a level like/code-review highto change it
August 4, 2026
Changed
- Changed Remote Control auto-start so repo-local settings (
.claude/settings.jsonor.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 auto mode safety: messages sent to other agent sessions via
SendMessageare 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
/diffview, 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+For 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 anextractregex) while the sandbox proxy substitutes the real value on egress; on macOS file masking falls back todeny - Added warnings to
claude plugin validatewhen a marketplace or plugin name would be rejected by Claude Desktop’s managed marketplace sync - Added a
prompt-auditsubcommand to theclaude-apiskill for auditing prompts and tool descriptions for patterns written for older models
- 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 installto refresh a stale marketplace catalog and retry before reporting a plugin not found - Changed plugins installed from
/pluginto activate immediately when safe, instead of always requiring/reload-plugins - Changed plugins to accept
"."as askillspath, and the root-levelSKILL.mdvalidation error now suggests using the plugin root - Changed
/statusto show the session kind:interactive, or a background job that isattachedorunattended - Changed emoji autocomplete to accept common alternate shortcodes like
:thumbsup:,:thumbsdown:, and:love: - Changed sessions forked with
/forkto 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
modelfield 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 50 per Mtok - Added
sandbox.network.strictAllowlistsetting to deny non-allowlisted hosts for sandboxed commands without prompting - Added
DirectoryAddedhook that fires after/add-diror the SDKregister_repo_rootcontrol request registers a new working directory mid-session - Added
mcp_server_errorsto the headless stream-json init event, listing--mcp-configentries skipped by config validation; terminal runs print a startup warning - Added the
workflowSizeGuidelinesettings key so the advisory Dynamic workflow size guideline can be set from any settings file; the/configrow is hidden while one does - Added nested subagent forwarding in stream-json: subagents spawned at depth-2+ now appear when
--forward-subagent-textis set, keyed by their spawning Agenttool_useid - Added HTTP status and error text to
claude mcp listand/mcpwhen 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
/configfor changing it
- 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
/modelpicker 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;
/fastnow 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 the “Remote Control is only available via api.anthropic.com” error to name the specific setting that caused it
- Improved
claude --teleportto 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-readermode - 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, alongsidetrue/false
- Changed
/code-reviewto run as a background subagent, so review work no longer fills your conversation and keeps stacked slash commands as its review target - Changed
/deep-researchto 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: forkto run in the background by default; opt out per skill withbackground: false
- Improved
/ultrareviewerror 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:heafor suggestions — disable with theemojiCompletionEnabledsetting - 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 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_DEPTHto allow deeper nesting
- 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=0to opt out
July 20, 2026
Added
- Added
sandbox.filesystem.disabledsetting to skip filesystem isolation while keeping network egress control
/contextnow shows an explicit warning when the conversation exceeds the context window, and a failed/compactdisplays as an error/rewindno longer restores or deletes files through symlinks or hard links at tracked paths and reports how many paths it skipped- Background sessions:
/mcpand/install-github-appnow 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
/verifyand/code-reviewskills on its own; invoke them with/verifyor/code-reviewwhen 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
modifiedtimestamp to memory file frontmatter - Added
message.uuid,client_request_id, andtool_sourceattributes to OpenTelemetry log events for message-level correlation and tool provenance - Added
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHto configure the 60 KB truncation limit on OpenTelemetry content attributes - Added reasoning effort to the
subagentStatusLinepayload, so custom agent rows can render model and effort - Added permission prompts for
dockercommands (including the Podmandockershim) carrying daemon-redirect flags (--url,--connection,--identity, and Podman’s remote mode) that previously ran without one
- Changed single-segment
dir/**hookif:conditions to match only<cwd>/dir; write**/dir/**for any-depth matching.deny/askpermission rules keep their any-depth match. - Changed
filecommands using-m/--magic-fileor-f/--files-fromto 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 the
claude rcworkspace-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 resetto restore the default auto-mode configuration, with a confirmation prompt (pass--yesto 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;/clearresets the budget
/forknow copies your conversation into a new background session (its own row inclaude 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
/resumein 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:
SendMessagebodies are no longer duplicated into replayed history and tool results - Changed
/forkto name the copy after your prompt when the session has no title, so the row is recognizable in the agent view - Changed bare
/btwto reopen the side-question panel on your most recent exchange so you can browse earlier answers - Changed the
←footer hint to pulseN donefor a moment when a background agent finishes while nothing needs your input - Deprecated the Task tool’s
modeparameter (now ignored); subagents inherit the parent session’s permission mode by default - Changed Enterprise
forceLoginMethodto be enforced for VS Code extension, SDK,setup-token, andinstall-github-applogins, 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_modelcontrol 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 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-textflag andCLAUDE_CODE_FORWARD_SUBAGENT_TEXTenvironment variable to include subagent text and thinking in stream-json output
- 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
1e6and64_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-creditsto ask for confirmation before sending a request to organization admins - Changed Vim mode
sandS(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_diskon screenshot actions now writes the image to disk and returns the path; previously it did nothing
- 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), andGlob(path)permission rules — useEdit(path)orRead(path)instead
- 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 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 agentsbackground 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
vimInsertModeRemapssetting: map two-key insert-mode sequences likejjto 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 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
/tasksuntil 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-permissionsand auto mode, matching the plain form /install-github-appand the/mcpsettings menu no longer open in background sessions- MCP servers configured with an empty URL now show as “not configured” in
/mcpinstead of a config error /usagenow shows your last-known usage bars with an “as of” note when the usage endpoint is rate-limited, instead of an error screen
- 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_MODEopt-in on Bedrock, Vertex AI, and Foundry; disable viadisableAutoModein settings - Changed Bedrock, Vertex, and Claude Platform on AWS to default to Claude Opus 4.8
- Changed auto mode to no longer read
autoModefrom.claude/settings.local.json(repo-resident); use~/.claude/settings.jsoninstead - Plugin hooks/monitors/MCP headersHelper:
${user_config.*}in shell-form commands is now rejected (shell-injection fix). Hooks: use exec form (argsarray) or$CLAUDE_PLUGIN_OPTION_<KEY>; monitors and headersHelper: read the value inside the script (config file or the server’senvblock). - Plugin option values (
pluginConfigs) are no longer read from project-level.claude/settings.json; only user,--settings, and managed settings are honored
- 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-dirbehavior - Added a
/doctorcheck that proposes trimming checked-inCLAUDE.mdfiles by cutting content Claude could derive from the codebase
/commit-push-prnow auto-allowsgit pushto the repo’s configured push remote (remote.pushDefault, or the sole remote when only one is configured) in addition toorigin- Gateway:
/loginnow supports Anthropic-operated public gateway endpoints EnterWorktreenow 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
/code-reviewfindings 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
- 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
/doctoris now a full setup checkup that can diagnose and fix issues;/checkupis 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 auto mode to ask before running
rm -rfon 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, withnotifications/roots/list_changedsent when the set changes - [VSCode] Added a Settings toggle for “Enable Remote Control for all sessions”
- 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 agentsview 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
/doctorand/statusinstead - Removed a redundant navigation hint from the
claude agentsfooter
- 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
/configfor controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap - Added
workflow.run_idandworkflow.nameOpenTelemetry attributes to telemetry emitted by workflow-spawned agents, so a workflow run’s activity can be reconstructed from OTel data
- 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
/workflowsagent 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
urlbut notype, 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
AskUserQuestiondialogs 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 manualand"defaultMode": "manual"are accepted alongsidedefault
- 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 XYZnow 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_WATCHDOGnow raises the default retry count for non-capacity transient errors to 300 and lifts the cap of 15 onCLAUDE_CODE_MAX_RETRIESclaude agentssession rows now show pull-request links as bare#Nwithout the redundant “PR” label
July 1, 2026
Added
- Added background agent notifications in
claude agents— sessions that need input or finish now fire theNotificationhook (agent_needs_input/agent_completed) - Added
/datavizskill 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
- 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 agentsnow 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
/loginnow opens the sign-in dialog from theclaude agentsview 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
/agentswizard; ask Claude to create or manage subagents, or edit.claude/agents/directly
- 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 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
/modelwhen 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
- Security:
claude mcp list/getno longer spawn.mcp.jsonservers 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=0to disable. - Remote Control is now disabled when
ANTHROPIC_BASE_URLpoints at a non-Anthropic host, matching the existing behavior underCLAUDE_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 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-reviewworkflow: merged five cleanup finders into one, cutting token usage by roughly 25%
June 26, 2026
Added
- Added
CLAUDE_CODE_DISABLE_MOUSE_CLICKSto disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll
- 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 agentscompleted 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.classifyAllShellsetting 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
/permissionsrecent denials - Added
claude_code.assistant_responseOpenTelemetry log event containing the model’s response text. Redacted unlessOTEL_LOG_ASSISTANT_RESPONSES=1; when that var is unset it followsOTEL_LOG_USER_PROMPTS, so deployments that already log prompt content will start receiving response content on upgrade — setOTEL_LOG_ASSISTANT_RESPONSES=0to 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 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
headersHelperauth: the helper now re-runs and reconnects automatically when a tool call returns 401/403 - Improved plugin auto-rename: marketplace
renamesmaps are now followed automatically, updating your settings to the new name - Improved
/add-dirmessage when the directory is already a working directory
June 24, 2026
Added
- Added
/rewindsupport for resuming a conversation from before/clearwas run
- 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.credentialssetting to block sandboxed commands from reading credential files and secret environment variables - Added org-configured model restrictions to the model picker,
--model,/model, andANTHROPIC_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
/install-github-app: GitHub Actions workflow setup is now optional — you can install just the GitHub App and skip the workflow/secret steps - Improved
/btwwith ←/→ arrow navigation to step through earlier answers - Improved
/pluginto surface plugins you haven’t used recently so you can clean them up
June 22, 2026
Added
- Added
claude mcp login <name>andclaude mcp logout <name>to authenticate MCP servers from the CLI without opening the interactive/mcpmenu, with--no-browserstdin redirect support for completing over SSH - Added status filtering (press
f) to the/workflowsagent detail view - Added a “Skills” section to the
/pluginInstalled tab - Added
teammateMode: "iterm2"setting with a warning when auto mode cannot find theit2CLI - Added “Claude Platform on AWS - refresh credentials” option to
/loginwhenawsAuthRefreshis configured
!bash commands now trigger Claude to respond to the output automatically; set"respondToBashCommands": falsein settings.json to keep the previous context-only behavior- Changed
CLAUDE_CODE_MAX_RETRIESto cap at 15; for unattended sessions, useCLAUDE_CODE_RETRY_WATCHDOGinstead - 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
claude mcp getandclaude mcp removeto 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.mdindex when nearing the size limit - Improved skill frontmatter:
display-name,default-enabled,fallback, andmetadata.*keys now accept kebab-case, snake_case, and camelCase - Improved malformed
SKILL.mdYAML 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.sessionUrlsetting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions - Added
/config --helpto list all available shorthand keys for/config key=value
- Changed
/configtoggle 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
/doctorto see configuration issues or use--debug
- 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 --amendis blocked when the commit wasn’t made by the agent this session, andterraform destroy/pulumi destroy/cdk destroyare blocked unless you asked for the specific stack
June 17, 2026
Added
- Added
/config key=valuesyntax to set any setting from the prompt (e.g./config thinking=false) — works in interactive,-p, and Remote Control - Added
sandbox.allowAppleEventsopt-in setting that lets sandboxed commands send Apple Events on macOS - Added
CLAUDE_CLIENT_PRESENCE_FILEenvironment variable: point it at a marker file to suppress mobile push notifications while you’re at the machine
- Upgraded the bundled Bun runtime to 1.4
- Changed fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior
- Changed the
Improved N memoriesline to no longer list individual files outside verbose mode
- 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/allowReadglob 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
- Agent teams: removed the
TeamCreateandTeamDeletetools. WithCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1set, every session now has one implicit team — spawn teammates directly with the Agent tool’snameparameter, no setup step needed. Theteam_nameparameter on the Agent tool is still accepted but ignored. - Skills in nested
.claude/skillsdirectories 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
/bugnow requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title
- 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
/doctorwith 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
footerLinksRegexessetting for regex-matched link badges in the footer row, configurable via user or managed settings
- Session titles are now generated in the language of your conversation (set the
languagesetting 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 statusexplains version-skew behavior
- Improved Bedrock credential caching: credentials from
awsCredentialExportare now cached until theirExpirationinstead of a fixed 1 hour
June 12, 2026
- Added
enforceAvailableModelsmanaged setting — when enabled, theavailableModelsallowlist 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 managedavailableModelslist
June 12, 2026
Added
- Added
wheelScrollAccelerationEnabledsetting 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
modelattribute to theclaude_code.lines_of_code.countOTEL metric
- Sub-agents can now spawn their own sub-agents (up to 5 levels deep)
- Amazon Bedrock now reads the AWS region from
~/.awsconfig files whenAWS_REGIONisn’t set, matching AWS SDK precedence;/statusshows where the region came from - Disable mouse tracking on Windows consoles that don’t fully support it
- Reduced idle CPU usage:
/goalstatus chip no longer re-renders the terminal at 5 Hz while idle, and fewer UI re-renders while subagents run in parallel /code-reviewnow keeps theultraoption 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
/loopin remote sessions, where pending loops don’t keep the container alive
- 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-modeflag (andCLAUDE_CODE_SAFE_MODE) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting - Added
/cdcommand to move a session to a new working directory without breaking the prompt cache mid-session - Added a
disableBundledSkillssetting andCLAUDE_CODE_DISABLE_BUNDLED_SKILLSenvironment variable to hide bundled skills, workflows, and built-in slash commands from the model - Added a tip suggesting
claude agentswhen running multiple concurrent sessions
/workflowsnow 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=0to 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.exeis held by another process - Promo credit claims for Apple/Google-billed subscribers without a payment method now explain where to add one
- Improved
TaskCreatereliability: 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
fallbackModelsetting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable;--fallback-modelnow also applies to interactive sessions - Added glob pattern support in deny rule tool-name position (
"*"denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup
- Hardened cross-session messaging: messages relayed via
SendMessagefrom 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 updatenow announces the target version before downloading instead of going silentclaude 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
requiredMinimumVersionandrequiredMaximumVersionmanaged settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version - Added
/plugin listcommand to list installed plugins, with--enabled/--disabledfilters - Added a “c to copy” shortcut to
/btwthat 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
- Hooks: Stop and SubagentStop hooks can now return
hookSpecificOutput.additionalContextto give Claude feedback and keep the turn going without being labeled a hook error - stdio MCP servers now receive the same
CLAUDE_CODE_SESSION_IDas 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 agentsdispatching from the state-grouped view now starts the session in the directory the agent view was opened from
June 3, 2026
Changed
claude agents --jsonnow includeswaitingForshowing 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)/effortnow 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
/idemenu,/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 background service startup and
claude updateverification 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
OTEL_RESOURCE_ATTRIBUTESvalues are now included as labels on metric datapoints, so you can slice usage metrics by custom dimensions like team or repoclaude agentsrows now showdone/totalbefore the detail when work is fanned out; peek shows the longest-running item/mcpnow 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/xselon 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 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
acceptEditsmode 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-filegrep/egrep/fgrepcommands 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
workflowtoultracode. 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 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
/pluginarguments: 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
- Plugins in
.claude/skillsdirectories are now automatically loaded, no marketplace required claude agents: theagentfield insettings.jsonis now honored for dispatched sessions, with--agent <name>to override itEnterWorktreecan now switch between Claude-managed worktrees mid-sessiontool_decisiontelemetry events now includetool_parameters(bash commands, MCP/skill names) whenOTEL_LOG_TOOL_DETAILS=1- Worktrees managed by Claude are now left unlocked when the agent finishes, so
git worktree remove/prunecan clean them up /terminal-setupnow 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
/statusand 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 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
/workflowsto view your runs - Added Claude Opus 4.8 support and 4.7 → 4.8 migration guidance to the
/claude-apiskill
- 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
/simplifynow runs a cleanup-only review (reuse, simplification, efficiency, altitude) and applies the fixes, instead of running the full/code-review --fixbug-hunting review- Renamed the
/effortslider 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 asclaude --bg --exec '<command>'claude agents:/logoutnow 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: falseinplugin.jsonor a marketplace entry; enable them with/pluginorclaude plugin enable. Dependencies of enabled plugins are still enabled automatically - The
/pluginDiscover 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_IDandCLAUDECODE=1in their environment claude mcp list/getnow show unapproved.mcp.jsonservers as⏸ Pending approvalinstead of auto-approving and connecting when output is piped/remote-controlautocomplete 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 the auto-mode classifier’s detection of data exfiltration, particularly bulk transfers of repository contents
May 28, 2026
Added
- Added
skipLfsoption togithub/gitplugin marketplace sources to skip Git LFS downloads during clone and update
- Claude Code now shows a one-time notice when your npm global install can’t auto-update;
/doctorlists the fixes - Status line commands now receive
COLUMNSandLINESenvironment 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 skillsclaude agents: PR column now showsPR #Nfor a single PR orN PRsfor multipleclaude doctornow 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-configno longer strips inlinemcpServersfrom explicitly-passed agent definitions (--agents/ SDKagents), and blocked subagent MCP servers now surface a visible warning/bgwhile Claude is responding now continues the response in the background session instead of dropping it/modelnow saves your selection as the default for new sessions (matching the IDE). Presssin the picker to switch models for the current session only.- If you customized the
modelPicker:setAsDefaultkeybinding, rename it tomodelPicker:thisSessionOnlyin keybindings.json (thedaction was replaced bys)
May 27, 2026
Added
- Added
/reload-skillscommand to re-scan skill directories without restarting the session - Added a
MessageDisplayhook event that lets hooks transform or hide assistant message text as it is displayed - Added
pluginSuggestionMarketplacesmanaged 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 viaOTEL_METRICS_INCLUDE_ENTRYPOINT=true)
/code-review --fixnow applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions;/simplifynow invokes/code-review --fix- Skills and slash commands can now set
disallowed-toolsin frontmatter to remove tools from the model while the skill is active SessionStarthooks can now returnreloadSkills: trueto re-scan skill directories, making skills installed by the hook available in the same sessionSessionStarthooks can now set the session title viahookSpecificOutput.sessionTitleon startup and resumeclaude plugin marketplace removenow accepts--scope user|project|localfor symmetry withmarketplace add,install, anduninstall- Claude Code now switches to your configured
--fallback-modelfor 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
/usagebreakdown 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+Oshows 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
allowAllClaudeAiMcpsmanaged setting to load claude.ai cloud MCP connectors alongsidemanaged-mcp.json
/usagenow shows a per-category breakdown of what’s driving your limits usage — skills, subagents, plugins, and per-MCP-server cost/diffdetail 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
/feedbackreports 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+Tinclaude 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
/simplifyto/code-review. It now reports correctness bugs at a chosen effort level (e.g.,/code-review high); pass--commentto 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 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 --jsonto list live Claude sessions as JSON for scripting (tmux-resurrect, status bars, session pickers) - Added
agent_idandparent_agent_idattributes toclaude_code.toolOTEL spans, and fixed trace parenting so background subagent spans nest under the dispatching Agent tool span
- Status line JSON input now includes GitHub repo and PR information when detected
/pluginDiscover and Browse screens now show a plugin’s commands, agents, skills, hooks, and MCP/LSP servers before installationclaude agentsterminal 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_tasksandsession_cronsfields
- 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
/resumesupport for background sessions — sessions started viaclaude --bgor agent view now appear alongside interactive ones, marked withbg - Added elapsed duration to background subagent completion notifications (e.g. “Agent completed · 3h 2m 5s”)
- The
/pluginbrowse and discover panes now show when a plugin was last updated /modelnow changes the model for the current session only; pressdin the model picker to set a default for new sessions- Renamed “extra usage” to “usage credits” across CLI copy;
/extra-usageis 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/tailfile views now satisfy the read-before-edit check, and a “no matches” result (exit code 1) fromegrep,fgrep,git grep, orgit diffis no longer reported as a command failure - Resumed sessions now keep the model they were using instead of picking up another session’s
/modelchoice /bgand←-detach now preserve directories added via/add-dirclaude agents/--bgrejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic messageclaude --bg --name <label>now echoes the name in the post-spawn confirmationclaude 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
WorktreeCreatehooks configured - Plugin marketplace add/update now respects
CLAUDE_CODE_PLUGIN_PREFER_HTTPS /pluginnow returns to the Installed list after enabling, disabling, or uninstalling a plugin/doctornow shows an exec-form example when a command hook is missing thecommandfield- Skill-listing truncation is no longer shown as a startup notification — run
/doctorfor 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 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 disablenow refuses when another enabled plugin depends on the target (with a copy-pasteable disable-chain hint), andclaude plugin enableforce-enables transitive dependencies - Added projected context cost (per-turn and per-invocation token estimates) to the
/pluginmarketplace browse pane - Added
worktree.bgIsolation: "none"setting to let background sessions edit the working copy directly withoutEnterWorktree, for repos where worktrees are impractical
- PowerShell tool now passes
-ExecutionPolicy Bypass. Opt out withCLAUDE_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 agentsnow accepts--add-dir,--settings,--mcp-config, and--plugin-dirand applies them to the dashboard and to background sessions dispatched from itclaude agentsaccepts--permission-mode,--model,--effort, and--dangerously-skip-permissionsto set defaults for sessions dispatched from the viewclaude --bg --dangerously-skip-permissionsnow persists across retire→wake- Worktree cleanup no longer falls back to
rm -rfwhengit worktree removefails, preventing loss of gitignored or in-progress files /bgnow 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 agentsnow honorpermissions.defaultModefrom settings.json (was previously overridden to auto mode) /bgand←-detach now preserve--fallback-model, so backgrounded workers degrade to the fallback model on overload instead of hard-failing./bgand←-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 agentsflags:--add-dir,--settings,--mcp-config,--plugin-dir,--permission-mode,--model,--effort, and--dangerously-skip-permissionsto configure dispatched background sessions
- Fast mode now uses Opus 4.7 by default (previously Opus 4.6). Set
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1to pin fast mode to Opus 4.6 - Plugins with a root-level
SKILL.mdand noskills/subdirectory are now surfaced as a skill - The
/plugindetails pane andclaude plugin detailsnow show LSP servers a plugin provides /web-setupwarns before replacing an existing GitHub App connection- Removed stale
/model claude-sonnet-4-20250514suggestion from Usage Policy refusal messages
- 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/SubagentStartnow shows a clear “use a command-type hook instead” error
May 13, 2026
Added
- Added
terminalSequencefield to hook JSON output so hooks can emit desktop notifications, window titles, and bells without a controlling terminal - Added
CLAUDE_CODE_PLUGIN_PREFER_HTTPSto clone GitHub plugin sources over HTTPS instead of SSH, for environments without a GitHub SSH key - Added
ANTHROPIC_WORKSPACE_IDenvironment 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
/feedbackcan 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.askrule 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
/bgor←←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:
awsCredentialExportnow 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-pulsefor WSLg users claude agents: launching a session no longer fails when the pre-warmed background worker is unhealthy — now falls back to a fresh launchclaude agentsno 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 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 becauseplugin.jsonsets the matching key. Shown in/doctor,claude plugin list, and/plugin.
- Improved Agent tool
subagent_typematching to accept case- and separator-insensitive values (e.g."Code Reviewer"resolves tocode-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 agentsto get started. See https://code.claude.com/docs/en/agent-view - Added
/goalcommand: 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-speedcommand 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,vto 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
continueOnBlockconfig option forPostToolUse— set totrueto feed the hook’s rejection reason back to Claude and continue the turn
- MCP stdio servers now receive
CLAUDE_PROJECT_DIRin their environment, matching hooks. Plugin configs can reference${CLAUDE_PROJECT_DIR}in commands - Compaction prompt now asks the model to preserve sensitive user instructions
/mcpReconnect now picks up.mcp.jsonedits without a restart, and shows the HTTP status and URL when reconnecting fails/context allper-skill token estimates now account for the model’s tokenizer and show rounded valuesclaude plugin install <name>@<marketplace>now auto-refreshes the marketplace and retries before reporting a plugin as not found/plugininstalled-plugin details now show hook event names and MCP server names cleanly/contextnow 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-idheaders, andclaude_code.llm_requestOTEL spans includeagent_id/parent_agent_idattributes - Remote Control,
/schedule, claude.ai MCP connectors, and notification preferences are now disabled whenANTHROPIC_API_KEY/apiKeyHelper/ANTHROPIC_AUTH_TOKENis 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_OTELto re-enable the session quality survey for enterprises capturing responses through OpenTelemetry - Added
settings.autoMode.hard_denyfor auto mode classifier rules that block unconditionally regardless of user intent or allow exceptions
- WSL2: image paste from Windows clipboard now works via a PowerShell fallback when xclip/wl-paste cannot read image data
- Changed plugin marketplace removal key to
d(matching delete elsewhere) instead ofrwhich collided with retry
- Improved visual consistency across slash command dialogs: standardized footer hints, dialog spacing, and arrow-key styling, and the dialog frame now appears immediately during loading instead of popping in after
- Improved error message when
--worktreecollides with an existing or stale worktree
May 7, 2026
Added
- Added
worktree.baseRefsetting (fresh|head) to choose whether--worktree,EnterWorktree, and agent-isolation worktrees branch fromorigin/<default>or localHEAD. Note: the defaultfreshchangesEnterWorktree’s base back toorigin/<default>(it has been localHEADsince 2.1.128) — setworktree.baseRef: "head"to keep unpushed commits in new worktrees - Added
sandbox.bwrapPathandsandbox.socatPathmanaged settings (Linux/WSL) to specify custom bubblewrap and socat binary locations - Added
parentSettingsBehavioradmin-tier key ('first-wins' | 'merge') to let admins opt SDKmanagedSettings(parent tier) into the policy merge
- Hooks now receive the active effort level via the
effort.levelJSON input field and the$CLAUDE_EFFORTenvironment variable, and Bash tool commands can read$CLAUDE_EFFORT claude --helpnow lists--remote-controlalongside--remote-control-session-name-prefix
- Improved focus mode behavior
- Improved memory usage by releasing warm-spare background workers under memory pressure
May 6, 2026
Added
- Added
CLAUDE_CODE_SESSION_IDenvironment variable to the Bash tool subprocess environment, matching thesession_idpassed to hooks - Added
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1env 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
- Updated the
/tui fullscreenstartup banner to describe additional renderer benefits (lower memory usage, mouse support, auto-copy on select)
- Improved visual consistency in slash command dialogs and
/login,/upgrade,/extra-usagedialog spacing
May 6, 2026
- Fixed VS Code extension failing to activate on Windows due to a hardcoded build path in the bundled SDK (
createRequirepolyfill bug) - Fixed Mantle endpoint authentication failing with missing
x-api-keyheader
May 6, 2026
Added
- Added
--plugin-url <url>flag to fetch a plugin.ziparchive from a URL for the current session - Added
CLAUDE_CODE_FORCE_SYNC_OUTPUT=1env var to force-enable synchronized output on terminals that auto-detection misses (e.g. Emacseat) - Added
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE: when set on Homebrew or WinGet installations, Claude Code runs the upgrade command in the background and prompts to restart
- Plugin manifests:
themesandmonitorsshould now be declared under"experimental": { ... }. Top-level declarations still work butclaude plugin validatewill warn - Gateway
/v1/modelsdiscovery for the/modelpicker is now opt-in viaCLAUDE_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_URLgateway) no longer see spinner tips pointing at first-party Anthropic surfaces skillOverridessetting now works:offhides from model and/,user-invocable-onlyhides from model only,name-onlycollapses description- The
claude_code.pull_request.countOTel 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 /mcpnow shows the tool count for connected servers and flags servers that connected with 0 tools--plugin-dirnow accepts.zipplugin archives in addition to directories--channelsnow works with console (API key) authentication — console orgs with managed settings must setchannelsEnabled: trueto enable- Updated
/modelpicker: 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:
workspaceis 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
localSettingssuggestion for Bash permission prompts, so “Always allow” writes to.claude/settings.local.json EnterWorktreenow creates the new branch from local HEAD as documented, instead oforigin/<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_errorsnow includes--plugin-dirload failures in addition to dependency demotions
May 1, 2026
Changed
- The
/modelpicker now lists models from your gateway’s/v1/modelsendpoint whenANTHROPIC_BASE_URLpoints 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
- Added
--dangerously-skip-permissionsnow 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 loginnow accepts the OAuth code pasted into the terminal when the browser callback can’t reach localhost (WSL2, SSH, containers)claude_code.skill_activatedOpenTelemetry event now fires for user-typed slash commands and carries a newinvocation_triggerattribute ("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 toolis 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=1is set
April 28, 2026
Added
- Added
ANTHROPIC_BEDROCK_SERVICE_TIERenvironment variable to select a Bedrock service tier (default,flex, orpriority), sent as theX-Amzn-Bedrock-Service-Tierheader - OpenTelemetry: added
claude_code.at_mentionlog event for@-mention resolution
- Pasting a PR URL into the
/resumesearch box now finds the session that created that PR (GitHub, GitHub Enterprise, GitLab, and Bitbucket) /mcpnow shows claude.ai connectors hidden by a manually-added server with the same URL, with a hint to remove the duplicate- Clarified the
/mcpmessage shown when an MCP server is still unauthorized after the browser sign-in flow - OpenTelemetry: numeric attributes on
api_request/api_errorlog 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
alwaysLoadoption to MCP server config — whentrue, all tools from that server skip tool-search deferral and are always available - Added
claude plugin pruneto remove orphaned auto-installed plugin dependencies;plugin uninstall --prunecascades - Added a type-to-filter search box to
/skillsso you can find a skill in long lists without scrolling - OpenTelemetry: added
stop_reason,gen_ai.response.finish_reasons, anduser_system_prompt(gated behindOTEL_LOG_USER_PROMPTS) to LLM request spans
- 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=1now works in non-interactive sessions --dangerously-skip-permissionsno longer prompts for writes to.claude/skills/,.claude/agents/, and.claude/commands//terminal-setupnow enables iTerm2’s “Applications in terminal may access clipboard” setting so/copyworks, 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
languagesetting - 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_authenticatenow supportsredirectUrifor custom scheme completion and claude.ai connectors - [VSCode] Voice dictation now respects the
accessibility.voice.speechLanguagesetting when no Claude Code language is configured - [VSCode]
/contextnow opens a native token usage dialog - Reduced peak file descriptor usage during
findin the Bash tool on large directory trees
April 28, 2026
Added
- Added
claude ultrareview [target]subcommand to run/ultrareviewnon-interactively from CI or scripts — prints findings to stdout (--jsonfor raw output) and exits 0 on completion or 1 on failure
- 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_AGENTenvironment variable for subprocesses soghcan 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 validatenow accepts$schema,version, anddescriptionat the top level ofmarketplace.jsonand$schemainplugin.json- Auto-compact in auto mode now displays
auto(lowercase, no token count) instead of a misleading token value - [VSCode]
/usagenow opens the native Account & Usage dialog instead of returning plain-text session cost - [VSCode] Voice dictation now respects the
languagesetting in~/.claude/settings.json
April 23, 2026
Added
- Added
prUrlTemplatesetting to point the footer PR badge at a custom code-review URL instead of github.com - Added
CLAUDE_CODE_HIDE_CWDenvironment variable to hide the working directory in the startup logo
/configsettings (theme, editor mode, verbose, etc.) now persist to~/.claude/settings.jsonand participate in project/local/policy override precedence--from-prnow accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs--printmode now honors the agent’stools:anddisallowedTools:frontmatter, matching interactive-mode behavior--agent <name>now honors the agent definition’spermissionModefor built-in agents- PowerShell tool commands can now be auto-approved in permission mode, matching Bash behavior
- Hooks:
PostToolUseandPostToolUseFailurehook inputs now includeduration_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#Nshorthand links in output now use your git remote’s host instead of always pointing at github.com- Security:
blockedMarketplacesnow correctly enforceshostPatternandpathPatternentries - OpenTelemetry:
tool_resultandtool_decisionevents now includetool_use_id;tool_resultalso includestool_input_size_bytes - Status line: stdin JSON now includes
effort.levelandthinking.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_UPDATESenv var to completely block all update paths including manualclaude update— stricter thanDISABLE_AUTOUPDATER - Added a “Don’t ask again” option to the auto mode opt-in prompt
- Added
claude plugin tagto create release git tags for plugins with version validation
- Merged
/costand/statsinto/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 athemes/directory - Hooks can now invoke MCP tools directly via
type: "mcp_tool" - WSL on Windows can now inherit Windows-side managed settings via the
wslInheritsWindowsSettingspolicy key - Auto mode: include
"$defaults"inautoMode.allow,autoMode.soft_deny, orautoMode.environmentto add custom rules alongside the built-in list instead of replacing it --continue/--resumenow find sessions that added the current directory via/add-dir/colornow syncs the session accent color to claude.ai/code when Remote Control is connected- The
/modelpicker now honorsANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTIONoverrides when using a customANTHROPIC_BASE_URLgateway - When auto-update skips a plugin due to another plugin’s version constraint, the skip now appears in
/doctorand the/pluginErrors tab
April 22, 2026
Changed
- Forked subagents can now be enabled on external builds by setting
CLAUDE_CODE_FORK_SUBAGENT=1 - Agent frontmatter
mcpServersare now loaded for main-thread agent sessions via--agent - The
/resumecommand now offers to summarize stale, large sessions before re-reading them, matching the existing--resumebehavior - Faster startup when both local and claude.ai MCP servers are configured (concurrent connect now default)
plugin installon 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 addnow auto-resolves missing dependencies from configured marketplaces - Managed-settings
blockedMarketplacesandstrictKnownMarketplacesare 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
cleanupPeriodDaysretention sweep now also covers~/.claude/tasks/,~/.claude/shell-snapshots/, and~/.claude/backups/ - OpenTelemetry:
user_promptevents now includecommand_nameandcommand_sourcefor slash commands;cost.usage,token.usage,api_request, andapi_errornow include aneffortattribute when the model supports effort levels. Custom/MCP command names are redacted unlessOTEL_LOG_TOOL_DETAILS=1is set - Native builds on macOS and Linux: the
GlobandGreptools are replaced by embeddedbfsandugrepavailable through the Bash tool — faster searches without a separate tool round-trip (Windows and npm-installed builds unchanged) - Windows: cached
where.exeexecutable lookups per process for faster subprocess launches - Default effort for Pro/Max subscribers on Opus 4.6 and Sonnet 4.6 is now
high(wasmedium)
- 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
/resumeon 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/listis now deferred to first@-mention - Smoother fullscreen scrolling in VS Code, Cursor, and Windsurf terminals —
/terminal-setupnow configures the editor’s scroll sensitivity - Thinking spinner now shows progress inline (“still thinking”, “thinking more”, “almost done thinking”), replacing the separate hint row
/configsearch now matches option values (e.g. searching “vim” finds the Editor mode setting)/doctorcan now be opened while Claude is responding, without waiting for the current turn to finish/reload-pluginsand background plugin auto-update now auto-install missing plugin dependencies from marketplaces you’ve already added- Bash tool now surfaces a hint when
ghcommands 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/rmdirtargeting/,$HOME, or other critical system directories - Claude Code and installer now use
https://downloads.claude.ai/claude-code-releasesinstead ofhttps://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.deniedDomainssetting to block specific domains even when a broaderallowedDomainswildcard would otherwise permit them
- Changed the CLI to spawn a native Claude Code binary (via a per-platform optional dependency) instead of bundled JavaScript
- Fullscreen mode: Shift+↑/↓ now scrolls the viewport when extending a selection past the visible edge
Ctrl+AandCtrl+Enow move to the start/end of the current logical line in multiline input, matching readline behavior- Windows:
Ctrl+Backspacenow 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-usagenow 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 thecdis a no-op - Security: on macOS,
/private/{etc,var,tmp,home}paths are now treated as dangerous removal targets underBash(rm:*)allow rules - Security: Bash deny rules now match commands wrapped in
env/sudo/watch/ionice/setsidand similar exec wrappers - Security:
Bash(find:*)allow rules no longer auto-approvefind -exec/-delete
- Improved
/loop: pressing Esc now cancels pending wakeups, and wakeups display as “Claude resuming /loop wakeup” for clarity - Improved
/ultrareview: faster launch with parallelized checks, diffstat in the launch dialog, and animated launching state
April 16, 2026
- Fixed “claude-opus-4-7 is temporarily unavailable” for auto mode
April 16, 2026
Added
- Added
xhigheffort level for Opus 4.7, sitting betweenhighandmax. Available via/effort,--effort, and the model picker; other models fall back tohigh - Added “Auto (match terminal)” theme option that matches your terminal’s dark/light mode — select it from
/theme - Added
/less-permission-promptsskill — scans transcripts for common read-only Bash and MCP tool calls and proposes a prioritized allowlist for.claude/settings.json - Added
/ultrareviewfor 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_BODIESenvironment variable to emit full API request and response bodies as OpenTelemetry log events for debugging
- Claude Opus 4.7 xhigh is now available! Use /effort to tune speed vs. intelligence
- Auto mode is now available for Max subscribers when using Opus 4.7
/effortnow 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 withCLAUDE_CODE_USE_POWERSHELL_TOOL=1(requirespwshon PATH) - Read-only bash commands with glob patterns (e.g.
ls *.ts) and commands starting withcd <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 meanclaude update?”) - Plan files are now named after your prompt (e.g.
fix-auth-race-snug-otter.md) instead of purely random words /skillsmenu now supports sorting by estimated token count — presstto toggleCtrl+Unow clears the entire input buffer (previously: delete to start of line); pressCtrl+Yto restoreCtrl+Lnow forces a full screen redraw in addition to clearing the prompt input- Transcript view footer now shows
[(dump to scrollback) andv(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-jsonnow includesplugin_errorson 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_FILEand 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
/setup-vertexand/setup-bedrockto show the actualsettings.jsonpath whenCLAUDE_CONFIG_DIRis 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 installnow recovers from interrupted prior installs
April 15, 2026
Added
- Added
/tuicommand andtuisetting — run/tui fullscreento 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
autoScrollEnabledconfig to disable conversation auto-scroll in fullscreen mode - Added option to show Claude’s last response as commented context in the
Ctrl+Gexternal editor (enable via/config)
- Changed
Ctrl+Oto toggle between normal and verbose transcript only; focus view is now toggled separately with the new/focuscommand --resume/--continuenow resurrects unexpired scheduled tasks/context,/exit, and/reload-pluginsnow 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/TRACESTATEfrom the environment for distributed trace linking - Session recap is now enabled for users with telemetry disabled (Bedrock, Vertex, Foundry,
DISABLE_TELEMETRY). Opt out via/configorCLAUDE_CODE_ENABLE_AWAY_SUMMARY=0. - Hardened “Open in editor” actions against command injection from untrusted filenames
- Improved
/pluginInstalled tab — items needing attention and favorites appear at the top, disabled items are hidden behind a fold, andffavorites the selected item - Improved
/doctorto 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_1Henv var to opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry (ENABLE_PROMPT_CACHING_1H_BEDROCKis deprecated but still honored), andFORCE_PROMPT_CACHING_5Mto force 5-minute TTL - Added recap feature to provide context when returning to a session, configurable in
/configand manually invocable with/recap; force withCLAUDE_CODE_ENABLE_AWAY_SUMMARYif 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
- The model can now discover and invoke built-in slash commands like
/init,/review, and/security-reviewvia the Skill tool /undois now an alias for/rewind- Reduced memory footprint for file reads, edits, and syntax highlighting by loading language grammars on demand
- Improved
/modelto warn before switching models mid-conversation, since the next response re-reads the full history uncached - Improved
/resumepicker to default to sessions from the current directory; pressCtrl+Ato 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
pathparameter to theEnterWorktreetool 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
monitorsmanifest key that auto-arms at session start or on skill invoke
/proactiveis now an alias for/loop
April 10, 2026
Added
- Added
/team-onboardingcommand 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=bundledto use only bundled CAs)
/ultraplanand 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_MODEenv var: when set, Edit/Write/NotebookEdit fail on read-only files with ap4 edithint 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_SCRUBis set, andCLAUDE_CODE_SCRIPT_CAPSenv var to limit per-session script invocations - Added
--exclude-dynamic-system-prompt-sectionsflag to print mode for improved cross-user prompt caching - Added
workspace.git_worktreeto the status line JSON input, set whenever the current directory is inside a linked git worktree - Added W3C
TRACEPARENTenv var to Bash tool subprocesses when OTEL tracing is enabled, so child-process spans correctly parent to Claude Code’s trace tree
- LSP: Claude Code now identifies itself to language servers via
clientInfoin the initialize request - Updated the
/claude-apiskill to cover Managed Agents alongside Claude API - Dropped
/compacthints whenDISABLE_COMPACTis set.
April 8, 2026
Added
- Added focus view toggle (
Ctrl+O) inNO_FLICKERmode showing prompt, one-line tool summary with edit diffstats, and final response - Added
refreshIntervalstatus line setting to re-run the status line command every N seconds - Added
workspace.git_worktreeto the status line JSON input, set when the current directory is inside a linked git worktree - Added
● N runningindicator in/agentsnext to agent types with live subagent instances - Added syntax highlighting for Cedar policy files (
.cedar,.cedarpolicy)
- Updated
/claude-apiskill to cover Managed Agents alongside the Claude API
April 8, 2026
- Fixed Bedrock requests failing with
403 "Authorization header is missing"when usingAWS_BEARER_TOKEN_BEDROCKorCLAUDE_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 #channelheader with a clickable channel link for Slack MCP send-message tool calls - Added
keep-coding-instructionsfrontmatter field support for plugin output styles - Added
hookSpecificOutput.sessionTitletoUserPromptSubmithooks for setting the session title - [VSCode] Added a warning banner when
settings.jsonfiles fail to parse, so users know their permission rules are not being applied
- 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 frontmatternamefor 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
--resumeto resume sessions from other worktrees of the same repo directly instead of printing acdcommand
April 4, 2026
Added
- Added
forceRemoteSettingsRefreshpolicy 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
/costfor subscription users
/release-notesis 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
/tagcommand - Removed
/vimcommand (toggle vim mode via/config→ Editor mode) - Linux sandbox now ships the
apply-seccomphelper in both npm and native builds, restoring unix-socket blocking for sandboxed commands
- 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
disableSkillShellExecutionsetting 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%0Ano longer rejected)
- Plugins can now ship executables under
bin/and invoke them as bare commands from the Bash tool /feedbacknow explains why it’s unavailable instead of disappearing from the slash menu- Edit tool now uses shorter
old_stringanchors, reducing output tokens
- Improved
/claude-apiskill guidance for agent design patterns including tool surface decisions, context management, and caching strategy - Improved performance: faster
stripAnsion Bun by routing throughBun.stripANSI
April 1, 2026
Added
- Added
/powerup— interactive lessons teaching Claude Code features with animated demos - Added
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILUREenv var to keep the existing marketplace cache whengit pullfails, useful in offline environments - Added
.huskyto protected directories (acceptEdits mode)
- Hardened PowerShell tool permission checks: fixed trailing
&background job bypass,-ErrorAction Breakdebugger hang, archive-extraction TOCTOU, and parse-fail fallback deny-rule degradation - Changed
--resumepicker to no longer show sessions created byclaude -por SDK invocations - Removed
Get-DnsClientCacheandipconfig /displaydnsfrom auto-allow (DNS cache privacy)
- 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
/resumeall-projects view to load project sessions in parallel, improving load times for users with many projects
April 1, 2026
Added
- Added
"defer"permission decision toPreToolUsehooks — headless sessions can pause at a tool call and resume with-p --resumeto have the hook re-evaluate - Added
CLAUDE_CODE_NO_FLICKER=1environment variable to opt into flicker-free alt-screen rendering with virtualized scrollback - Added
PermissionDeniedhook 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=truefor-pmode to skip the MCP connection wait entirely, and bounded--mcp-configserver connections at 5s instead of blocking on the slowest server
- Auto mode: denied commands now show a notification and appear in
/permissions→ Recent tab where you can retry withr - Changed
Editto work on files viewed viaBashwithsed -norcat, without requiring a separateReadcall 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: 0in 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: truein settings.json to restore - Documented
TaskCreatedhook 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)
/envnow applies to PowerShell tool commands (previously only affected Bash)/usagenow hides redundant “Current week (Sonnet only)” bar for Pro and Enterprise plans- Image paste no longer inserts a trailing space
- Pasting
!commandinto an empty prompt now enters bash mode, matching typed!behavior /buddyis here for April 1st — hatch a small creature that watches you code
- Improved collapsed tool summary to show “Listed N directories” for
ls/tree/duinstead 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-Idheader to API requests so proxies can aggregate requests by session without parsing the body - Added
.jjand.slto VCS directory exclusion lists so Grep and file autocomplete don’t descend into Jujutsu or Sapling metadata
- 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
/skillslisting are now capped at 250 characters to reduce context usage - Changed
/skillsmenu 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 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_NAMEandCLAUDE_CODE_MCP_SERVER_URLenvironment variables to MCPheadersHelperscripts, allowing one helper to serve multiple servers - Added conditional
iffield for hooks using permission rule syntax (e.g.,Bash(git *)) to filter when they run, reducing process spawning overhead - Added timestamp markers in transcripts when scheduled tasks (
/loop,CronCreate) fire - Added trailing space after
[Image #N]placeholder when pasting images
- Deep link queries (
claude-cli://open?q=…) now support up to 5,000 characters, with a “scroll to review” warning for long pre-filled prompts - MCP OAuth now follows RFC 9728 Protected Resource Metadata discovery to find the authorization server
- Plugins blocked by organization policy (
managed-settings.json) can no longer be installed or enabled, and are hidden from marketplace views - PreToolUse hooks can now satisfy
AskUserQuestionby returningupdatedInputalongsidepermissionDecision: "allow", enabling headless integrations that collect answers via their own UI tool_parametersin OpenTelemetry tool_result events are now gated behindOTEL_LOG_TOOL_DETAILS=1- Reduced UI stutter when compaction triggers on large sessions
- 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_SUPPORTSenv vars to override effort/thinking capability detection for pinned default models for 3p (Bedrock, Vertex, Foundry), and_MODEL_NAME/_DESCRIPTIONto customize the/modelpicker label - Added
CLAUDE_STREAM_IDLE_TIMEOUT_MSenv var to configure the streaming idle watchdog threshold (default 90s) - Added
TaskCreatedhook that fires when a task is created viaTaskCreate - Added
WorktreeCreatehook support fortype: "http"— return the created worktree path viahookSpecificOutput.worktreePathin the response JSON - Added
allowedChannelPluginsmanaged setting for team/enterprise admins to define a channel plugin allowlist - Added
x-client-request-idheader 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
- 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
ToolSearchis 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#123is 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 alongsidemanaged-settings.json, letting separate teams deploy independent policy fragments that merge alphabetically - Added
CwdChangedandFileChangedhook events for reactive environment management (e.g., direnv) - Added
sandbox.failIfUnavailablesetting to exit with an error when sandbox is enabled but cannot start, instead of running unsandboxed - Added
disableDeepLinkRegistrationsetting to preventclaude-cli://protocol handler registration - Added
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1to 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/Nto step through matches - Added
Ctrl+X Ctrl+Eas an alias for opening the external editor (readline-native binding;Ctrl+Gstill works) - Added
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACKenv var to disable the non-streaming fallback when streaming fails - [VSCode] Added Esc-twice (or
/rewind) to open a keyboard-navigable rewind picker
- Pasted images now insert an
[Image #N]chip at the cursor so you can reference them positionally in your prompt - Agents can now declare
initialPromptin frontmatter to auto-submit a first turn chat:killAgentsandchat:fastModeare now rebindable via~/.claude/keybindings.json- Reduced
WebFetchpeak memory usage for large pages - Reduced scrollback resets in long sessions from once per turn to once per ~50 messages
- Faster
claude -pstartup 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
/statusnow 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_HOMEwhen registering theclaude-cli://protocol handler - Changed “stop all background agents” keybinding from
Ctrl+FtoCtrl+X Ctrl+Kto stop shadowing readline forward-char - Deprecated
TaskOutputtool in favor of usingReadon the background task’s output file path - Plugin options (
manifest.userConfig) now available externally — plugins can prompt for configuration at enable time, withsensitive: truevalues 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+Lnow clears the screen and forces a full redraw — use this to recover when Cmd+K leaves the UI partially blank. UseCtrl+Uor double-Esc to clear prompt input.--bare -p(SDK pattern) is ~14% faster to the API request- Memory:
MEMORY.mdindex now truncates at 25KB as well as 200 lines - Disabled
AskUserQuestionand plan-mode tools when--channelsis active - [VSCode] Spinner now turns red with “Not responding” when the backend hasn’t responded for 60 seconds
March 20, 2026
Added
- Added
--bareflag for scripted-pcalls — skips hooks, LSP, plugin sync, and skill directory walks; requiresANTHROPIC_API_KEYor anapiKeyHelpervia--settings(OAuth and keychain auth disabled); auto-memory fully disabled - Added
--channelspermission relay — channel servers that declare the permission capability can forward tool approval prompts to your phone
- 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 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_limitsfield to statusline scripts for displaying Claude.ai rate limit usage (5-hour and 7-day windows withused_percentageandresets_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
effortfrontmatter 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
- Simplified plugin install tips to use a single
/plugin installcommand instead of a two-step flow - Reduced memory usage on startup in large repositories (~80 MB saved on 250k-file repos)
- Improved responsiveness of
@file autocomplete in large git repositories - Improved
/effortto 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
--consoleflag toclaude auth loginfor Anthropic Console (API billing) authentication - Added “Show turn duration” toggle to the
/configmenu - [VSCode] Added
/remote-control— bridge your session to claude.ai/code to continue from a browser or phone
CLAUDE_CODE_PLUGIN_SEED_DIRnow 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 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
StopFailurehook 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 uninstallprompts before deleting it - Added
effort,maxTurns, anddisallowedToolsfrontmatter support for plugin-shipped agents - Added
ANTHROPIC_CUSTOM_MODEL_OPTIONenv var to add a custom entry to the/modelpicker, with optional_NAMEand_DESCRIPTIONsuffixed vars for display
- 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 memory usage and startup time when resuming large sessions
March 17, 2026
Added
- Added
allowReadsandbox filesystem setting to re-allow read access withindenyReadregions
- 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
/copynow accepts an optional index:/copy Ncopies the Nth-latest assistant response- Faster startup on macOS (~60ms) by reading keychain credentials in parallel with module loading
- Faster
--resumeon 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
apiKeyHelpertakes longer than 10s, preventing it from blocking the main loop - The Agent tool no longer accepts a
resumeparameter — useSendMessage({to: agentId})to continue a previously spawned agent SendMessagenow auto-resumes stopped agents in the background instead of returning an error- Renamed
/forkto/branch(/forkstill works as an alias) - [VSCode] When option+click doesn’t trigger native selection on macOS, the footer now points to the
macOptionClickForcesSelectionsetting
- Improved Esc to abort in-flight non-streaming API requests
- Improved
claude plugin validateto check skill, agent, and command frontmatter plushooks/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
ElicitationandElicitationResulthooks 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.sparsePathssetting forclaude --worktreein large monorepos to check out only the directories you need via git sparse-checkout - Added
PostCompacthook that fires after compaction completes - Added
/effortslash command to set model effort level - Added session quality survey — enterprise admins can configure the sample rate via the
feedbackSurveyRatesetting
- Updated
--plugin-dirto only accept one path to support subcommands — use repeated--plugin-dirfor 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
/colorcommand 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
- Suppressed async hook completion messages by default (visible with
--verboseor transcript mode) - Breaking change: Removed deprecated Windows managed settings fallback at
C:\ProgramData\ClaudeCode\managed-settings.json— useC:\Program Files\ClaudeCode\managed-settings.json
- Improved startup performance on macOS non-MDM machines by skipping unnecessary subprocess spawns
March 12, 2026
Added
- Added actionable suggestions to
/contextcommand — identifies context-heavy tools, memory bloat, and capacity warnings with specific optimization tips - Added
autoMemoryDirectorysetting to configure a custom directory for auto-memory storage
- Changed
--plugin-dirso local dev copies now override installed marketplace plugins with the same name (unless that plugin is force-enabled by managed settings)
- [VSCode] Improved scroll wheel responsiveness in the integrated terminal with terminal-aware acceleration
March 11, 2026
Added
- Added
modelOverridessetting 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 default Opus model on Bedrock, Vertex, and Microsoft Foundry to Opus 4.6 (was Opus 4.1)
- Deprecated
/output-stylecommand — use/configinstead. Output style is now fixed at session start for better prompt caching
March 10, 2026
Added
- Added
wkey in/copyto 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
ExitWorktreetool to leave anEnterWorktreesession - Added
CLAUDE_CODE_DISABLE_CRONenvironment variable to immediately stop scheduled cron jobs mid-session - Added
lsof,pgrep,tput,ss,fd, andfdfindto the bash auto-approval allowlist, reducing permission prompts for common read-only operations - Added support for marketplace git URLs without
.gitsuffix (Azure DevOps, AWS CodeCommit) - VSCode: Added effort level indicator on the input border
- VSCode: Added
vscode://anthropic.claude-code/openURI handler to open a new Claude Code tab programmatically, with optionalpromptandsessionquery parameters
- Restored the
modelparameter 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 autoto 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
/loopcommand 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:pushToTalkkeybinding to make the voice activation key rebindable inkeybindings.json(default: space) — modifier+letter combos likemeta+khave zero typing interference - Added
fmt,comm,cmp,numfmt,expr,test,printf,getconf,seq,tsort, andprto the bash auto-approval allowlist
- Updated
/debugto 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 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 uninstallto disable project-scoped plugins in.claude/settings.local.jsoninstead 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
/pluginmenu.
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
/mcpin the chat panel to enable/disable servers, reconnect, and manage OAuth authentication without switching to the terminal
- Reduced prompt input re-renders during turns by ~74%
- Reduced startup memory by ~426KB for users without custom CA certificates
- Reduced Remote Control
/pollrate to once per 10 minutes while connected (was 1–2s), cutting server load ~300×. Reconnection is unaffected — transport loss immediately wakes fast polling.
- 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
/renameto work while Claude is processing, instead of being silently queued
March 5, 2026
Added
- Added the
/claude-apiskill for building applications with the Claude API and Anthropic SDK - Added Ctrl+U on an empty bash prompt (
!) to exit bash mode, matchingescapeandbackspace - 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-controlandclaude remote-control(/remote-control My Projector--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.enableWeakerNetworkIsolationsetting (macOS only) to allow Go programs likegh,gcloud, andterraformto verify TLS certificates when using a custom MITM proxy withhttpProxyPort - Added
includeGitInstructionssetting (andCLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSenv var) to remove built-in commit and PR workflow instructions from Claude’s system prompt - Added
/reload-pluginscommand 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
InstructionsLoadedhook event that fires when CLAUDE.md or.claude/rules/*.mdfiles are loaded into context - Added
agent_id(for subagents) andagent_type(for subagents and--agent) to hook events - Added
worktreefield to status line hook commands with name, path, branch, and original repo directory when running in a--worktreesession - Added
pluginTrustMessagein 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
pathPatterntostrictKnownMarketplacesfor regex-matching file/directory marketplace sources alongsidehostPatternrestrictions - Added plugin source type
git-subdirto point to a subdirectory within a git repo - Added
oauth.authServerMetadataUrlconfig 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
- 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
/resumepicker 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
activeFormfield — the spinner falls back to the task subject - [VSCode] The permission mode picker now respects
permissions.disableBypassPermissionsModefrom your effective Claude Code settings (including managed/policy settings) — when set todisable, 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
/simplifyand/batchbundled slash commands - Added
ENABLE_CLAUDEAI_MCP_SERVERS=falseenv 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
/copypicker. When selected, future/copycommands will skip the code block picker and copy the full response directly. - VSCode: Added session rename and remove actions to the sessions list
- Project configs & auto memory now shared across git worktrees of the same repository
- Improved
/modelcommand 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
/copycommand 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
--worktreesometimes 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-controlsubcommand 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, andCLAUDE_CODE_ORGANIZATION_UUIDenvironment variables for SDK callers to provide account info synchronously, eliminating a race condition where early telemetry events lacked account metadata.
- Updated plugin marketplace default git timeout from 30s to 120s and added
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MSto configure. - BashTool now skips login shell (
-lflag) by default when a shell snapshot is available, improving command execution performance. Previously this required settingCLAUDE_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
/modelpicker 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 a security issue where
statusLineandfileSuggestionhook commands could execute without workspace trust acceptance in interactive mode. - Fixed a bug where duplicate
control_responsemessages (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
startupTimeoutconfiguration for LSP servers - Added
WorktreeCreateandWorktreeRemovehook events, enabling custom VCS setup and teardown when agent worktree isolation creates or removes worktrees. - Added support for
isolation: worktreein agent definitions, allowing agents to declaratively run in isolated git worktrees. - Added
claude agentsCLI command to list all configured agents - Added
CLAUDE_CODE_DISABLE_1M_CONTEXTenvironment variable to disable 1M context window support - VSCode: Added
/extra-usagecommand support in VS Code sessions
CLAUDE_CODE_SIMPLEmode 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 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 (
-pflag) 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
ConfigChangehook event that fires when configuration files change during a session, enabling enterprise security auditing and optional blocking of settings changes.
- Subagents support
isolation: "worktree"for working in a temporary git worktree - Agent definitions support
background: trueto always run as a background task - Plugins can ship
settings.jsonfor 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, andsupportsAdaptiveThinkingfields so consumers can discover model capabilities.
February 18, 2026
Added
- Added
last_assistant_messagefield to Stop and SubagentStop hook inputs, providing the final assistant response text so hooks can access it without parsing transcript files. - Added
chat:newlinekeybinding action for configurable multi-line input (anthropics/claude-code#26075) - Added
added_dirsto the statusline JSONworkspacesection, exposing directories added via/add-dirto external scripts (anthropics/claude-code#26096)
- Search patterns in collapsed tool results are now displayed in quotes for clarity
- Use
ctrl+fto 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
/renamecommand 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
enabledPluginsandextraKnownMarketplacesfrom--add-dirdirectories - Added
spinnerTipsOverridesetting to customize spinner tips — configuretipswith an array of custom tip strings, and optionally setexcludeDefault: trueto show only your custom tips instead of the built-in ones - Added
SDKRateLimitInfoandSDKRateLimitEventtypes to the SDK, enabling consumers to receive rate limit status updates including utilization, reset times, and overage information
- 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
speedattribute to OTel events and trace spans for fast mode visibility - Added
claude auth login,claude auth status, andclaude auth logoutCLI subcommands - Added Windows ARM64 (win32-arm64) native binary support
- Improved model error messages for Bedrock/Vertex/Foundry users with fallback suggestions
- Improved
/renameto 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/skillsdirectory in sandbox mode
February 7, 2026
- Fixed an issue where /fast was not immediately available after enabling /extra-usage
February 7, 2026
- Fast mode is now available for Opus 4.6. Learn more at https://code.claude.com/docs/en/fast-mode
February 6, 2026
- Fixed a crash when agent teams setting changed between renders
- Fixed a bug where commands excluded from sandboxing (via
sandbox.excludedCommandsordangerouslyDisableSandbox) could bypass the Bash ask permission rule whenautoAllowBashIfSandboxedwas enabled
February 6, 2026
Added
- Added
TeammateIdleandTaskCompletedhook 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
memoryfrontmatter field support for agents, enabling persistent memory withuser,project, orlocalscope - Added plugin name to skill descriptions and
/skillsmenu 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
- Errors from invalid managed settings are now surfaced
- 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
- 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
@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
- 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 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
pagesparameter 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-idand--client-secretwithclaude mcp add. - Added
/debugfor Claude to help troubleshoot the current session - Added support for additional
git logandgit showflags 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
/modelto execute immediately instead of being queued
- 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
TaskStoptool 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=1avoids the error - Added
--from-prflag 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
.bashrcfiles - 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=1avoids the error
January 29, 2026
Added
- Added customizable spinner verbs setting (
spinnerVerbs)
- 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 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
pythonandpipcommands use the correct interpreter (configurable viaclaudeCode.usePythonEnvironmentsetting)
- 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.mdfiles from additional directories specified via--add-dirflag (requires settingCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1) - Added ability to delete tasks via the
TaskUpdatetool
- Changed collapsed read/search groups to show present tense (“Reading”, “Searching for”) while in progress, and past tense (“Read”, “Searched for”) when complete
- Changed
ToolSearchresults to appear as a brief notification instead of inline in the conversation - Changed the
/commit-push-prskill to automatically post PR URLs to Slack channels when configured via MCP tools - Changed the
/copycommand 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 toBash - Changed config backups to be timestamped and rotated (keeping 5 most recent) to prevent data loss
- Improved
/sandboxcommand 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 tofalseto keep the old system temporarily - Added shorthand
$0,$1, etc. for accessing individual arguments in custom commands - [SDK] Added replay of
queued_commandattachment messages asSDKUserMessageReplayevents whenreplayUserMessagesis enabled
- Changed skills without additional permissions or hooks to be allowed without requiring approval
- Changed indexed argument syntax from
$ARGUMENTS.0to$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
/keybindingsto 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 installor 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
/usagecommand to display current plan usage
- 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
Setuphook event that can be triggered via--init,--init-only, or--maintenanceCLI 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:Nsyntax for configuring the MCP tool search auto-enable threshold, where N is the context window percentage (0-100) - Added
plansDirectorysetting 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
PreToolUsehooks to returnadditionalContextto 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
showTurnDurationsetting 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
- 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
MCPSearchtodisallowedToolsin their settings. - Changed OAuth and API Console URLs from console.anthropic.com to platform.claude.com
- Improved typing responsiveness by reducing memory allocation overhead in terminal rendering
January 13, 2026
Added
- Added search functionality to
/configcommand for quickly filtering settings - Added Updates section to
/doctorshowing auto-update channel and available npm versions (stable/latest) - Added date range filtering to
/statscommand - pressrto cycle between Last 7 days, Last 30 days, and All time - Added automatic discovery of skills from nested
.claude/skillsdirectories when working with files in subdirectories - Added
context_window.used_percentageandcontext_window.remaining_percentagefields to status line input for easier context window display - Added an error display when the editor fails during Ctrl+G
- 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 the external CLAUDE.md imports approval dialog to show which files are being imported and from where
- Improved the
/tasksdialog 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_TMPDIRenvironment 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_TASKSenvironment 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 (
stableorlatest) toggle to/config - Added detection and warnings for unreachable permission rules, with warnings in
/doctorand 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)
- 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 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_PLUGINSenvironment variable to allow plugin autoupdate even when the main auto-updater is disabled - Added
agent_typeto SessionStart hook input, populated if--agentis specified
- 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
/pluginsinstalled tab to unify plugins and MCPs with scope-based grouping - Deprecated Windows managed settings path
C:\ProgramData\ClaudeCode\managed-settings.json- administrators should migrate toC:\Program Files\ClaudeCode\managed-settings.json - [SDK] Changed minimum zod peer dependency to ^4.0.0
- 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
scpinstead 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/skillsor.claude/skillsare now immediately available without restarting the session - Added support for running skills and slash commands in a forked sub-agent context using
context: forkin skill frontmatter - Added support for
agentfield in skills to specify agent type for execution - Added
languagesetting to configure Claude’s response language (e.g., language: “japanese”) - Added
respectGitignoresupport insettings.jsonfor per-project control over @-mention file picker behavior - Added
IS_DEMOenvironment 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_changednotifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection - Added
/teleportand/remote-envslash 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--disallowedToolsCLI 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,yoperator for yank withyy/Y,p/Pfor paste, text objects (iw,aw,iW,aW,i",a",i',a',i(,a(,i[,a[,i{,a{),>>and<<for indent/dedent, andJto join lines - Added
/plancommand 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
--toolsflag support in interactive mode to restrict which built-in tools Claude can use during interactive sessions - Added
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENSenvironment variable to override the default file read token limit - Added support for
once: trueconfig for hooks - Added support for YAML-style lists in frontmatter
allowed-toolsfield 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 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-setupsupport for Kitty, Alacritty, Zed, and Warp terminals - Added ctrl+t shortcut in
/themeto 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
/contextcommand 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-idcombined with--resumeor--continueand--fork-session - Fixed slow input history cycling and race condition that could overwrite text after message submission
- Improved
/themecommand 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
- Reduced terminal flickering
- Changed thinking toggle from Tab to Alt+T to avoid accidental triggers
- Improved @ mention file suggestion speed (~3× faster in git repositories)
- Improved file suggestion performance in repos with
.ignoreor.rgignorefiles - Improved settings validation errors to be more prominent
- Fixed
/contextcommand 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
/settingsas an alias for the/configcommand - Fixed @ file reference suggestions incorrectly triggering when cursor is in the middle of a path
- Fixed MCP servers from
.mcp.jsonnot 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_URLis 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_usagefield to status line input, enabling accurate context window percentage calculations
- Removed # shortcut for quick memory entry (tell Claude to edit your CLAUDE.md instead)
- 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 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
/permissionscommand with/keyboard shortcut for filtering rules by tool name
- 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
fileSuggestionsetting for custom@file search commands - Added
CLAUDE_CODE_SHELLenvironment 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
/renameto name sessions,/resume <name>in REPL orclaude --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 loginAWS Management Console credentials
- 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
/resumescreen with grouped forked sessions and keyboard shortcuts for preview (P) and rename (R) - Bedrock: Improve efficiency of token counting
- Fixed auto-loading .env when using native installer
- Fixed
--system-promptbeing ignored when using--continueor--resumeflags - 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
attributionsetting to customize commit and PR bylines (deprecatesincludeCoAuthoredBy) - 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
agentsetting 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\ClaudeCodeif it exists. Support forC:\ProgramData\ClaudeCodewill 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=trueenvironment 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
/usagecommand 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
/usageback 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
PermissionRequesthook 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
permissionModefield for custom agents - Added
tool_use_idfield toPreToolUseHookInputandPostToolUseHookInputtypes - Added skills frontmatter field to declare skills to auto-load for subagents
- Added the
SubagentStarthook event - Fixed nested
CLAUDE.mdfiles 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_idandagent_transcript_pathfields toSubagentStophooks.
November 14, 2025
Added
- Added
modelparameter to prompt-based stop hooks, allowing users to specify a custom model for hook evaluation - Plugins: Added support for sharing and installing output styles
- 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-instructionsoption 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.fontSizeandchat.fontFamilysettings throughout the entire UI, and apply font changes immediately without requiring reload - Added
CLAUDE_CODE_EXIT_AFTER_STOP_DELAYenvironment variable to automatically exit SDK mode after a specified idle duration, useful for automated workflows and scripts - Migrated
ignorePatternsfrom 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
/hooksmenu)
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 doctorincorrectly detecting Homebrew vs npm-global installations by properly resolving symlinks - Fixed
claude mcp serveexposing tools with incompatible outputSchemas
November 4, 2025
- Un-deprecate output styles based on community feedback
- Added
companyAnnouncementssetting 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
/compactto fail withprompt_too_longby making it respect existing compact boundaries - Fixed plugin uninstall not removing plugins
October 30, 2025
Added
- Added helpful hint to run
security unlock-keychainwhen encountering API key errors on macOS with locked keychain - Added
allowUnsandboxedCommandssandbox setting to disable the dangerouslyDisableSandbox escape hatch at policy level - Added
disallowedToolsfield to custom agent definitions for explicit tool blocking - Added prompt-based stop hooks
- VSCode: Added respectGitIgnore configuration to include .gitignored files in file searches (defaults to true)
- Enabled SSE MCP servers on native build
- Deprecated output styles. Review options in
/output-styleand 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-setupfrom adding backslash toShift + Enterin 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
- Removed legacy SDK entrypoint. Please migrate to @anthropic-ai/claude-agent-sdk for future SDK updates: https://platform.claude.com/docs/en/agent-sdk/migration-guide
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
structuredContentfield 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_TRAFFICnow 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
-pmode 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
/pluginnot 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 marketplacecommands for plugin management- Repository-level plugin configuration via
extraKnownMarketplacesfor team collaboration /plugin validatecommand 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
/doctorcommand - Avoid flickering in
/modelselector - Improvements to
/help - Avoid mentioning hooks in
/resumesummaries - Changes to the “verbose” setting in
/confignow 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
--agentsflag
- 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_LOGINenvironment 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:*)matchespython 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
spinnerTipsEnabledsetting 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-messagesCLI 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_MODELandANTHROPIC_DEFAULT_OPUS_MODELfor 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-messagesto 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
/modelto 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
disableAllHookssetting - 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
--settingsflag 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=falsefor disabling IDE auto-connection - Added
CLAUDE_CODE_SHELL_PREFIXfor 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-promptcan 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-dircommand
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_decisionevent
July 3, 2025
- Fixed a bug causing API connection errors with UNABLE_TO_GET_ISSUER_CERT_LOCALLY if
NODE_EXTRA_CA_CERTSwas set
July 3, 2025
- New Active Time metric in OpenTelemetry logging
June 30, 2025
- Released hooks. Special thanks to community input in https://github.com/anthropics/claude-code/issues/712. Docs: https://code.claude.com/docs/en/hooks
June 30, 2025
- Remove ability to set
Proxy-Authorizationheader 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_costtototal_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_THINKINGto 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_MODELorANTHROPIC_SMALL_FAST_MODELshould no longer contain an escaped slash (specify/instead of%2F) - Removed
DEBUG=truein favor ofANTHROPIC_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
- Claude Code can now also be used with a Claude Max subscription (https://claude.ai/upgrade)
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/removecommands 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