Claude Code
v2.1.251 commercialClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
claude attach <id>
CLAUDE_CODE_RESTRICTED=1 claude --tools Edit,View
experimental:
cacheTtl: "1h"
claude self-hosted-runner --client-label prod-worker-1
/claude-api cost-optimize
{
"feedbackDrafts": false
}
spinnerTipsOverride:
tipsFile: /etc/claude-code/org-tips.json
label: "Acme Corp Tips"
entries:
- id: tip-cache
text: "Use prompt caching on repeated context to cut costs by up to 90%."
priority: 10
cooldownSessions: 3
claude plugin enable my-plugin@synced
claude self-hosted-runner --defer-shutdown-max-min 5
claude self-hosted-runner --proxy-authorization-command 'vault read -field=token secret/proxy-auth'
export ANTHROPIC_DEFAULT_MODEL=claude-opus-4-5
claude
{ "session_id": "<target-session-id>", "message": "ping", "notify_when_idle": true }
spellcheck: true
export CLAUDE_CODE_PROJECT_DIR_NAME=my-project
claude
export CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0
claude
CLAUDE_CODE_PROJECT_DIR_NAME=my-api-service claude
CLAUDE_CODE_GOAL_CHECKIN_MINUTES=15 claude
export CLAUDE_CODE_TOOL_MEMORY_LIMIT=2G
claude
export CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=3600000
claude
export CLAUDE_CODE_ENABLE_TODO_TOOLS=1
claude --model claude-sonnet-5
CLAUDE_CODE_TOOL_MEMORY_LIMIT=2g claude
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=300000 claude
CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude
allowedMarketplaces:
- https://gitlab.com/myorg/claude-plugins
blockedMarketplaces:
- https://gitlab.com/untrusted-org/plugins
/plugin install [email protected]/myorg/mygroup/my-marketplace
claude remote-control --continue
claude remote-control --continue
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 claude
claude self-hosted-runner
export ANTHROPIC_BEDROCK_REGION_PREFIX=us-west-2
claude
export ANTHROPIC_BEDROCK_REGION_PREFIX=us-east
claude
{
"blockedMarketplaces": ["my-org/*"]
}
claude --teleport <session id>
/code-review ultra 42
{
"blockedMarketplaces": ["my-org/*"]
}
claude --teleport <session id>
/code-review ultra 4321
claude-api prompt-audit
mode: "mask"
extract: "aws_secret_access_key = (.+)"
claude plugin validate ./my-plugin
mode: "mask"
{
"sandbox": {
"network": {
"strictAllowlist": true
}
}
}
{
"workflowSizeGuideline": "medium"
}
{
"sandbox": {
"network": {
"strictAllowlist": true
}
}
}
{
"workflowSizeGuideline": "medium"
}
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 claude -p 'Run the full test suite and summarise failures'
context: fork
background: false
claude mcp list
context: fork
background: false
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 claude
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=5 claude
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=2 claude
sandbox.filesystem.disabled: true
sandbox.filesystem.disabled: true
export CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH=32768
claude
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=50 claude --bg 'Research all CVEs published last week and summarize the top 10'
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION=20 claude 'Refactor the entire src/ directory using parallel subagents'
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS=30000 claude
export CLAUDE_MAX_TOKENS=1e6
claude -p 'Summarize this large codebase'
CLAUDE_AX_SCREEN_READER=1 claude
CLAUDE_CODE_PROCESS_WRAPPER=/usr/local/bin/corp-launcher claude
# In ~/.claude/settings.json
{ "vimInsertModeRemaps": { "jj": "Escape" } }
# In ~/.claude/settings.json
{
"disableAutoMode": true
}
# Before (rejected):
# command: "my-hook ${user_config.api_key}"
# After — exec form in hook definition:
{
"args": ["my-hook", "$CLAUDE_PLUGIN_OPTION_API_KEY"]
}
/doctor
/cd src/
claude agents
/config
/skill-security /skill-codestyle review this PR for vulnerabilities and style issues
claude agents
CLAUDE_ENABLE_STREAM_WATCHDOG=0 claude
CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1 claude
# In your Claude Code settings (e.g. settings.json)
{ "autoMode.classifyAllShell": true }
/rewind
claude mcp login my-server --no-browser
# settings.json
{ "respondToBashCommands": false }
/config --help
/config thinking=false
export CLAUDE_CLIENT_PRESENCE_FILE="$HOME/.claude_presence" && touch "$HOME/.claude_presence" && claude
{
"enforceAvailableModels": true,
"availableModels": ["claude-3-5-sonnet-20241022", "claude-3-haiku-20240307"]
}
/status
claude --safe-mode
/cd ~/projects/other-repo
claude agents --json --all
MAX_THINKING_TOKENS=0 claude -p "Analyze this code for vulnerabilities" < main.go
{
"requiredMinimumVersion": "2.1.163",
"requiredMaximumVersion": "2.1.999"
}
/plugin list --enabled
{
"hookSpecificOutput": {
"additionalContext": "Linter found 3 warnings in src/main.ts — please review before finishing."
}
}
claude agents --json | jq '.[] | select(.waitingFor != null) | {id, waitingFor}'
claude --tools Grep,Glob
OTEL_RESOURCE_ATTRIBUTES="team=security,repo=infra-scanner" claude <prompt>
claude plugin init my-recon-tool
OTEL_LOG_TOOL_DETAILS=1 claude --print 'Run nmap on 10.0.0.0/24 and summarize open ports'
claude
# Inside the session:
> Create a workflow to audit every Go package in this repo for security issues
> /workflows
claude agents
# Inside agents view:
! npm run build:watch
claude --bg --exec 'pytest tests/ -x -q'
# In your Claude Code marketplace config:
github:
repo: owner/heavy-dataset-repo
skipLfs: true
# status_line.sh — now receives COLUMNS and LINES automatically
printf '%*s' "$COLUMNS" '' | tr ' ' '-'
claude /code-review --fix
# In a skill's frontmatter (e.g., .claude/skills/review.md)
---
disallowed-tools:
- Bash
- Edit
---
claude /reload-skills
/usage
{ "allowAllClaudeAiMcps": true }
/code-review high --comment
/code-review high
claude agents --json | jq '.[] | select(.status == "awaiting_input") | .agent_id'
/model # then select the desired model; press 'd' to set a new default for future sessions only if wanted
claude agents --model claude-opus-4-5 --effort high --mcp-config ./mcp.json
# In settings.json
{ "worktree": { "bgIsolation": "none" } }
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 claude --fast
# In your hook script, emit a bell via terminalSequence:
echo '{"terminalSequence": "\a"}'
CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 claude plugin install <plugin-name>
claude agents --cwd /path/to/project
claude agents
/goal All unit tests pass and coverage is above 80%
{
"autoMode": {
"hard_deny": ["delete_files", "network_requests"]
}
}
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1 claude
#!/bin/bash
# In a Claude hook script
echo "Current effort: $CLAUDE_EFFORT"
if [ "$CLAUDE_EFFORT" = "low" ]; then
exit 0 # skip expensive checks
fi
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 claude
echo "Running inside Claude Code session: $CLAUDE_CODE_SESSION_ID" >> /tmp/session-audit.log
claude --plugin-url https://example.com/my-plugin.zip
export CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1
claude
CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 claude
claude --plugin-dir ./my-plugin.zip
/mcp
claude project purge /path/to/project --dry-run
claude project purge /path/to/project -y
ANTHROPIC_BEDROCK_SERVICE_TIER=priority claude --model anthropic.claude-opus-4-5
# In your MCP server config (e.g. .claude/mcp_settings.json)
{
"mcpServers": {
"my-server": {
"command": "my-mcp-server",
"alwaysLoad": true
}
}
}
# Prune all orphaned dependencies
claude plugin prune
# Or remove a plugin and cascade its dependencies
claude plugin uninstall my-plugin --prune
claude --from-pr https://gitlab.com/myorg/myrepo/-/merge_requests/42
CLAUDE_CODE_HIDE_CWD=1 claude
DISABLE_UPDATES=1 claude
{
"type": "mcp_tool",
"server": "my-mcp-server",
"tool": "log_event",
"params": { "event": "agent_stop" }
}
claude plugin tag v1.2.0
OTEL_LOG_TOOL_DETAILS=1 claude
/reload-plugins
/terminal-setup
claude --agent <path/to/agent.md>
# In your Claude Code settings (e.g., .claude/settings.json)
{
"sandbox": {
"network": {
"allowedDomains": ["*.example.com"],
"deniedDomains": ["malicious.example.com"]
}
}
}
/ultrareview 4821
/less-permission-prompts
OTEL_LOG_RAW_API_BODIES=1 claude --output-format stream-json '<prompt>'
/tui fullscreen
TRACEPARENT=00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 TRACESTATE=vendor=value claude --headless --print "summarise logs"
ENABLE_PROMPT_CACHING_1H=1 claude
/recap
/resume # Ctrl+A to expand to all projects
#!/usr/bin/env sh
# .claude/hooks/pre-compact.sh
# Exit code 2 tells Claude Code to block compaction
exit 2
/team-onboarding
claude -p --resume my-project-audit
CLAUDE_CODE_CERT_STORE=bundled claude
CLAUDE_CODE_PERFORCE_MODE=1 claude
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 CLAUDE_CODE_SCRIPT_CAPS=10 claude
claude --print --exclude-dynamic-system-prompt-sections
# In settings.json
{
"statusLine": {
"command": "date '+%H:%M:%S'",
"refreshInterval": 5
}
}
# Example status-line script that reads workspace.git_worktree from stdin
import sys, json
data = json.load(sys.stdin)
worktree = data.get("workspace", {}).get("git_worktree", "")
print(f"worktree: {worktree}" if worktree else "main worktree")
# While Claude Code is running in NO_FLICKER mode, press:
Ctrl+O
CLAUDE_CODE_USE_MANTLE=1 claude
{
"hookSpecificOutput": {
"sessionTitle": "Incident triage — 2025-07-01"
}
}
claude --remote-control-session-name-prefix my-team
{ "_meta": { "anthropic/maxResultSizeChars": 500000 }, "content": "<full schema here>" }
open 'claude-cli://open?q=Summarize%20this%20file%0AHere%20is%20the%20context'
# In your Claude Code settings.json
{ "disableSkillShellExecution": true }
/powerup
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1 claude
claude -p --resume <session-id>
MCP_CONNECTION_NONBLOCKING=true claude -p --mcp-config mcp.json '<prompt>'
CLAUDE_CODE_NO_FLICKER=1 claude
# In your proxy or log pipeline, match on the new header:
X-Claude-Code-Session-Id: <session-id>
# In your hooks config (e.g., .claude/settings.json)
{
"hooks": {
"PreToolUse": [
{
"if": "Bash(git *)",
"command": "./scripts/audit-git-command.sh"
}
]
}
}
# PreToolUse hook returns both a permission decision and updated input
# so AskUserQuestion is satisfied without user interaction
{
"permissionDecision": "allow",
"updatedInput": { "answer": "yes" }
}
OTEL_LOG_TOOL_DETAILS=1 claude --mcp-config mcp.json 'audit my repo'
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTS=thinking claude
CLAUDE_STREAM_IDLE_TIMEOUT_MS=180000 claude
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 claude
# In managed-settings.json or a managed-settings.d/ fragment:
{ "disableDeepLinkRegistration": true }
claude --bare -p "Summarize the security findings in findings.json" --settings ci-settings.json
claude --channels
# In your skill or slash-command frontmatter:
---
effort: low
---
claude auth login --console
CLAUDE_CODE_PLUGIN_SEED_DIR=/shared/plugins:/project/.claude/plugins claude
/remote-control
# In your Claude Code hooks config, add a StopFailure handler:
{
"hooks": {
"StopFailure": "notify-on-error.sh"
}
}
export ANTHROPIC_CUSTOM_MODEL_OPTION=my-org/claude-fine-tune-v1
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="FineTune v1"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Internal security-tuned variant"
claude
# Inside your plugin script, write persistent data to the provided path:
echo '{"last_scan": "2025-01-01"}' > "${CLAUDE_PLUGIN_DATA}/state.json"
# In your Claude Code sandbox config:
denyRead: ["/home/user"]
allowRead: ["/home/user/project"]
/copy 3
claude plugin validate ./my-plugin
claude -n "incident-2025-investigation" --worktree
claude --plugin-dir /opt/company-plugins --plugin-dir ~/.local/claude-plugins
# In your Claude Code settings (e.g., settings.json)
{
"autoMemoryDirectory": "/home/user/projects/myproject/.claude-memory"
}
/context
claude --plugin-dir ./my-plugin-dev-copy
# In your Claude Code settings (e.g. ~/.claude/settings.json)
{
"modelOverrides": {
"claude-opus-4-5": "arn:aws:bedrock:us-east-1::foundation-model/your-inference-profile-arn"
}
}
# In an active Claude Code session, open the copy picker with /copy, highlight the desired block, then press `w` to write it directly to a file.
claude> /plan fix the auth bug
CLAUDE_CODE_DISABLE_CRON=1 claude
open 'vscode://anthropic.claude-code/open?prompt=explain+this+file&session=abc123'
/loop 5m check the deploy
// In keybindings.json
{ "voice:pushToTalk": "meta+k" }
/mcp
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=1 claude
/reload-plugins
ultrathink — type this keyword in your message to Claude Code to elevate the next turn to high effort
ENABLE_CLAUDEAI_MCP_SERVERS=false claude
/memory
/copy
claude remote-control
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000 claude
CLAUDE_CODE_ACCOUNT_UUID=<uuid> [email protected] CLAUDE_CODE_ORGANIZATION_UUID=<org-uuid> claude --print "<prompt>"
claude agents
isolation: worktree
CLAUDE_CODE_DISABLE_1M_CONTEXT=1 claude -p "summarize this repo"
CLAUDE_CODE_SIMPLE=1 claude
# While Claude Code is running, press ctrl+f to terminate all background agents instantly.
In your Claude Code settings (e.g. .claude/settings.json), add:
{
"spinnerTipsOverride": {
"tips": ["Hang tight — running your scan…", "Almost there…"],
"excludeDefault": true
}
}
claude --add-dir /shared/team-claude-config
claude auth status
claude auth login
/rename
# In agent frontmatter (tools section):
---
tools:
- Task(researcher)
- Task(summarizer)
---
# In agent frontmatter:
---
memory: project
---
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude
claude mcp add slack-mcp --client-id <your-client-id> --client-secret <your-client-secret>
claude --from-pr 42
claude --from-pr https://github.com/myorg/myrepo/pull/42
// In VS Code settings.json
{ "claudeCode.usePythonEnvironment": false }
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir /path/to/shared-config
# In a custom command definition:
# Analyze $0 and tag the result as $1
analyze_file $0 --tag $1
! git log --on<Tab> # completes to a previously run git command from your bash history
# In your Claude Code settings (settings.json)
{ "plansDirectory": ".claude/plans" }
# In a skill definition
{ "command": "my-audit-tool --session ${CLAUDE_SESSION_ID}" }
claude config set disallowedTools '["MCPSearch"]'
/stats # then press 'r' to cycle through Last 7 days / Last 30 days / All time
# In your status line config, reference the new fields:
# context_window.used_percentage
# context_window.remaining_percentage
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 claude
/config
/doctor
FORCE_AUTOUPDATE_PLUGINS=1 claude
/terminal-setup
/theme # then press ctrl+t to toggle syntax highlighting on/off
claude --resume <existing-session-id> --fork-session --session-id my-audit-branch Summary
Claude Code is a commercial AI coding agent, built by Anthropic, that works across a codebase to build features, fix bugs, and handle git workflows through natural-language commands. It runs as a command-line tool installed via a native script, Homebrew, or WinGet, with the same functionality also reachable through IDE extensions, a desktop app, and the web, and most surfaces require a Claude subscription or Anthropic Console account. It's aimed at software developers who want to delegate routine coding tasks and codebase navigation to an agent rather than perform them by hand, and its permission model — with prompts before writing to shell startup files or build-tool configs that grant code execution — points to teams running it in environments where unreviewed automation is a real risk. The category is agentic coding tools, a space Claude Code sits in alongside other AI-driven development assistants rather than one it names competitors in.
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
What Claude Code answers
Does it only work in the terminal, or can I use it from my editor?
the same functionality is reachable from IDE extensions, a desktop app, and the web, not just the command line
Can I run it against a version pinned across my whole team?
a managed setting can enforce a minimum and maximum version range and refuses to start outside it
Will it touch files that could execute code without telling me?
it prompts for confirmation before writing to shell startup files or build-tool configs like package manager or pre-commit settings
Can I connect it to a model other than Claude's own?
the terminal CLI and VS Code extension support third-party model providers
How do I track usage across teams once it's rolled out?
metrics can carry custom labels like team or repo, so usage is sliceable in an existing metrics backend without code changes
What happens if I want to strip it down to debug a problem?
a safe mode launches with project config, plugins, skills, hooks, and connected tool servers all disabled
Examples
Command line
No option matches that search.
| option | found in | since | description |
|---|
No option matches that search.
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Release history
- v2.1.251
Claude Code v2.1.251 adds PreModelSwitch/PostModelSwitch hooks, subagent live streaming, spend-limit tracking, and prompt-cache cost reporting.
└──▷ GET THIS VERSION$ git clone --branch v2.1.251 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.251
└──▷ TRY ITAttach to a running background session by ID — now surfaced directly in the--resumemessage and listed inclaude --help.$ claude attach <id>- ›Adds
PreModelSwitchandPostModelSwitchhook events, letting hooks block, confirm, or annotate a model switch;SessionStartresume hooks now also receive session staleness and the estimated re-cache cost. - ›Adds
attach,logs,stop,respawn, andrmsubcommands toclaude --help; the--resumemessage for a running background session now names the exactclaude attach <id>command to use. - ›Adds a
rate_limits.spend_limitfield to status line scripts and a Spend limit bar to/usagefor developers behind a Claude apps gateway with spend limits. - ›Adds a per-session prompt-cache line to
/costshowing hit ratio, misses, tokens re-cached, and warm/cold status, plus a matchingprompt_cacheobject for status line scripts. - ›Adds live streaming of a foreground subagent's tool calls and results to Remote Control clients (background subagents still show status only).
+10 moreshow less
- ›Changes
CLAUDE_CODE_SUBAGENT_MODELto set the default subagent model rather than override everything — an agent definition'smodel:key and an explicit per-spawn model now take precedence over it. - ›Changes 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_TOKENinstead ofgh pr view. - ›Changes
/effortto save the default effort level per model, so each model keeps its own setting when switching. - ›Changes
/radioto be available on Bedrock, Vertex AI, Foundry, and Claude Platform on AWS, and when telemetry is disabled. - ›Changes project-level
.claude/settings.jsonenvto no longer setCLAUDE_CONFIG_DIR,CLAUDE_CODE_TMPDIR, orTMPDIR/TMP/TEMP; these must now be set in shell, user, or managed settings. - ›Changes
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). - ›Changes server-managed settings that terminate sandbox TLS, route sandbox traffic through a custom proxy, inject credentials, or weaken sandbox isolation to require approval before they apply.
- ›Changes the default model for seat-based Enterprise subscriptions to Opus 5.
- ›Changes the default commit trailer to
Co-Authored-By: Claude Codewhen the active model is not a recognized Claude model (e.g. third-party models behind a customANTHROPIC_BASE_URL). - ›[VSCode] Changes 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; toggle with
/remote-control.
└──▷ BREAKING ON UPGRADE- !Project-level
.claude/settings.jsonenvno longer setsCLAUDE_CONFIG_DIR,CLAUDE_CODE_TMPDIR, orTMPDIR/TMP/TEMP; any working setup relying on this must move those variables to shell, user, or managed settings. - !
CLAUDE_CODE_SUBAGENT_MODELno longer overrides an agent definition'smodel:key or an explicit per-spawn model; teams using it to force a uniform subagent model will see per-agent or per-spawn overrides take effect instead.
- ›Adds
- v2.1.248
Claude Code v2.1.248 adds
--restrictedsandboxed mode, per-agent cache TTL, cross-session messaging, and/usage-creditsfor Enterprise.└──▷ GET THIS VERSION$ git clone --branch v2.1.248 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.248
└──▷ TRY ITRun Claude Code in a locked-down sandbox — e.g. in CI or an untrusted repo — where it cannot execute shell commands, fetch URLs, or read settings outside the working directory.$ CLAUDE_CODE_RESTRICTED=1 claude --tools Edit,View
Set a 1-hour prompt cache TTL on a long-running agent so its context survives across turns without a full cache miss.experimental: cacheTtl: "1h"
Register a self-hosted runner with a human-readable label instead of the default hostname, useful when multiple runners share the same machine.$ claude self-hosted-runner --client-label prod-worker-1
- ›Adds
--restrictedflag (orCLAUDE_CODE_RESTRICTED=1env var): strips command/code-execution tools andWebFetch, confines file tools to the working directory, refusesbypassPermissions, and ignores user, project, and local settings files — unless specific tools are re-enabled via--tools. - ›Adds
experimental.cacheTtl("5m"or"1h") to agent frontmatter for a per-agent prompt cache TTL when no subagent TTL setting is configured. - ›Adds
claude self-hosted-runner --client-label <label>(orSELF_HOSTED_RUNNER_CLIENT_LABEL) to override the label the runner registers with (default: hostname). - ›Adds cross-session messaging via
SendMessageandListAgentsbetween sessions on the same machine, now supported on Bedrock, Vertex, Foundry, and when telemetry is disabled. - ›Adds
/usage-creditscommand for Enterprise organizations (AWS Marketplace billing, self-serve Enterprise, and Enterprise trials) so members can request higher usage limits from their admin.
+5 moreshow less
- ›Adds server-managed settings diagnostics: a startup warning when settings fail to load, plus
/doctorand/statusoutput explaining load failures or why settings weren't fetched (Bedrock/Vertex/third-party provider, customANTHROPIC_BASE_URL). - ›Adds a warning in
/web-setupwhen the GitHub CLI token lacks theworkflowscope, preventing silent push rejections on large repositories. - ›Adds
desktopSessionCleanupPeriodDayssetting to cap how long the exemption for desktop-written sessions from transcript cleanup applies. - ›Changes
/loop: self-paced dynamic mode and the no-prompt autonomous default are now always available, including on Bedrock, Vertex, and Foundry. - ›Changes
shift+enterin the agent view dispatch input to insert a newline;ctrl+enternow dispatches and attaches.
- ›Adds
- v2.1.247
Claude Code v2.1.247 adds AI-drafted feedback reports, a cost-optimization profiler, Admin API coverage, and org-customizable spinner tips.
└──▷ GET THIS VERSION$ git clone --branch v2.1.247 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.247
└──▷ TRY ITProfile an existing project's Claude API spend and step through cost-reduction levers interactively.$ /claude-api cost-optimizePrevent Claude from drafting feedback reports automatically during sessions (org or user policy).{ "feedbackDrafts": false }Supply an org-branded spinner tip file with priority and cooldown controls so custom tips rotate alongside built-in ones.spinnerTipsOverride: tipsFile: /etc/claude-code/org-tips.json label: "Acme Corp Tips" entries: - id: tip-cache text: "Use prompt caching on repeated context to cut costs by up to 90%." priority: 10 cooldownSessions: 3- ›Adds
/claude-api cost-optimizesubcommand to profile an existing project's Claude API spend and work through cost levers (caching, token hygiene, batch, effort, model choice) one measured change at a time. - ›Adds
SendFeedbacktool so Claude can draft a feedback report during a session for you to review and send from/feedback; disable with thefeedbackDraftssetting. - ›Adds
{id, text, cooldownSessions, priority}entries,tipsFile, andlabeltospinnerTipsOverrideso organizations can rotate custom tips alongside built-in ones. - ›Expands the
/claude-apiskill with Admin API coverage: organization members, invites, workspaces, API keys, rate limit reports, workload identity federation, and CMEK. - ›Adds a one-keystroke 'Yes, and switch to auto mode' option on Bash permission prompts, letting users jump straight to auto mode without navigating menus.
+4 moreshow less
- ›Improves plugin marketplace hardening: names containing control or invisible characters are now rejected, and marketplace-supplied text in
/pluginandclaude pluginoutput is escape-safe. - ›Improves Bedrock, Vertex, and Foundry sessions (and any with telemetry disabled): Claude is now informed when a configured MCP server failed to connect, instead of silently concluding its tools don't exist.
- ›Changes Sonnet 5's default auto-compact window to its full 1M context, so sessions auto-compact at approximately 967K tokens instead of approximately 934K.
- ›Changes cross-session peer messages to collapse by default to a one-line preview (
Message from @<sender>: <first line>); Ctrl+O expands the full body.
- ›Adds
- v2.1.246
Claude Code v2.1.246 adds Auto mode permissions UI, Bash wildcard safety warnings, and turn completion timestamps.
└──▷ GET THIS VERSION$ git clone --branch v2.1.246 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.246
- ›Adds an Auto mode tab to
/permissionsfor viewing and editing auto mode classifier rules. - ›Adds a startup warning when Bash allow rules contain a wildcard before the subcommand (e.g. Bash(git * main)), flagging rules that also match options injected before the subcommand.
- ›Adds the turn's wall-clock completion time to the end-of-turn duration line (e.g.
✻ Sautéed for 23s · done 6:05 PM). - ›Improves
/cdso the new directory's project settings, hooks,.mcp.jsonservers, skills, and agents all take effect immediately instead of waiting for--resume. - ›Improves subagent results: a subagent that hits its
maxTurnslimit now returns output marked as partial with a hint to continue viaSendMessage, rather than appearing finished.
+3 moreshow less
- ›Improves non-interactive sessions (
-p, SDK, cloud sessions) to automatically continue a response cut off mid-stream by a server error, connection loss, or stall. - ›Changes
/code-reviewso Claude can initiate it on Bedrock, Vertex AI, Foundry, the Claude apps gateway, and when telemetry or non-essential traffic is disabled. - ›Changes
/goalidle sessions to start at most three check-ins per goal on long-running background work; the next user message allows three more.
- ›Adds an Auto mode tab to
- v2.1.239
Claude Code v2.1.239 adds
/claude-api upgrade, synced plugin management, and data-residency cost transparency.└──▷ GET THIS VERSION$ git clone --branch v2.1.239 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.239
└──▷ TRY ITEnable a plugin synced from claude.ai in a cloud session without overriding any locally installed plugin of the same name.$ claude plugin enable my-plugin@synced- ›Adds
/claude-api upgradesubcommand to migrate Python projects fromanthropic0.x to 1.x (timeouts now useanthropic.Timeout, nothttpx.Timeout). - ›Cloud sessions: synced plugins from claude.ai now appear as
name@syncedand work withclaude plugin enable/disable <name>@synced, and never override a locally installed plugin with the same name. - ›Cost estimates via
/cost, the status line, and--max-budget-usdnow include the 1.1× US-only-inference premium for data-residency workspaces. - ›Extends the one-time fullscreen renderer offer to Bedrock, Vertex, Foundry, and other previously excluded setups; new installs there now start in fullscreen.
- ›Alpine/musl builds: native image paste, clipboard, and audio-capture add-ons now load using musl-built binaries.
+7 moreshow less
- ›Usage-limit message now also shows when your session or weekly limit resets, in addition to the monthly spend limit.
- ›Windows: cross-session messaging now available, letting Claude Code sessions message each other with
SendMessageand discover each other viaListAgents, matching macOS/Linux behavior. - ›
ListAgentsand/list-agentsnow include live teammates, not only subagents and other local sessions. - ›
CLAUDE_CODE_RETRY_WATCHDOGpersistent retry mode now fails immediately on organization spend-limit and out-of-credits errors instead of waiting indefinitely. - ›
/goal: repeat check-ins on long-running background work now back off (30 min, then 1 h, then every 2 h) instead of firing every 30 minutes. - ›Claude in Chrome:
/clearnow closes the session's Chrome tab group, and empty groups are closed on/resumeand on exit. - ›Remote sessions: images uploaded from mobile now include their saved file path so Claude can copy them into files it creates.
- ›Adds
- v2.1.238
Claude Code v2.1.238 adds keybinding flavors, self-hosted runner shutdown/proxy controls, and plugin marketplace auth helpers.
└──▷ GET THIS VERSION$ git clone --branch v2.1.238 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.238
└──▷ TRY ITAllow a self-hosted runner to finish active sessions gracefully before exiting after receiving SIGTERM — useful for rolling restarts without dropping users.$ claude self-hosted-runner --defer-shutdown-max-min 5
Authenticate to an egress proxy that requires a fresh token on each connection by supplying a command that generates the Proxy-Authorization header value.$ claude self-hosted-runner --proxy-authorization-command 'vault read -field=token secret/proxy-auth'
- ›Adds
keybindingFlavorsetting: set to"readline"for Ctrl+W to delete back to the previous whitespace (Bash-style); default"classic"is unchanged. - ›Adds
claude self-hosted-runner --defer-shutdown-max-min <minutes>: on SIGTERM, continues serving attached sessions, parks remaining sessions after the specified minutes, then exits. - ›Adds
claude self-hosted-runner --proxy-authorization-commandand--proxy-authorization-filefor egress proxies that require a freshly issued Proxy-Authorization header on every connection. - ›Adds
headersHelperto plugin marketplace URL entries and catalog entries: runs a command to mint HTTP headers (e.g. a short-lived token) for catalog and same-origin archive fetches. - ›A catalog entry's
headersHelperruns only atclaude plugin installorclaude plugin updatetime, after its command is shown, with a[y/N]prompt (or pass-yto skip).
+8 moreshow less
- ›Cross-session messaging now reports 'refused' to the sender when the target session has
crossSessionInbound: "refuse"set, instead of silently succeeding. - ›Cross-session messaging now notifies the sending session when the target inbox drops messages due to a rate limit or full queue, instead of messages vanishing silently.
- ›MCP
headersHelperin a project.mcp.json, and inline MCP servers in project or--add-diragent files, now require the folder's trust dialog to have been accepted (also applies underclaude -p). - ›MCP
headersHelperfrom a project.mcp.json, plugin, or agent file now runs without inherited credential environment variables; user, managed, and claude.ai-scope helpers run from the Claude config directory. - ›Changes
claude mcp listandclaude mcp getto show disabled servers as⊘ Disabledinstead of connecting to them for a health check. - ›Removes the double-press Ctrl+L / Cmd+K
/clearshortcut in fullscreen; both keys now always repaint the screen, and 1-row nvim terminals no longer trigger automatic/clearloops. - ›Updates the bundled
claude-apiskill for Managed Agents: adds web search/fetch domain settings and memory stores on self-hosted sandboxes. - ›Improves Remote Control connection resilience: brief HTTP 403 refusals from a network edge, VPN, or proxy are tolerated for up to 3 minutes, with the refusing party named when a block persists.
└──▷ BREAKING ON UPGRADE- !The double-press Ctrl+L / Cmd+K shortcut to trigger
/clearin fullscreen has been removed; those keys now only repaint.
- ›Adds
- v2.1.237
Claude Code v2.1.237 adds a built-in 'Concise' output style selectable via
/config.└──▷ GET THIS VERSION$ git clone --branch v2.1.237 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.237
└──▷ HOW TO FIND ITSwitch to Concise output so Claude skips preamble and leads with results on every response.📍/config- ›Adds a built-in 'Concise' output style — accessible under 'Output style' in
/config— where Claude leads with results and skips preamble and narration while working just as thoroughly.
- ›Adds a built-in 'Concise' output style — accessible under 'Output style' in
- v2.1.236
Claude Code v2.1.236 adds
ANTHROPIC_DEFAULT_MODELenv var, notify_when_idle for cross-session messaging, and stronger macOS sandbox deny rules.└──▷ GET THIS VERSION$ git clone --branch v2.1.236 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.236
└──▷ TRY ITPin all new Claude Code sessions to a specific model without touching per-session config — useful in CI or shared environments where you want a consistent model baseline.$ export ANTHROPIC_DEFAULT_MODEL=claude-opus-4-5 claudeFrom one Claude Code session, request a one-shot idle notification from a long-running background session so you know exactly when it is free to accept new work.{ "session_id": "<target-session-id>", "message": "ping", "notify_when_idle": true }- ›Adds
ANTHROPIC_DEFAULT_MODELenvironment variable to set the default model for new sessions; a/modelpick still overrides it and persists across restarts, unlikeANTHROPIC_MODEL. - ›Adds
notify_when_idlefield to cross-sessionSendMessage: ask another Claude Code session on the same machine to send one notice when it next goes idle — opt-in, one-shot, no polling (macOS and Linux). - ›Strengthens macOS sandbox: wildcard read-deny rules (e.g.
**/.env) now take precedence inside allowed read regions, cover matched directories' contents, and cannot be bypassed by renaming the denied file. - ›
/usagenow shows the usage-credits spend row for Team and Enterprise members, including a capped row at 0% before anything is spent. - ›
/goalnow automatically checks in after 30 minutes (then 1h, 2h) when an idle session's goal is parked behind long-running background work, instead of waiting for the user to return.
+7 moreshow less
- ›Auto mode now sets aside Monitor allow rules while active, so Monitor commands are reviewed the same way Bash commands are.
- ›Auto mode classifier on Bedrock, Vertex AI, and Foundry (and when telemetry is disabled) now uses the same defaults as on the Claude API, including severity-scored classification.
- ›Auto mode git status check can no longer be fooled by a repo's
status.showUntrackedFiles=nosetting into reporting a clean tree. - ›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 exits with code 143.
- ›Remote Control now marks a session offline within seconds when the CLI exits or its terminal closes.
- ›
SendMessagenow refuses further messages to a session upfront once a rapid burst would exceed the session's inbox capacity, instead of reporting them sent while silently dropping them. - ›[VSCode] Adds screen reader support for the transcript: live announcements for replies, permission requests, errors, and status changes, plus per-turn heading navigation.
- ›Adds
- v2.1.235
Claude Code v2.1.235 adds optional
spellchecksetting with aspell/hunspell/ispell support and hardensSendMessagesize limits.└──▷ GET THIS VERSION$ git clone --branch v2.1.235 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.235
└──▷ USE ITEnable live spellchecking in the prompt input so typos are underlined as you type — requires aspell, hunspell, or ispell to be installed.spellcheck: true
- ›Adds optional
spellchecksetting that underlines misspelled words in the prompt input as you type, using your installedaspell,hunspell, orispell. - ›
SendMessagenow rejects 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. - ›Context-limit error now indicates when auto-compact is off and points to
/configto re-enable it.
+1 moreshow less
- ›Vim mode now preserves NORMAL mode and cursor position when toggling the detailed transcript (
ctrl+o) or closing a panel.
- ›Adds optional
- v2.1.235
Claude Code v2.1.235 adds optional
spellchecksetting and hardensSendMessagesize limits andclaude rcgateway checks.└──▷ GET THIS VERSION$ git clone --branch v2.1.235 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.235
- ›Adds optional
spellchecksetting that underlines misspelled words in the prompt input as you type, backed by your installedaspell,hunspell, orispell. - ›
SendMessagenow rejects 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. - ›Context-limit error now indicates when auto-compact is off and directs users to
/configto re-enable it.
- ›Adds optional
- v2.1.234
Claude Code v2.1.234 adds mid-turn command access, GitLab MR badges, auto-resume at usage limits, and a new
CLAUDE_CODE_PROJECT_DIR_NAMEenv var.└──▷ GET THIS VERSION$ git clone --branch v2.1.234 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.234
└──▷ TRY ITGive each CI/CD session its own clearly named transcript directory instead of a generic hash-based name.$ export CLAUDE_CODE_PROJECT_DIR_NAME=my-project claudeDisable the automatic 30-minute goal check-in for background tasks when you want/goalto wait indefinitely.$ export CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0 claude- ›Adds
CLAUDE_CODE_PROJECT_DIR_NAMEenvironment variable so hosts can set a short name for the per-project transcript directory when each session gets its own config directory. - ›Adds
CLAUDE_CODE_GOAL_CHECKIN_MINUTESenvironment variable to control how often/goalchecks in on background tasks that have been waiting 30+ minutes (set to0to disable). - ›Adds
selection:clearkeybinding action, bindable to a key to clear in-app text selections including in the agents view. - ›Adds a GitLab merge request badge to the footer and statusline for repos with a GitLab remote and an authenticated
glabCLI, showing MR!Nwith draft/pending/green states. - ›Adds automatic session continuation when a claude.ai usage limit resets; toggle via
/configwith the 'Continue automatically at usage limit' setting.
+11 moreshow less
- ›
/permissionscan now be opened while Claude is working, with rule changes applying immediately to the current turn. - ›
/add-dir <path>can now be used while Claude is working;/add-dir,/autocompact,/theme,/help,/config, and/advisordialogs open mid-turn in the fullscreen TUI. - ›
claude setup-tokennow rejects unexpected extra arguments instead of silently ignoring them. - ›
/goalnow clears itself with a notice when a turn dies on an unrecoverable error (e.g. revoked auth, exhausted credit balance, or context overflow). - ›
/goalnow checks in on background tasks that have been waiting 30+ minutes instead of waiting indefinitely. - ›
SendMessageandListAgentsnow report when an account's session list was too long to check completely, rather than treating unseen sessions as absent. - ›Reduces context cost of the built-in
claude-apiskill from ~200k+ tokens to ~25k by loading reference docs on demand. - ›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.
- ›Remote Control sessions now keep phones and claude.ai/code updated on the session's permission mode (and claude.ai/code on the model) as they change.
- ›Improves transcript rendering so your own prompts now render markdown (highlighted code blocks, inline code, lists) the same way replies do.
- ›Removes the 'Default teammate model' setting from
/config; agent-team teammates now use the leader's model unless the spawn command names one.
└──▷ BREAKING ON UPGRADE- !The 'Default teammate model' setting has been removed from
/config; agent-team teammates now use the leader's model unless the spawn command explicitly names one.
- ›Adds
- v2.1.234
Claude Code v2.1.234 adds
CLAUDE_CODE_PROJECT_DIR_NAME,selection:clearkeybinding, GitLab MR badge, auto-resume at usage limit, and NT-namespace path rejection.└──▷ GET THIS VERSION$ git clone --branch v2.1.234 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.234
└──▷ TRY ITGive a multi-user host a predictable, short transcript directory name per project instead of a generated one.$ CLAUDE_CODE_PROJECT_DIR_NAME=my-api-service claudeTune how long a/goalwaits before Claude checks in on stalled background tasks — set to 0 to disable check-ins entirely.$ CLAUDE_CODE_GOAL_CHECKIN_MINUTES=15 claude- ›Adds the optional
CLAUDE_CODE_PROJECT_DIR_NAMEenvironment variable, letting hosts that give each session its own config directory choose a short name for the per-project transcript directory. - ›Adds the
CLAUDE_CODE_GOAL_CHECKIN_MINUTESenvironment variable (set to0to opt out) — when background tasks keep a/goalwaiting 30+ minutes, Claude now checks in instead of waiting indefinitely. - ›Adds the
selection:clearkeybinding action, which can be bound to a key to clear an in-app text selection; also works in the agents view. - ›Adds a GitLab merge request badge to the footer and statusline: repos with a GitLab remote and an authenticated
glabCLI show MR!Nwith draft/pending/green states. - ›Session auto-resume: Claude Code now continues a session automatically when a claude.ai usage limit resets; disable in
/configunder 'Continue automatically at usage limit'.
+11 moreshow less
- ›
/permissionscan now be opened while Claude is actively working — rule changes apply immediately to the rest of the current turn. - ›
/add-dir <path>can now be invoked mid-turn;/add-dir,/autocompact,/theme,/help,/config, and/advisordialogs all open mid-turn in the fullscreen TUI. - ›
/goalclears itself with a notice when a turn dies on an unrecoverable error (revoked auth, exhausted credit balance, or context overflow) instead of staying armed. - ›
claude setup-tokennow rejects unexpected extra arguments instead of silently ignoring them. - ›Reduced context cost of loading the built-in
claude-apiskill from ~200k+ tokens to ~25k by loading reference docs on demand. - ›Removes the 'Default teammate model' setting from
/config; agent-team teammates now use the leader's model unless the spawn command names one explicitly. - ›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 claude.ai/code now apply to terminal- and Desktop/VS Code-hosted sessions, and the session publishes its effort level to all connected clients.
- ›
SendMessageandListAgentsnow report when an account's session list was too long to check completely, instead of treating unseen sessions as absent. - ›Improves your own prompts in the transcript: they now render markdown (highlighted code blocks, inline code, lists) the same way replies do.
- ›Improves auto-generated session titles to short, specific names (e.g., 'Login button bug') rather than sentences restating the request.
- ›Adds the optional
- v2.1.233
Claude Code v2.1.233 adds GitLab MR support, per-user identity forwarding, memory cgroup limits, and WebFetch cache TTL control
└──▷ GET THIS VERSION$ git clone --branch v2.1.233 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.233
└──▷ TRY ITCap memory usage of Bash tool subprocesses on Linux so a runaway build cannot exhaust the host and stall the session.$ export CLAUDE_CODE_TOOL_MEMORY_LIMIT=2G claudeExtend the WebFetch URL cache lifetime to avoid redundant fetches during long-running research sessions.$ export CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=3600000 claudeRe-enable todo/task-tracking tools when working with a newer model (e.g. Sonnet 5) that disables them by default.$ export CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude --model claude-sonnet-5
- ›Adds
CLAUDE_CODE_TOOL_MEMORY_LIMITenvironment variable (opt-in) to enforce memory cgroup limits on Bash tool commands on Linux, preventing runaway builds from stalling a session. - ›Adds
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MSenvironment variable to configure the WebFetch session URL cache TTL (default: 15 minutes). - ›Adds opt-in
forward_user_identitysetting on Anthropic apps gateway upstreams, sending the signed-in user's identity as headers so a proxy can attribute spend per user. - ›Adds
CLAUDE_CODE_ENABLE_TODO_TOOLS=1environment variable to re-enable TodoWrite/TaskCreate/Get/Update/List tools on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models (now disabled by default on those models). - ›Extends the
--worktreeflag andclaude agentsview to support GitLab merge request URLs, displaying MRs as!N.
+3 moreshow less
- ›Improves
claude plugin validateto check bare.claude/skillsdirectories and report SKILL.md files with unparseable frontmatter. - ›Adds a
[claude-code:unrecognized_model]diagnostic line to stderr in print mode when a request targets an unrecognized model ID; silence it by mapping the model withmodelOverrides. - ›Improves
claude self-hosted-runnersession start time by creating the session branch without rewriting the working tree and removing two blocking server round trips.
└──▷ BREAKING ON UPGRADE- !Todo/task-tracking tools (TaskCreate, TaskGet, TaskUpdate, TaskList, TodoWrite) are no longer available by default on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; set
CLAUDE_CODE_ENABLE_TODO_TOOLS=1to restore them.
- ›Adds
- v2.1.233
Claude Code v2.1.233 adds GitLab MR support, per-user identity forwarding, Linux memory limits for Bash tools, and a WebFetch cache TTL env var.
└──▷ GET THIS VERSION$ git clone --branch v2.1.233 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.233
└──▷ TRY ITCap memory for a Bash tool invocation on Linux so a runaway build step cannot exhaust system memory and stall your session.$ CLAUDE_CODE_TOOL_MEMORY_LIMIT=2g claudeShorten the WebFetch URL cache TTL to 5 minutes when you need Claude to re-fetch frequently updated pages within a session.$ CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS=300000 claudeRe-enable todo/task-tracking tools on a newer model (e.g. Sonnet 5) where they are now off by default.$ CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude- ›Adds
CLAUDE_CODE_TOOL_MEMORY_LIMITenv var (opt-in, Linux only) to cap memory for Bash tool commands via cgroups, preventing a runaway build from stalling the session. - ›Adds
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MSenv var to override the WebFetch session URL cache TTL (default: 15 minutes). - ›Adds
forward_user_identityopt-in setting on Anthropic upstreams in the apps gateway, sending the signed-in user's identity as headers so a downstream proxy can attribute spend per user. - ›Adds
CLAUDE_CODE_ENABLE_TODO_TOOLS=1env var to restoreTaskCreate,TaskGet,TaskUpdate,TaskList, andTodoWritetools on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models, where they are now disabled by default. - ›Adds GitLab merge request URL support to the
--worktreeflag and theclaude agentsview, displaying MRs as!N.
+4 moreshow less
- ›Improves
claude plugin validateto check a bare.claude/skillsdirectory and reportSKILL.mdfiles whose frontmatter fails to parse. - ›Improves print mode diagnostics: writes a
[claude-code:unrecognized_model]line to stderr when a request uses an unrecognized model ID; silence it by mapping withmodelOverrides. - ›Improves screen reader mode: the
/effortselector now renders as a numbered list with a typed-number prompt, and hint and dialog text is no longer clipped. - ›Improves
claude self-hosted-runnersession start time by creating the session branch without rewriting the working tree and eliminating two blocking server round trips.
└──▷ BREAKING ON UPGRADE- !Todo/task-tracking tools (
TaskCreate,TaskGet,TaskUpdate,TaskList,TodoWrite) are no longer available by default on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; setCLAUDE_CODE_ENABLE_TODO_TOOLS=1to re-enable them.
- ›Adds
- v2.1.232
Claude Code v2.1.232 adds subagent forking by default, cross-session @
-mentions, GitLab secret redaction, and deeper Remote Control resilience.└──▷ GET THIS VERSION$ git clone --branch v2.1.232 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.232
└──▷ USE ITConfigure a managed gateway policy that references GitLab-hosted plugin marketplaces using the new friendlier aliasallowedMarketplaces.allowedMarketplaces: - https://gitlab.com/myorg/claude-plugins
Block a specific GitLab marketplace URL at the enterprise policy level so it stays blocked even when the CLI detects it as a git clone.blockedMarketplaces: - https://gitlab.com/untrusted-org/plugins
Control how cross-session messages from your other Claude sessions are handled — accept, hold, or refuse — via the new/configdialog.📍Open/configin an interactive Claude Code session, then find 'Messages from your other sessions' and set it to accept, hold, or refuse.- ›Adds
additionalMarketplacesandallowedMarketplacesas accepted aliases forextraKnownMarketplacesandstrictKnownMarketplacesin settings. - ›Enterprise policy: a url-typed
blockedMarketplacesentry for a bare repo URL now blocks that URL when the CLI classifies it as a git clone. - ›Gateway:
sandbox.bwrapPath,sandbox.socatPath, andsandbox.ripgrepnow require managed-settings approval when a server override is present. - ›Changes
sandbox.ripgrepto be honored only from user, managed, and--settingssettings; project settings can no longer override the sandbox ripgrep binary. - ›Gateway: the
desktop:overlay now accepts every released Desktop setting (validated at boot against Desktop's own schema); unknown or invalid keys fail boot.
+16 moreshow less
- ›Gateway: empty
managed.policies[].match.groups/admin.admin_groupsentries and malformedemail_domainvalues now fail at boot instead of silently matching no one or granting admin access. - ›Adds
/configrows for 'Dialog expiry' and 'Messages from your other sessions' (cross-session inbound accept/hold/refuse controls). - ›Adds 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. - ›Adds GitLab support to plugin marketplaces: bare
gitlab.comrepo URLs (including nested subgroups) now clone likegithub.comURLs. - ›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 usesSendMessageto reach that session directly. - ›
SendMessagenow delivers to a bare name that exactly matches one live session without requiring a ref confirmation first. - ›Interactive sessions now keep unique names: starting or renaming a session to a name already in use gives it a
name-word-wordvariant automatically. - ›Fable 5 is offered as an advisor in
/advisoragain for organizations with Fable access, with usage-credits consent configured through/model fable. - ›
/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 effort levels. - ›
/feedbackand/bugnow open immediately when invoked while Claude is responding, without waiting for the turn to finish. - ›Remote Control now keeps reconnecting for about 30 minutes after a network blip.
- ›Bash input redirections (
< file) are now permission-checked like their argument spellings on all platforms. - ›Hardened the auto-generated cross-session messaging socket directory on shared
/tmpagainst pre-planted symlinks or another user's directory. - ›Hardened the Linux filesystem sandbox against a protected-path bypass.
└──▷ BREAKING ON UPGRADE- !
sandbox.ripgrepset in project settings is now ignored; only user, managed, and--settingssources are honored. - !Gateway: unknown or invalid keys in the
desktop:overlay now fail boot instead of being silently accepted. - !Gateway: empty
managed.policies[].match.groups/admin.admin_groupsentries and malformedemail_domainvalues (empty, containing@, whitespace, or commas) now fail at boot.
- ›Adds
- v2.1.232
Claude Code v2.1.232 adds cross-session messaging via
@,subagent_type: "fork"on by default, GitLab marketplace support, and new secret redaction for GitLab tokens.└──▷ GET THIS VERSION$ git clone --branch v2.1.232 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.232
└──▷ TRY ITInstall a newly published GitLab-hosted plugin without manually refreshing the marketplace first.$ /plugin install [email protected]/myorg/mygroup/my-marketplace
- ›Enables
subagent_type: "fork"subagents by default, so forked subagents inherit the full conversation and prompt cache; non-teammate agent spawns in interactive sessions now run in the background by default. - ›Adds
@-mentionin the prompt to reference another Claude session by name, triggeringSendMessageto deliver directly to that live session without a confirmation step. - ›Adds
/configrows for 'Dialog expiry' and 'Messages from your other sessions', controlling cross-session inbound message behavior (accept/hold/refuse). - ›Adds secret redaction for GitLab token families
glrt-,gloas-,glptt-,glagent-,glimt-,glsoat-,glcbt-,glft-,glffct-, plus full redaction of routableglpat-/gldt-tokens; theglabCLI config store receives the same sandbox and credential-path protection asgh. - ›Adds GitLab support to plugin marketplaces: bare
gitlab.comrepo URLs (including nested subgroups) now clone the same waygithub.comURLs do.
+11 moreshow less
- ›Accepts
additionalMarketplacesandallowedMarketplacesas friendlier aliases for the settings keysextraKnownMarketplacesandstrictKnownMarketplaces. - ›Adds enterprise policy support for a url-typed
blockedMarketplacesentry that keeps blocking a bare repo URL even when the CLI classifies it as a git clone. - ›Expands the Gateway
desktop:overlay to accept every released Desktop setting (previously limited to 11 hand-listed keys), validated at boot against Desktop's own schema; unknown or invalid keys now fail boot. - ›Hardens Gateway boot validation: empty
managed.policies[].match.groups/admin.admin_groupsentries and malformedemail_domainvalues now fail at boot instead of silently matching no one or granting admin access. - ›Interactive sessions on the same machine now enforce unique names: a collision produces a
name-word-wordvariant automatically. - ›Changes
sandbox.ripgrepto be honored only from user, managed, and--settingssettings; project settings can no longer override the sandbox ripgrep binary. - ›Adds managed settings approval dialog improvements: shows endpoint URLs, requires approval for server-managed sandbox binary overrides (
sandbox.bwrapPath,sandbox.socatPath,sandbox.ripgrep). - ›
/code-reviewathigh,xhigh, andmaxeffort now runs in a background agent, consistent with other effort levels. - ›
/plugin install plugin@marketplacenow refreshes the marketplace before installing, so newly published plugins install without a manual marketplace update. - ›Remote Control now reconnects for up to ~30 minutes after a network blip and no longer drops after multiple blips spread across an hour.
- ›Bash input redirections (
< file) are now permission-checked on all platforms, matching the behavior for argument spellings.
└──▷ BREAKING ON UPGRADE- !Gateway: unknown or invalid keys in the
desktop:overlay now fail boot (previously accepted silently). - !Gateway: empty
managed.policies[].match.groups/admin.admin_groupsentries and malformedemail_domainvalues now fail at boot (previously matched silently or granted admin access). - !
sandbox.ripgrepset in project settings is no longer honored; it must be in user, managed, or--settingssettings.
- ›Enables
- v2.1.229
Claude Code v2.1.229 adds plugin marketplace command sources, Remote Control offline/cloud labels, VSCode session groups, and SSE keepalive for Vertex/Bedrock.
└──▷ GET THIS VERSION$ git clone --branch v2.1.229 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.229
└──▷ TRY ITResume the most recent Remote Control session without specifying a session ID.$ claude remote-control --continue
- ›Adds plugin marketplace
commandsources: a local command (e.g. an IDE) prints the plugin directory, re-resolved each session and applied without a restart;mode: "link"uses it in place. - ›
ListAgentsnow marks disconnected Remote Control sessions asofflineand labels cloud sessions ascloud. - ›Adds
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MSenv var to control workflow fan-out staggering for same-prefix sibling agents; set to0to disable. - ›Adds SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams.
- ›Adds server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior.
+7 moreshow less
- ›Documents
claude remote-control --continuefor resuming the most recent Remote Control session. - ›Changes
/commit-push-prto no longer auto-approve git/gh commands with dangerous flags such as--force,--amend, and--no-verify. - ›Changes self-hosted runner Windows startup to require an explicit
--base-dir; there is no default checkout directory on Windows. - ›Improves sandbox IPv6 handling: literals in network domain lists are now bracketed (e.g.
[::1]:443), and ambiguous spellings are enforced fail-closed and flagged by/doctor. - ›[VSCode] Adds session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once.
- ›[VSCode] Makes the
/btwside-question panel resizable by dragging its boundary, in both side-docked and stacked layouts. - ›[VSCode] 'Report a problem' and
/bugnow open the built-in feedback dialog.
└──▷ BREAKING ON UPGRADE- !Self-hosted runner Windows startup now requires an explicit
--base-dir; there is no default checkout directory on Windows. - !
/commit-push-prno longer auto-approves git/gh commands with dangerous flags (--force,--amend,--no-verify, etc.).
- ›Adds plugin marketplace
- v2.1.229
Claude Code v2.1.229 adds plugin
commandsources,ListAgentssession labels, SSE keepalives, and VSCode session groups.└──▷ GET THIS VERSION$ git clone --branch v2.1.229 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.229
└──▷ TRY ITResume the most recent Remote Control session without looking up a session ID — useful when reconnecting after a network drop.$ claude remote-control --continue
Disable workflow fan-out staggering in environments where prompt-prefix caching is not needed or causes timing issues.$ CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 claude- ›Documents
claude remote-control --continuefor resuming the most recent Remote Control session without specifying a session ID. - ›Adds plugin marketplace
commandsources: a local command (e.g. from an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart;mode: "link"uses it in place. - ›Sets
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0to disable the new workflow fan-out staggering that lets sibling agents reuse cached prompt prefixes. - ›
ListAgentsnow marks disconnected Remote Control sessions asofflineand labels cloud sessions ascloud, making session inventory clearer. - ›Adds SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams.
+8 moreshow less
- ›Adds server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior.
- ›Improves workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it.
- ›Changes
/commit-push-prso git/gh commands with dangerous flags (--force,--amend,--no-verify, etc.) are no longer auto-approved. - ›Requires an explicit
--base-dirfor self-hosted runner Windows startup; there is no longer a default checkout directory on Windows. - ›Improves sandbox: IPv6 literals in network domain lists are now bracketed (e.g.
[::1]:443), and ambiguous spellings are enforced fail-closed and flagged by/doctor. - ›Updates
/loginto repeat theCLAUDE_CODE_OAUTH_TOKENoverride warning after a successful login. - ›[VSCode] Adds session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once.
- ›[VSCode] Makes the
/btwside-question panel resizable by dragging its boundary, in both side-docked and stacked layouts.
└──▷ BREAKING ON UPGRADE- !Self-hosted runner Windows startup now requires an explicit
--base-dir; there is no default checkout directory on Windows, so existing Windows runner configs without--base-dirwill fail to start.
- ›Documents
- v2.1.228
Claude Code v2.1.228 hardens synced skills, improves cross-session messaging, and lets newer models overwrite unread files.
└──▷ GET THIS VERSION$ git clone --branch v2.1.228 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.228
- ›Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, descriptions are sanitized and labeled, and skill bodies no longer run
!commands or expand@files on your machine. - ›Improved cross-session messages: 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.
- ›The Write tool now allows newer models to overwrite an existing file they haven't read this session, matching the Edit tool's rules; older models still require a read first.
- ›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.
- ›Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, descriptions are sanitized and labeled, and skill bodies no longer run
- v2.1.228
Claude Code v2.1.228 hardens synced skills, improves cross-session messaging, and lets newer models overwrite unread files.
└──▷ GET THIS VERSION$ git clone --branch v2.1.228 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.228
- ›Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, descriptions are sanitized and labeled, and skill bodies no longer run
!commands or expand@files on your machine. - ›Improved cross-session messages: 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.
- ›The Write tool now allows newer models to overwrite an existing file they haven't read this session, matching the Edit tool's rules; older models still require a read first.
- ›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.
- ›Hardened skills synced from claude.ai: they no longer shadow local commands or MCP prompts, descriptions are sanitized and labeled, and skill bodies no longer run
- v2.1.225
Claude Code v2.1.225 adds gateway spend-limit warnings, workspace trust for agents, and cross-machine Remote Control messaging.
└──▷ GET THIS VERSION$ git clone --branch v2.1.225 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.225
- ›Adds gateway spend-limit support to the usage warning: the limit-reached message now names the cap, its reset time, and the operator's message (requires gateway on 2.1.225).
- ›
SendMessagecan now start a conversation with Remote Control sessions on other machines by name, as shown byListAgentsin thename [ref]format — previously only reply-after-first-contact was possible. - ›Adds a workspace trust prompt to
claude agentsfor untrusted directories, matching the existing behavior ofclaude. - ›Remote Control: photos attached from the Claude app are now passed directly to Claude instead of being read from disk via a separate tool call.
- v2.1.225
Claude Code v2.1.225 adds gateway spend-limit warnings, workspace trust for
claude agents, andSendMessageremote session initiation by name.└──▷ GET THIS VERSION$ git clone --branch v2.1.225 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.225
- ›Adds a workspace trust prompt to
claude agentsfor untrusted directories, matching the existing behavior of theclaudecommand. - ›Adds gateway spend-limit support to Claude Code's usage warning: when the cap is reached, the message now names the limit, its reset time, and the operator's message (requires gateway v2.1.225).
- ›
SendMessagecan now initiate a conversation with Remote Control sessions on other machines by name —ListAgentssurfaces them asname [ref]— rather than requiring the remote session to message first. - ›
SendMessagenow locks a confirmed Remote Control recipient by identity, so a same-named local session can never silently replace it when the remote list is temporarily unreachable. - ›Improves Remote Control: photos attached from the Claude app are passed directly to Claude instead of being read from disk via a separate tool call.
- ›Adds a workspace trust prompt to
- v2.1.224
Claude Code v2.1.224 adds self-hosted runners, archive plugin installs, JWT/AWS credential masking, and cross-session messaging.
└──▷ GET THIS VERSION$ git clone --branch v2.1.224 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.224
└──▷ TRY ITStand up a self-hosted runner so your team's Claude Code web and mobile sessions execute on your own infrastructure instead of Anthropic-managed compute.$ claude self-hosted-runnerRoute Bedrock inference to a specific cross-region profile (e.g. us-west-2) regardless of the ambientAWS_REGION, useful when your deployment region differs from the inference profile region.$ export ANTHROPIC_BEDROCK_REGION_PREFIX=us-west-2 claude- ›Adds
claude self-hosted-runnersubcommand to turn your own machines or containers into execution targets for Claude Code web, mobile, and desktop sessions (Team and Enterprise plans). - ›Adds
archiveplugin source to install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinning. - ›Adds
ANTHROPIC_BEDROCK_REGION_PREFIXenvironment variable to prefer a specific cross-region Bedrock inference profile over theAWS_REGION-derivedone. - ›Adds
crossSessionInboundanddialogExpirysettings: cross-session messages to bypassed-permission sessions are held for approval; messages to other sessions auto-deliver. - ›Adds sandbox credential-masking options
extract,onExtractNoMatch,decode: "jwt"withmaskClaims, andawsPairs/sigv4for AWS SigV4 re-signing; requiresnetwork.tlsTerminateand honored only from user, managed, or--settingssettings.
+7 moreshow less
- ›Adds cross-session
SendMessageandListAgentsAPIs: Claude Code sessions on macOS and Linux can now discover and message each other across machines. - ›Removes the 200-subagent-per-session spawn cap, allowing long-running sessions to continue launching new agents (concurrency and depth limits still apply).
- ›Adds a cancel-and-confirm step when removing an unavailable paste changes a command's text.
- ›Improves fullscreen mode to retain the full pre-compaction history in scrollback across repeated compactions, not just the most recent interval.
- ›Improves Remote Control: attached web and mobile clients now see compaction progress and the post-compaction boundary, and
/clearresets propagate to attached clients. - ›Improves Remote Control: connection failures now show a persistent failure indicator with details and a reconnect shortcut instead of an 8-second toast.
- ›Changes feedback-survey transcript sharing to also upload (with consent) the last request's model settings — system prompt (including
CLAUDE.md), tool definitions, and model parameters — with secrets redacted.
- ›Adds
- v2.1.224
Claude Code v2.1.224 adds self-hosted runners, cross-session messaging, archive plugins, JWT/AWS sandbox credential masking, and removes the 200-subagent cap.
└──▷ GET THIS VERSION$ git clone --branch v2.1.224 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.224
└──▷ TRY ITRoute Bedrock inference to a specific cross-region profile rather than the one inferred fromAWS_REGION.$ export ANTHROPIC_BEDROCK_REGION_PREFIX=us-east claude- ›New
claude self-hosted-runnersubcommand turns your own machines or containers into execution environments for Claude Code web, mobile, and desktop sessions (Team and Enterprise plans). - ›New
ANTHROPIC_BEDROCK_REGION_PREFIXenvironment variable lets Bedrock users prefer a specific cross-region inference profile instead of theAWS_REGION-deriveddefault. - ›New
crossSessionInboundanddialogExpirysettings: cross-session messages sent to a bypassed-permission session are held for approval; messages to other sessions auto-deliver. - ›New sandbox credential-masking options:
extractandonExtractNoMatchfor structured env values;decode: "jwt"withmaskClaimsfor JWT-aware masking;awsPairsandsigv4for AWS SigV4 re-signing — requirenetwork.tlsTerminateand honored only from user, managed, or--settingssettings. - ›New
archiveplugin source: install plugins from a zip over HTTPS without git or npm, with optional SHA-256 pinning.
+6 moreshow less
- ›New cross-session
SendMessageAPI lets Claude Code sessions message each other across any of your machines;ListAgentsdiscovers available sessions (macOS and Linux). - ›Removes the 200-subagent-per-session spawn cap so long-running sessions are no longer blocked from spawning new agents (concurrency and depth limits still apply).
- ›Remote Control now shows compaction progress and the post-compaction boundary to attached web and mobile clients, and propagates
/clearresets to those clients. - ›Remote Control connection failures now display a persistent failure indicator with details and a reconnect shortcut instead of only an 8-second toast.
- ›Fullscreen mode now retains the full pre-compaction history in scrollback across repeated compactions instead of only the most recent interval.
- ›Feedback-survey transcript share now also uploads (with consent) the last request's model settings — system prompt (including
CLAUDE.md), tool definitions, and model parameters — with secrets redacted.
- ›New
- v2.1.223
Claude Code v2.1.223 adds owner wildcards for marketplace policies, a
/teleporthint for cloud sessions, and/reviewalias improvements.└──▷ GET THIS VERSION$ git clone --branch v2.1.223 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.223
└──▷ USE ITBlock all marketplace repos under a GitHub org in a single managed-settings entry, rather than listing each repo individually.{ "blockedMarketplaces": ["my-org/*"] }Pick up a cloud session on your local machine when the/teleporthint appears in a cloud session.$ claude --teleport <session id>
Run a deep cloud code review on a specific pull request.$ /code-review ultra 42- ›Adds owner wildcard entries (
"owner/*") tostrictKnownMarketplacesandblockedMarketplacesmanaged settings, allowing admins to permit or block all marketplace repos under an entire GitHub org in one entry. - ›Changes
CLAUDE_CODE_DISABLE_1M_CONTEXTto apply the 200K auto-compaction cap to every Claude model with a native 1M window dynamically rather than a fixed list, and adds a startup warning when auto-compaction is not holding the session to 200K. - ›Adds a
/teleporthint in cloud sessions showing how to continue work locally withclaude --teleport <session id>. - ›Makes
/reviewan alias for/code-review, which reviews the current diff or a PR via/code-review <level> <pr#>;/code-review ultratriggers a deep cloud review. - ›Changes
/code-reviewwith no effort level to reuse the last typed level, so re-running the command does not require re-specifying the effort.
+1 moreshow less
- ›Adds a warning when a workflow agent, forked skill, slash command, or resumed background agent requests a subagent model that is restricted and the parent model runs instead.
- ›Adds owner wildcard entries (
- v2.1.223
Claude Code v2.1.223 adds org-level marketplace wildcards, teleport-to-local hints, and a smarter
/code-reviewcommand.└──▷ GET THIS VERSION$ git clone --branch v2.1.223 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.223
└──▷ USE ITBlock all marketplace repos under a GitHub org in one managed-settings entry instead of listing each repo individually.{ "blockedMarketplaces": ["my-org/*"] }Pick up a cloud session locally after starting work in the browser — use the teleport hint printed in the cloud session.$ claude --teleport <session id>
Run a deep cloud review on a specific PR number by passing an effort level and PR number to/code-review.$ /code-review ultra 4321- ›Adds owner wildcard entries (
"owner/*") to thestrictKnownMarketplacesandblockedMarketplacesmanaged settings, allowing admins to allow or block all marketplace repos under an entire GitHub org in one entry. - ›Adds
--teleport <session id>flag toclaude, surfaced as a/teleporthint inside cloud sessions so practitioners can seamlessly continue a cloud session locally. - ›Adds
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1env var to restore previous behavior where sessions on unrecognized model IDs could grow past the assumed context window; default now enforces the window via auto-compaction. - ›Makes
/reviewa proper alias of/code-review, which now supports/code-review <level> <pr#>to review a specific PR and/code-review ultrafor a deep cloud review. - ›Makes
/code-reviewremember the last effort level used, so omitting a level reruns at the previous setting (e.g.high); pass a new level like/code-review highto override.
+1 moreshow less
- ›Adds a warning when workflow agents, forked skills, slash commands, or resumed background agents have their requested subagent model restricted and the parent model is substituted instead.
- ›Adds owner wildcard entries (
- v2.1.222
Claude Code v2.1.222 tightens auto-mode safety, improves diff accuracy, and restricts Remote Control auto-start to user scope
└──▷ GET THIS VERSION$ git clone --branch v2.1.222 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.222
- ›Remote Control auto-start can no longer be enabled via repo-local
.claude/settings.jsonor.claude/settings.local.json; enable it at user scope via/config(those files can still turn it off). - ›Auto mode now routes messages sent to other agent sessions via
SendMessagethrough the permission classifier before dispatch, preventing unreviewed cross-agent actions. - ›The
/diffview, Remote Control workspace diff, and file-edit diffs in Claude Code web sessions now use raw git blob content, bypassing workspace-configured diff drivers and textconv for cleaner output. - ›Worktree-isolated sessions and their subagents can no longer run destructive git commands against the main checkout; isolation now covers file edits and Bash across every session type.
- ›The
disable-model-invocationrefusal now instructs Claude to ask the user to run the skill instead of attempting to replicate its workflow.
+1 moreshow less
- ›Removes the ultraplan feature.
└──▷ BREAKING ON UPGRADE- !Remote Control auto-start can no longer be enabled by repo-local settings (
.claude/settings.jsonor.claude/settings.local.json); repos relying on those files to turn Remote Control on must switch to user-scope configuration via/config.
- ›Remote Control auto-start can no longer be enabled via repo-local
- v2.1.222
Claude Code v2.1.222 tightens auto-mode safety, improves diff accuracy, and restricts Remote Control auto-start to user scope
└──▷ GET THIS VERSION$ git clone --branch v2.1.222 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.222
- ›Remote Control auto-start can no longer be enabled via repo-local
.claude/settings.jsonor.claude/settings.local.json; enable it at user scope via/config(those files can still turn it off). - ›Auto mode now routes messages sent to other agent sessions via
SendMessagethrough the permission classifier before dispatch, preventing unreviewed cross-agent actions. - ›The
/diffview, Remote Control workspace diff, and file-edit diffs in Claude Code web sessions now use raw git blob content, bypassing workspace-configured diff drivers and textconv for cleaner output. - ›Worktree-isolated sessions and their subagents can no longer run destructive git commands against the main checkout; isolation now covers file edits and Bash across every session type.
- ›The
disable-model-invocationrefusal now instructs Claude to ask the user to run the skill instead of attempting to replicate its workflow.
+1 moreshow less
- ›Removes the ultraplan feature.
└──▷ BREAKING ON UPGRADE- !Remote Control auto-start can no longer be enabled by repo-local settings (
.claude/settings.jsonor.claude/settings.local.json); repos relying on those files to turn Remote Control on must switch to user-scope configuration via/config.
- ›Remote Control auto-start can no longer be enabled via repo-local
- v2.1.221
Claude Code v2.1.221 adds Focus view, sandbox credential masking, a prompt-audit subcommand, and sweeping workflow improvements.
└──▷ GET THIS VERSION$ git clone --branch v2.1.221 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.221
└──▷ TRY ITAudit prompts and tool descriptions in your project for patterns optimized for older models before migrating to a newer Claude generation.$ claude-api prompt-auditMask AWS credentials inside the sandbox so sandboxed commands see a sentinel value while the proxy substitutes the real secret on egress.mode: "mask" extract: "aws_secret_access_key = (.+)"
Validate a plugin before publishing to catch marketplace name rejections that would break managed sync.$ claude plugin validate ./my-plugin- ›Adds
mode: "mask"for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (the whole file, or just spans captured by anextractregex) while the sandbox proxy substitutes the real value on egress; macOS falls back todeny. - ›Adds a
prompt-auditsubcommand to theclaude-apiskill for auditing prompts and tool descriptions for patterns written for older models. - ›Adds warnings to
claude plugin validatewhen a marketplace or plugin name would be rejected by Claude Desktop's managed marketplace sync. - ›Changes
/statusto show the session kind:interactive, or a background job that isattachedorunattended. - ›Changes sessions forked with
/forkto create a new worktree of their own instead of working in the original session's checkout.
+15 moreshow less
- ›Changes plugins to accept
"."as askillspath, with the root-levelSKILL.mdvalidation error now suggesting the plugin root. - ›Changes
/plugin installto refresh a stale marketplace catalog and retry before reporting a plugin not found. - ›Changes plugins installed from
/pluginto activate immediately when safe, instead of always requiring/reload-plugins. - ›Changes the Gateway
modelfield validation to reject non-string values with a 400 instead of forwarding them. - ›Adds Focus view in VSCode: a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator, toggled with Ctrl+Alt+F or the 'Claude Code: Toggle Focus view' command.
- ›Improves Stats panel to count cache tokens in its token totals, with a breakdown by input, output, cache read, and cache write.
- ›Re-enables tool search on Google Vertex AI for Claude 4.5-generation and newer models.
- ›Changes background sessions to commit and push to preserve work, open a draft PR only when the task calls for one, follow
CLAUDE.mdgit instructions, and always report where the work lives. - ›Changes emoji autocomplete to accept alternate shortcodes like
:thumbsup:,:thumbsdown:, and:love:. - ›Changes Claude in Chrome to close browser tabs it opens once it no longer needs them.
- ›Changes fast mode to report on the stream when usage credits run out mid-session, instead of failing silently.
- ›Changes Monitor: a watch that exits without producing output now says so instead of reporting 'stream ended'.
- ›Improves Windows startup to read process creation times via a native
kernel32call instead of spawning PowerShell, so endpoint security tools that gatepowershell.exeno longer prompt. - ›Improves
/ultrareviewerror messages when a repo shares no history with its base: a checkout with no branches is now refused up front with advice to create one, and refusal hints no longer suggestgit fetch --unshallowon already-complete clones. - ›Reduces prompt-cache costs for auto-mode permission checks by reusing the cached conversation prefix across decisions.
- ›Adds
- v2.1.221
Claude Code v2.1.221 adds Focus view, sandbox credential masking, prompt-audit, and smarter plugin/session workflows
└──▷ GET THIS VERSION$ git clone --branch v2.1.221 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.221
└──▷ USE ITMask a credential file in the sandbox so sandboxed commands see a sentinel value while the proxy substitutes the real secret on egressmode: "mask"
- ›Adds
mode: "mask"for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (whole file or spans captured by anextractregex) while the sandbox proxy substitutes the real value on egress; macOS falls back todeny - ›Adds a
prompt-auditsubcommand to theclaude-apiskill for auditing prompts and tool descriptions for patterns written for older models - ›Adds warnings to
claude plugin validatewhen a marketplace or plugin name would be rejected by Claude Desktop's managed marketplace sync - ›[VSCode] Adds Focus view, toggled with Ctrl+Alt+F or the 'Claude Code: Toggle Focus view' command, hiding tool activity behind an expandable per-turn summary with a live running-tool indicator
- ›Adds
'.'as a validskillspath value in plugins, and the root-levelSKILL.mdvalidation error now suggests using the plugin root
+10 moreshow less
- ›
/statusnow shows the session kind:interactive, or a background job that isattachedorunattended - ›
/forknow creates a new worktree for the forked session instead of sharing the original session's checkout - ›Plugins installed via
/plugin installnow activate immediately when safe, without requiring/reload-plugins - ›
/plugin installnow refreshes a stale marketplace catalog and retries before reporting a plugin not found - ›Background sessions now commit and push to preserve work, open a draft PR only when the task calls for one, follow
CLAUDE.mdgit instructions, and always report where work lives - ›Tool search on Google Vertex AI re-enabled for Claude 4.5-generation and newer models
- ›Stats panel now counts cache tokens in its token totals, with a breakdown by input, output, cache read, and cache write
- ›Emoji autocomplete now accepts common alternate shortcodes like
:thumbsup:,:thumbsdown:, and:love: - ›Windows startup no longer spawns
powershell.exeto read process creation times, eliminating prompts from endpoint security tools that gatepowershell.exe - ›Auto-mode permission checks for parallel tool calls are now cache-efficient, reducing prompt-cache costs by reusing the cached conversation prefix across decisions
- ›Adds
- v2.1.219
Claude Code v2.1.219 adds Opus 5, sandbox network controls, depth-3 subagent nesting, and richer MCP diagnostics
└──▷ GET THIS VERSION$ git clone --branch v2.1.219 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.219
└──▷ USE ITLock sandbox commands to only your approved hosts, preventing any unapproved outbound traffic without a prompt.{ "sandbox": { "network": { "strictAllowlist": true } } }Set the dynamic workflow size guideline centrally from a shared settings file instead of relying on each user's/config.{ "workflowSizeGuideline": "medium" }- ›Adds
sandbox.network.strictAllowlistsetting to deny all non-allowlisted hosts for sandboxed commands without prompting. - ›Adds
workflowSizeGuidelinesettings key so the advisory dynamic workflow size guideline can be set from any settings file; the/configrow is hidden while one is active. - ›Adds
mcp_server_errorsfield to the headless stream-json init event, listing--mcp-configentries skipped by config validation; terminal runs also print a startup warning. - ›Adds
DirectoryAddedhook that fires after/add-diror the SDKregister_repo_rootcontrol request registers a new working directory mid-session. - ›Subagents can now spawn nested subagents up to depth 3 (was 1); set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1to disable nesting.
+6 moreshow less
- ›Adds nested subagent forwarding in stream-json: subagents spawned at depth 2+ now appear when
--forward-subagent-textis set, keyed by their spawning Agenttool_useid. - ›Adds Claude Opus 5 (
claude-opus-5) as the new default Opus model with 1M context window, priced at $10/$50 per Mtok in fast mode. - ›Adds HTTP status and error text to
claude mcp listand/mcpwhen a server fails to connect, plus a warning for MCP config values with hidden leading or trailing whitespace. - ›Adds structured failure categories to self-hosted runner spawn and session failures, distinguishing hook errors, runner crashes, and config errors.
- ›Changes dynamic workflows to default to a medium size guideline (fewer than 15 agents); alternate sizes or unrestricted mode are selectable via Dynamic workflow size in
/config. - ›Removes Opus 4.7 from fast mode;
/fastnow applies to Opus 5 and Opus 4.8.
└──▷ BREAKING ON UPGRADE- !Opus 4.7 is removed from fast mode;
/fastnow applies only to Opus 5 and Opus 4.8. - !Managed MCP allowlist/denylist
${VAR}entries now resolve from the startup environment and managed-settings env instead of the settings-file env, which may change which values are substituted.
- ›Adds
- v2.1.219
Claude Code v2.1.219 adds Opus 5, strict sandbox networking, new hooks, and depth-3 subagent nesting
└──▷ GET THIS VERSION$ git clone --branch v2.1.219 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.219
└──▷ USE ITLock sandboxed commands to only the hosts you explicitly allow — no prompt, just deny everything else.{ "sandbox": { "network": { "strictAllowlist": true } } }Pin the Dynamic workflow size guideline in a shared settings file so all team members get the same agent-count target without needing to touch/config.{ "workflowSizeGuideline": "medium" }Prevent deeply nested subagent spawning in CI pipelines where you want a flat, auditable agent graph.$ CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 claude -p 'Run the full test suite and summarise failures'
- ›Adds
sandbox.network.strictAllowlistsetting to deny non-allowlisted hosts for sandboxed commands without prompting — no user prompt, just block. - ›Adds
workflowSizeGuidelinesettings key so the Dynamic workflow size guideline can be set from any settings file (the/configrow is hidden while this key is active). - ›Adds
mcp_server_errorsfield to the headless stream-json init event, listing--mcp-configentries skipped by config validation; terminal runs print a startup warning. - ›Adds
DirectoryAddedhook that fires after/add-diror the SDKregister_repo_rootcontrol request registers a new working directory mid-session. - ›Adds nested subagent forwarding in stream-json: subagents spawned at depth-2+ now appear when
--forward-subagent-textis set, keyed by their spawning Agenttool_useid.
+5 moreshow less
- ›Adds HTTP status and error text to
claude mcp listand/mcpwhen a server fails to connect, plus a warning for MCP config values with hidden leading or trailing whitespace. - ›Adds Claude Opus 5 (
claude-opus-5) as the new default Opus model — 1M context window, fast mode at $10/$50 per Mtok. - ›Subagents can now spawn nested subagents up to depth 3 (was 1); set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1to disable nesting. - ›Dynamic workflows now default to a medium size guideline (fewer than 15 agents); change via Dynamic workflow size in
/config. - ›Removes Opus 4.7 from fast mode;
/fastnow applies to Opus 5 and Opus 4.8 only.
└──▷ BREAKING ON UPGRADE- !Opus 4.7 is removed from fast mode;
/fastnow applies only to Opus 5 and Opus 4.8 — workflows pinned to Opus 4.7 in fast mode will no longer run in fast mode. - !Subagent spawn depth default raised from 1 to 3; pipelines that relied on nesting being blocked at depth 2 will now allow deeper nesting unless
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1is set.
- ›Adds
- v2.1.218
Claude Code v2.1.218 runs
/code-reviewas a background subagent and expands skill/plugin config with new boolean values└──▷ GET THIS VERSION$ git clone --branch v2.1.218 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.218
└──▷ USE ITOpt a specific skill out of the new default background execution when it usescontext: fork.context: fork background: false
Diagnose a failing MCP server connection — HTTP status and error text now appear inline.$ claude mcp list- ›Accepts
yes/no/on/off/1/0(case-insensitive) as valid boolean values for skill and plugin frontmatter, alongsidetrue/false. - ›Skills with
context: forknow run in the background by default; opt out per skill withbackground: falsein frontmatter. - ›Agent markdown files now reject agent names containing
:(reserved for plugin namespacing). - ›Adds HTTP status and error text to
claude mcp listand/mcpoutput when a server fails to connect, plus a warning for MCP config values with hidden leading or trailing whitespace. - ›Changes
/code-reviewto run as a background subagent, keeping stacked slash commands as its review target without filling the active conversation.
+7 moreshow less
- ›Changes
/deep-researchto start only on manual invocation; Claude no longer auto-launches it. - ›Adds 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. - ›Adds an announcement when fast mode changes as a result of switching models via
/config model=<x>or Remote Control. - ›Changes plan mode with auto so it no longer prompts for Bash commands the static analyzer cannot prove read-only; the auto-mode classifier judges them instead.
- ›Improves auto mode: dangerous-rm, background-
&, and suspicious-Windows-path checks no longer open permission dialogs — the auto-mode classifier adjudicates them. - ›Improves trust dialogs to name the repository root the grant covers.
- ›Changes server-managed settings so benign feature and cost toggles no longer trigger the settings-approval prompt.
└──▷ BREAKING ON UPGRADE- !Agent markdown files that use
:in agent names will now be rejected; rename any such agents before upgrading.
- ›Accepts
- v2.1.218
Claude Code v2.1.218 runs
/code-reviewas a background subagent, expands boolean syntax in frontmatter, and tightens auto-mode permission flow.└──▷ GET THIS VERSION$ git clone --branch v2.1.218 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.218
└──▷ USE ITOpt a specific skill out of the new default background execution when it usescontext: fork.context: fork background: false
- ›Adds
yes/no/on/off/1/0(case-insensitive) as accepted boolean values in skill and plugin frontmatter, alongside the existingtrue/false. - ›Skills with
context: forknow run in the background by default; opt out per-skill withbackground: falsein frontmatter. - ›Switches
/code-reviewto run as a background subagent, keeping stacked slash commands as its review target and preventing review output from flooding the conversation. - ›Adds HTTP status codes and error text to
claude mcp listand/mcpwhen a server fails to connect, plus a warning for MCP config values with hidden leading or trailing whitespace. - ›Adds an announcement when fast mode changes due to a model switch via
/config model=<x>or Remote Control.
+8 moreshow less
- ›Changes
/deep-researchto start only when invoked manually — Claude no longer launches it autonomously. - ›Improves auto mode: dangerous-rm, background-
&, and suspicious-Windows-path checks no longer open permission dialogs; the auto-mode classifier adjudicates them instead. - ›Changes plan mode with auto to no longer prompt for Bash commands the static analyzer cannot prove read-only; the auto-mode classifier judges them instead.
- ›Changes server-managed settings so benign feature and cost toggles no longer trigger the settings-approval prompt.
- ›Rejects agent names containing
:in agent markdown files, reserving that character for plugin namespacing. - ›Adds screen-reader announcements of deleted text for Option+Delete, Ctrl+W, Cmd+Backspace, Ctrl+U, and Ctrl+K in
--ax-screen-readermode. - ›Improves trust dialogs to name the specific repository root the grant covers.
- ›Improves
/ultrareviewso descriptive arguments like 'review my auth changes' run a branch review with the text applied as a note to findings, and invalid arguments surface actionable error feedback.
└──▷ BREAKING ON UPGRADE- !Agent markdown files now reject agent names containing
:— any existing agent whose name includes:will be refused on load.
- ›Adds
- v2.1.217
Claude Code v2.1.217 adds emoji autocomplete, subagent concurrency controls, and new transcript-failure warnings.
└──▷ GET THIS VERSION$ git clone --branch v2.1.217 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.217
└──▷ TRY ITAllow subagents to spawn one level of nested subagents in an orchestration workflow that relies on hierarchical delegation.$ CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 claude- ›Adds
emojiCompletionEnabledsetting to control emoji shortcode autocomplete in the prompt input — type:heart:to insert or:heafor suggestions; setemojiCompletionEnabledto false to disable. - ›Adds
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSenvironment variable to cap concurrently-running subagents (default 20), preventing a single message from fanning out unbounded background agents. - ›Adds
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHenvironment variable to allow nested subagent spawning beyond the new default of zero (subagents no longer spawn nested subagents by default). - ›Adds
FORCE_HYPERLINK=0environment variable to opt out of always-on footer PR badge hyperlinks, which are now clickable even when terminal hyperlink support cannot be detected (e.g. over SSH/tmux). - ›Adds warnings when transcript writes are failing (e.g. disk full) or when session saving is disabled due to an inherited environment variable, rather than silently losing transcripts.
└──▷ BREAKING ON UPGRADE- !Subagents no longer spawn nested subagents by default; set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHto restore deeper nesting.
- ›Adds
- v2.1.217
Claude Code v2.1.217 adds subagent concurrency caps, emoji autocomplete, transcript-failure warnings, and AWS gateway deployment assets.
└──▷ GET THIS VERSION$ git clone --branch v2.1.217 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.217
└──▷ TRY ITLimit how many background agents a single agentic session can fan out to, to control cost and resource usage.$ CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=5 claudeAllow subagents to spawn their own subagents up to a controlled depth when running multi-layer agentic pipelines.$ CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=2 claude- ›Adds
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSenvironment variable (default 20) to cap concurrently-running subagents, preventing a single message from fanning out unbounded background agents. - ›Adds
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHenvironment variable to allow nested subagent spawning; by default subagents no longer spawn nested subagents. - ›Adds
emojiCompletionEnabledsetting to control emoji shortcode autocomplete in the prompt input (type:heart:to insert or:heafor suggestions). - ›Adds
FORCE_HYPERLINK=0environment variable to opt out of footer PR badge links being rendered as clickable hyperlinks even when terminal support cannot be detected (e.g. over ssh/tmux). - ›Adds AWS reference deployment assets under
examples/gateway/aws/— includingsetup.sh, Dockerfile,gateway.yaml.example(Bedrock upstream, Okta IdP), and aterraform/module — for running Claude apps gateway on AWS with Amazon Bedrock.
+1 moreshow less
- ›Adds warnings when transcript writes are failing (e.g. disk full) or when session saving is off due to an inherited environment variable, instead of silently losing transcripts.
└──▷ BREAKING ON UPGRADE- !Subagents no longer spawn nested subagents by default; set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHto restore deeper nesting.
- ›Adds
- v2.1.216
Claude Code v2.1.216 adds
sandbox.filesystem.disabledto decouple filesystem isolation from network egress control.└──▷ GET THIS VERSION$ git clone --branch v2.1.216 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.216
└──▷ USE ITKeep network egress sandboxed but allow Claude Code to access the filesystem freely — useful when your workflow depends on filesystem hooks or tools that break under filesystem isolation.sandbox.filesystem.disabled: true
- ›Adds
sandbox.filesystem.disabledsetting to skip filesystem isolation while keeping network egress control active. - ›Background sessions:
/mcpand/install-github-appnow park a 'needs input' request in the agent view when no client is attached. - ›The
/forkconfirmation now shows the new session's name,claude attachid, and a note when the copy shares the checkout. - ›The
/ultrareviewdiff-too-large error now shows configured limits, measured diff size, and the largest contributing files. - ›The
/code-review ultraempty-diff message now names the exact base ref and suggests passing an explicit base.
+1 moreshow less
- ›The
/contextcommand now shows an explicit warning when the conversation exceeds the context window, and a failed/compactdisplays as an error.
- ›Adds
- v2.1.216
Adds
sandbox.filesystem.disabledsetting to decouple filesystem isolation from network egress control in Claude Code v2.1.216.└──▷ GET THIS VERSION$ git clone --branch v2.1.216 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.216
└──▷ USE ITAllow a sandboxed agent to access the filesystem freely while still restricting outbound network traffic.sandbox.filesystem.disabled: true
- ›Adds
sandbox.filesystem.disabledsetting to skip filesystem isolation while keeping network egress control active. - ›
/forkconfirmation now shows the new session name,claude attachid, and a note when the copy shares your checkout — all on one line. - ›
/contextnow shows an explicit warning when the conversation exceeds the context window, and a failed/compactdisplays as an error. - ›
/rewindnow reports how many tracked paths it skipped rather than silently restoring or deleting files through symlinks or hard links. - ›Background sessions:
/mcpand/install-github-appnow park a 'needs input' request in the agent view when no client is attached.
+3 moreshow less
- ›
/ultrareviewdiff-too-large error now shows configured limits, measured diff size, and the largest contributing files. - ›
/code-review ultraempty-diff message now names the exact base ref and suggests passing an explicit base. - ›Spend limit adjustment prompt now shows the server's reason when a spend limit change is rejected.
- ›Adds
- v2.1.214
Claude Code v2.1.214 adds EndConversation tool, OTEL enhancements, and new docker permission prompts.
└──▷ GET THIS VERSION$ git clone --branch v2.1.214 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.214
└──▷ TRY ITCap the size of OTEL content attributes to avoid bloated traces when Claude Code handles large tool outputs.$ export CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH=32768 claude- ›Adds
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHenvironment variable to configure the 60 KB truncation limit on OpenTelemetry content attributes. - ›Adds
message.uuid,client_request_id, andtool_sourceattributes to OpenTelemetry log events for message-level correlation and tool provenance. - ›Adds permission prompts for
dockercommands (including the Podmandockershim) carrying daemon-redirect flags--url,--connection,--identity, and Podman's remote mode. - ›Adds the
EndConversationtool, allowing Claude to end sessions with highly abusive users or jailbreak attempts. - ›Adds an ISO
modifiedtimestamp to memory file frontmatter.
+5 moreshow less
- ›Adds reasoning effort to the
subagentStatusLinepayload so custom agent rows can render model and effort. - ›Adds a periodic progress heartbeat for long-running tool calls that previously went silent.
- ›Changes
SessionStarthooks to reportsource: 'fork'when a session begins as a fork instead of'resume'. - ›Changes single-segment
dir/**hookif:conditions to match only<cwd>/dir; use**/dir/**for any-depth matching. - ›Changes
filecommands using-m/--magic-fileor-f/--files-fromto require permission instead of being auto-allowed as read-only.
└──▷ BREAKING ON UPGRADE- !Single-segment
dir/**hookif:conditions now match only<cwd>/dir; any-depth matching requires rewriting the pattern to**/dir/**. - !
filecommands using-m/--magic-fileor-f/--files-fromnow require explicit permission instead of being auto-allowed as read-only — existing workflows relying on silent approval will now prompt. - !
SessionStarthooks now receivesource: 'fork'instead ofsource: 'resume'when a session begins as a fork — hook logic that branches on'resume'may misclassify fork sessions.
- ›Adds
- v2.1.212
Claude Code v2.1.212 adds per-session search/subagent caps, MCP auto-backgrounding, and a redesigned
/forkworkflow└──▷ GET THIS VERSION$ git clone --branch v2.1.212 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.212
└──▷ TRY ITCap the number of web searches an autonomous session can make to avoid runaway search loops in long-running agents.$ CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=50 claude --bg 'Research all CVEs published last week and summarize the top 10'
Limit subagent delegation in a complex multi-agent run, then reset the budget mid-session with/clearif you need to continue.$ CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION=20 claude 'Refactor the entire src/ directory using parallel subagents'Lower the MCP auto-background threshold so slow tool calls move to the background sooner, keeping your session interactive.$ CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS=30000 claude- ›Adds
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSIONenvironment variable to tune the new per-session WebSearch call limit (default 200), preventing runaway search loops. - ›Adds
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONenvironment variable to tune the new per-session subagent spawn cap (default 200);/clearresets the budget. - ›Adds
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSenvironment variable to configure (or disable) the threshold at which MCP tool calls running longer than 2 minutes automatically move to the background. - ›Adds
claude auto-mode resetsubcommand to restore the default auto-mode configuration; accepts--yesto skip the confirmation prompt. - ›Redesigns
/forkto copy the conversation into a new background session (its own row inclaude agents) while you keep working; the previous in-session subagent behavior is now/subtask.
+7 moreshow less
- ›Adds
/resumein the agent view as a picker of past sessions — including sessions deleted from the list — resuming the selected one as a background session. - ›Enterprise
forceLoginMethodis now enforced for VS Code extension, SDK,setup-token, andinstall-github-applogins, not just the terminal. - ›Headless/SDK sessions now apply a
set_modelcontrol request mid-turn, switching models on the next round-trip without waiting for the next turn. - ›Agent view and
claude agents --jsonnow surface sessions waiting on a sandbox, MCP-input, or managed-settings prompt as 'Needs input' instead of 'Working'. - ›Session transcripts now record the reasoning effort level on each assistant message.
- ›Reduces token usage in inter-agent messaging:
SendMessagebodies are no longer duplicated into replayed history and tool results. - ›Improves prompt caching: the mid-conversation system block now works behind LLM gateways and custom base URLs (Bedrock, Vertex, 1P).
└──▷ BREAKING ON UPGRADE- !The Task tool's
modeparameter is deprecated and now ignored; subagents inherit the parent session's permission mode by default. - !
/forkno longer launches an in-session subagent — that behavior is now/subtask. Workflows that relied on/forkfor subagent spawning must switch to/subtask.
- ›Adds
- v2.1.211
Claude Code v2.1.211 adds
--forward-subagent-textflag andCLAUDE_CODE_FORWARD_SUBAGENT_TEXTenv var for subagent stream output, plus several workflow improvements.└──▷ GET THIS VERSION$ git clone --branch v2.1.211 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.211
└──▷ TRY ITSet token budget with scientific notation in an environment where the variable must be typed or scripted compactly.$ export CLAUDE_MAX_TOKENS=1e6 claude -p 'Summarize this large codebase'
- ›Adds
--forward-subagent-textflag andCLAUDE_CODE_FORWARD_SUBAGENT_TEXTenvironment variable to include subagent text and thinking instream-jsonoutput. - ›Integer environment variables (timeouts, token budgets, retry counts) now accept scientific notation and digit-separator spellings like
1e6and64_000. - ›Changes 'always allow' permission rules to save at the repository root, so approvals granted in a git worktree persist across sessions and worktrees.
- ›Changes
/usage-creditsto ask for confirmation before sending a request to organization admins. - ›The
save_to_diskoption on Claude in Chrome screenshot actions now writes the image to disk and returns the path (previously did nothing).
+2 moreshow less
- ›Changes Vim mode
sandS(substitute char/line) to work in NORMAL mode, matching standard vim behavior. - ›Improves background agent result reporting — Claude now reports the status of still-running agents and waits for real completion instead of fabricating results.
- ›Adds
- v2.1.210
Claude Code v2.1.210 adds live tool-call timers, permission-rule warnings, screen reader announcements, and smarter agent dashboard cues.
└──▷ GET THIS VERSION$ git clone --branch v2.1.210 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.210
- ›Adds a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of appearing stuck.
- ›Adds a startup warning when Write(path), NotebookEdit(path), or Glob(path) are used as permission rules, directing users to Edit(path) or Read(path) instead.
- ›Screen reader mode now announces permission mode changes aloud when cycling modes with Shift+Tab.
- ›Memory writes that leave a MEMORY.md index over its read limit now produce an explicit error instead of silent truncation.
- ›The agents footer hint now shows how many background agents are waiting on input, with color emphasis when the count changes.
+1 moreshow less
- ›Improves auto mode: the permission classifier now defaults to Sonnet 5 for external sessions, validated on the first request and pinned for the session.
- v2.1.208
Claude Code v2.1.208 adds screen reader mode, vim insert remaps, corporate process wrapper, and mouse support in fullscreen menus.
└──▷ GET THIS VERSION$ git clone --branch v2.1.208 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.208
└──▷ TRY ITEnable plain-text rendering for a screen reader user without modifying settings files.$ CLAUDE_AX_SCREEN_READER=1 claudeRoute all Claude Code child processes through a corporate launcher (e.g. for audit logging or credential injection).$ CLAUDE_CODE_PROCESS_WRAPPER=/usr/local/bin/corp-launcher claudeMapjjto Escape in vim insert mode so you never have to reach for the Escape key.# In ~/.claude/settings.json { "vimInsertModeRemaps": { "jj": "Escape" } }- ›Adds screen reader mode (
--ax-screen-reader/CLAUDE_AX_SCREEN_READER=1/axScreenReader: true) for opt-in plain-text rendering. - ›Adds
vimInsertModeRemapssetting to map two-key insert-mode sequences (e.g.jj→ Escape) in vim mode. - ›Adds
CLAUDE_CODE_PROCESS_WRAPPERenv var so every Claude Code self-spawn is routed through a required corporate launcher executable. - ›Adds mouse-click support for multi-select menus and "Other" input rows in fullscreen mode.
- ›Completed background agents now remain listed in
/tasksuntil cleanup instead of disappearing immediately on finish.
+5 moreshow less
- ›Ctrl+X in agent view deletes renamed-branch worktrees while protecting unpushed commits and preserving the session row when a worktree is kept.
- ›Catastrophic removals (e.g.
rm -rf ~) inside command substitutions ($(…), backticks, <(…)) now prompt even in--dangerously-skip-permissionsand auto mode. - ›Per-tool-call CPU overhead in print/SDK sessions reduced up to 7× at high MCP tool counts via tool-pool assembly caching.
- ›Session transcript size reduced up to 79× in edit-heavy sessions by pruning superseded file-history backups.
- ›
/usagenow shows last-known usage bars with an "as of" note when the usage endpoint is rate-limited, instead of an error screen.
- ›Adds screen reader mode (
- v2.1.207
Claude Code v2.1.207 makes Auto Mode generally available on Bedrock, Vertex, and Foundry and tightens plugin security.
└──▷ GET THIS VERSION$ git clone --branch v2.1.207 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.207
└──▷ USE ITDisable auto mode on Bedrock or Vertex if you relied on the old opt-in flag to keep it off.# In ~/.claude/settings.json { "disableAutoMode": true }Migrate a plugin hook from shell-form (now rejected for user-config interpolation) to exec form so it survives the security change.# Before (rejected): # command: "my-hook ${user_config.api_key}" # After — exec form in hook definition: { "args": ["my-hook", "$CLAUDE_PLUGIN_OPTION_API_KEY"] }- ›Auto mode is now available on Bedrock, Vertex AI, and Foundry without the
CLAUDE_CODE_ENABLE_AUTO_MODEopt-in flag; disable viadisableAutoModein settings. - ›Bedrock, Vertex, and Claude Platform on AWS now default to Claude Opus 4.8.
- ›Plugin hooks/monitors/MCP headersHelper:
${user_config.*}in shell-form commands is now rejected; hooks must use exec form (argsarray) or$CLAUDE_PLUGIN_OPTION_<KEY>. - ›Plugin option values (
pluginConfigs) are no longer read from project-level.claude/settings.json; only user,--settings, and managed settings are honored. - ›Agent view: pasting the same text again now expands the existing collapsed
[Pasted text #N]placeholder instead of creating a duplicate.
+2 moreshow less
- ›Agent view: blocked session peeks now lead with the question and display a worded staleness clock (e.g.
waiting 3m). - ›
/doctornow reports when the launcher at~/.local/bin/claudeis externally managed.
└──▷ BREAKING ON UPGRADE- !Auto mode no longer reads
autoModefrom.claude/settings.local.json(repo-resident); move the setting to~/.claude/settings.json. - !
${user_config.*}interpolation in shell-form plugin hook/monitor/headersHelper commands is rejected; switch to exec form (argsarray) or$CLAUDE_PLUGIN_OPTION_<KEY>for hooks, or read the value inside the script for monitors and headersHelper. - !
pluginConfigsplugin option values are no longer read from project-level.claude/settings.json; only user-level,--settings, and managed settings are honored.
- ›Auto mode is now available on Bedrock, Vertex AI, and Foundry without the
- v2.1.206
Claude Code v2.1.206 adds directory suggestions for
/cd, a/doctorCLAUDE.md trimmer, smarter git push remotes, and faster background agent upgrades.└──▷ GET THIS VERSION$ git clone --branch v2.1.206 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.206
└──▷ TRY ITQuickly identify and slim down a bloated CLAUDE.md before committing it to the repo.$ /doctorNavigate to a subdirectory mid-session with autocomplete suggestions, the same way/add-dirworks.$ /cd src/- ›Adds directory path suggestions to
/cd, matching the autocomplete behavior already available in/add-dir. - ›New
/doctorcheck analyzes checked-inCLAUDE.mdfiles and proposes trimming content Claude can derive directly from the codebase. - ›
/commit-push-prnow auto-allowsgit pushto the repo's configuredremote.pushDefault(or the sole remote when only one exists), not justorigin. - ›
/loginnow supports Anthropic-operated public gateway endpoints. - ›
EnterWorktreeprompts for confirmation before entering a git worktree outside the project's.claude/worktrees/directory.
+3 moreshow less
- ›Background agents upgrade to a new Claude Code version immediately after an update, eliminating the slow stale-session upgrade cost on attach.
- ›Agents view status column now uses full terminal width instead of truncating at 64 characters.
- ›Ctrl+X in the agents view now permanently removes a completed session; deleted background jobs stay deleted across renders.
- ›Adds directory path suggestions to
- v2.1.205
Claude Code v2.1.205 adds a full
/doctorsetup checkup, smarter agent view with PR linking, and a new auto-mode safety rule forrm -rf.└──▷ GET THIS VERSION$ git clone --branch v2.1.205 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.205
└──▷ TRY ITReview agent sessions with PR-linked context and human-readable status headlines.$ claude agents- ›Adds an auto mode rule that blocks tampering with session transcript files.
- ›Adds auto mode prompt before running
rm -rfon a variable it can't resolve from context. - ›Improves agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in
claude agents. - ›Improves agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, with full status and exact ask for blocked sessions in the peek.
- ›Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on.
+2 moreshow less
- ›Auto-update binary downloads now stream to disk instead of buffering in memory, cutting peak updater memory usage by roughly 400 MB.
- ›Reserves the 'Claude Browser' MCP server name (alongside 'Claude Preview'); user-configured MCP servers can no longer register under either name.
└──▷ BREAKING ON UPGRADE- !User-configured MCP servers can no longer register under the name 'Claude Browser' or 'Claude Preview'; servers using either name will be rejected.
- v2.1.203
Claude Code v2.1.203 adds login-expiry warnings, MCP roots integration, a manual-permission badge, and a VSCode remote-control toggle.
└──▷ GET THIS VERSION$ git clone --branch v2.1.203 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.203
- ›Adds a warning when your login session is about to expire so you can re-authenticate before background sessions are interrupted.
- ›Adds a grey ⏸ badge to the footer when manual permission mode is active, making the current mode always visible.
- ›Exposes the session's additional working directories via MCP
roots/list, withnotifications/roots/list_changedfired whenever the set changes. - ›Moves 'claude command missing or broken' startup warnings out of the launch flow into
/doctorand/statusfor on-demand review. - ›Changes the
claude agentsdetail views (background tasks, diff, workflow) to close with Esc instead of the left arrow key.
+2 moreshow less
- ›Redesigns the empty
claude agentsview to always display organized sections (Needs Input / Working / Completed) with descriptions. - ›[VSCode] Adds a Settings toggle for 'Enable Remote Control for all sessions'.
└──▷ BREAKING ON UPGRADE- !The left arrow key no longer closes the background tasks, diff, and workflow detail views — press Esc instead.
- v2.1.202
Claude Code v2.1.202 adds dynamic workflow sizing, OTel workflow attributes, and a multi-level
/code-reviewcommand.└──▷ GET THIS VERSION$ git clone --branch v2.1.202 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.202
└──▷ TRY ITCap agent count for lighter workflows to reduce cost or context usage.$ /config- ›New 'Dynamic workflow size' setting in
/configlets you guide how many agents Claude spawns in dynamic workflows (small/medium/large) — advisory, not a hard cap. - ›Adds
workflow.run_idandworkflow.nameOpenTelemetry attributes to telemetry from workflow-spawned agents, enabling full reconstruction of a workflow run from OTel data. - ›New
/code-review <level> <pr#>command runs a multi-agent PR review at a chosen effort level;/review <pr>reverts to fast single-pass review.
└──▷ BREAKING ON UPGRADE- !
/review <pr>now performs a fast single-pass review instead of the multi-agent review; use/code-review <level> <pr#>to get multi-agent review behavior.
- ›New 'Dynamic workflow size' setting in
- v2.1.200
Claude Code v2.1.200 makes 'Manual' the default permission mode and adds opt-in idle timeout for AskUserQuestion dialogs.
└──▷ GET THIS VERSION$ git clone --branch v2.1.200 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.200
- ›Changes
--permission-mode manualand"defaultMode": "manual"in config to be the new default permission mode across CLI,--help, VS Code, and JetBrains (previously called 'default'). - ›Adds opt-in idle timeout for
AskUserQuestiondialogs via/config, replacing the previous auto-continue behavior.
- ›Changes
- v2.1.199
Claude Code v2.1.199 adds stacked skill invocations, auto-retry on 429s, and an elevated retry watchdog cap.
└──▷ GET THIS VERSION$ git clone --branch v2.1.199 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.199
└──▷ TRY ITCompose multiple skills in a single invocation to layer context before a task — useful when a workflow requires, e.g., a security-review skill and a code-style skill together.$ /skill-security /skill-codestyle review this PR for vulnerabilities and style issues- ›Supports stacked slash-skill invocations (
/skill-a /skill-b do XYZ) loading up to 5 leading skills simultaneously, not just the first. - ›Transient server rate-limit errors (429s unrelated to usage limits) are now automatically retried with backoff for subscribers instead of failing the turn.
- ›New
CLAUDE_CODE_RETRY_WATCHDOGbehaviour raises the default retry count for non-capacity transient errors to 300 and removes the previous cap of 15 onCLAUDE_CODE_MAX_RETRIES. - ›Pull-request links in
claude agentssession rows now render as bare#Nfor cleaner output.
- ›Supports stacked slash-skill invocations (
- v2.1.198
Claude Code v2.1.198 ships background subagents by default, auto-PR on worktree completion,
/datavizskill, and AWS upstream gateway support.└──▷ GET THIS VERSION$ git clone --branch v2.1.198 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.198
└──▷ TRY ITReceive a desktop notification when a background agent finishes or needs input — useful for long-running tasks you want to monitor hands-off.$ claude agents- ›Subagents now run in the background by default, letting Claude continue working and receive notifications when they finish.
- ›Claude in Chrome is now generally available.
- ›Adds
agent_needs_inputandagent_completednotification hooks toclaude agentsvia the Notification hook. - ›New
/datavizskill for chart and dashboard design guidance with a runnable color-palette validator. - ›Gateway adds Claude Platform on AWS (
anthropicAws) as an upstream provider; model-not-found responses now advance the failover chain.
+10 moreshow less
- ›Background agents launched from
claude agentsnow automatically commit, push, and open a draft PR when they finish code work in a worktree. - ›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.
- ›Improved focus mode: subagents launched in a turn appear in its activity summary, and completed background notifications fold into a single count.
- ›Syntax highlighting accuracy improved in code blocks, diffs, and file previews by upgrading to highlight.js 11.
- ›Keyboard shortcut hints now show
opt/cmdinstead ofalt/superwhen connected from a Mac over SSH. - ›API retry UX now shows the error reason after the second attempt, and displays a status page link when the API is overloaded.
- ›
/loginnow opens the sign-in dialog from theclaude agentsview. - ›Subagents now treat messages from the agent that launched them as normal task direction.
- ›Removed the
/agentswizard; subagents are now created by asking Claude or editing.claude/agents/directly.
└──▷ BREAKING ON UPGRADE- !The
/agentswizard has been removed; subagent creation must now be done by asking Claude directly or editing.claude/agents/manually. - !
claude --bgcombined with--print/-pis now rejected up front instead of silently creating an unattachable session.
- v2.1.197
Claude Sonnet 5 is now the default model in Claude Code, with a 1M-token context window and promotional pricing through August 31.
└──▷ GET THIS VERSION$ git clone --branch v2.1.197 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.197
- ›Switches default model to Claude Sonnet 5, featuring a native 1M-token context window for working across massive codebases in a single session.
- ›Introduces promotional pricing of $2/$10 per million input/output tokens through August 31, 2025.
- v2.1.196
Claude Code v2.1.196 adds org-default models, clickable file attachments, and an always-on stream watchdog.
└──▷ GET THIS VERSION$ git clone --branch v2.1.196 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.196
└──▷ TRY ITDisable the new always-on stream watchdog if your provider intentionally sends long silent gaps (e.g. a slow self-hosted endpoint).$ CLAUDE_ENABLE_STREAM_WATCHDOG=0 claude- ›Adds organization default models: admins set a model in the org console; users see 'Org default' or 'Role default' in
/modelwhen no personal selection is made. - ›Adds readable default session names at start, making sessions easier to identify and resume.
- ›Adds clickable file attachments in chat — Cmd/Ctrl-click reveals the file in Finder/Explorer.
- ›Enables the streaming idle watchdog by default for all providers: aborts and retries any response stream that produces no events for 5 minutes; disable with
CLAUDE_ENABLE_STREAM_WATCHDOG=0. - ›Improves background agents: workers killed by a daemon restart are automatically resumed from where they left off when the agents view next opens.
+3 moreshow less
- ›Improves
/code-reviewworkflow: merges five cleanup finders into one, cutting token usage by roughly 25%. - ›Disables Remote Control automatically when
ANTHROPIC_BASE_URLpoints at a non-Anthropic host, matching existing behavior underCLAUDE_CODE_USE_BEDROCK/_VERTEX/_FOUNDRY. - ›Hardens
claude mcp list/get: untrusted workspaces no longer auto-spawn.mcp.jsonservers self-approved via a committed.claude/settings.json; such servers show⏸ Pending approvalinstead.
└──▷ BREAKING ON UPGRADE- !Opening the agents view from a foreground session now requires a single
←press instead of two.
- ›Adds organization default models: admins set a model in the org console; users see 'Org default' or 'Role default' in
- v2.1.195
Claude Code v2.1.195 adds mouse-disable env var for fullscreen mode and improves remote session startup UX.
└──▷ GET THIS VERSION$ git clone --branch v2.1.195 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.195
└──▷ TRY ITSuppress accidental mouse clicks and drags in a fullscreen Claude Code session (e.g. on a touch-enabled display or when embedding in a kiosk) while keeping scroll working.$ CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1 claude- ›Adds
CLAUDE_CODE_DISABLE_MOUSE_CLICKSenv var to suppress mouse click/drag/hover in fullscreen mode while preserving wheel scroll. - ›Improves
claude agentscompleted list to fill available vertical space, with a compacting header on short terminals so live sessions stay visible. - ›Improves remote session startup with a provisioning checklist displayed while the container initializes.
- ›Improves Linux voice mode to distinguish between 'no microphone detected' and 'SoX not installed' when SoX is present but no capture device exists.
└──▷ BREAKING ON UPGRADE- !Hook matchers now exact-match hyphenated identifiers (e.g.
code-reviewer,mcp__brave-search) instead of substring-matching — existing hooks that relied on partial matches will stop firing; usemcp__brave-search__.*to match all tools from a hyphenated MCP server.
- ›Adds
- v2.1.193
Claude Code v2.1.193 adds shell classifier routing, OTEL response logging, live path autocomplete, and memory-pressure reaping for background shells.
└──▷ GET THIS VERSION$ git clone --branch v2.1.193 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.193
└──▷ USE ITEnforce auto-mode classification on every shell command — useful in enterprise deployments that want consistent policy enforcement across all Bash/PowerShell invocations, not just detected code-execution patterns.# In your Claude Code settings (e.g. settings.json) { "autoMode.classifyAllShell": true }Capture full assistant response text in your OTEL pipeline for audit or compliance logging.📍OTEL_LOG_ASSISTANT_RESPONSES=1claude ...Prevent idle background shell commands from being reaped under memory pressure if your workflow depends on long-lived idle shells.📍CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1claude ...- ›New
autoMode.classifyAllShellsetting routes all Bash/PowerShell commands through the auto-mode classifier, not just arbitrary-code-execution patterns. - ›Adds auto-mode denial reasons to the transcript, denial toast, and
/permissionsrecent denials for better visibility into blocked actions. - ›New
claude_code.assistant_responseOpenTelemetry log event captures the model's full response text (redacted by default; enable withOTEL_LOG_ASSISTANT_RESPONSES=1). - ›Adds live file path autocomplete in bash mode (
!) for faster command entry. - ›Adds a startup notice when MCP servers need authentication, pointing users to
/mcp.
+1 moreshow less
- ›Adds automatic memory-pressure reaping for idle background shell commands (disable with
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1).
└──▷ BREAKING ON UPGRADE- !The
claude_code.assistant_responseOTEL log event is emitted by default whenOTEL_LOG_USER_PROMPTSis enabled — deployments that already log prompt content will also start receiving response content on upgrade. SetOTEL_LOG_ASSISTANT_RESPONSES=0to keep prompts-only logging.
- ›New
- v2.1.191
Claude Code v2.1.191 adds
/rewindto restore conversations before/clear, cuts streaming CPU usage ~37%, and hardens MCP reliability.└──▷ GET THIS VERSION$ git clone --branch v2.1.191 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.191
└──▷ TRY ITAccidentally cleared your conversation mid-session? Use/rewindto jump back to the state before/clearand continue without losing context.$ /rewind- ›Adds
/rewindcommand to resume a conversation from the state it was in before/clearwas run. - ›Sandbox network permission dialog now remembers allowed hosts for the entire session, eliminating repeated prompts.
- ›MCP capability discovery (
tools/list,prompts/list,resources/list) now retries transient network errors with backoff, improving server reliability. - ›MCP OAuth in headless environments skips the browser popup and goes directly to the paste-the-URL prompt.
- ›MCP HTTP 404 errors now surface the URL and point to the MCP config file for faster debugging.
- ›Adds
- v2.1.187
Claude Code v2.1.187 adds sandbox credential blocking, org model restrictions, and mouse support in fullscreen menus.
└──▷ GET THIS VERSION$ git clone --branch v2.1.187 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.187
- ›Adds
sandbox.credentialssetting to block sandboxed commands from reading credential files and secret environment variables. - ›Adds org-configured model restrictions enforced across the model picker,
--model,/model, andANTHROPIC_MODEL, with a clear 'restricted by your organization's settings' message. - ›Adds mouse click support for selecting menus (permission prompts,
/model,/config, etc.) in fullscreen mode. - ›Improves
/install-github-appto make GitHub Actions workflow setup optional — install just the GitHub App and skip the workflow/secret steps. - ›Improves
/btwwith ←/→ arrow navigation to step through earlier answers.
+1 moreshow less
- ›Improves
/pluginto surface recently unused plugins for easier cleanup.
- ›Adds
- v2.1.186
Claude Code v2.1.186 adds CLI MCP auth, bash auto-response, SSH-friendly headless login, and richer workflow/plugin views.
└──▷ GET THIS VERSION$ git clone --branch v2.1.186 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.186
└──▷ TRY ITAuthenticate a named MCP server over SSH without a browser pop-up.$ claude mcp login my-server --no-browser
Keep the old context-only behavior for bash commands instead of having Claude auto-reply to their output.# settings.json { "respondToBashCommands": false }- ›Adds
claude mcp login <name>andclaude mcp logout <name>to authenticate MCP servers directly from the CLI, with--no-browserstdin redirect for SSH sessions. - ›Adds
!bash command auto-response: Claude now automatically replies to bash command output; disable with"respondToBashCommands": falsein settings.json. - ›Adds status filtering (press
f) to the/workflowsagent detail view. - ›Adds a 'Skills' section to the
/pluginInstalled tab. - ›Adds
teammateMode: "iterm2"setting with a warning when auto mode cannot find theit2CLI.
+6 moreshow less
- ›Adds 'Claude Platform on AWS - refresh credentials' option to
/loginwhenawsAuthRefreshis configured. - ›Background subagents now surface permission prompts in the main session instead of auto-denying, showing which agent is asking; Esc denies just that tool.
- ›Improves memory: the agent is now reminded to compact its
MEMORY.mdindex when nearing the size limit. - ›Improves skill frontmatter to accept
display-name,default-enabled,fallback, andmetadata.*keys in kebab-case, snake_case, and camelCase. - ›Improves malformed
SKILL.mdYAML frontmatter handling: loads the skill body with empty metadata instead of failing silently. - ›Changes
/review <pr>to use the same review engine as/code-review medium.
└──▷ BREAKING ON UPGRADE- !
CLAUDE_CODE_MAX_RETRIESis now capped at 15; unattended sessions that relied on higher values must switch toCLAUDE_CODE_RETRY_WATCHDOGinstead.
- ›Adds
- v2.1.183
Claude Code v2.1.183 adds IaC destroy guards, deprecated-model warnings, and a new
attribution.sessionUrlsetting.└──▷ GET THIS VERSION$ git clone --branch v2.1.183 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.183
└──▷ TRY ITList all shorthand keys you can set inline with/configkey=value, so you don't have to guess field names.$ /config --help
- ›Blocks destructive git commands (
git reset --hard,git checkout -- .,git clean -fd,git stash drop) in auto mode unless you explicitly asked to discard local work, and blocksgit commit --amendon commits not made by the agent this session. - ›Blocks
terraform destroy,pulumi destroy, andcdk destroyin auto mode unless you asked for the specific stack. - ›Adds a warning on stderr (in
-pprint mode) when the requested model is deprecated or auto-updated to a newer model, now also covering models set in agent frontmatter. - ›Adds
attribution.sessionUrlsetting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions. - ›Adds
/config --helpto list all available shorthand keys for/config key=value.
+1 moreshow less
- ›Changes
/configtoggle behavior: Enter and Space both change the selected setting; Esc now saves and closes instead of reverting.
└──▷ BREAKING ON UPGRADE- !The
/configEsc key no longer reverts changes — it now saves and closes the config panel. - !The startup 'setup issues' line under the logo has been removed; run
/doctoror use--debugto see configuration issues.
- ›Blocks destructive git commands (
- v2.1.181
Claude Code v2.1.181 adds in-prompt config setting, Apple Events sandbox opt-in, and a presence-file push-notification suppressor.
└──▷ GET THIS VERSION$ git clone --branch v2.1.181 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.181
└──▷ TRY ITToggle extended thinking off mid-session without leaving the prompt.$ /config thinking=falseSuppress mobile push notifications while you're actively at your machine by pointing the env var at a lock file you create on login.$ export CLAUDE_CLIENT_PRESENCE_FILE="$HOME/.claude_presence" && touch "$HOME/.claude_presence" && claude- ›Adds
/config key=valueslash command to set any configuration value directly from the prompt (e.g./config thinking=false), works in interactive mode,-p, and Remote Control. - ›Adds
sandbox.allowAppleEventsopt-in setting so sandboxed commands can send Apple Events on macOS. - ›Adds
CLAUDE_CLIENT_PRESENCE_FILEenvironment variable: point it at a marker file to suppress mobile push notifications while at the machine. - ›Upgrades the bundled Bun runtime to v1.4.
- ›Improves streaming of long paragraphs: text now appears line-by-line instead of waiting for the first line break.
+3 moreshow less
- ›Improves subagent panel: idle subagents auto-hide after 30 s, list caps at 5 rows with scroll hints, and keyboard hints appear in the footer.
- ›Improves MCP OAuth browser page to match Claude Code's visual style and auto-close on success.
- ›Changes fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior.
└──▷ BREAKING ON UPGRADE- !Fullscreen mode URL opening now requires Cmd+click (macOS) / Ctrl+click; plain clicks no longer open URLs.
- ›Adds
- v2.1.178
Claude Code v2.1.178 adds parameter-matching permission rules, smarter nested skill/directory scoping, and tighter subagent safety checks.
└──▷ GET THIS VERSION$ git clone --branch v2.1.178 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.178
- ›Adds Tool(param:value) syntax for permission rules to match on a tool's input parameters, with
*wildcard support (e.g. Agent(model:opus) to block Opus subagents). - ›Nested
.claude/skillsdirectories now load automatically when working in their directory; name clashes surface as<dir>:<name>so both skills remain accessible. - ›Nearest-wins scoping for nested
.claude/directories: agent, workflow, and output-style configs closest to the working directory take precedence; project-scope workflow saves target the closest existing.claude/workflows/. - ›Auto mode now evaluates subagent spawns through the classifier before launch, preventing a subagent from requesting a blocked action without review.
- ›Improves
/doctorwith a consistent flat tree layout, clearer section status icons, and highlighted command names.
+4 moreshow less
- ›Improves the skill listing truncation warning to show how many skill descriptions are affected.
- ›Changes the workflow prompt keyword to a purple shimmer highlight, triggering only on explicit phrases like "run a workflow" or "workflow:" rather than any mention of the word.
- ›Improves Remote Control error messages: connection failures show a persistent red "
/rcfailed" footer indicator, and "not yet enabled" errors now explain whether the cause is a gate, check failure, stale entitlement, or org policy. - ›
/bugnow requires a description before submission and no longer uses model-refusal text as the GitHub issue title.
- ›Adds Tool(param:value) syntax for permission rules to match on a tool's input parameters, with
- v2.1.176
Claude Code v2.1.176 adds language-aware session titles, footer link badges, and smarter Bedrock credential caching.
└──▷ GET THIS VERSION$ git clone --branch v2.1.176 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.176
- ›Session titles are now generated in the language of the conversation; pin a specific language with the
languagesetting. - ›New
footerLinksRegexessetting lets you add regex-matched link badges to the footer row via user or managed settings.
- ›Session titles are now generated in the language of the conversation; pin a specific language with the
- v2.1.175
Claude Code adds
enforceAvailableModelsmanaged setting to lock model selection within admin-defined allowlists.└──▷ GET THIS VERSION$ git clone --branch v2.1.175 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.175
└──▷ USE ITLock an enterprise deployment so users can never select a model outside the admin-approved list, even via project or user settings.{ "enforceAvailableModels": true, "availableModels": ["claude-3-5-sonnet-20241022", "claude-3-haiku-20240307"] }- ›Adds
enforceAvailableModelsmanaged setting that forces the Default model to fall back to the first allowed model when it would otherwise resolve to a disallowed model, and prevents users or projects from widening a managedavailableModelslist.
- ›Adds
- v2.1.174
Claude Code v2.1.174 adds wheel-scroll acceleration control and detailed VS Code usage attribution breakdowns.
└──▷ GET THIS VERSION$ git clone --branch v2.1.174 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.174
└──▷ HOW TO FIND ITReview where your token spend is going — broken down by subagents, MCP tools, skills, and context size — without leaving VS Code.📍In VS Code, open the Claude Code panel, then run/usageto open the Account & usage dialog showing the last 24h or 7d breakdown.- ›Adds
wheelScrollAccelerationEnabledsetting to disable mouse-wheel scroll acceleration in fullscreen mode. - ›Adds usage attribution panel in the VS Code Account & usage dialog (
/usage) showing cache misses, long context, subagents, and per-skill/agent/plugin/MCP breakdowns over the last 24h or 7d.
- ›Adds
- v2.1.172
Claude Code v2.1.172 adds recursive sub-agents (5 levels deep), Bedrock region auto-detection, plugin search, and a new OTEL model attribute.
└──▷ GET THIS VERSION$ git clone --branch v2.1.172 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.172
└──▷ TRY ITInspect which AWS region Bedrock is using and where it came from, without needing to setAWS_REGIONexplicitly.$ /statusFilter a long marketplace plugin list without scrolling through every entry.📍/plugin- ›Enables sub-agents to spawn their own sub-agents, up to 5 levels of nesting.
- ›Amazon Bedrock now auto-detects AWS region from
~/.awsconfig files following AWS SDK precedence whenAWS_REGIONis unset;/statusshows the region source. - ›Adds a search bar inside the
/pluginmarketplace browser for filtering plugins. - ›Adds a
modelattribute to theclaude_code.lines_of_code.countOTEL metric, enabling per-model telemetry breakdowns.
- v2.1.170
Claude Code v2.1.170 adds access to Claude Fable 5, Anthropic's most capable generally available model.
└──▷ GET THIS VERSION$ git clone --branch v2.1.170 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.170
- ›Adds access to Claude Fable 5 (Mythos-class model), Anthropic's most capable generally available model.
- v2.1.169
Claude Code v2.1.169 adds
--safe-mode,/cdcommand, and disableBundledSkills for cleaner troubleshooting and session control.└──▷ GET THIS VERSION$ git clone --branch v2.1.169 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.169
└──▷ TRY ITTroubleshoot a misbehaving setup by launching Claude Code with all customizations stripped out — no CLAUDE.md, hooks, plugins, or MCP servers.$ claude --safe-mode
Switch your active session to a different project directory without losing prompt cache continuity.$ /cd ~/projects/other-repoList all background agent sessions — including completed ones — with their IDs and states for scripting or monitoring pipelines.$ claude agents --json --all
- ›Adds
--safe-modeflag (andCLAUDE_CODE_SAFE_MODEenv var) to launch with all customizations disabled — CLAUDE.md, plugins, skills, hooks, and MCP servers — for clean troubleshooting. - ›Adds
/cdcommand to change the working directory mid-session without breaking the prompt cache. - ›Adds
disableBundledSkillssetting andCLAUDE_CODE_DISABLE_BUNDLED_SKILLSenv var to hide bundled skills, workflows, and built-in slash commands from the model. - ›Adds
--allflag toclaude agents --jsonto include completed sessions; also surfaces newidandstatefields on each session entry. - ›The
claude agents --jsoncommand now correctly includes blocked and just-dispatched background sessions.
+5 moreshow less
- ›Background sessions now preserve
--ide,--chrome,--bare,--remote-control, and other flags across retire→wake cycles. - ›Remote-managed settings with an invalid entry now apply remaining valid policies and surface the validation error instead of silently dropping the whole payload.
- ›
/workflowscommand now opens immediately even while a turn is in progress. - ›The "CLAUDE.md is too long" warning threshold now scales with the model's context window.
- ›Adds a tip suggesting
claude agentswhen running multiple concurrent sessions.
- ›Adds
- v2.1.166
Claude Code v2.1.166 adds fallback model chains, glob-based tool deny rules, and hardened cross-session security.
└──▷ GET THIS VERSION$ git clone --branch v2.1.166 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.166
└──▷ TRY ITRun a model that thinks by default without extended thinking to reduce latency and token cost.$ MAX_THINKING_TOKENS=0 claude -p "Analyze this code for vulnerabilities" < main.go
- ›Adds
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. - ›Adds 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. - ›Hardens 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. - ›Enables disabling thinking on models that think by default via the Claude API using
MAX_THINKING_TOKENS=0,--thinking disabled, or the per-model thinking toggle (3P providers unchanged). - ›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.
+2 moreshow less
- ›
claude updatenow announces the target version before downloading. - ›In
claude agents, typing a URL into the session list now filters to the session whose first prompt contained it.
- ›Adds
- v2.1.163
Claude Code v2.1.163 adds version enforcement settings,
/plugin list, hook feedback context, and stdio MCP session IDs.└──▷ GET THIS VERSION$ git clone --branch v2.1.163 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.163
└──▷ USE ITEnforce an approved version range across a managed fleet so users on out-of-range builds are blocked at startup.{ "requiredMinimumVersion": "2.1.163", "requiredMaximumVersion": "2.1.999" }Audit which plugins are active in the current session — useful after an update or policy change.$ /plugin list --enabled
Surface stop-hook diagnostics back to Claude (e.g. a linter summary) so it can react without the run being marked as a hook error.{ "hookSpecificOutput": { "additionalContext": "Linter found 3 warnings in src/main.ts — please review before finishing." } }- ›Adds
requiredMinimumVersionandrequiredMaximumVersionmanaged settings to enforce a permitted Claude Code version range, refusing startup if the installed version falls outside it. - ›New
/plugin listcommand lists installed plugins, with--enabled/--disabledfilters to narrow results. - ›Adds a 'c to copy' shortcut in
/btwthat copies the raw markdown answer to the clipboard, preserving formatting on paste. - ›Skills: new
\$escape syntax lets command bodies include a literal$before a digit. - ›stdio MCP servers now receive the same
CLAUDE_CODE_SESSION_IDenvironment variable as hooks and Bash when using--resume.
+1 moreshow less
- ›Background agent sessions now update to a new Claude Code version silently in the background, eliminating cold-restart wait times when reopening a session after an update.
- ›Adds
- v2.1.162
claude agents gets richer status info,
--toolsGrep/Glob now works on native builds, and/effortpersists as default.└──▷ GET THIS VERSION$ git clone --branch v2.1.162 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.162
└──▷ TRY ITPoll agent session status in CI/automation to detect which sessions are blocked waiting for a permission prompt.$ claude agents --json | jq '.[] | select(.waitingFor != null) | {id, waitingFor}'
Restrict Claude Code to only built-in Grep and Glob search tools on a native build — previously listing these names was silently ignored.$ claude --tools Grep,Glob
- ›Adds
waitingForfield toclaude agents --jsonoutput, showing what a waiting session is blocked on (e.g. a permission prompt). - ›Explicitly listing Grep or Glob in
--toolsnow activates the dedicated embedded search tools on native builds (previously silently ignored). - ›The
/effortcommand now confirms when the chosen level will persist as the default for new sessions. - ›Clicking a slash command in the autocomplete menu fills it into the prompt instead of running it immediately — press Enter to run.
- ›Remote Control status is now shown as a persistent footer pill with a session link instead of a one-time startup message.
+2 moreshow less
- ›Launch-prompt warnings (deep link/pre-filled prompt) now stay pinned below the input until acted upon instead of scrolling away.
- ›Background service startup and
claude updatenow wait for endpoint-security scanning of new binaries instead of timing out after 5 seconds.
- ›Adds
- v2.1.161
Claude Code v2.1.161 adds OTEL label slicing, smarter agents UI, MCP connector collapsing, and independent parallel tool results.
└──▷ GET THIS VERSION$ git clone --branch v2.1.161 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.161
└──▷ TRY ITSlice Claude Code usage metrics by team or repo in your OTEL backend without any code changes — just set resource attributes before launching.$ OTEL_RESOURCE_ATTRIBUTES="team=security,repo=infra-scanner" claude <prompt>- ›Adds
OTEL_RESOURCE_ATTRIBUTESvalues as labels on metric datapoints, enabling usage metrics to be sliced by custom dimensions like team or repo. - ›Shows
done/totalprogress before detail text inclaude agentsrows when work is fanned out; peek view highlights the longest-running item. - ›Collapses never-signed-in claude.ai connectors in
/mcpbehind a 'Show unused connectors' row to reduce noise. - ›Parallel tool calls now return independent results — a failed Bash command no longer cancels sibling calls in the same batch.
- ›Adds
- v2.1.160
Claude Code v2.1.160 adds shell-startup write prompts, safer acceptEdits mode, and a grep-satisfies-read shortcut.
└──▷ GET THIS VERSION$ git clone --branch v2.1.160 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.160
- ›Adds a confirmation prompt before writing to shell startup files (
.zshenv,.zlogin,.bash_login) and~/.config/git/to prevent unintended command execution. - ›In
acceptEditsmode, prompts before writing build-tool config files that grant code execution (.npmrc,.yarnrc*,bunfig.toml,.bazelrc,.pre-commit-config.yaml,.devcontainer/, etc.). - ›Single-file
grep/egrep/fgrepcommands now satisfy the read-before-edit check, eliminating the need for a separate Read step after grepping a file. - ›Renames the dynamic-workflow trigger keyword from
workflowtoultracode; the keyword is highlighted in violet in the prompt input.
└──▷ BREAKING ON UPGRADE- !The
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDEenvironment variable is removed and is now a no-op. - !The dynamic-workflow trigger keyword is renamed from
workflowtoultracode; the wordworkflowno longer triggers a dynamic workflow run.
- ›Adds a confirmation prompt before writing to shell startup files (
- v2.1.157
Claude Code v2.1.157 adds auto-loaded plugins, plugin scaffolding, richer telemetry, and smarter agents dispatch.
└──▷ GET THIS VERSION$ git clone --branch v2.1.157 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.157
└──▷ TRY ITBootstrap a new plugin without touching any marketplace — scaffold it locally and it loads automatically on next launch.$ claude plugin init my-recon-toolCapture detailed tool parameters (bash commands, MCP/skill names) in OTEL traces for audit or pipeline debugging.$ OTEL_LOG_TOOL_DETAILS=1 claude --print 'Run nmap on 10.0.0.0/24 and summarize open ports'
- ›Adds automatic loading of plugins from
.claude/skillsdirectories — no marketplace required. - ›New
claude plugin init <name>command scaffolds a new plugin directly into.claude/skills. - ›Adds autocomplete for
/pluginarguments: subcommands, installed plugin names, and plugins from known marketplaces. - ›Honors the
agentfield insettings.jsonfor dispatched sessions, with--agent <name>to override per-run. - ›
EnterWorktreecan now switch between Claude-managed worktrees mid-session.
+5 moreshow less
- ›
tool_decisiontelemetry events now includetool_parameters(bash commands, MCP/skill names) whenOTEL_LOG_TOOL_DETAILS=1is set. - ›Claude-managed worktrees are left unlocked after an agent finishes, enabling clean
git worktree remove/pruneworkflows. - ›Adds a 'Workflow keyword trigger' setting in
/configto prevent the word 'workflow' in a prompt from triggering a dynamic workflow. - ›Slash-command autocomplete in the
claude agentsdispatch input now matches substrings. - ›Pressing backspace immediately after a workflow trigger keyword dismisses the workflow request instead of deleting a character.
- ›Adds automatic loading of plugins from
- v2.1.154
Claude Code v2.1.154 adds Opus 4.8 with fast mode, dynamic multi-agent workflows, shell background sessions, and smarter plugin discovery.
└──▷ GET THIS VERSION$ git clone --branch v2.1.154 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.154
└──▷ TRY ITHand off a large, multi-step research or coding task to a fleet of background agents and check their progress.$ claude # Inside the session: > Create a workflow to audit every Go package in this repo for security issues > /workflowsRun a long-lived shell process as a detachable background session inside the agents view.$ claude agents # Inside agents view: ! npm run build:watchRun a background shell command directly from the CLI without entering the interactive UI.$ claude --bg --exec 'pytest tests/ -x -q'
- ›Adds Claude Opus 4.8 as the new default model with
/effort xhighfor maximum effort on hard tasks. - ›Introduces dynamic workflows: ask Claude to orchestrate work across tens to hundreds of background agents; view runs with
/workflows. - ›Fast mode on Opus 4.8 now available at 2× the standard rate for 2.5× the speed.
- ›The lean system prompt is now the default for all models except Haiku, Sonnet, and Opus 4.7 and earlier.
- ›Reduces unsolicited multiple-choice prompts: Claude now reserves them for decisions it genuinely cannot make itself.
+10 moreshow less
- ›
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 routing to a background session. - ›The
←←agents view shortcut now works on Bedrock, Vertex, Foundry, and with telemetry disabled. - ›Claude in Chrome: choose which connected browser to use via
/chrome→ "Select browser…" or inline during a browser action with multiple browsers connected. - ›Plugins can declare
defaultEnabled: falseinplugin.jsonor a marketplace entry; enable them with/pluginorclaude plugin enable. Dependencies of enabled plugins are still auto-enabled. - ›The
/pluginDiscover tab now pins contextually relevant plugins with a "suggested for this directory" annotation. - ›Streaming tool execution is now always on, 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=1environment variables. - ›
claude mcp list/getnow show unapproved.mcp.jsonservers as⏸ Pending approvalwhen output is piped, instead of auto-approving and connecting. - ›Improves auto-mode classifier detection of data exfiltration, particularly bulk transfers of repository contents.
└──▷ BREAKING ON UPGRADE- !
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDEis deprecated and will be removed on 06/01; switch to/model claude-opus-4-6[1m]then/fast onto use fast mode on Opus 4.6. - !The lean system prompt is now the default for all models except Haiku, Sonnet, and Opus 4.7 and earlier, which may change Claude's behavior on upgrade for affected model users.
- !
/simplifyno longer runs the full/code-review --fixbug-hunting review; it now performs a cleanup-only pass.
- ›Adds Claude Opus 4.8 as the new default model with
- v2.1.153
Claude Code v2.1.153 adds LFS-skip for marketplace sources, richer agent autocomplete, terminal-aware status scripts, and persistent macOS permissions.
└──▷ GET THIS VERSION$ git clone --branch v2.1.153 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.153
└──▷ USE ITSkip downloading large LFS objects when adding a heavy model or dataset repo as a marketplace source.# In your Claude Code marketplace config: github: repo: owner/heavy-dataset-repo skipLfs: true
Size a custom status-line script to the actual terminal width without hardcoding column counts.$ # status_line.sh — now receives COLUMNS and LINES automatically printf '%*s' "$COLUMNS" '' | tr ' ' '-'- ›Adds
skipLfsoption togithub/gitplugin marketplace sources to skip Git LFS downloads during clone and update. - ›Adds
COLUMNSandLINESenvironment variables to status line commands so scripts can size output to the terminal width. - ›Expands
claude agentsdispatch autocomplete to suggest native slash commands and bundled skills, not just project skills. - ›Updates
claude agentsPR column to displayPR #Nfor a single PR or N PRs for multiple. - ›Merges separate 'needs authentication' startup notices for MCP servers and connectors into a single message.
+3 moreshow less
- ›macOS background agents now appear as 'Claude Code' in Privacy & Security and retain permission grants across upgrades.
- ›New
/modelpicker saves your model selection as the default for new sessions; presssto switch for the current session only. - ›Moving
/bgwhile Claude is responding now continues the response in the background session instead of dropping it.
└──▷ BREAKING ON UPGRADE- !The
modelPicker:setAsDefaultkeybinding is renamed tomodelPicker:thisSessionOnlyin keybindings.json; the previousdaction is replaced bys.
- ›Adds
- v2.1.152
Claude Code v2.1.152 adds auto-fix code review, hook-driven skill reloading, a MessageDisplay hook, and live thinking indicators.
└──▷ GET THIS VERSION$ git clone --branch v2.1.152 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.152
└──▷ TRY ITRun a code review and immediately apply all suggestions to your working tree in one step.$ claude /code-review --fix
Restrict which tools are available when a skill is active — useful for locked-down review or planning skills.# In a skill's frontmatter (e.g., .claude/skills/review.md) --- disallowed-tools: - Bash - Edit ---
Reload skills installed by a SessionStart hook without restarting the session.$ claude /reload-skills- ›Adds
--fixflag to/code-review: automatically applies review findings (reuse, simplification, efficiency suggestions) to the working tree after review;/simplifynow invokes/code-review --fix. - ›Skills and slash commands can now set
disallowed-toolsin frontmatter to restrict which tools the model can use while that skill is active. - ›Adds
/reload-skillscommand to re-scan skill directories mid-session without restarting. - ›
SessionStarthooks can now returnreloadSkills: trueto make newly installed skills available in the same session. - ›
SessionStarthooks can now set the session title viahookSpecificOutput.sessionTitleon startup and resume.
+11 moreshow less
- ›Adds
MessageDisplayhook event, enabling hooks to transform or hide assistant message text as it is rendered. - ›Adds
pluginSuggestionMarketplacesmanaged setting, allowing admins to allowlist org marketplaces whose plugins may be suggested via context-aware tips. - ›
claude plugin marketplace removenow accepts--scope user|project|localfor symmetry withmarketplace add,install, anduninstall. - ›Automatically switches to the 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 behavior. - ›The
/usagebreakdown now includes large session files, scanned with a streaming read to keep memory usage flat. - ›Thinking summaries in collapsed groups now render as markdown, stay readable for at least 3 seconds, and cap at 10 lines; Ctrl+O shows the full thinking.
- ›In fullscreen mode, the 'Thinking for Ns' indicator now counts up live while the model thinks and retains its value if interrupted mid-thought.
- ›Post-response timer now shows 'Waiting for N background agents/workflows to finish' and reports cumulative time once results are processed.
- ›Adds session entrypoint as an OpenTelemetry metric attribute (
app.entrypoint), opt-in viaOTEL_METRICS_INCLUDE_ENTRYPOINT=true.
- ›Adds
- v2.1.149
Claude Code v2.1.149 adds per-category usage breakdowns, keyboard-scrollable diffs, GFM task list rendering, and enterprise MCP connector controls.
└──▷ GET THIS VERSION$ git clone --branch v2.1.149 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.149
└──▷ TRY ITCheck which categories (skills, subagents, plugins, MCP servers) are eating into your usage limits before hitting a cap.$ /usageAllow all claude.ai cloud MCP connectors in an enterprise managed deployment, alongside your existing managed-mcp.json config.{ "allowAllClaudeAiMcps": true }- ›Adds per-category breakdown in
/usageshowing what's consuming your limits — skills, subagents, plugins, and per-MCP-server cost. - ›Enables keyboard scrolling in
/diffdetail view via arrows,j/k,PgUp/PgDn, Space, and Home/End. - ›Renders GFM task list checkboxes (
- [ ] todo/- [x] done) in Markdown output instead of plain bullets. - ›New enterprise managed setting
allowAllClaudeAiMcpsloads claude.ai cloud MCP connectors alongsidemanaged-mcp.json. - ›Improves
/feedbackreports to include conversation context from before compaction, aiding triage of issues in long sessions.
- ›Adds per-category breakdown in
- v2.1.147
Claude Code v2.1.147 adds a new
/code-reviewcommand with inline GitHub PR comments and pinned background session persistence.└──▷ GET THIS VERSION$ git clone --branch v2.1.147 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.147
└──▷ TRY ITRun a high-effort correctness review on your current code and post findings as inline comments on an open GitHub PR.$ /code-review high --comment
- ›New
/code-reviewcommand (replaces/simplify) reports correctness bugs at a chosen effort level and can post findings as inline GitHub PR comments via--comment. - ›Pinned background sessions (Ctrl+T in
claude agents) now stay alive when idle, restart in place to apply updates, and are only shed under memory pressure after non-pinned sessions.
└──▷ BREAKING ON UPGRADE- !The
/simplifycommand is renamed to/code-reviewand its cleanup-and-fix behavior has been removed; scripts or workflows invoking/simplifywill no longer work.
- ›New
- v2.1.146
Claude Code v2.1.146 renames
/simplifyto/code-reviewwith optional effort levels.└──▷ GET THIS VERSION$ git clone --branch v2.1.146 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.146
└──▷ TRY ITRun a high-effort code review on your current working changes to catch deeper issues before merging.$ /code-review high- ›New
/code-reviewcommand (replaces/simplify) with an optional effort level parameter (e.g./code-review high). - ›Auto mode now respects
AskUserQuestionwhen the user or a skill explicitly relies on it, enabling interactive flows in automated contexts.
└──▷ BREAKING ON UPGRADE- !The
/simplifycommand has been renamed to/code-review; any scripts, docs, or habits referencing/simplifywill need to be updated.
- ›New
- v2.1.145
Claude Code v2.1.145 adds JSON agent listing, richer OTEL spans, plugin previews, and mouse support in fullscreen.
└──▷ GET THIS VERSION$ git clone --branch v2.1.145 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.145
└──▷ TRY ITPipe live agent session data into a status bar or session picker script.$ claude agents --json | jq '.[] | select(.status == "awaiting_input") | .agent_id'
- ›New
claude agents --jsoncommand lists live Claude sessions as JSON for scripting (tmux-resurrect, status bars, session pickers). - ›Adds
agent_idandparent_agent_idattributes toclaude_code.toolOTEL spans, with corrected trace parenting so subagent spans nest under their dispatching Agent tool span. - ›Status line JSON input now includes GitHub repo and PR information when detected.
- ›
/pluginDiscover and Browse screens now preview a plugin's commands, agents, skills, hooks, and MCP/LSP servers before installation. - ›
claude agentsterminal tab title now shows the awaiting-input count so an alt-tabbed window indicates when an agent needs attention.
+2 moreshow less
- ›Slash command and @
-mentionsuggestion list now supports mouse hover and click in fullscreen mode. - ›Read tool now returns a truncated first page with a 'PARTIAL view' notice instead of a hard error when a whole-file read exceeds the token limit.
- ›New
- v2.1.144
Claude Code v2.1.144 adds
/resumefor background sessions, elapsed-time notifications, plugin last-updated stamps, and per-session model switching.└──▷ GET THIS VERSION$ git clone --branch v2.1.144 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.144
└──▷ TRY ITSwitch to a different model mid-session without changing your default, so tomorrow's new sessions still open with your preferred model.$ /model # then select the desired model; press 'd' to set a new default for future sessions only if wanted- ›Adds
/resumesupport for background sessions — sessions started viaclaude --bgor agent view now appear alongside interactive ones, marked withbg. - ›Adds elapsed duration to background subagent completion notifications (e.g. "Agent completed · 3h 2m 5s").
- ›Plugin browse and discover panes now display when each plugin was last updated.
- ›
/modelnow changes the model for the current session only; pressdin the model picker to set a default for all new sessions. - ›Adds
claude --bg --name <label>echoing the session name in the post-spawn confirmation message.
+8 moreshow less
- ›Adds
claude agentsCtrl+R session rename that immediately updates the attached session's banner. - ›
/doctornow shows an exec-form example when a command hook is missing thecommandfield. - ›Skill-listing truncation moved out of startup notifications — full breakdown now available via
/doctor. - ›Improved SDK/headless MCP startup: pre-wait now overlaps with startup instead of blocking before the first turn (up to 2 s faster with slow MCP servers).
- ›Improved recovery from rare pre-response stream stalls — now retries streaming once instead of falling back to a slower non-streaming request.
- ›
claude agents/--bgrejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic message. - ›Plugin marketplace add/update now respects the
CLAUDE_CODE_PLUGIN_PREFER_HTTPSenvironment variable. - ›
/pluginnow returns to the Installed list after enabling, disabling, or uninstalling a plugin.
- ›Adds
- v2.1.143
Claude Code v2.1.143 adds plugin dependency enforcement, projected context costs, and richer
claude agentssession control.└──▷ GET THIS VERSION$ git clone --branch v2.1.143 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.143
└──▷ TRY ITLaunch the agents dashboard scoped to a specific model, effort level, and MCP config so every dispatched session inherits those defaults.$ claude agents --model claude-opus-4-5 --effort high --mcp-config ./mcp.json
Allow background sessions to edit the working copy directly when git worktrees are impractical in your repo.# In settings.json { "worktree": { "bgIsolation": "none" } }- ›Adds plugin dependency enforcement:
claude plugin disablerefuses when another enabled plugin depends on the target and shows a copy-pasteable disable-chain hint;claude plugin enableforce-enables transitive dependencies. - ›Adds projected context cost (per-turn and per-invocation token estimates) to the
/pluginmarketplace browse pane. - ›New
worktree.bgIsolation: "none"setting lets background sessions edit the working copy directly withoutEnterWorktree, for repos where worktrees are impractical. - ›PowerShell tool now passes
-ExecutionPolicy Bypassby default; opt out withCLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1. - ›PowerShell tool is now enabled by default on Windows for Bedrock, Vertex, and Foundry users; opt out with
CLAUDE_CODE_USE_POWERSHELL_TOOL=0.
+8 moreshow less
- ›
claude agentsnow accepts--add-dir,--settings,--mcp-config,--plugin-dir,--permission-mode,--model,--effort, and--dangerously-skip-permissionsto configure the dashboard and sessions dispatched from it. - ›
claude --bg --dangerously-skip-permissionsnow persists across retire→wake cycles. - ›
/bgnow preserves--mcp-config,--settings,--add-dir,--plugin-dir, and--strict-mcp-config, keeping MCP servers and settings across respawn. - ›
/bgand←-detachnow preserve--fallback-model, so backgrounded workers degrade gracefully on overload. - ›
/bgand←-detachnow preserve--allow-dangerously-skip-permissions, keeping bypass-permissions available in the Shift+Tab cycle. - ›Background sessions now preserve the model and effort level set after waking from idle.
- ›Shift+Tab in attached agent sessions now includes auto mode in the permission cycle.
- ›Background sessions launched from
claude agentsnow honorpermissions.defaultModefrom settings.json.
└──▷ BREAKING ON UPGRADE- !Worktree cleanup no longer falls back to
rm -rfwhengit worktree removefails, preventing accidental deletion of gitignored or in-progress files — workflows that relied on that fallback cleanup behavior will need an alternative removal step.
- ›Adds plugin dependency enforcement:
- v2.1.142
Claude Code v2.1.142 expands
claude agentsconfiguration flags and upgrades Fast mode to Opus 4.7 by default.└──▷ GET THIS VERSION$ git clone --branch v2.1.142 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.142
└──▷ TRY ITPin fast mode to Opus 4.6 to keep consistent behavior across a team before adopting the new default.$ CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 claude --fast
- ›Adds
--add-dir,--settings,--mcp-config,--plugin-dir,--permission-mode,--model,--effort, and--dangerously-skip-permissionsflags toclaude agentsfor fine-grained control over dispatched background sessions. - ›Fast mode now defaults to Opus 4.7 (up from 4.6); set
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1to pin back to 4.6. - ›Plugins with a root-level
SKILL.mdand noskills/subdirectory are now automatically surfaced as a skill. - ›The
/plugindetails pane andclaude plugin detailscommand now display LSP servers provided by a plugin. - ›
/web-setupnow warns before overwriting an existing GitHub App connection.
└──▷ BREAKING ON UPGRADE- !Fast mode now uses Opus 4.7 by default instead of Opus 4.6; workloads sensitive to model changes must set
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1to preserve previous behavior.
- ›Adds
- v2.1.141
Claude Code v2.1.141 adds terminalSequence hooks, HTTPS plugin cloning, workspace identity scoping, and richer agent/rewind controls.
└──▷ GET THIS VERSION$ git clone --branch v2.1.141 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.141
└──▷ TRY ITTrigger a desktop notification from a hook after a long-running task completes, without needing a controlling terminal.$ # In your hook script, emit a bell via terminalSequence: echo '{"terminalSequence": "\a"}'Install a Claude Code plugin in a CI/CD environment that lacks a GitHub SSH key.$ CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 claude plugin install <plugin-name>List only agents scoped to the current project directory, filtering out unrelated sessions.$ claude agents --cwd /path/to/project
- ›Adds
terminalSequencefield to hook JSON output, enabling hooks to emit desktop notifications, window titles, and bells without a controlling terminal. - ›Adds
CLAUDE_CODE_PLUGIN_PREFER_HTTPSenv var to clone GitHub plugin sources over HTTPS instead of SSH, for environments without a GitHub SSH key. - ›Adds
ANTHROPIC_WORKSPACE_IDenv var for workload identity federation, scoping minted tokens to a specific workspace when a federation rule covers more than one. - ›Adds
claude agents --cwd <path>to scope the session list to a specific directory. - ›Extends
/feedbackto optionally include sessions from the last 24 hours or 7 days, covering issues that span multiple sessions.
+5 moreshow less
- ›Adds 'Summarize up to here' option in the Rewind menu to compress earlier context while keeping recent turns intact.
- ›Background agents launched via
/bgor←←now preserve the current permission mode instead of reverting to default. - ›Auto mode permission dialog now explains when a
permissions.askrule triggered the prompt. - ›Spinner now warms to amber after 10 seconds of thinking to signal Claude is still working.
- ›Improves plugin menu navigation:
→/Tab switch tabs,↑moves to the tab strip, and tab headers and search box are clickable in fullscreen mode.
- ›Adds
- v2.1.139
Claude Code v2.1.139 adds agent view,
/goalcommand, hook exec form, and subagent OTEL tracing.└──▷ GET THIS VERSION$ git clone --branch v2.1.139 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.139
└──▷ TRY ITReview all active and completed Claude Code sessions across projects from a single pane.$ claude agentsLet Claude autonomously iterate on a task until a specific condition is met, tracking progress live.$ /goal All unit tests pass and coverage is above 80%- ›Adds
claude agentscommand (Research Preview): a unified list of all Claude Code sessions — running, blocked, or complete. - ›Adds
/goalcommand: set a completion condition and Claude works autonomously across turns until it's met, with a live elapsed/turns/tokens overlay panel. - ›Adds
/scroll-speedcommand to tune mouse wheel scroll speed with a live preview. - ›Adds
claude plugin details <name>to inspect a plugin's component inventory and projected per-session token cost. - ›Adds transcript view navigation shortcuts:
?for keyboard shortcuts,{/}to jump between user prompts,vto toggle the shortcut panel.
+12 moreshow less
- ›Adds
args: string[]field (exec form) to hooks, spawning the command directly without a shell so path placeholders never need quoting. - ›Adds
continueOnBlockconfig option forPostToolUsehooks — whentrue, feeds the hook's rejection reason back to Claude and continues the turn instead of blocking. - ›MCP stdio servers now receive
CLAUDE_PROJECT_DIRin their environment; plugin configs can reference${CLAUDE_PROJECT_DIR}in commands. - ›Compaction prompt now instructs the model to preserve sensitive user instructions across compaction.
- ›
/mcpReconnect now picks up.mcp.jsonedits without a full restart and surfaces the HTTP status and URL on reconnect failure. - ›API requests from subagents now carry
x-claude-code-agent-idandx-claude-code-parent-agent-idheaders;claude_code.llm_requestOTEL spans includeagent_idandparent_agent_idattributes. - ›Remote MCP server reconnect retry on transient failures is now enabled for all users.
- ›
/context allper-skill token estimates now account for the model's tokenizer and display rounded values. - ›
claude plugin install <name>@<marketplace>now auto-refreshes the marketplace and retries before reporting a plugin as not found. - ›
/contextnow shows the providing plugin's name for plugin-sourced skills. - ›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. - ›[VSCode] Press Cmd/Ctrl+Shift+T to reopen the most recently closed session tab, configurable via
claudeCode.enableReopenClosedSessionShortcut.
└──▷ BREAKING ON UPGRADE- !Remote Control,
/schedule, claude.ai MCP connectors, and notification preferences are disabled whenANTHROPIC_API_KEY,apiKeyHelper, orANTHROPIC_AUTH_TOKENis set — even if a Claude.ai login also exists. Unset the API key to re-enable these features.
- ›Adds
- v2.1.136
Claude Code v2.1.136 adds hard-deny auto mode classifier rules and an OTel survey toggle for enterprises.
└──▷ GET THIS VERSION$ git clone --branch v2.1.136 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.136
└──▷ USE ITEnforce a hard block on a category of auto mode actions that no allow rule or user intent can override.{ "autoMode": { "hard_deny": ["delete_files", "network_requests"] } }Re-enable the session quality survey when your enterprise pipelines session telemetry through OpenTelemetry.$ CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL=1 claude- ›Adds
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELenv var to re-enable the session quality survey for enterprises capturing responses via OpenTelemetry. - ›Adds
settings.autoMode.hard_denyfor auto mode classifier rules that block requests 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.
- ›Adds
- v2.1.133
Claude Code v2.1.133 adds worktree base-ref control, custom sandbox binary paths, admin policy merge, and effort-level hook inputs.
└──▷ GET THIS VERSION$ git clone --branch v2.1.133 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.133
└──▷ TRY ITRead the active effort level inside a hook script to adjust external tooling (e.g. skip heavy analysis on low-effort runs).$ #!/bin/bash # In a Claude hook script echo "Current effort: $CLAUDE_EFFORT" if [ "$CLAUDE_EFFORT" = "low" ]; then exit 0 # skip expensive checks fi- ›Adds
worktree.baseRefsetting (fresh|head) to control whether new worktrees branch fromorigin/<default>or localHEAD. - ›Adds
sandbox.bwrapPathandsandbox.socatPathmanaged settings (Linux/WSL) to specify custom bubblewrap and socat binary locations. - ›Adds
parentSettingsBehavioradmin-tier key ('first-wins' | 'merge') to opt SDKmanagedSettingsinto the policy merge chain. - ›Hooks now receive the active effort level via the
effort.levelJSON input field and the$CLAUDE_EFFORTenvironment variable, readable by Bash tool commands.
└──▷ BREAKING ON UPGRADE- !The default
worktree.baseRefisfresh, which changesEnterWorktree's base back toorigin/<default>; since v2.1.128 it has been localHEAD. Setworktree.baseRef: "head"to preserve unpushed commits in new worktrees.
- ›Adds
- v2.1.132
Claude Code v2.1.132 adds session ID env var in subprocesses and an opt-out for the fullscreen alternate-screen renderer.
└──▷ GET THIS VERSION$ git clone --branch v2.1.132 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.132
└──▷ TRY ITKeep Claude Code output in your terminal's native scrollback instead of the fullscreen renderer — useful in tmux, screen, or any workflow where you rely on scroll history.$ CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 claudeReference the session ID inside a Bash tool script to tag logs or correlate subprocess events back to the originating Claude Code session.$ echo "Running inside Claude Code session: $CLAUDE_CODE_SESSION_ID" >> /tmp/session-audit.log- ›Adds
CLAUDE_CODE_SESSION_IDenvironment variable to Bash tool subprocess environments, matching thesession_idpassed to hooks — enabling scripts and hooks to correlate subprocess activity back to the parent session. - ›Adds
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1env var to opt out of the fullscreen alternate-screen renderer, keeping conversation output in the terminal's native scrollback. - ›Adds a 'Pasting…' footer hint while a Ctrl+V image paste is being read from the clipboard.
- ›Adds
- v2.1.129
Claude Code v2.1.129 adds URL-based plugin loading, auto-update on Homebrew/WinGet, and cross-project history search by default.
└──▷ GET THIS VERSION$ git clone --branch v2.1.129 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.129
└──▷ TRY ITLoad a community or internal plugin directly from a URL without installing it permanently.$ claude --plugin-url https://example.com/my-plugin.zip
Enable background auto-updates on a Homebrew install so Claude Code silently upgrades and prompts to restart.$ export CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 claudeForce synchronized output when running Claude Code inside Emacs eat or another terminal where auto-detection fails.$ CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 claude- ›Adds
--plugin-url <url>flag to fetch and load a plugin.ziparchive from a URL for the current session. - ›Adds
CLAUDE_CODE_FORCE_SYNC_OUTPUT=1env var to force synchronized output on terminals where auto-detection fails (e.g. Emacseat). - ›Adds
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATEenv var: when set on Homebrew or WinGet installs, Claude Code upgrades itself in the background and prompts to restart. - ›Adds
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1env var to opt in to Gateway/v1/modelsdiscovery for the/modelpicker (now opt-in instead of automatic). - ›Ctrl+R history picker now searches all prompts across all projects by default; press Ctrl+S to narrow to the current project or session.
+4 moreshow less
- ›
skillOverridessetting is now functional:offhides a skill from the model and/,user-invocable-onlyhides from the model only,name-onlycollapses the description. - ›The
claude_code.pull_request.countOTel metric now counts PRs/MRs created via MCP tools in addition to shell commands. - ›Policy refusal error messages now include the API Request ID to aid support debugging.
- ›Plugin manifests:
themesandmonitorsshould now be declared under"experimental": { ... };claude plugin validatewarns on top-level declarations.
└──▷ BREAKING ON UPGRADE- !Gateway
/v1/modelsmodel discovery (automatic in v2.1.126–2.1.128) is now opt-in viaCLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1; setups relying on automatic gateway model discovery will no longer see those models without setting this variable.
- ›Adds
- v2.1.128
Claude Code v2.1.128 adds ZIP plugin support, channels auth expansion, MCP server diagnostics, and smarter
/mcpand/colorUX.└──▷ GET THIS VERSION$ git clone --branch v2.1.128 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.128
└──▷ TRY ITInstall a plugin distributed as a ZIP archive without unpacking it first.$ claude --plugin-dir ./my-plugin.zip
Audit connected MCP servers to spot any that registered zero tools (possible misconfiguration).$ /mcp- ›Bare
/colorwith no arguments now picks a random session color. - ›Adds tool-count display to
/mcpoutput; servers that connect with zero tools are flagged. - ›
--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 collapses duplicate Opus 4.7 entries and labels the current Opus model simply as "Opus".
+5 moreshow less
- ›Subprocesses (Bash, hooks, MCP, LSP) no longer inherit
OTEL_*environment variables, isolating OTEL-instrumented apps from the CLI's own OTLP endpoint. - ›Reconnecting MCP servers now summarize re-announced tools by server prefix instead of flooding the conversation with full tool-name lists.
- ›SDK hosts now receive a persistent
localSettingssuggestion for Bash permission prompts, so "Always allow" writes to.claude/settings.local.json. - ›Auto mode classifier errors now include a hint (retry,
/compact, or run with--debug) when an action cannot be evaluated. - ›Headless
--output-format stream-json:init.plugin_errorsnow includes--plugin-dirload failures in addition to dependency demotions.
└──▷ BREAKING ON UPGRADE- !
workspaceis now a reserved MCP server name — existing servers configured with that name will be skipped with a warning. - !Subprocesses (Bash, hooks, MCP, LSP) no longer inherit
OTEL_*environment variables; any setup relying on subprocess inheritance of the CLI's OTEL config will stop working. - !
EnterWorktreenow creates the new branch from local HEAD instead oforigin/<default-branch>; workflows that depended on the previous behavior of branching from the remote default may behave differently.
- ›Bare
- v2.1.126
Claude Code v2.1.126 adds project purge, gateway model picker, headless OAuth, and richer OTel events.
└──▷ GET THIS VERSION$ git clone --branch v2.1.126 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.126
└──▷ TRY ITClean up all Claude Code state for a stale or sensitive project before archiving or handing off a repo — preview what will be deleted first.$ claude project purge /path/to/project --dry-run
Non-interactively purge all project state (transcripts, tasks, file history, config entry) in a CI or scripted cleanup flow.$ claude project purge /path/to/project -y
- ›Adds
claude project purge [path]command to delete all Claude Code state for a project (transcripts, tasks, file history, config entry) with--dry-run,-y/--yes,-i/--interactive, and--allflags. - ›The
/modelpicker now lists models from a gateway's/v1/modelsendpoint whenANTHROPIC_BASE_URLpoints at an Anthropic-compatible gateway. - ›
--dangerously-skip-permissionsnow bypasses write prompts for.claude/,.git/,.vscode/, shell config files, and other previously-protected paths (catastrophic removal commands still prompt). - ›
claude auth loginnow accepts an OAuth code pasted directly into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers). - ›The
claude_code.skill_activatedOpenTelemetry event now fires for user-typed slash commands and carries a newinvocation_triggerattribute ("user-slash","claude-proactive", or"nested-skill").
+2 moreshow less
- ›Windows: Claude now treats PowerShell as the primary shell (instead of Bash) when the PowerShell tool is enabled.
- ›Windows: PowerShell 7 installed via the Microsoft Store, MSI without PATH, or
.NET global toolis now detected automatically.
- ›Adds
- v2.1.122
Claude Code v2.1.122 adds Bedrock service tier selection, PR-URL session lookup, and new OpenTelemetry events.
└──▷ GET THIS VERSION$ git clone --branch v2.1.122 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.122
└──▷ TRY ITRoute Bedrock API calls to a specific service tier (e.g., priority) for latency-sensitive workloads.$ ANTHROPIC_BEDROCK_SERVICE_TIER=priority claude --model anthropic.claude-opus-4-5
- ›Adds
ANTHROPIC_BEDROCK_SERVICE_TIERenv var to select a Bedrock service tier (default,flex, orpriority), sent as the X-Amzn-Bedrock-Service-Tier header. - ›Pasting a GitHub, GitHub Enterprise, GitLab, or Bitbucket PR URL into the
/resumesearch box now finds the session that created that PR. - ›Adds
claude_code.at_mentionOpenTelemetry log event for@-mentionresolution. - ›OpenTelemetry numeric attributes on
api_request/api_errorlog events are now emitted as numbers instead of strings. - ›The
/mcpview now surfaces claude.ai connectors hidden by a manually-added server with the same URL, with a hint to remove the duplicate.
└──▷ BREAKING ON UPGRADE- !OpenTelemetry consumers parsing numeric attributes on
api_request/api_errorlog events as strings will receive numbers instead — pipelines that treat those fields as strings may need to be updated.
- ›Adds
- v2.1.121
Claude Code v2.1.121 adds MCP alwaysLoad, plugin pruning, PostToolUse output replacement, mTLS Workload Identity, and expanded OpenTelemetry spans.
└──▷ GET THIS VERSION$ git clone --branch v2.1.121 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.121
└──▷ USE ITPin a high-priority MCP server's tools so they are always available without waiting for tool-search deferral — useful for servers you rely on in every session.# In your MCP server config (e.g. .claude/mcp_settings.json) { "mcpServers": { "my-server": { "command": "my-mcp-server", "alwaysLoad": true } } }Clean up orphaned plugin dependencies after removing plugins, or cascade-remove a plugin and all its unique dependencies in one step.$ # Prune all orphaned dependencies claude plugin prune # Or remove a plugin and cascade its dependencies claude plugin uninstall my-plugin --prune
- ›Adds
alwaysLoadoption to MCP server config — whentrue, all tools from that server bypass tool-search deferral and are always available. - ›Adds
claude plugin prunecommand to remove orphaned auto-installed plugin dependencies;plugin uninstall --prunecascades removals. - ›PostToolUse hooks can now replace tool output for ALL tools via
hookSpecificOutput.updatedToolOutput, not just MCP tools. - ›Adds type-to-filter search box to
/skillsfor quickly finding skills in long lists. - ›Vertex AI: supports X.509 certificate-based Workload Identity Federation (mTLS ADC).
+11 moreshow less
- ›OpenTelemetry spans now include
stop_reason,gen_ai.response.finish_reasons, anduser_system_prompt(gated behindOTEL_LOG_USER_PROMPTS) on LLM request spans. - ›SDK:
mcp_authenticatenow supportsredirectUrifor custom scheme completion and claude.ai connectors. - ›Enables
CLAUDE_CODE_FORK_SUBAGENT=1in non-interactive sessions for SDK andclaude -p. - ›
--dangerously-skip-permissionsno longer prompts for writes to.claude/skills/,.claude/agents/, and.claude/commands/. - ›MCP servers that hit a transient error at startup now auto-retry up to 3 times instead of staying disconnected.
- ›Terminal tab session title is now generated in the configured
languagesetting. - ›LSP diagnostic summaries now expand on click or Ctrl+O and show an expand hint.
- ›Scrollable overflow dialogs: terminal dialogs that exceed terminal height are now navigable with arrow keys, PgUp/PgDn, Home/End, and mouse wheel in both fullscreen and non-fullscreen modes.
- ›Clicking any line of a long URL wrapped across rows in fullscreen mode now opens the full URL.
- ›[VSCode] Voice dictation now respects the
accessibility.voice.speechLanguagesetting when no Claude Code language is configured. - ›[VSCode]
/contextnow opens a native token usage dialog.
- ›Adds
- v2.1.119
Claude Code v2.1.119 adds GitLab/Bitbucket PR support, persistent config, richer hooks, and OpenTelemetry improvements.
└──▷ GET THIS VERSION$ git clone --branch v2.1.119 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.119
└──▷ TRY ITLoad a GitLab MR or Bitbucket PR directly into a Claude Code session for review or agentic work, without converting the URL to GitHub format.$ claude --from-pr https://gitlab.com/myorg/myrepo/-/merge_requests/42
Hide the working directory from the startup logo when running Claude Code in shared or recorded terminal sessions.$ CLAUDE_CODE_HIDE_CWD=1 claude- ›Adds
prUrlTemplatesetting to point the footer PR badge at a custom code-review URL instead of github.com. - ›Adds
CLAUDE_CODE_HIDE_CWDenvironment variable to hide the working directory in the startup logo. - ›
--from-prnow accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs in addition to github.com. - ›
/configsettings (theme, editor mode, verbose, etc.) now persist to~/.claude/settings.jsonand participate in project/local/policy override precedence. - ›
--printmode now honors the agent'stools:anddisallowedTools:frontmatter, matching interactive-mode behavior.
+11 moreshow less
- ›
--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.
- ›
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, reducing startup latency.
- ›Plugins pinned by another plugin's version constraint now auto-update to the highest satisfying git tag.
- ›OpenTelemetry
tool_resultandtool_decisionevents now includetool_use_id;tool_resultalso includestool_input_size_bytes. - ›Status line stdin JSON now includes
effort.levelandthinking.enabledfields. - ›Tool search on Vertex AI is now opt-in via
ENABLE_TOOL_SEARCHenvironment variable. - ›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.
└──▷ BREAKING ON UPGRADE- !Tool search is now disabled by default on Vertex AI; opt in by setting
ENABLE_TOOL_SEARCHto restore the previous behavior.
- ›Adds
- v2.1.118
Claude Code v2.1.118 adds vim visual mode, custom themes, MCP tool hooks, and a new
/usagecommand.└──▷ GET THIS VERSION$ git clone --branch v2.1.118 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.118
└──▷ TRY ITBlock all updates in a locked-down enterprise environment where even manualclaude updatemust be prohibited.$ DISABLE_UPDATES=1 claudeAllow a hook to call an MCP tool directly — e.g., log an event to a custom MCP server after every agent stop.{ "type": "mcp_tool", "server": "my-mcp-server", "tool": "log_event", "params": { "event": "agent_stop" } }Tag a plugin release with version validation before publishing.$ claude plugin tag v1.2.0- ›Adds vim visual mode (
v) and visual-line mode (V) with selection, operators, and visual feedback in the editor. - ›Merges
/costand/statsinto a unified/usagecommand with tabs; old names remain as shortcuts. - ›Introduces custom named themes: create/switch via
/themeor hand-edit JSON in~/.claude/themes/; plugins can ship themes via athemes/directory. - ›Hooks can now invoke MCP tools directly using
type: "mcp_tool". - ›New
DISABLE_UPDATESenv var completely blocks all update paths including manualclaude update, stricter thanDISABLE_AUTOUPDATER.
+8 moreshow less
- ›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 extend the built-in rule list instead of replacing it. - ›Adds a 'Don't ask again' option to the auto mode opt-in prompt.
- ›New
claude plugin tagsubcommand creates release git tags for plugins with version validation. - ›
--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 honorsANTHROPIC_DEFAULT_*_MODEL_NAME/_DESCRIPTIONoverrides when using a customANTHROPIC_BASE_URLgateway. - ›Plugin version-constraint skips during auto-update are now surfaced in
/doctorand the/pluginErrors tab.
- ›Adds vim visual mode (
- v2.1.117
Claude Code v2.1.117 adds fork-subagent support, richer OpenTelemetry attributes, and faster native search via embedded bfs/ugrep.
└──▷ GET THIS VERSION$ git clone --branch v2.1.117 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.117
└──▷ TRY ITSurface custom/MCP slash-command names in OpenTelemetry traces for full audit visibility (they are redacted by default).$ OTEL_LOG_TOOL_DETAILS=1 claude- ›Enables forked subagents on external builds via
CLAUDE_CODE_FORK_SUBAGENT=1. - ›Loads agent frontmatter
mcpServersfor main-thread agent sessions launched with--agent. - ›Persists
/modelselections across restarts even when a project pins a different model; startup header now indicates when the active model is from a project or managed-settings pin. - ›Adds summarization offer in
/resumefor stale, large sessions before re-reading them. - ›Concurrent MCP server connections now default when both local and claude.ai servers are configured, reducing startup time.
+9 moreshow less
- ›
plugin installon an already-installed plugin now installs any missing dependencies instead of stopping. - ›Adds
claude plugin marketplace addauto-resolution of missing dependencies from configured marketplaces; dependency errors now include an install hint. - ›Enforces managed-settings
blockedMarketplacesandstrictKnownMarketplaceson plugin install, update, refresh, and autoupdate. - ›Advisor Tool (experimental) dialog now carries an 'experimental' label, a learn-more link, and a startup notification when enabled.
- ›Extends
cleanupPeriodDaysretention sweep to cover~/.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 for models that support effort levels; custom/MCP command names are redacted unlessOTEL_LOG_TOOL_DETAILS=1is set. - ›On native macOS and Linux builds, Glob and Grep tools are replaced by embedded
bfsandugrepavailable through the Bash tool, enabling faster searches without a separate tool round-trip. - ›Windows builds now cache
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(previouslymedium).
- ›Enables forked subagents on external builds via
- v2.1.116
Claude Code v2.1.116 adds faster session resumption, deferred MCP startup, inline thinking progress, and smarter plugin dependency auto-install.
└──▷ GET THIS VERSION$ git clone --branch v2.1.116 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.116
└──▷ TRY ITAfter adding a new plugin source, force-reload plugins so missing dependencies are pulled in automatically without manual marketplace steps.$ /reload-pluginsConfigure scroll sensitivity for VS Code, Cursor, or Windsurf so fullscreen sessions scroll smoothly without manual editor tweaks.$ /terminal-setupRun a main-thread agent that fires its frontmatter hooks as part of the agent lifecycle.$ claude --agent <path/to/agent.md>
- ›Speeds up
/resumeon large sessions by up to 67% on sessions 40 MB and larger, with more efficient handling of dead-fork entries. - ›Defers
resources/templates/listto first@-mention, reducing MCP startup time when multiple stdio servers are configured. - ›Improves fullscreen scrolling in VS Code, Cursor, and Windsurf terminals —
/terminal-setupnow configures scroll sensitivity for those editors. - ›Replaces the separate thinking-hint row with an inline progress indicator ('still thinking', 'thinking more', 'almost done thinking') in the spinner.
- ›Extends
/configsearch to match option values (e.g. searching 'vim' surfaces the Editor mode setting).
+7 moreshow less
- ›Allows
/doctorto be opened while Claude is actively responding, without waiting for the current turn to finish. - ›Enables
/reload-pluginsand background plugin auto-update to auto-install missing plugin dependencies from already-added marketplaces. - ›Surfaces a rate-limit hint in the Bash tool when
ghcommands hit GitHub's API rate limit, letting agents back off instead of retrying. - ›Shows 5-hour and weekly usage immediately in the Settings Usage tab, with graceful handling when the usage endpoint is rate-limited.
- ›Fires agent frontmatter
hooks:when the agent is run as a main-thread agent via--agent. - ›Displays 'No commands match' in the slash command menu when a filter has zero results instead of hiding the menu entirely.
- ›Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for
rm/rmdirtargeting/,$HOME, or other critical system directories.
- ›Speeds up
- v2.1.113
Claude Code v2.1.113 adds domain blocklisting, exec-wrapper deny rules, and expanded Remote Control capabilities.
└──▷ GET THIS VERSION$ git clone --branch v2.1.113 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.113
└──▷ USE ITBlock a specific domain (e.g., an exfiltration endpoint) even when a wildcardallowedDomainsrule would normally permit it.# In your Claude Code settings (e.g., .claude/settings.json) { "sandbox": { "network": { "allowedDomains": ["*.example.com"], "deniedDomains": ["malicious.example.com"] } } }- ›New
sandbox.network.deniedDomainssetting blocks specific domains even when a broaderallowedDomainswildcard would otherwise permit them. - ›Security: Bash deny rules now match commands wrapped in
env/sudo/watch/ionice/setsidand similar exec wrappers, closing bypass paths. - ›Security: Bash(find:*) allow rules no longer auto-approve
find -exec/-delete, preventing unintended file operations. - ›Security: on macOS,
/private/{etc,var,tmp,home}paths are treated as dangerous removal targets under Bash(rm:*) allow rules. - ›Bash tool now shows the full command in the transcript for multi-line commands whose first line is a comment, closing a UI-spoofing vector.
+7 moreshow less
- ›Remote Control (mobile/web) clients can now use
/extra-usageand query@-fileautocomplete suggestions. - ›CLI now spawns a native Claude Code binary via a per-platform optional dependency instead of bundled JavaScript.
- ›Ctrl+A and Ctrl+E move to the start/end of the current logical line in multiline input, matching readline behavior.
- ›Windows: Ctrl+Backspace now deletes the previous word.
- ›Long URLs in responses and bash output stay clickable when they wrap across lines in terminals with OSC 8 hyperlinks.
- ›Improved
/ultrareview: faster launch with parallelized checks, diffstat in the launch dialog, and animated launching state. - ›Improved
/loop: pressing Esc cancels pending wakeups; wakeups display as 'Claude resuming/loopwakeup' for clarity.
- ›New
- v2.1.111
Claude Code v2.1.111 adds
/ultrareviewfor cloud-based PR analysis, xhigh effort tier, PowerShell support, and a permission-prompt reducer.└──▷ GET THIS VERSION$ git clone --branch v2.1.111 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.111
└──▷ TRY ITReview a specific GitHub PR with multi-agent cloud analysis to get comprehensive feedback before merging.$ /ultrareview 4821Reduce permission prompts in a project by auto-generating an allowlist from your session history.$ /less-permission-promptsEmit full API request and response bodies as OpenTelemetry log events to trace model calls during debugging.$ OTEL_LOG_RAW_API_BODIES=1 claude --output-format stream-json '<prompt>'
- ›Adds
xhigheffort level for Opus 4.7, sitting betweenhighandmax; selectable via/effort,--effort, or the model picker. - ›New
/ultrareviewcommand runs comprehensive code review in the cloud using parallel multi-agent analysis — no arguments reviews the current branch;/ultrareview <PR#>fetches and reviews a specific GitHub PR. - ›New
/less-permission-promptsskill scans transcripts for common read-only Bash and MCP tool calls and proposes a prioritized allowlist for.claude/settings.json. - ›Auto mode is now available for Max subscribers using Opus 4.7, and no longer requires the
--enable-auto-modeflag. - ›Adds PowerShell tool support on Windows (progressive rollout); opt in/out with
CLAUDE_CODE_USE_POWERSHELL_TOOL; enable on Linux/macOS withCLAUDE_CODE_USE_POWERSHELL_TOOL=1(requirespwshon PATH).
+9 moreshow less
- ›Adds
OTEL_LOG_RAW_API_BODIESenvironment variable to emit full API request and response bodies as OpenTelemetry log events for debugging. - ›New 'Auto (match terminal)' theme option automatically matches the terminal's dark/light mode; selectable via
/theme. - ›
/effortnow opens an interactive slider with arrow-key navigation and Enter to confirm when called without arguments. - ›Read-only bash commands with glob patterns (e.g.
ls *.ts) and commands beginning withcd <project-dir> &&no longer trigger a permission prompt. - ›
/skillsmenu now supports sorting by estimated token count — presstto toggle. - ›Ctrl+L now 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. - ›Headless
--output-format stream-jsonnow includesplugin_errorson the init event when plugins are demoted for unsatisfied dependencies. - ›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 '1M context' option for supported models.
└──▷ BREAKING ON UPGRADE- !Ctrl+U behavior changed: it now clears the entire input buffer instead of deleting only to the start of the line (press Ctrl+Y to restore).
- ›Adds
- v2.1.110
Claude Code v2.1.110 adds flicker-free TUI fullscreen, mobile push notifications, and distributed trace linking for SDK sessions.
└──▷ GET THIS VERSION$ git clone --branch v2.1.110 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.110
└──▷ TRY ITSwitch to flicker-free fullscreen rendering mid-conversation without starting a new session.$ /tui fullscreenLink a headless Claude Code SDK run into your existing distributed trace for end-to-end observability.$ TRACEPARENT=00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01 TRACESTATE=vendor=value claude --headless --print "summarise logs"
- ›Adds
/tuicommand andtuisetting — run/tui fullscreento switch to flicker-free rendering within the same conversation. - ›Adds
/focuscommand to toggle focus view independently from verbose transcript (previously both were on Ctrl+O). - ›Adds push notification tool so Claude can send mobile push notifications when Remote Control and 'Push when Claude decides' config are enabled.
- ›Adds
autoScrollEnabledconfig to disable conversation auto-scroll in fullscreen mode. - ›Adds option to show Claude's last response as commented context in the Ctrl+G external editor, enabled via
/config.
+7 moreshow less
- ›Improves
/pluginInstalled tab: items needing attention and favorites float to the top, disabled items collapse behind a fold, andffavorites the selected item. - ›Improves
/doctorto warn when an MCP server is defined in multiple config scopes with different endpoints. - ›
--resume/--continuenow resurrects unexpired scheduled tasks. - ›Enables
/autocompact,/context,/exit, and/reload-pluginscommands from Remote Control (mobile/web) clients. - ›Write tool now informs the model when you edit proposed content in the IDE diff before accepting.
- ›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.
└──▷ BREAKING ON UPGRADE- !Ctrl+O no longer toggles focus view — it now toggles between normal and verbose transcript only; focus view must be toggled with the new
/focuscommand.
- ›Adds
- v2.1.108
Claude Code v2.1.108 adds 1-hour prompt cache TTL opt-in, session recap, and slash-command discovery via Skill tool.
└──▷ GET THIS VERSION$ git clone --branch v2.1.108 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.108
└──▷ TRY ITOpt into the 1-hour prompt cache TTL on Bedrock to cut repeated-context costs across long sessions.$ ENABLE_PROMPT_CACHING_1H=1 claudeRe-orient yourself after stepping away from a long session without scrolling through the full transcript.$ /recapResume work in the current repo — the picker now defaults to sessions from this directory; switch to all projects if needed.$ /resume # Ctrl+A to expand to all projects- ›Adds
ENABLE_PROMPT_CACHING_1Henv var to opt into 1-hour prompt cache TTL across API key, Bedrock, Vertex, and Foundry backends;FORCE_PROMPT_CACHING_5Mforces the 5-minute TTL. - ›Adds
/recapcommand (andCLAUDE_CODE_ENABLE_AWAY_SUMMARYenv var) to generate a context summary when returning to a session; also configurable via/config. - ›Enables the model to discover and invoke built-in slash commands (
/init,/review,/security-review) via the Skill tool. - ›Adds
/undoas an alias for/rewind. - ›Adds a warning at startup when prompt caching is disabled via
DISABLE_PROMPT_CACHING*environment variables.
+5 moreshow less
- ›Adds a 'verbose' indicator when viewing the detailed transcript via Ctrl+O.
- ›Improves
/resumepicker to default to sessions from the current directory; Ctrl+A reveals all projects. - ›Improves
/modelto warn before switching models mid-conversation to flag the uncached full-history re-read cost. - ›Improves error messages: rate limits distinguished from plan usage limits; 5xx/529 errors link to
status.claude.com; unknown slash commands suggest the closest match. - ›Reduces memory footprint for file reads, edits, and syntax highlighting by loading language grammars on demand.
└──▷ BREAKING ON UPGRADE- !
ENABLE_PROMPT_CACHING_1H_BEDROCKis deprecated (still honored) in favor of the unifiedENABLE_PROMPT_CACHING_1Henv var.
- ›Adds
- v2.1.105
Claude Code v2.1.105 adds PreCompact hooks, plugin background monitors, worktree path switching, and a smarter
/doctorwith auto-fix.└──▷ GET THIS VERSION$ git clone --branch v2.1.105 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.105
└──▷ TRY ITBlock compaction at a critical point in a long session by returning a structured decision from a PreCompact hook.$ #!/usr/bin/env sh # .claude/hooks/pre-compact.sh # Exit code 2 tells Claude Code to block compaction exit 2- ›Adds
pathparameter to theEnterWorktreetool to switch into an existing worktree of the current repository. - ›Adds PreCompact hook support: hooks can block compaction by exiting with code 2 or returning
{"decision":"block"}. - ›Adds background monitor support for plugins via a top-level
monitorsmanifest key that auto-arms at session start or on skill invoke. - ›Adds
/proactiveas an alias for/loop. - ›Improves
/doctorlayout with status icons and addsfkeypress to have Claude automatically fix reported issues.
+3 moreshow less
- ›Raises plugin skill description listing cap from 250 to 1,536 characters, with a startup warning when descriptions are truncated.
- ›Improves
WebFetchto strip<style>and<script>contents from fetched pages, preventing CSS-heavy pages from exhausting the content budget. - ›Improves MCP large-output truncation prompt with format-specific recipes (e.g.
jqfor JSON, computed Read chunk sizes for text).
- ›Adds
- v2.1.101
Claude Code v2.1.101 adds
/team-onboarding, OS CA store trust by default, and auto-create cloud environments for/ultraplan.└──▷ GET THIS VERSION$ git clone --branch v2.1.101 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.101
└──▷ TRY ITGenerate a ramp-up guide for a new teammate joining your project, based on your existing Claude Code usage patterns.$ /team-onboardingResume a named session by its human-readable title (set via/rename) rather than an opaque session ID.$ claude -p --resume my-project-audit
Restrict TLS trust to bundled CAs only, opting out of the new OS CA store default (e.g., in locked-down environments where OS trust anchors should not be used).$ CLAUDE_CODE_CERT_STORE=bundled claude- ›Adds
/team-onboardingcommand to generate a teammate ramp-up guide from your local Claude Code usage. - ›Trusts OS CA certificate store by default, enabling enterprise TLS proxies without extra configuration (set
CLAUDE_CODE_CERT_STORE=bundledto restrict to bundled CAs only). - ›Enables
/ultraplanand other remote-session features to auto-create a default cloud environment, removing the requirement to complete web setup first. - ›Beta tracing now honors
OTEL_LOG_USER_PROMPTS,OTEL_LOG_TOOL_DETAILS, andOTEL_LOG_TOOL_CONTENT; sensitive span attributes are opt-in only. - ›
claude -p --resume <name>now accepts session titles set via/renameor--name.
+5 moreshow less
- ›Rate-limit retry messages now show which limit was hit and when it resets.
- ›Refusal error messages now include the API-provided explanation when available.
- ›Tool-not-available errors now explain why the tool is unavailable and how to proceed.
- ›
/pluginandclaude plugin updatenow warn when the marketplace could not be refreshed instead of silently showing stale versions. - ›SDK query() now cleans up subprocesses and temp files when consumers
breakfromfor awaitor useawait using.
└──▷ BREAKING ON UPGRADE- !OS CA certificate store is now trusted by default; set
CLAUDE_CODE_CERT_STORE=bundledto revert to bundled CAs only.
- ›Adds
- v2.1.98
Claude Code v2.1.98 adds Vertex AI setup wizard, Perforce mode, subprocess sandboxing, and a new Monitor tool for background scripts.
└──▷ GET THIS VERSION$ git clone --branch v2.1.98 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.98
└──▷ TRY ITProtect read-only Perforce-managed files so writes fail loudly with ap4 edithint instead of silently overwriting them.$ CLAUDE_CODE_PERFORCE_MODE=1 claudeSandbox background script subprocesses with PID namespace isolation and cap the number of script invocations per session.$ CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 CLAUDE_CODE_SCRIPT_CAPS=10 claudePrint the current prompt in a cache-friendly form that strips dynamic sections, useful for sharing stable prompt hashes across users in CI.$ claude --print --exclude-dynamic-system-prompt-sections
- ›Adds interactive Google Vertex AI setup wizard from the login screen under '3rd-party platform', guiding through GCP auth, project/region config, credential verification, and model pinning.
- ›New
CLAUDE_CODE_PERFORCE_MODEenv var: Edit/Write/NotebookEdit fail on read-only files with ap4 edithint instead of silently overwriting them. - ›New Monitor tool for streaming events from background scripts.
- ›Adds subprocess sandboxing with PID namespace isolation on Linux when
CLAUDE_CODE_SUBPROCESS_ENV_SCRUBis set; newCLAUDE_CODE_SCRIPT_CAPSenv var limits per-session script invocations. - ›New
--exclude-dynamic-system-prompt-sectionsflag for print mode to improve cross-user prompt caching.
+8 moreshow less
- ›Adds
workspace.git_worktreeto status line JSON input, set when the current directory is inside a linked git worktree. - ›Propagates W3C
TRACEPARENTenv var to Bash tool subprocesses when OTEL tracing is enabled, correctly parenting child-process spans in the trace tree. - ›LSP: Claude Code now identifies itself to language servers via
clientInfoin the initialize request. - ›Improved
/agentswith a tabbed layout: Running tab shows live subagents; Library tab adds Run agent and View running instance actions. - ›Improved
/reload-pluginsto pick up plugin-provided skills without requiring a restart. - ›Improved Vim mode:
j/kin NORMAL mode now navigate history and select the footer pill at the input boundary. - ›Improved OTEL tracing: interaction spans now correctly wrap full turns under concurrent SDK calls, and headless turns end spans per-turn.
- ›Updated
/claude-apiskill to cover Managed Agents alongside Claude API.
- v2.1.97
Claude Code v2.1.97 adds focus view toggle, refreshable status lines, git worktree context, live subagent indicators, and Cedar policy syntax highlighting.
└──▷ GET THIS VERSION$ git clone --branch v2.1.97 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.97
└──▷ USE ITKeep a live clock or custom metric in the status line without restarting — useful for monitoring session-level stats in long-running agentic runs.# In settings.json { "statusLine": { "command": "date '+%H:%M:%S'", "refreshInterval": 5 } }Distinguish which git worktree a subagent is operating in from a shared status-line script — lets you label the session card with the worktree path.# Example status-line script that reads workspace.git_worktree from stdin import sys, json data = json.load(sys.stdin) worktree = data.get("workspace", {}).get("git_worktree", "") print(f"worktree: {worktree}" if worktree else "main worktree")Toggle focus view during a long tool-heavy session to see just the prompt, a compact tool summary, and the final response without visual noise.$ # While Claude Code is running in NO_FLICKER mode, press: Ctrl+O- ›Adds focus view toggle (Ctrl+O) in
NO_FLICKERmode showing prompt, one-line tool summary with edit diffstats, and final response - ›Adds
refreshIntervalstatus line setting to re-run the status line command every N seconds - ›Adds
workspace.git_worktreefield to status line JSON input, populated when inside a linked git worktree - ›Adds
● N runningindicator in/agentsnext to agent types with live subagent instances - ›Adds syntax highlighting for Cedar policy files (
.cedar,.cedarpolicy)
+8 moreshow less
- ›Accept Edits mode now auto-approves filesystem commands prefixed with safe env vars or process wrappers (e.g.
LANG=C rm foo,timeout 5 mkdir out) - ›Auto mode and bypass-permissions mode now auto-approve sandbox network access prompts
- ›
sandbox.network.allowMachLookupnow takes effect on macOS - ›Pasted and attached images are now compressed to the same token budget as images read via the Read tool
- ›Slash command and
@-mentioncompletion now triggers after CJK sentence punctuation, enabling Japanese/Chinese input without a leading space - ›Bridge sessions now display the local git repo, branch, and working directory on the claude.ai session card
- ›Bash tool OTEL tracing now injects a W3C
TRACEPARENTenv var into subprocesses when tracing is enabled - ›Updated
/claude-apiskill to cover Managed Agents alongside the Claude API
- ›Adds focus view toggle (Ctrl+O) in
- v2.1.94
Claude Code v2.1.94 adds Mantle-powered Bedrock support, raises default effort to high, and expands hook/plugin capabilities.
└──▷ GET THIS VERSION$ git clone --branch v2.1.94 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.94
└──▷ TRY ITRoute Claude Code through Amazon Bedrock powered by Mantle instead of the default endpoint.$ CLAUDE_CODE_USE_MANTLE=1 claudeSet a custom session title from a UserPromptSubmit hook by returninghookSpecificOutput.sessionTitle.{ "hookSpecificOutput": { "sessionTitle": "Incident triage — 2025-07-01" } }- ›Adds Amazon Bedrock powered by Mantle support via
CLAUDE_CODE_USE_MANTLE=1. - ›Raises default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (adjustable with
/effort). - ›Adds compact
Slacked #channelheader with a clickable channel link for Slack MCP send-message tool calls. - ›Adds
keep-coding-instructionsfrontmatter field support for plugin output styles. - ›Adds
hookSpecificOutput.sessionTitletoUserPromptSubmithooks for setting the session title programmatically.
+3 moreshow less
- ›Plugin skills declared via
"skills": ["./"]now use the skill frontmatternameas the invocation name instead of the directory basename, providing a stable name across install methods. - ›Improves
--resumeto resume sessions from other worktrees of the same repo directly instead of printing acdcommand. - ›[VSCode] Adds a warning banner when
settings.jsonfiles fail to parse so users know their permission rules are not being applied.
- ›Adds Amazon Bedrock powered by Mantle support via
- v2.1.92
Claude Code v2.1.92 adds fail-closed remote policy enforcement, an interactive Bedrock setup wizard, and richer cost breakdowns.
└──▷ GET THIS VERSION$ git clone --branch v2.1.92 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.92
└──▷ TRY ITName a Remote Control session with your own prefix so it's identifiable across machines in a shared team environment.$ claude --remote-control-session-name-prefix my-team
- ›Adds
forceRemoteSettingsRefreshpolicy setting that blocks CLI startup until remote managed settings are freshly fetched and exits on fetch failure (fail-closed). - ›Adds an interactive Bedrock setup wizard from the login screen ('3rd-party platform') guiding AWS auth, region config, credential verification, and model pinning.
- ›Adds per-model and cache-hit cost breakdown to the
/costcommand for subscription users. - ›Upgrades
/release-notesto an interactive version picker. - ›Remote Control session names now default to your hostname as prefix (e.g.
myhost-graceful-unicorn), overridable with--remote-control-session-name-prefix.
+2 moreshow less
- ›Pro users see a footer hint when returning to a session after prompt cache expiry, showing estimated uncached tokens for the next turn.
- ›Write tool diff computation is 60% faster on large files containing tabs,
&, or$.
└──▷ BREAKING ON UPGRADE- !The
/tagcommand has been removed. - !The
/vimcommand has been removed; vim mode must now be toggled via/config→ Editor mode.
- ›Adds
- v2.1.91
Claude Code v2.1.91 adds MCP large-result passthrough, plugin executables, and multi-line deep link support.
└──▷ GET THIS VERSION$ git clone --branch v2.1.91 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.91
└──▷ USE ITPass a large DB schema or other oversized MCP tool result through without truncation by annotating the result metadata.{ "_meta": { "anthropic/maxResultSizeChars": 500000 }, "content": "<full schema here>" }Open Claude Code from a browser or launcher with a multi-line prompt pre-filled — useful for scripted handoffs or automation.$ open 'claude-cli://open?q=Summarize%20this%20file%0AHere%20is%20the%20context'Lock down a shared or CI environment so plugin and slash commands cannot execute inline shell code.# In your Claude Code settings.json { "disableSkillShellExecution": true }- ›Adds MCP tool result persistence override via
_meta["anthropic/maxResultSizeChars"]annotation (up to 500K), allowing large results like DB schemas to pass through without truncation. - ›New
disableSkillShellExecutionsetting to disable inline shell execution in skills, custom slash commands, and plugin commands. - ›Supports multi-line prompts in
claude-cli://open?q=deep links — encoded newlines (%0A) are no longer rejected. - ›Plugins can now ship executables under
bin/and invoke them as bare commands from the Bash tool.
- ›Adds MCP tool result persistence override via
- v2.1.90
Claude Code v2.1.90 adds
/powerupinteractive lessons, offline plugin cache control, and faster/resumeloading.└──▷ GET THIS VERSION$ git clone --branch v2.1.90 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.90
└──▷ TRY ITLaunch interactive feature lessons to onboard yourself or a teammate to Claude Code capabilities.$ /powerupKeep plugin marketplace working in an offline or network-restricted environment wheregit pullfails.$ CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1 claude- ›Adds
/powerupcommand: interactive lessons teaching Claude Code features with animated demos. - ›Adds
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILUREenv var to preserve the existing marketplace cache whengit pullfails, enabling plugin use in offline or air-gapped environments. - ›Adds
.huskyto the list of protected directories in acceptEdits mode. - ›Improves
/resumeall-projects view to load project sessions in parallel, reducing wait times for users with many projects. - ›Changes
--resumepicker to hide sessions created byclaude -por SDK invocations, keeping the list focused on interactive sessions.
+1 moreshow less
- ›Removes
Get-DnsClientCacheandipconfig /displaydnsfrom the auto-allow list to protect DNS cache privacy.
└──▷ BREAKING ON UPGRADE- !
Get-DnsClientCacheandipconfig /displaydnsare no longer auto-allowed; setups or scripts that relied on these commands running without a permission prompt will now require explicit approval.
- ›Adds
- v2.1.89
Claude Code v2.1.89 adds deferred-permission hooks, flicker-free rendering, PermissionDenied hook, and faster MCP connections in headless mode.
└──▷ GET THIS VERSION$ git clone --branch v2.1.89 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.89
└──▷ TRY ITPause a headless session at a sensitive tool call and let a hook re-evaluate before proceeding — useful for human-in-the-loop approval pipelines.$ claude -p --resume <session-id>
Speed up CI/automation runs by skipping MCP server wait entirely and capping individual server connect time at 5 s.$ MCP_CONNECTION_NONBLOCKING=true claude -p --mcp-config mcp.json '<prompt>'
Eliminate terminal flicker in long streaming sessions or when running inside a multiplexer like tmux.$ CLAUDE_CODE_NO_FLICKER=1 claude- ›Adds
"defer"permission decision toPreToolUsehooks, letting headless sessions pause at a tool call and resume via-p --resumefor hook re-evaluation. - ›Adds
CLAUDE_CODE_NO_FLICKER=1environment variable to enable flicker-free alt-screen rendering with virtualized scrollback. - ›Adds
PermissionDeniedhook that fires after auto-mode classifier denials — return{retry: true}to signal the model it can retry the tool call. - ›Adds named subagents to
@mention typeahead suggestions. - ›Adds
MCP_CONNECTION_NONBLOCKING=truefor-pmode to skip the MCP connection wait entirely; bounds--mcp-configserver connections at 5 s instead of blocking on the slowest server.
+5 moreshow less
- ›Auto mode: denied commands now surface a notification and appear in
/permissions→ Recent tab where you can retry withr. - ›Enables Edit to work on files viewed via Bash with
sed -norcat, without requiring a separate Read call first. - ›Hook output exceeding 50 K characters is now saved to disk with a file path and preview instead of being injected directly into context.
- ›
/envnow applies to PowerShell tool commands (previously only affected Bash). - ›Pasting
!commandinto an empty prompt now enters bash mode, matching typed!behavior.
└──▷ BREAKING ON UPGRADE- !
cleanupPeriodDays: 0in settings.json is now rejected with a validation error (it previously silently disabled transcript persistence). - !Thinking summaries are no longer generated by default in interactive sessions — existing workflows that relied on them must set
showThinkingSummaries: truein settings.json.
- ›Adds
- v2.1.86
Claude Code v2.1.86 adds session-ID headers for proxy aggregation and expands VCS exclusions to Jujutsu and Sapling.
└──▷ GET THIS VERSION$ git clone --branch v2.1.86 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.86
└──▷ TRY ITFilter and group Claude Code traffic in a reverse proxy or SIEM by session without decoding request bodies.$ # In your proxy or log pipeline, match on the new header: X-Claude-Code-Session-Id: <session-id>- ›Adds X-Claude-Code-Session-Id header to all API requests so proxies can correlate and aggregate a session's requests without body inspection.
- ›Adds
.jjand.slto VCS directory exclusion lists, preventing Grep and file autocomplete from descending into Jujutsu or Sapling metadata directories. - ›Read tool now uses a compact line-number format and deduplicates unchanged re-reads, reducing token usage in file-heavy workflows.
- ›Memory filenames in the 'Saved N memories' notice now highlight on hover and are clickable to open the file directly.
- ›Skill descriptions in the
/skillslisting are capped at 250 characters to reduce context consumption.
+5 moreshow less
- ›
/skillsmenu now sorts alphabetically for easier scanning. - ›Auto mode now displays 'unavailable for your plan' when restricted by plan limits instead of the misleading 'temporarily unavailable'.
- ›Improves prompt cache hit rate for Bedrock, Vertex, and Foundry users by removing dynamic content from tool descriptions.
- ›Reduces startup event-loop stalls when many claude.ai MCP connectors are configured by extending the macOS keychain cache from 5 s to 30 s.
- ›Reduces token overhead when mentioning files with
@by no longer JSON-escaping raw string content.
- v2.1.85
Claude Code v2.1.85 adds conditional hook filtering, richer PreToolUse headless flows, and expanded deep-link query support.
└──▷ GET THIS VERSION$ git clone --branch v2.1.85 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.85
└──▷ USE ITRun a git-related hook only when Bash commands matchgit *, avoiding overhead for every other tool call.# In your hooks config (e.g., .claude/settings.json) { "hooks": { "PreToolUse": [ { "if": "Bash(git *)", "command": "./scripts/audit-git-command.sh" } ] } }Allow a headless CI integration to answer tool-permission questions programmatically without interactive prompts.# PreToolUse hook returns both a permission decision and updated input # so AskUserQuestion is satisfied without user interaction { "permissionDecision": "allow", "updatedInput": { "answer": "yes" } }Enable full tool-parameter logging in OTEL tool_result events for detailed pipeline observability.$ OTEL_LOG_TOOL_DETAILS=1 claude --mcp-config mcp.json 'audit my repo'
- ›Adds
CLAUDE_CODE_MCP_SERVER_NAMEandCLAUDE_CODE_MCP_SERVER_URLenvironment variables to MCPheadersHelperscripts, enabling a single helper script to serve multiple MCP servers. - ›Adds conditional
iffield to hooks using permission rule syntax (e.g., Bash(git *)) so hooks only fire for matching tool calls, reducing unnecessary process spawning. - ›Adds timestamp markers in transcripts when scheduled tasks (
/loop,CronCreate) fire, making it easier to audit timing of automated runs. - ›Expands deep link query support (
claude-cli://open?q=…) 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 locate the authorization server automatically.
+4 moreshow less
- ›Organization-policy-blocked plugins (
managed-settings.json) are now hidden from marketplace views and cannot be installed or enabled. - ›PreToolUse hooks can now satisfy
AskUserQuestionby returningupdatedInputalongsidepermissionDecision: "allow", enabling headless integrations to supply answers programmatically. - ›Gates
tool_parametersin OpenTelemetrytool_resultevents behind theOTEL_LOG_TOOL_DETAILS=1environment variable to reduce log verbosity by default. - ›Improves PowerShell dangerous command detection coverage.
└──▷ BREAKING ON UPGRADE- !
tool_parametersin OpenTelemetrytool_resultevents are no longer emitted by default; setOTEL_LOG_TOOL_DETAILS=1to restore them.
- ›Adds
- v2.1.84
Claude Code v2.1.84 adds PowerShell tool preview, new hooks, env-var overrides for 3p model capability detection, and MCP deduplication.
└──▷ GET THIS VERSION$ git clone --branch v2.1.84 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.84
└──▷ TRY ITOverride capability detection when using a pinned Bedrock/Vertex/Foundry model that Claude Code doesn't recognize as supporting extended thinking.$ ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTS=thinking claudeRaise the streaming idle watchdog timeout to 3 minutes for slow-responding enterprise API gateways.$ CLAUDE_STREAM_IDLE_TIMEOUT_MS=180000 claude- ›Adds PowerShell tool for Windows as an opt-in preview, enabling native PowerShell execution alongside the existing bash tool.
- ›Adds
ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL_SUPPORTSenv vars to override effort/thinking capability detection for pinned default models on Bedrock, Vertex, and Foundry; companion_MODEL_NAME/_DESCRIPTIONvars customize the/modelpicker label. - ›Adds
CLAUDE_STREAM_IDLE_TIMEOUT_MSenv var to configure the streaming idle watchdog threshold (default 90 s). - ›Adds
TaskCreatedhook that fires when a task is created viaTaskCreate. - ›Adds
type: "http"support for theWorktreeCreatehook — return the created worktree path viahookSpecificOutput.worktreePathin the response JSON.
+10 moreshow less
- ›Adds
allowedChannelPluginsmanaged setting for team/enterprise admins to define a channel plugin allowlist. - ›Adds
x-client-request-idheader to all API requests to aid timeout debugging. - ›Adds idle-return prompt that nudges users back after 75+ minutes of inactivity to
/clear, reducing unnecessary token re-caching on stale sessions. - ›Deep links (
claude-cli://) now open in the user's preferred terminal instead of the first terminal found in the detection list. - ›Rules and skills
paths:frontmatter now accepts a YAML list of globs, not just a single pattern. - ›MCP servers configured both locally and via claude.ai connectors are now deduplicated — local config wins.
- ›Background bash tasks stuck on an interactive prompt now surface a notification after ~45 seconds.
- ›Global system-prompt caching now works when
ToolSearchis enabled, including for users with MCP tools configured. - ›[VSCode] Adds a rate-limit warning banner showing usage percentage and reset time.
- ›Stats screenshot (Ctrl+S in
/stats) now works in all builds and renders 16× faster.
- v2.1.83
Claude Code v2.1.83 adds drop-in policy fragments, new hook events, credential scrubbing, transcript search, and agent initialPrompt support.
└──▷ GET THIS VERSION$ git clone --branch v2.1.83 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.83
└──▷ TRY ITStrip cloud credentials from all subprocesses to prevent accidental credential leakage to spawned tools and MCP servers.$ CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 claudePrevent Claude Code from registering the claude-cli:// URL handler on a locked-down or shared workstation.# In managed-settings.json or a managed-settings.d/ fragment: { "disableDeepLinkRegistration": true }- ›Adds
managed-settings.d/drop-in directory so separate teams can deploy independent policy fragments that merge alphabetically alongsidemanaged-settings.json. - ›Adds
CwdChangedandFileChangedhook events for reactive environment management (e.g., direnv integration). - ›Adds
sandbox.failIfUnavailablesetting to exit with an error when sandbox is enabled but cannot start, instead of silently running unsandboxed. - ›Adds
disableDeepLinkRegistrationsetting to preventclaude-cli://protocol handler registration. - ›Adds
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1environment variable to strip Anthropic and cloud provider credentials from subprocess environments (Bash tool, hooks, MCP stdio servers).
+10 moreshow less
- ›Adds transcript search — press
/in transcript mode (Ctrl+O) to search, thenn/Nto step through matches. - ›Adds Ctrl+X Ctrl+E as a readline-native alias for opening the external editor (Ctrl+G still works).
- ›Pasted images now insert an
[Image #N]chip at the cursor for positional referencing in prompts. - ›Agents can now declare
initialPromptin frontmatter to auto-submit a first turn. - ›
chat:killAgentsandchat:fastModekeybindings are now rebindable via~/.claude/keybindings.json. - ›
/statusnow works while Claude is responding, instead of being queued until the turn finishes. - ›Linux now respects
XDG_DATA_HOMEwhen registering theclaude-cli://protocol handler. - ›
WebFetchnow identifies as Claude-User so site operators can recognize and allowlist Claude Code traffic viarobots.txt. - ›Increased non-streaming fallback token cap from 21k to 64k and timeout from 120s to 300s so fallback requests are less likely to be truncated.
- ›[VSCode] Spinner now turns red with 'Not responding' when the backend hasn't responded for 60 seconds.
└──▷ BREAKING ON UPGRADE- !The 'stop all background agents' keybinding is changed from Ctrl+F to Ctrl+X Ctrl+K.
- !
TaskOutputtool is deprecated in favor of using Read on the background task's output file path.
- ›Adds
- v2.1.81
Claude Code v2.1.81 adds
--bareflag for headless scripting and--channelspermission relay to mobile devices.└──▷ GET THIS VERSION$ git clone --branch v2.1.81 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.81
└──▷ TRY ITRun a fully headless, hook-free scripted prompt in CI where only an API key is available — no OAuth, no plugin overhead.$ claude --bare -p "Summarize the security findings in findings.json" --settings ci-settings.json
- ›Adds
--bareflag for scripted-pcalls — skips hooks, LSP, plugin sync, and skill directory walks; requiresANTHROPIC_API_KEYorapiKeyHelpervia--settings(OAuth/keychain and auto-memory disabled). - ›Adds
--channelspermission relay so channel servers that declare the permission capability can forward tool-approval prompts to your phone. - ›Updates MCP OAuth to support Client ID Metadata Document (CIMD / SEP-991) for servers without Dynamic Client Registration.
- ›Improves MCP read/search tool calls to collapse into a single 'Queried {server}' line, expandable with Ctrl+O.
- ›Improves
!bash mode discoverability — Claude now suggests it when you need to run an interactive command.
+2 moreshow less
- ›Improves ref-tracked plugin freshness — plugins now re-clone on every load to pick up upstream changes.
- ›Resuming a session that was in a worktree now automatically switches back to that worktree.
└──▷ BREAKING ON UPGRADE- !Plan mode now hides the 'clear context' option by default; restore it by setting
"showClearContextOnPlanAccept": truein settings. - !Line-by-line response streaming is disabled on Windows (including WSL in Windows Terminal) due to rendering issues.
- ›Adds
- v2.1.80
Claude Code v2.1.80 adds MCP push channels, inline plugin settings, effort frontmatter, and rate-limit statusline fields.
└──▷ GET THIS VERSION$ git clone --branch v2.1.80 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.80
└──▷ TRY ITPush messages into your session from an MCP server during a long-running workflow — currently in research preview.$ claude --channels
Set a specific effort level for a skill or slash command so it always runs at the right cost/quality trade-off when invoked.# In your skill or slash-command frontmatter: --- effort: low ---
- ›Adds
rate_limitsfield to statusline scripts exposing Claude.ai rate-limit usage across 5-hour and 7-day windows, includingused_percentageandresets_at. - ›Adds
source: 'settings'plugin marketplace source so plugin entries can be declared inline in settings.json without a separate marketplace lookup. - ›Adds CLI tool usage detection to plugin tips, supplementing existing file-pattern matching for smarter plugin suggestions.
- ›Adds
effortfrontmatter key for skills and slash commands to override the model effort level on a per-command basis. - ›Adds
--channels(research preview) enabling MCP servers to push messages directly into a running session.
- ›Adds
- v2.1.79
Claude Code v2.1.79 adds Console auth, turn-duration display, remote-control bridge, and multi-directory plugin seeds.
└──▷ GET THIS VERSION$ git clone --branch v2.1.79 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.79
└──▷ TRY ITAuthenticate with the Anthropic Console (API billing) instead of the default Claude.ai login flow.$ claude auth login --console
Load plugins from multiple seed directories at once — useful when team-wide and project-local plugins live in separate paths.$ CLAUDE_CODE_PLUGIN_SEED_DIR=/shared/plugins:/project/.claude/plugins claudeBridge a running VSCode session to claude.ai/code so you can continue the conversation from a browser or phone.$ /remote-control- ›Adds
--consoleflag toclaude auth loginfor Anthropic Console (API billing) authentication. - ›Adds 'Show turn duration' toggle to the
/configmenu to display how long each turn takes. - ›Adds
CLAUDE_CODE_PLUGIN_SEED_DIRsupport for multiple seed directories separated by the platform path delimiter (:on Unix,;on Windows). - ›[VSCode] Adds
/remote-controlcommand to bridge your session to claude.ai/code for continuation from a browser or phone. - ›[VSCode] Session tabs now receive AI-generated titles based on your first message.
- ›Adds
- v2.1.78
Claude Code v2.1.78 adds a StopFailure hook, plugin persistent state, and frontmatter-driven agent configuration.
└──▷ GET THIS VERSION$ git clone --branch v2.1.78 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.78
└──▷ USE ITTrigger a Slack alert or pager when a session dies mid-run due to a rate limit or auth failure.# In your Claude Code hooks config, add a StopFailure handler: { "hooks": { "StopFailure": "notify-on-error.sh" } }Add a custom internal model (e.g. a fine-tune) to the/modelpicker so teammates can select it by name.$ export ANTHROPIC_CUSTOM_MODEL_OPTION=my-org/claude-fine-tune-v1 export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="FineTune v1" export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Internal security-tuned variant" claudeStore plugin state across updates so that user preferences or cached data persist after a/pluginupgrade.$ # Inside your plugin script, write persistent data to the provided path: echo '{"last_scan": "2025-01-01"}' > "${CLAUDE_PLUGIN_DATA}/state.json"- ›New
StopFailurehook event fires when a turn ends due to an API error (rate limit, auth failure, etc.), enabling automated error-handling workflows. - ›New
${CLAUDE_PLUGIN_DATA}variable provides plugins a persistent state directory that survives plugin updates;/plugin uninstallnow prompts before deleting it. - ›Plugin-shipped agents can now declare
effort,maxTurns, anddisallowedToolsin frontmatter for per-agent configuration. - ›New
ANTHROPIC_CUSTOM_MODEL_OPTIONenv var adds a custom entry to the/modelpicker, with optional_NAMEand_DESCRIPTIONsuffix vars for display. - ›Terminal notifications (iTerm2/Kitty/Ghostty popups, progress bar) now propagate to the outer terminal when Claude Code runs inside tmux with
set -g allow-passthrough on.
+1 moreshow less
- ›Response text now streams line-by-line as it is generated.
- ›New
- v2.1.77
Claude Code v2.1.77 raises output token limits to 128k, adds
allowReadsandbox setting, and improves/copy, plugins, and agent resumption.└──▷ GET THIS VERSION$ git clone --branch v2.1.77 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.77
└──▷ USE ITRe-allow read access to a specific path inside a broaderdenyReadregion for fine-grained sandbox control.# In your Claude Code sandbox config: denyRead: ["/home/user"] allowRead: ["/home/user/project"]
Retrieve a specific earlier assistant response — useful when you want to copy a response from several turns ago without scrolling.$ /copy 3Validate a plugin's frontmatter and hooks config before publishing to catch schema and YAML errors early.$ claude plugin validate ./my-plugin- ›Raises default max output tokens for Claude Opus 4.6 to 64k, and the upper bound for Opus 4.6 and Sonnet 4.6 models to 128k tokens.
- ›New
allowReadsandbox filesystem setting lets you re-allow read access withindenyReadregions for fine-grained filesystem control. - ›
/copynow accepts an optional index —/copy Ncopies the Nth-latest assistant response. - ›Renames
/forkto/branch(/forkremains as an alias). - ›Background bash tasks are now killed if output exceeds 5 GB, preventing runaway processes from filling disk.
+8 moreshow less
- ›Sessions are now auto-named from plan content when you accept a plan.
- ›Improved
claude plugin validateto check skill, agent, and command frontmatter plushooks/hooks.json, catching YAML parse errors and schema violations. - ›Headless mode plugin installation now composes correctly with
CLAUDE_CODE_PLUGIN_SEED_DIR. - ›Shows a notice when
apiKeyHelpertakes longer than 10s, preventing it from blocking the main loop. - ›Faster startup on macOS (~60 ms) by reading keychain credentials in parallel with module loading.
- ›Faster
--resumeon fork-heavy and very large sessions — up to 45% faster loading and ~100–150 MB less peak memory. - ›[VSCode] Plan preview tab titles now use the plan's heading instead of 'Claude's Plan'.
- ›[VSCode] Footer now points to the
macOptionClickForcesSelectionsetting when option+click doesn't trigger native selection on macOS.
└──▷ BREAKING ON UPGRADE- !The Agent tool no longer accepts a
resumeparameter — use SendMessage({to: agentId}) to continue a previously spawned agent.
- v2.1.76
Claude Code v2.1.76 adds MCP elicitation, new hooks, sparse-checkout worktrees,
/effortcommand, and session naming.└──▷ GET THIS VERSION$ git clone --branch v2.1.76 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.76
└──▷ TRY ITName a session at startup so it's identifiable in Remote Control session lists and logs.$ claude -n "incident-2025-investigation" --worktree
Load plugins from two separate directories (e.g. company-wide and personal) using the updated--plugin-dirflag.$ claude --plugin-dir /opt/company-plugins --plugin-dir ~/.local/claude-plugins
- ›Adds MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL).
- ›Adds Elicitation and
ElicitationResulthooks to intercept and override MCP elicitation responses before they're sent back. - ›Adds
-n/--name <name>CLI flag to set a display name for a session at startup. - ›Adds
worktree.sparsePathssetting forclaude --worktreeto check out only specified directories via git sparse-checkout in large monorepos. - ›Adds
PostCompacthook that fires after conversation compaction completes.
+4 moreshow less
- ›Adds
/effortslash command to set the model effort level interactively. - ›Adds session quality survey with configurable sample rate via the
feedbackSurveyRatesetting for enterprise admins. - ›Improves background agent behavior — killing a background agent now preserves its partial results in the conversation context.
- ›Updates
--plugin-dirto support repeated use for multiple directories (one path per flag).
└──▷ BREAKING ON UPGRADE- !
--plugin-dirnow only accepts one path per flag; use repeated--plugin-dirflags to specify multiple plugin directories.
- v2.1.74
Claude Code v2.1.74 adds actionable
/contextoptimization tips and a configurable auto-memory directory.└──▷ GET THIS VERSION$ git clone --branch v2.1.74 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.74
└──▷ USE ITRedirect auto-memory storage to a shared or project-specific path rather than the default location.# In your Claude Code settings (e.g., settings.json) { "autoMemoryDirectory": "/home/user/projects/myproject/.claude-memory" }Spot which tools or memories are eating your context budget and get specific tips to reclaim space before hitting limits.$ /contextSideload a local plugin build that overrides a same-named marketplace plugin during development.$ claude --plugin-dir ./my-plugin-dev-copy
- ›Adds actionable suggestions to the
/contextcommand — identifies context-heavy tools, memory bloat, and capacity warnings with specific optimization tips. - ›Adds
autoMemoryDirectorysetting to configure a custom directory for auto-memory storage. - ›Changes
--plugin-dirso local dev copies now override installed marketplace plugins with the same name (unless force-enabled by managed settings).
- ›Adds actionable suggestions to the
- v2.1.73
Claude Code v2.1.73 adds modelOverrides for custom provider model IDs and actionable SSL error guidance for corporate proxy users.
└──▷ GET THIS VERSION$ git clone --branch v2.1.73 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.73
└──▷ USE ITRoute model picker selections to a specific Bedrock inference profile ARN instead of the default model ID.# In your Claude Code settings (e.g. ~/.claude/settings.json) { "modelOverrides": { "claude-opus-4-5": "arn:aws:bedrock:us-east-1::foundation-model/your-inference-profile-arn" } }- ›Adds
modelOverridessetting to map model picker entries to custom provider model IDs (e.g., Bedrock inference profile ARNs). - ›Adds actionable guidance when OAuth login or connectivity checks fail due to SSL certificate errors (corporate proxies,
NODE_EXTRA_CA_CERTS). - ›Updates default Opus model on Bedrock, Vertex, and Microsoft Foundry to Opus 4.6.
- ›Enables
/effortcommand to work while Claude is responding, matching/modelbehavior.
└──▷ BREAKING ON UPGRADE- !The
/output-stylecommand is deprecated; output style is now fixed at session start for better prompt caching — use/configinstead.
- ›Adds
- v2.1.72
Claude Code v2.1.72 adds file-write in
/copy,/plandescriptions, ExitWorktree tool, cron control, and a VS Code URI handler.└──▷ GET THIS VERSION$ git clone --branch v2.1.72 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.72
└──▷ TRY ITWrite a focused selection to a file over SSH without relying on clipboard access.$ # In an active Claude Code session, open the copy picker with /copy, highlight the desired block, then press `w` to write it directly to a file.Jump straight into plan mode with context so Claude starts immediately rather than waiting for a follow-up prompt.$ claude> /plan fix the auth bugStop all scheduled cron jobs mid-session without restarting Claude Code.$ CLAUDE_CODE_DISABLE_CRON=1 claudeOpen a new Claude Code tab in VS Code programmatically with a pre-filled prompt from an external script or tool.$ open 'vscode://anthropic.claude-code/open?prompt=explain+this+file&session=abc123'- ›Adds
wkey in/copyto write the focused selection directly to a file, bypassing the clipboard — useful over SSH. - ›Adds optional description argument to
/plan(e.g.,/plan fix the auth bug) to enter plan mode and immediately start working. - ›Adds
ExitWorktreetool to cleanly leave anEnterWorktreesession. - ›Adds
CLAUDE_CODE_DISABLE_CRONenvironment variable to immediately stop scheduled cron jobs mid-session. - ›Adds
lsof,pgrep,tput,ss,fd, andfdfindto the bash auto-approval allowlist, reducing permission prompts for common read-only operations.
+9 moreshow less
- ›Adds support for marketplace git URLs without a
.gitsuffix (Azure DevOps, AWS CodeCommit). - ›Adds
claude pluginsas an alias forclaude plugin. - ›Simplifies effort levels to low/medium/high (removed max) with new symbols (○ ◐ ●); adds
/effort autoto reset to default. - ›Improves
/configkeyboard UX — Escape cancels changes, Enter saves and closes, Space toggles settings. - ›Improves up-arrow history to show the current session's messages first when running multiple concurrent sessions.
- ›Improves voice input transcription accuracy for repo names and common dev terms (regex, OAuth, JSON).
- ›Hides CLAUDE.md HTML comments (
<!-- ... -->) from Claude when auto-injected; comments remain visible when read with the Read tool. - ›VSCode: Adds
vscode://anthropic.claude-code/openURI handler to open a new Claude Code tab programmatically, with optionalpromptandsessionquery parameters. - ›VSCode: Adds effort level indicator on the input border.
└──▷ BREAKING ON UPGRADE- !The
CLAUDE_CODE_PROXY_SUPPORTS_TOOL_REFERENCEenvironment variable has been removed; the tool search proxy bypass is now controlled by a different environment variable. - !Effort level
maxhas been removed; valid levels are now low, medium, and high only.
- ›Adds
- v2.1.71
Claude Code v2.1.71 adds
/loopscheduling, rebindable push-to-talk voice, and expands bash auto-approval allowlist└──▷ GET THIS VERSION$ git clone --branch v2.1.71 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.71
└──▷ TRY ITContinuously poll a deploy status every 5 minutes without manually re-running the prompt — useful for watching long-running CI/CD pipelines.$ /loop 5m check the deployRebind push-to-talk to a modifier+letter combo that won't interfere with typing, then activate voice hands-free.// In keybindings.json { "voice:pushToTalk": "meta+k" }- ›New
/loopcommand runs a prompt or slash command on a recurring interval (e.g./loop 5m check the deploy) - ›Adds cron scheduling tools for recurring prompts within a session
- ›New
voice:pushToTalkkeybinding makes the voice activation key rebindable inkeybindings.json(default: space); supports modifier+letter combos likemeta+k - ›Expands bash auto-approval allowlist with
fmt,comm,cmp,numfmt,expr,test,printf,getconf,seq,tsort, andpr - ›Updates
/debugto toggle debug logging on mid-session without requiring a restart
+2 moreshow less
- ›Improves
/plugin uninstallto disable project-scoped plugins in.claude/settings.local.jsoninstead of.claude/settings.json, keeping changes out of shared teammate config - ›Plugin-provided MCP servers that duplicate a manually-configured server (same command/URL) are now automatically skipped, with suppressions shown in the
/pluginmenu
- ›New
- v2.1.70
Claude Code v2.1.70 adds VS Code session browser, plan markdown view, and native MCP server management dialog.
└──▷ GET THIS VERSION$ git clone --branch v2.1.70 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.70
└──▷ TRY ITManage MCP servers (enable/disable, reconnect, OAuth) directly from the VS Code chat panel without switching to a terminal.$ /mcp- ›Adds a spark icon in the VS Code activity bar listing all Claude Code sessions, with sessions opening as full editors.
- ›Adds a full markdown document view for plans in VS Code, including support for inline comments to provide feedback.
- ›Adds a native MCP server management dialog via
/mcpin the VS Code chat panel — enable/disable servers, reconnect, and manage OAuth authentication without leaving the editor.
- v2.1.69
Claude Code v2.1.69 adds Voice STT in 20 languages, new hook events, plugin hot-reload, and a suite of new settings and CLI options.
└──▷ GET THIS VERSION$ git clone --branch v2.1.69 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.69
└──▷ TRY ITStrip Claude's default git commit/PR instructions from the system prompt when your team enforces its own commit conventions via a CLAUDE.md rule.$ CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=1 claudeHot-reload plugins mid-session after editing a SKILL.md or plugin manifest, without restarting Claude Code.$ /reload-plugins- ›Adds
/claude-apiskill for building applications with the Claude API and Anthropic SDK - ›Adds Ctrl+U on an empty bash prompt (
!) to exit bash mode, matching Escape and Backspace - ›Adds numeric keypad support for selecting options in Claude's interview questions
- ›Adds optional
--nameargument to/remote-controlandclaude remote-controlto set a custom session title visible in claude.ai/code - ›Expands Voice STT support to 20 total languages, adding Russian, Polish, Turkish, Dutch, Ukrainian, Greek, Czech, Danish, Swedish, and Norwegian
+16 moreshow less
- ›Adds effort level display (e.g., "with low effort") to the logo and spinner so the active effort setting is always visible
- ›Adds agent name display in the terminal title when using
claude --agent - ›Adds
sandbox.enableWeakerNetworkIsolationsetting (macOS only) to allow Go programs likegh,gcloud, andterraformto verify TLS certificates when using a custom MITM proxy withhttpProxyPort - ›Adds
includeGitInstructionssetting andCLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSenv var to remove built-in commit and PR workflow instructions from Claude's system prompt - ›Adds
/reload-pluginscommand to activate pending plugin changes without restarting - ›Adds
${CLAUDE_SKILL_DIR}variable so skills can reference their own directory in SKILL.md content - ›Adds
InstructionsLoadedhook event that fires when CLAUDE.md or.claude/rules/*.mdfiles are loaded into context - ›Adds
agent_idandagent_typefields to hook events for subagent and--agentsessions - ›Adds
worktreefield to status line hook commands with name, path, branch, and original repo directory in--worktreesessions - ›Adds
pluginTrustMessagein managed settings to append organization-specific context to the plugin trust warning - ›Adds
pathPatterntostrictKnownMarketplacesfor regex-matching file/directory marketplace sources alongsidehostPatternrestrictions - ›Adds plugin source type
git-subdirto point to a subdirectory within a git repo - ›Adds
oauth.authServerMetadataUrlconfig option for MCP servers to specify a custom OAuth metadata discovery URL when standard discovery fails - ›Extends policy limit fetching (e.g., remote control restrictions) to Team plan OAuth users, not just Enterprise
- ›[VSCode] Adds compaction display as a collapsible "Compacted chat" card with the summary inside
- ›[VSCode] Permission mode picker now respects
permissions.disableBypassPermissionsModefrom effective Claude Code settings
- ›Adds
- v2.1.68
Claude Code v2.1.68 adds 'ultrathink' keyword for on-demand high-effort reasoning and defaults Opus 4.6 to medium effort.
└──▷ GET THIS VERSION$ git clone --branch v2.1.68 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.68
└──▷ TRY ITForce maximum reasoning depth on a single turn when tackling a complex architectural or security analysis problem.$ ultrathink — type this keyword in your message to Claude Code to elevate the next turn to high effort- ›Re-introduces the
ultrathinkkeyword to trigger high-effort reasoning mode for the next turn. - ›Opus 4.6 now defaults to medium effort for Max and Team subscribers, balancing speed and thoroughness.
└──▷ BREAKING ON UPGRADE- !Opus 4 and Opus 4.1 are removed from Claude Code on the first-party API; users with either model pinned are automatically migrated to Opus 4.6.
- ›Re-introduces the
- v2.1.63
Claude Code v2.1.63 adds HTTP hooks,
/simplify&/batchslash commands, and cross-worktree config sharing.└──▷ GET THIS VERSION$ git clone --branch v2.1.63 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.63
└──▷ TRY ITOpt out of claude.ai MCP servers entirely for a session — useful in air-gapped or compliance-restricted environments.$ ENABLE_CLAUDEAI_MCP_SERVERS=false claude- ›Adds
/simplifyand/batchbundled slash commands. - ›Adds HTTP hooks: POST JSON to a URL and receive JSON back, as an alternative to shell command hooks.
- ›Adds
ENABLE_CLAUDEAI_MCP_SERVERS=falseenvironment variable to opt out of claude.ai MCP servers. - ›Improves
/modelcommand to display the currently active model in the slash command menu. - ›Project configs and auto memory are now shared across git worktrees of the same repository.
+3 moreshow less
- ›Adds manual URL paste fallback during MCP OAuth authentication when the automatic localhost redirect fails.
- ›Adds 'Always copy full response' option to the
/copypicker, skipping the code block picker for future/copycalls. - ›VSCode: Adds session rename and remove actions to the sessions list.
- ›Adds
- v2.1.59
Claude Code v2.1.59 adds auto-memory saving, a
/copypicker for code blocks, and smarter always-allow bash prefixes.└──▷ GET THIS VERSION$ git clone --branch v2.1.59 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.59
└──▷ TRY ITAfter a session, review and edit what Claude auto-saved to persistent memory so future sessions inherit the right context.$ /memoryWhen a response contains multiple code blocks, pick exactly the one snippet you want on your clipboard instead of manually selecting text.$ /copy- ›Adds auto-memory: Claude automatically saves useful context to persistent memory, manageable via the
/memorycommand. - ›New
/copycommand opens an interactive picker to select and copy individual code blocks or the full response. - ›Smarter 'always allow' prefix suggestions for compound bash commands — computes per-subcommand prefixes (e.g. each part of
cd /tmp && git fetch && git push) instead of treating the whole command as one unit. - ›Reduces memory usage in multi-agent sessions by releasing completed subagent task state.
- ›Adds auto-memory: Claude automatically saves useful context to persistent memory, manageable via the
- v2.1.51
Claude Code v2.1.51 adds
remote-controlsubcommand, custom npm registry support for plugins, and new SDK account environment variables.└──▷ GET THIS VERSION$ git clone --branch v2.1.51 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.51
└──▷ TRY ITServe your local Claude Code environment to an external build system using the new remote-control subcommand.$ claude remote-controlExtend the plugin git clone timeout when working behind a slow corporate proxy to avoid installation failures.$ CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000 claudeProvide account metadata to Claude Code synchronously in SDK/CI contexts so telemetry events are correctly attributed from the very first event.$ CLAUDE_CODE_ACCOUNT_UUID=<uuid> [email protected] CLAUDE_CODE_ORGANIZATION_UUID=<org-uuid> claude --print "<prompt>"
- ›Adds
claude remote-controlsubcommand for external builds, enabling local environment serving for all users. - ›Adds
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MSenvironment variable to configure plugin marketplace git timeout (default raised from 30s to 120s). - ›Supports custom npm registries and specific version pinning when installing plugins from npm sources.
- ›Reduces the tool-result disk-persistence threshold from 100K to 50K characters, lowering context window consumption and extending conversation longevity.
- ›Adds
CLAUDE_CODE_ACCOUNT_UUID,CLAUDE_CODE_USER_EMAIL, andCLAUDE_CODE_ORGANIZATION_UUIDenvironment variables so SDK callers can supply account metadata synchronously, eliminating a race condition in early telemetry.
+2 moreshow less
- ›Routes HTTP hooks through the sandbox network proxy when sandboxing is enabled, enforcing the domain allowlist.
- ›The
/modelpicker now shows human-readable labels (e.g., "Sonnet 4.5") instead of raw model IDs for pinned versions, with an upgrade hint when a newer version is available.
└──▷ BREAKING ON UPGRADE- !BashTool now skips the login shell (
-lflag) by default when a shell snapshot is available (previously required settingCLAUDE_BASH_NO_LOGIN=trueto achieve this); environments that relied on login-shell initialization running unconditionally may behave differently. - !HTTP hook header values no longer interpolate arbitrary environment variables — env var interpolation now requires an explicit
allowedEnvVarslist in the hook configuration, so existing hooks using env var interpolation in headers will stop expanding those variables.
- ›Adds
- v2.1.50
Claude Code v2.1.50 adds worktree isolation for agents, new hook events,
claude agentsCLI command, and 1M context controls.└──▷ GET THIS VERSION$ git clone --branch v2.1.50 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.50
└──▷ TRY ITList all configured agents to audit what's available in your Claude Code setup.$ claude agentsDeclare an agent that runs in its own isolated git worktree, keeping changes sandboxed from your main branch.isolation: worktree
Disable 1M context window support to control token usage or costs in environments where smaller context is preferred.$ CLAUDE_CODE_DISABLE_1M_CONTEXT=1 claude -p "summarize this repo"
- ›Adds
WorktreeCreateandWorktreeRemovehook events for custom VCS setup and teardown during agent worktree isolation. - ›Supports
isolation: worktreein agent definitions, letting agents declaratively run in isolated git worktrees. - ›New
claude agentsCLI command lists all configured agents. - ›Adds
startupTimeoutconfiguration option for LSP servers. - ›Adds
CLAUDE_CODE_DISABLE_1M_CONTEXTenvironment variable to disable 1M context window support.
+5 moreshow less
- ›Opus 4.6 (fast mode) now includes the full 1M context window.
- ›
CLAUDE_CODE_SIMPLEmode now also disables MCP tools, attachments, hooks, and CLAUDE.md file loading for a fully minimal experience. - ›VSCode: Adds
/extra-usagecommand support in VS Code sessions. - ›Improves startup performance for headless mode (
-pflag) by deferring Yoga WASM and UI component imports. - ›Improves memory efficiency during long sessions by clearing internal caches after compaction and clearing large tool results after processing.
- ›Adds
- v2.1.49
Claude Code v2.1.49 adds file editing in Simple mode, ConfigChange hooks for auditing, and richer SDK model capability discovery.
└──▷ GET THIS VERSION$ git clone --branch v2.1.49 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.49
└──▷ TRY ITUse Simple mode for lightweight file-editing tasks without needing a full agent setup.$ CLAUDE_CODE_SIMPLE=1 claude- ›Simple mode (
CLAUDE_CODE_SIMPLE) now includes the file edit tool alongside the Bash tool, enabling direct file editing without leaving simple mode. - ›New
ConfigChangehook event fires when configuration files change mid-session, enabling enterprise security auditing and optional blocking of settings changes. - ›SDK model info now exposes
supportsEffort,supportedEffortLevels, andsupportsAdaptiveThinkingfields so consumers can programmatically discover model capabilities. - ›Permission suggestions are now populated when safety checks trigger an ask response, enabling SDK consumers to surface permission options to users.
- ›Pressing Ctrl+C or ESC twice within 3 seconds now kills all background agents when the main thread is idle.
+1 moreshow less
- ›Improved permission prompts for path safety and working directory blocks now display the reason for the restriction.
└──▷ BREAKING ON UPGRADE- !Sonnet 4.5 with 1M context is being removed from the Max plan in favor of Sonnet 4.6 (which now has 1M context); users must switch via
/model.
- ›Simple mode (
- v2.1.47
Claude Code v2.1.47 adds new hook fields, keybindings, statusline data, and smarter background-agent lifecycle controls.
└──▷ GET THIS VERSION$ git clone --branch v2.1.47 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.47
└──▷ TRY ITKill all running background agents at once without interrupting the main thread.$ # While Claude Code is running, press ctrl+f to terminate all background agents instantly.- ›Adds
last_assistant_messagefield to Stop and SubagentStop hook inputs, letting hooks read the final assistant response without parsing transcript files. - ›Adds
chat:newlinekeybinding action for configurable multi-line input. - ›Adds
added_dirsto the statusline JSONworkspacesection, exposing directories added via/add-dirto external scripts. - ›New
ctrl+fshortcut kills all background agents; pressing ESC now cancels only the main thread while background agents keep running, giving finer control over agent lifecycle. - ›The
/renamecommand now also updates the terminal tab title.
+3 moreshow less
- ›Increases initial session count in the
/resumepicker from 10 to 50 for faster session discovery. - ›Config backup files are now stored in
~/.claude/backups/instead of the home directory root. - ›VS Code plan preview auto-updates as Claude iterates and keeps the preview open on rejection so Claude can revise.
- ›Adds
- v2.1.45
Claude Code v2.1.45 adds Claude Sonnet 4.6 support, SDK rate-limit types, and richer plugin/spinner customization.
└──▷ GET THIS VERSION$ git clone --branch v2.1.45 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.45
└──▷ USE ITSuppress all default spinner tips and show only your team's custom messages during long operations.In your Claude Code settings (e.g. .claude/settings.json), add: { "spinnerTipsOverride": { "tips": ["Hang tight — running your scan…", "Almost there…"], "excludeDefault": true } }Load a shared plugin and marketplace config from a team-wide directory so all members get the same plugins without touching per-repo config.$ claude --add-dir /shared/team-claude-config
- ›Supports Claude Sonnet 4.6 as a selectable model.
- ›Reads
enabledPluginsandextraKnownMarketplacesfrom--add-dirdirectories, enabling plugin and marketplace configuration via added directories. - ›New
spinnerTipsOverridesetting lets you supply custom spinner tip strings and optionally suppress built-in tips withexcludeDefault: true. - ›New
SDKRateLimitInfoandSDKRateLimitEventtypes expose rate-limit utilization, reset times, and overage data to SDK consumers. - ›[VSCode] Permission destination choice (project/user/session) now persists across sessions.
- v2.1.41
Claude Code v2.1.41 adds auth subcommands, Windows ARM64 support, and smarter
/rename.└──▷ GET THIS VERSION$ git clone --branch v2.1.41 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.41
└──▷ TRY ITCheck your current authentication state without opening a browser — useful in CI or remote SSH sessions.$ claude auth statusLog in to Claude Code from the CLI, e.g. when setting up a new machine or switching accounts.$ claude auth loginLet Claude name the current session automatically based on what you've discussed, instead of typing a name manually.$ /rename- ›Adds
claude auth login,claude auth status, andclaude auth logoutCLI subcommands for managing authentication from the terminal. - ›Adds native Windows ARM64 (win32-arm64) binary support.
- ›Improves
/renameto auto-generate a session name from conversation context when called without arguments.
- ›Adds
- v2.1.33
Claude Code v2.1.33 adds multi-agent hook events, sub-agent spawn restrictions, persistent agent memory, and VSCode remote sessions.
└──▷ GET THIS VERSION$ git clone --branch v2.1.33 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.33
└──▷ USE ITRestrict an orchestrator agent so it can only spawn specific sub-agent types, reducing blast radius in automated pipelines.# In agent frontmatter (tools section): --- tools: - Task(researcher) - Task(summarizer) ---
Give an agent persistent memory scoped to the current project so context survives across sessions.# In agent frontmatter: --- memory: project ---
- ›Adds
TeammateIdleandTaskCompletedhook events for multi-agent workflows, enabling automation when agents become idle or complete tasks. - ›Supports restricting which sub-agents can be spawned via Task(agent_type) syntax in agent "tools" frontmatter.
- ›Adds
memoryfrontmatter field for agents withuser,project, orlocalscope for persistent memory across sessions. - ›Adds plugin name to skill descriptions and the
/skillsmenu for improved discoverability. - ›Improves API connection failure error messages to show specific causes (e.g., ECONNREFUSED, SSL errors) instead of generic messages.
+3 moreshow less
- ›Surfaces errors from invalid managed settings.
- ›VSCode: Adds support for remote sessions, allowing OAuth users to browse and resume sessions from claude.ai.
- ›VSCode: Adds git branch and message count to the session picker with branch-name search support.
- ›Adds
- v2.1.32
Claude Code v2.1.32 adds Opus 4.6, experimental multi-agent teams, automatic memory, and partial conversation summarization.
└──▷ GET THIS VERSION$ git clone --branch v2.1.32 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.32
└──▷ TRY ITSpin up an experimental multi-agent team session to tackle complex, parallelizable tasks.$ CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude- ›Adds Claude Opus 4.6 model support.
- ›Introduces experimental multi-agent collaboration via agent teams (enable with
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1). - ›Claude now automatically records and recalls memories as it works across sessions.
- ›Adds 'Summarize from here' option in the message selector for partial conversation summarization.
- ›Skills defined in
.claude/skills/inside--add-dirdirectories are now loaded automatically.
+2 moreshow less
- ›Skill character budget now scales with context window size (2% of context), allowing more skill descriptions to appear untruncated for users with larger context windows.
- ›VSCode: Adds a spinner when loading the past conversations list.
- v2.1.31
Claude Code v2.1.31 adds session resume hints and Japanese IME support in checkbox selection.
└──▷ GET THIS VERSION$ git clone --branch v2.1.31 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.31
- ›Adds a session resume hint on exit, showing the command to continue a conversation later.
- ›Supports full-width (zenkaku) space input from Japanese IME in checkbox selection.
- v2.1.30
Claude Code v2.1.30 adds PDF page-range reading, OAuth credentials for MCP servers, and a new
/debugcommand└──▷ GET THIS VERSION$ git clone --branch v2.1.30 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.30
└──▷ TRY ITRegister a Slack MCP server that requires pre-configured OAuth credentials instead of Dynamic Client Registration.$ claude mcp add slack-mcp --client-id <your-client-id> --client-secret <your-client-secret>
- ›Adds
pagesparameter to the Read tool for PDFs, enabling specific page ranges (e.g.,pages: "1-5"); large PDFs (>10 pages) now return a lightweight reference when@-mentionedinstead of being inlined into context - ›Adds pre-configured OAuth client credentials for MCP servers that lack Dynamic Client Registration support (e.g., Slack) via new
--client-idand--client-secretflags onclaude mcp add - ›Adds
/debugcommand for Claude to help troubleshoot the current session - ›Supports additional
git logandgit showflags in read-only mode, including--topo-order,--cherry-pick,--format, and--raw - ›Adds token count, tool uses, and duration metrics to Task tool results
+4 moreshow less
- ›Adds reduced motion mode to the config
- ›Improves
--resumememory usage by 68% for users with many sessions via lightweight stat-based loading and progressive enrichment - ›Changes
/modelto execute immediately instead of being queued - ›[VSCode] Adds multiline input support to the "Other" text input in question dialogs via Shift+Enter
- ›Adds
- v2.1.27
Claude Code v2.1.27 adds
--from-prflag for PR-linked session resumption and automatic PR linking viagh pr create.└──▷ GET THIS VERSION$ git clone --branch v2.1.27 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.27
└──▷ TRY ITPick up a Claude Code session exactly where you left off for a specific pull request, by PR number or full URL.$ claude --from-pr 42
Resume a session using a full PR URL instead of a number — useful when working across multiple repos.$ claude --from-pr https://github.com/myorg/myrepo/pull/42
- ›New
--from-prflag lets you resume a session linked to a specific GitHub PR number or URL. - ›Sessions created via
gh pr createare now automatically linked to the corresponding PR. - ›Tool call failures and denials are now recorded in debug logs for easier troubleshooting workflows.
- ›VSCode: Enables the Claude in Chrome integration.
- ›Permissions now respect content-level
askover tool-levelallow, so granular deny patterns likeask: ["Bash(rm *)"]correctly override a broadallow: ["Bash"].
└──▷ BREAKING ON UPGRADE- !Permission evaluation order has changed: a content-level
askrule now takes precedence over a tool-levelallow. Configurations usingallow: ["Bash"], ask: ["Bash(rm *)"]that previously permitted all Bash commands will now prompt for permission onrmcommands.
- ›New
- v2.1.23
Claude Code v2.1.23 adds customizable spinner verbs and shows PR merge status and timeout durations in the UI.
└──▷ GET THIS VERSION$ git clone --branch v2.1.23 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.23
- ›Adds
spinnerVerbssetting to customize the verbs displayed in the activity spinner. - ›Shows timeout duration alongside elapsed time for Bash commands.
- ›Displays a purple status indicator in the prompt footer for merged pull requests.
- ›Adds
- v2.1.21
Claude Code v2.1.21 adds Japanese IME input support and automatic Python venv activation in VS Code.
└──▷ GET THIS VERSION$ git clone --branch v2.1.21 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.21
└──▷ USE ITOpt out of automatic Python venv activation in VS Code if you manage your interpreter another way.// In VS Code settings.json { "claudeCode.usePythonEnvironment": false }- ›Supports full-width (zenkaku) number input from Japanese IME in option selection prompts.
- ›Adds automatic Python virtual environment activation in the VS Code extension, ensuring
pythonandpipuse the correct interpreter (configurable viaclaudeCode.usePythonEnvironment). - ›Improves read/search progress indicators to show 'Reading…' while in progress and 'Read' when complete.
- ›Improves Claude's preference for file operation tools (Read, Edit, Write) over bash equivalents (cat, sed, awk).
- v2.1.20
Claude Code v2.1.20 adds PR review status in the footer, vim history nav, TaskUpdate deletions, and per-directory CLAUDE.md loading.
└──▷ GET THIS VERSION$ git clone --branch v2.1.20 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.20
└──▷ TRY ITLoad project-specific CLAUDE.md instructions from a shared config directory alongside the default working directory.$ CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir /path/to/shared-config
- ›Adds arrow key history navigation in vim normal mode when the cursor cannot move further.
- ›Adds external editor shortcut (Ctrl+G) to the help menu for easier discovery.
- ›Adds 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.
- ›Supports loading
CLAUDE.mdfiles from additional directories specified via--add-dir(requiresCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1). - ›Adds ability to delete tasks via the
TaskUpdatetool.
+7 moreshow less
- ›Improves
/sandboxcommand UI to show dependency status with installation instructions when dependencies are missing. - ›Enables the
/commit-push-prskill to automatically post PR URLs to configured Slack channels via MCP tools. - ›Makes the
/copycommand available to all users. - ›Changes background agents to prompt for tool permissions before launching.
- ›Accepts wildcard permission rules like Bash(*) and treats them as equivalent to Bash.
- ›Renders teammate messages with rich Markdown formatting (bold, code blocks, lists, etc.) instead of plain text.
- ›Changes
ToolSearchresults to appear as a brief notification instead of inline in the conversation.
- v2.1.19
Claude Code v2.1.19 adds a Tasks system, argument shorthands for custom commands, and session forking/rewind for all VS Code users.
└──▷ GET THIS VERSION$ git clone --branch v2.1.19 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.19
└──▷ TRY ITUse positional argument shorthands in a custom command to pass the first two arguments directly, e.g. a file path and a label.$ # In a custom command definition: # Analyze $0 and tag the result as $1 analyze_file $0 --tag $1
- ›Adds
$0,$1, etc. shorthand syntax for accessing individual arguments in custom commands. - ›Changes indexed argument syntax from
$ARGUMENTS.0to$ARGUMENTS[0](bracket notation). - ›Skills without additional permissions or hooks are now allowed without requiring approval.
- ›[SDK] Adds replay of
queued_commandattachment messages asSDKUserMessageReplayevents whenreplayUserMessagesis enabled. - ›[VS Code] Session forking and rewind functionality is now enabled for all users.
└──▷ BREAKING ON UPGRADE- !Indexed argument syntax for custom commands changed from
$ARGUMENTS.0to$ARGUMENTS[0]; existing custom commands using the old dot notation will need to be updated.
- ›Adds
- v2.1.16
Claude Code v2.1.16 adds task management with dependency tracking, native VSCode plugin management, and remote session browsing for OAuth users.
└──▷ GET THIS VERSION$ git clone --branch v2.1.16 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.16
- ›New task management system with dependency tracking between tasks.
- ›[VSCode] Native plugin management support added to the IDE extension.
- ›[VSCode] OAuth users can now browse and resume remote Claude sessions from the Sessions dialog.
- v2.1.14
Claude Code v2.1.14 adds history-based Tab autocomplete in bash mode, plugin search, SHA pinning, and a VSCode
/usagecommand.└──▷ GET THIS VERSION$ git clone --branch v2.1.14 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.14
└──▷ TRY ITQuickly re-run a recent shell command in bash mode without retyping it — type the start of the command after!and press Tab to pull from history.$ ! git log --on<Tab> # completes to a previously run git command from your bash history
- ›Adds history-based Tab autocomplete in bash mode (
!) — type a partial command and press Tab to complete from your shell history. - ›Adds search/filter to the installed plugins list — type to filter by plugin name or description.
- ›Supports pinning plugins to specific git commit SHAs, enabling marketplace entries to install exact versions.
- ›Improves backspace to delete pasted text as a single token rather than one character at a time.
- ›[VSCode] Adds
/usagecommand to display current plan usage.
- ›Adds history-based Tab autocomplete in bash mode (
- v2.1.9
Claude Code v2.1.9 adds
auto:NMCP threshold syntax,plansDirectorysetting, external editor in prompts, and richer hook/skill APIs.└──▷ GET THIS VERSION$ git clone --branch v2.1.9 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.9
└──▷ USE ITStore plan files in a project-local directory so plans are version-controlled alongside your code.# In your Claude Code settings (settings.json) { "plansDirectory": ".claude/plans" }Inject the current session ID into a skill command so downstream scripts can correlate activity back to the Claude session.# In a skill definition { "command": "my-audit-tool --session ${CLAUDE_SESSION_ID}" }- ›Adds
auto:Nsyntax to set the MCP tool search auto-enable threshold as a context window percentage (0–100). - ›Adds
plansDirectorysetting to customize where plan files are stored. - ›Adds external editor support (Ctrl+G) inside AskUserQuestion "Other" input fields.
- ›Adds session URL attribution to commits and PRs created from web sessions.
- ›Enables
PreToolUsehooks to returnadditionalContextdirectly to the model.
+1 moreshow less
- ›Adds
${CLAUDE_SESSION_ID}string substitution so skills can access the current session ID.
- ›Adds
- v2.1.7
Claude Code v2.1.7 adds MCP tool search auto mode, permission feedback, and task notification previews.
└──▷ GET THIS VERSION$ git clone --branch v2.1.7 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.7
└──▷ TRY ITOpt out of MCP tool search auto mode if you need all tool descriptions loaded upfront rather than discovered on demand.$ claude config set disallowedTools '["MCPSearch"]'- ›Adds
showTurnDurationsetting to hide turn-duration messages like "Cooked for 1m 6s". - ›Enables feedback submission when accepting permission prompts.
- ›Adds inline display of the agent's final response in task notifications, so results are visible without opening the full transcript.
- ›Enables MCP tool search auto mode by default: when MCP tool descriptions exceed 10% of the context window, they are deferred and discovered on-demand via the MCPSearch tool, reducing upfront context consumption for users with many MCP tools.
- ›Updates OAuth and API Console URLs from
console.anthropic.comtoplatform.claude.com.
└──▷ BREAKING ON UPGRADE- !MCP tool search auto mode is now on by default; users who relied on all MCP tool descriptions being loaded upfront must add MCPSearch to
disallowedToolsin their settings to restore the previous behaviour.
- ›Adds
- v2.1.6
Claude Code v2.1.6 adds config search, date-ranged stats, nested skills discovery, and richer context window metrics.
└──▷ GET THIS VERSION$ git clone --branch v2.1.6 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.6
└──▷ TRY ITReview spending or usage trends over the last week vs. month without leaving the terminal.$ /stats # then press 'r' to cycle through Last 7 days / Last 30 days / All timeDisplay remaining context window capacity in the status line by referencing the new percentage fields.$ # In your status line config, reference the new fields: # context_window.used_percentage # context_window.remaining_percentage- ›Adds search/filter functionality inside the
/configcommand for quickly locating settings. - ›Adds an Updates section to
/doctorshowing the auto-update channel and available npm versions (stable/latest). - ›Adds date range filtering to
/stats— pressrto cycle between Last 7 days, Last 30 days, and All time. - ›Adds automatic discovery of skills from nested
.claude/skillsdirectories when working with files in subdirectories. - ›Adds
context_window.used_percentageandcontext_window.remaining_percentagefields to the status line for easier context window display.
+5 moreshow less
- ›Improves the external CLAUDE.md imports approval dialog to show which files are being imported and from where.
- ›Improves
/tasksdialog to go directly to task details when only one background task is running. - ›Improves @ autocomplete with icons for different suggestion types and single-line formatting.
- ›Changes terminal title to "Claude Code" on startup for better window identification.
- ›Caps task notification display at 3 lines with an overflow summary when multiple background tasks complete simultaneously.
└──▷ BREAKING ON UPGRADE- !The ability to @
-mentionMCP servers to enable/disable them has been removed — use/mcp enable <name>instead.
- ›Adds search/filter functionality inside the
- v2.1.4
Claude Code v2.1.4 adds env var to fully disable background tasks and the Ctrl+B shortcut.
└──▷ GET THIS VERSION$ git clone --branch v2.1.4 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.4
└──▷ TRY ITPrevent Claude Code from ever backgrounding tasks — useful in CI pipelines or restricted environments where background processes are undesirable.$ CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 claude- ›New
CLAUDE_CODE_DISABLE_BACKGROUND_TASKSenvironment variable disables all background task functionality, including auto-backgrounding and the Ctrl+B shortcut.
- ›New
- v2.1.3
Claude Code v2.1.3 adds release channel switching, unreachable-rule warnings, and a 10-minute hook timeout.
└──▷ GET THIS VERSION$ git clone --branch v2.1.3 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.3
└──▷ TRY ITSwitch between stable and latest release channels without leaving the CLI.$ /configAudit your permission rules for unreachable entries and get fix guidance before they silently do nothing.$ /doctor- ›Adds release channel toggle (
stableorlatest) to/config, letting you switch update tracks in-product. - ›New detection and warnings for unreachable permission rules surfaced in
/doctorand after saving rules, with source attribution and actionable fix guidance. - ›Extends tool hook execution timeout from 60 seconds to 10 minutes, enabling longer-running hook scripts.
- ›[VSCode] Adds clickable destination selector for permission requests, letting you choose where settings are saved: this project, all projects, shared with team, or session only.
- ›Merges slash commands and skills into a unified concept, simplifying the mental model.
- ›Adds release channel toggle (
- v2.1.2
Claude Code v2.1.2 adds OSC 8 hyperlinks, winget support, plan-mode shortcut, and full large-output persistence to disk.
└──▷ GET THIS VERSION$ git clone --branch v2.1.2 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.1.2
└──▷ TRY ITForce plugin autoupdates in CI or locked-down environments where the main auto-updater is disabled.$ FORCE_AUTOUPDATE_PLUGINS=1 claude- ›Adds clickable OSC 8 hyperlinks for file paths in tool output in supported terminals (e.g., iTerm).
- ›Adds Windows Package Manager (winget) installation detection with automatic update instructions.
- ›Adds Shift+Tab keyboard shortcut in plan mode to instantly select the "auto-accept edits" option.
- ›Adds
FORCE_AUTOUPDATE_PLUGINSenvironment variable to enable plugin autoupdate even when the main auto-updater is disabled. - ›Adds
agent_typefield to SessionStart hook input when--agentis specified.
+3 moreshow less
- ›Adds source path metadata to images dragged onto the terminal so Claude knows where images originated.
- ›Large bash command outputs and tool outputs are now saved to disk instead of truncated, giving Claude access to full content via file references.
- ›Unifies plugins and MCPs in the
/pluginsinstalled tab with scope-based grouping.
└──▷ BREAKING ON UPGRADE- !The Windows managed settings path
C:\ProgramData\ClaudeCode\managed-settings.jsonis deprecated; administrators must migrate toC:\Program Files\ClaudeCode\managed-settings.json. - !The minimum zod peer dependency is now
^4.0.0(SDK).
- v2.0.74
Claude Code v2.0.74 adds LSP code-intelligence tools, expands terminal setup support, and improves theme controls.
└──▷ GET THIS VERSION$ git clone --branch v2.0.74 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.0.74
└──▷ TRY ITConfigure optimal key bindings and shell integration for Kitty, Alacritty, Zed, or Warp in one step.$ /terminal-setupQuickly toggle syntax highlighting off for a distraction-free diff review while browsing themes.$ /theme # then press ctrl+t to toggle syntax highlighting on/off- ›Adds LSP (Language Server Protocol) tool enabling code-intelligence features: go-to-definition, find references, and hover documentation.
- ›Adds
/terminal-setupsupport for Kitty, Alacritty, Zed, and Warp terminals. - ›Adds ctrl+t shortcut in
/themeto toggle syntax highlighting on/off. - ›Adds syntax highlighting info display inside the theme picker.
- ›Improves
/contextcommand visualization with skills and agents grouped by source, slash commands listed, and token counts sorted.
- v2.0.73
Claude Code v2.0.73 adds clickable image links, kill-ring cycling, plugin search, custom fork session IDs, and VS Code tab badges.
└──▷ GET THIS VERSION$ git clone --branch v2.0.73 https://github.com/anthropics/claude-code.git # already have the repo? check out this version: $ git checkout v2.0.73
└──▷ TRY ITFork an existing session and assign a meaningful custom ID so you can reference it later by name rather than an auto-generated hash.$ claude --resume <existing-session-id> --fork-session --session-id my-audit-branch
- ›Adds clickable
[Image #N]links in the terminal that open attached images in the default viewer. - ›Adds alt-y yank-pop to cycle through kill-ring history after a ctrl-y yank.
- ›Adds search filtering to the plugin discover screen — filter by name, description, or marketplace in real time.
- ›Supports custom session IDs when forking sessions via
--session-idcombined with--resumeor--continueand--fork-session. - ›Improves
/themecommand to open the theme picker directly.
+1 moreshow less
- ›[VS Code] Adds tab icon badges showing pending permissions (blue) and unread completions (orange).
- ›Adds clickable