Verified
New since your last visit
Unverified
Keys & Shortcuts
General Controls
| Item | Description |
|---|---|
#Ctrl C / D | Cancel input / Exit session |
#Ctrl L | Clear screen + full redraw; in fullscreen mode, clears the transcript view like a terminal clear — scroll up to see earlier messages |
#Ctrl O | Toggle between normal and verbose transcript; in a collapsed thinking group, shows the full thinking; focus view toggled with /focus |
#Ctrl R | History picker — searches all projects by default; press Ctrl S to narrow to current project or session |
#Ctrl G | Open prompt in external editor |
#Ctrl B | Background running task |
#Ctrl T | Toggle task list; in claude agents: pin/unpin background session (pinned sessions stay alive when idle, restart in place for CC updates) |
#Ctrl V | Paste image from clipboard |
#Ctrl Enter / Ctrl X Ctrl S | Send-now — interrupt the current turn and send all queued messages at once
|
#Ctrl Backspace | Delete previous word (Windows) |
#Ctrl U | Clear entire input buffer (Ctrl+Y to restore) |
#Ctrl Y | Restore input buffer cleared by Ctrl+U |
#Ctrl X K | Kill background agents (chord, x2) |
#Ctrl X | In claude agents: permanently removes a completed session; deleted background jobs stay deleted |
#Esc Esc | Rewind / undo state |
#Esc | Close background-tasks, diff, and workflow detail views (left arrow no longer closes these) |
#selection:clear | Keybinding action — bind to a key in /keybindings to clear an in-app text selection; works in agents view |
Mode & Input
| Item | Description |
|---|---|
#Tab | Cycle permission modes |
#\ P | Switch model |
#\ T | Toggle thinking on/off |
#\ Enter | Newline (quick) |
#Ctrl J | Newline (control seq) |
#Ctrl A / Ctrl E | Move to start/end of current logical line (multiline input) |
Session Picker Nav
| Item | Description |
|---|---|
#P / R | Preview / Rename session |
#/ | Search sessions |
#A / B | Filter All projects / Current branch |
#Ctrl A | Show all projects in /resume picker (picker defaults to current dir) |
Slash Commands (Core)
Session Management
| Item | Description |
|---|---|
#/clear | Clear conversation context; resets the per-session subagent spawn budget |
#/compact [focus] | Compact context to free space |
#/resume | Open the session picker; background sessions are listed alongside interactive ones
|
#/rename [name] | Name current session |
#/branch [name] | Branch conversation |
#/fork | Copy the conversation into a new background session with its own git worktree
|
#/subtask | Launch an in-session subagent for the current task; formerly what /fork did before v2.1.212 |
#/usage | Unified usage view — cost, stats, limits and loops in one place
|
#/usage-credits | Request extra usage allowance
|
#/context | Visualize context window (grid) |
#/diff | Interactive diff viewer
|
#/copy | Copy last response |
#/export | Export conversation |
#/recap | Summarize away context; auto-triggered on return or invoke manually |
#/rewind / /undo | Rewind conversation to previous state; /undo is alias; supports resuming a conversation from before /clear was run |
#/goal [condition] | Set a completion condition; Claude keeps working across turns until it is met
|
#/cd | Move session to a new working directory without breaking the prompt cache mid-session
|
Configuration
| Item | Description |
|---|---|
#/config | Open settings interface; search matches option values
|
#/config key=value | Set any setting from the prompt (e.g. /config thinking=false) — works in interactive, -p, and Remote Control |
#/config --help | List all available shorthand keys for /config key=value |
#/model [model] | Switch model; the choice becomes the default for new sessions
|
#/effort [level] | Set effort (low/med/high/xhigh/auto)
|
#/fast [on/off] | Toggle Fast mode
|
#/permissions | View/update tool permissions
|
#/color [color] | Set prompt-bar color; bare /color with no args picks a random session color |
#/keybindings | Customize keyboard shortcuts |
#/terminal-setup | Configure terminal integration
|
#/theme | Change color theme; create/switch named custom themes, hand-edit ~/.claude/themes/; plugins ship via themes/ dir; includes "Auto (match terminal)" |
#/tui [fullscreen] | Switch to flicker-free fullscreen TUI rendering in same conversation |
#/focus | Toggle focus view (fullscreen/TUI mode) |
#/release-notes | Interactive version picker for release notes |
#/scroll-speed | Tune mouse wheel scroll speed with a live preview |
#/output-style [name] | List and switch output styles; works over Remote Control and in cloud and headless sessions |
Slash Commands (Tools)
Development Tools
| Item | Description |
|---|---|
#/init | Create CLAUDE.md memory |
#/memory | Edit CLAUDE.md files directly |
#/mcp | Manage MCP servers; see per-server tool counts and connection errors
|
#/hooks | Manage event lifecycle hooks |
#/install-github-app | Install the GitHub App; GitHub Actions workflow and repo secret setup is optional — install just the GitHub App and skip the workflow/secret steps |
#/commit-push-pr | Commit, push, and open a PR in one step
|
#/skills | List available active skills; includes type-to-filter search box for long lists |
#/chrome | Chrome browser integration; pick which connected browser to use via /chrome → "Select browser…", or in-chat when a browser action runs with multiple connected |
#/add-dir <path> | Add working directory to context; usable while Claude is working |
#/reload-plugins | Hot-reload local plugins; available in headless sessions (Claude Code Desktop and SDK); auto-installs missing dependencies from added marketplaces |
#/reload-skills | Re-scan skill directories without restarting the session |
#/plugin list | List installed plugins; --enabled/--disabled filters; search bar available when browsing marketplace plugins; surfaces recently-unused plugins for cleanup |
#/plugin install <name> | Install a plugin from the marketplace
|
Special & Utility
| Item | Description |
|---|---|
#/btw <query> | Side question (does not alter context); press c to copy raw markdown answer to clipboard; Shift+←/Shift+→ (or [/]) to step through earlier answers |
#/plan [desc] | Switch to Plan Mode directly |
#/loop [interval] | Schedule recurring background task; self-paced dynamic mode and no-prompt autonomous default are now always available, including on Bedrock, Vertex, and Foundry |
#/proactive | Alias for /loop — schedule recurring background task |
#/schedule | Cloud scheduled tasks |
#/deep-research | Structured deep-research session; must be explicitly invoked — Claude no longer auto-starts it |
#/workflows | View and manage dynamic workflow runs
|
#ultracode | Prompt trigger keyword — type in the prompt to start a dynamic workflow; highlighted in violet in the prompt input |
#/voice | Push-to-talk voice prompting |
#/doctor | Full setup checkup — diagnose and fix installation or environment issues
|
#/skill-doctor | Show which loaded skills go unused and what they cost in context — helps prune skills that aren't contributing |
#/status | Show environment status, warnings and what kind of session this is
|
#/pr-comments [PR] | Fetch GitHub PR comments |
#/security-review | Security analysis of uncommitted code |
#/powerup | Interactive lessons teaching CC features with animated demos |
#/stats / /insights | Shortcut to /usage stats tab / HTML sessions report |
#/desktop | Continue session in Desktop app |
#/remote-control | Bridge session to claude.ai/code
|
#/team-onboarding | Generate teammate ramp-up guide from local CC usage |
#/advisor | AI advisor mode
|
CLI & Subcommands
Core Execution
| Item | Description |
|---|---|
#claude | Start interactive REPL |
#claude -p "q" | Headless execution (scripting) |
#claude -c / -r "n" | Continue last / Resume specific |
#claude --from-pr | Resume session linked to a PR; accepts GitHub, GitLab MR, Bitbucket PR, and GitHub Enterprise URLs |
#claude --fork-session | Fork existing session on resume |
#claude --teleport <session-id> | Continue a cloud session locally; session ID shown in the /teleport hint that appears in cloud sessions |
#claude ultrareview [target] | Run /ultrareview non-interactively from CI or scripts; prints findings to stdout; use --json for raw output |
#claude project purge [path] | Delete all Claude Code state for a project (transcripts, tasks, file history, config entry); supports --dry-run, -y/--yes, -i/--interactive, and --all |
#claude auto-mode reset | Restore default auto-mode configuration; prompts for confirmation (pass --yes to skip) |
#claude agents | Agent view (Research Preview) — every CC session in one list: running, blocked on you, or done
|
#claude --bg --exec '<cmd>' | Run a shell command as a background session you can attach to and detach from; equivalent to typing ! <cmd> inside claude agents |
#claude self-hosted-runner | Turn your own machine or container into a session host for Claude Code web, mobile, and desktop sessions (Team and Enterprise plans) |
#claude self-hosted-runner --defer-shutdown-max-min <minutes> | On SIGTERM, keep serving attached sessions for up to the given number of minutes before parking remaining sessions and exiting |
#claude self-hosted-runner --remove-session-state | Delete per-session directories under <base-dir>/_sessions/ when sessions end; off by default |
#claude self-hosted-runner --proxy-authorization-command / --proxy-authorization-file | Supply a freshly issued Proxy-Authorization header on every connection for egress proxies that require per-request credentials |
#claude remote-control --continue | Resume the most recent Remote Control session |
#claude self-hosted-runner --client-label <label> | Override the label the runner registers with (default: hostname); paired with SELF_HOSTED_RUNNER_CLIENT_LABEL env var |
#claude self-hosted-runner --drain-marker-file <path> | If this file exists at a SIGTERM drain, the runner reports its exit to the server as a host drain (telemetry only) |
#claude self-hosted-runner --host-config-snapshot disk|memory | Choose where host config (settings, skills, plugins, MCP servers) is cached; avoids silently losing it once the config directory exceeds 64 MiB |
Headless & CI Flags
| Item | Description |
|---|---|
#--restricted | Remove built-in tools that run commands or code and WebFetch (unless named in --tools)
|
#--bare | Minimal headless (no hooks/LSP) |
#--permission-prompts none | Deny any action that would prompt for unattended headless hosts; the active permission mode (including auto mode) still decides normally |
#--append-subagent-system-prompt-file | Read the subagent system prompt from a file; for prompts too large to pass on the command line |
#--channels | Permission relay / MCP push msg; now works with console (API key) auth — console orgs with managed settings must set channelsEnabled: true |
#--output-format json | Structured JSON output |
#--json-schema | Strict JSON schema validation |
#--dangerously-skip-permissions | Skip all approval prompts
|
#--exclude-dynamic-system-prompt-sections | Exclude dynamic prompt sections in print mode for cross-user prompt caching |
#--forward-subagent-text | Include subagent text and thinking in --output-format stream-json output; paired with CLAUDE_CODE_FORWARD_SUBAGENT_TEXT env var |
#--system-prompt-snapshot off | Renders the system prompt fresh on every request instead of reusing the conversation's recorded prompt; for iterating on prompt text |
State & Behavior
| Item | Description |
|---|---|
#-w / --worktree | Start in isolated git worktree |
#--effort | Set effort level (low/med/high/xhigh); xhigh is Opus 4.8 only |
#--model | Override specific model at launch |
#--fallback-model | Fallback model for when the primary model is overloaded or unavailable
|
#--thinking disabled | Disable thinking on models that think by default; equivalent to MAX_THINKING_TOKENS=0 or toggling the per-model thinking switch |
#--permission-mode plan | Start in read-only plan mode |
#--permission-mode manual | Start in manual (default) permission mode; renamed from default — both values accepted |
#--max-budget-usd | Set cost cap for session |
#--remote | Start web-accessible session |
#--remote-control | Enable Remote Control mode; bridges CLI session to claude.ai/code |
#--remote-control-session-name-prefix | Custom hostname prefix for Remote Control session names |
#--plugin-dir <path> | Load plugins from a directory, folder of plugins, or .zip archive at launch
|
#--plugin-url <url> | Fetch a plugin .zip archive from a URL for the current session |
#--safe-mode | Start with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting; paired with CLAUDE_CODE_SAFE_MODE env var |
#--ax-screen-reader | Enable screen reader mode — opt-in plain-text rendering for screen reader users
|
Settings (JSON)
Files & Priority
| Item | Description |
|---|---|
#~/.claude/settings.json | User global defaults |
#.claude/settings.json | Project shared (committed) |
#.claude/settings.local.json | Project local only (gitignored) |
#~/.claude.json | OAuth, MCP, state configuration |
#.mcp.json | Project-specific MCP servers |
#managed-settings.d/ | Drop-in policy fragments (alphabetical merge) |
Key JSON Settings
| Item | Description |
|---|---|
#modelOverrides | Map model picker to custom IDs |
#modelPicker | Curate the /model picker with an ordered, labeled list of models
|
#modelPricing | Managed setting — set an organization's contracted per-model rates and discount multiplier
|
#promptCacheTtl / subagentPromptCacheTtl | Set the prompt cache TTL for the conversation and for subagents separately
|
#permissions.defaultMode | Set the permission mode new sessions start in
|
#autoMemoryDirectory | Custom auto-loaded memory dir |
#worktree.sparsePaths | Sparse checkout dirs for agents |
#worktree.baseRef | fresh (default) branches worktrees from origin/<default>; head branches from local HEAD — applies to --worktree, EnterWorktree, and agent-isolation |
#worktree.bgIsolation | Set to "none" to disable worktree isolation for background sessions |
#agent | Default agent name for dispatched sessions in claude agents; override per-session with --agent <name> |
#fallbackModel | Configure up to three fallback models tried in order when the primary model is overloaded or unavailable; paired with --fallback-model CLI flag |
#showThinkingSummaries | Show thinking summaries in interactive sessions (default: false) |
#language | Pin session-title language; titles auto-detect the conversation language by default — set to a BCP 47 tag (e.g. en, ja) to override |
#disableSkillShellExecution | Disable inline shell execution in skills and custom slash commands |
#skillOverrides | off hides skill from model and /; user-invocable-only hides from model only; name-only collapses description |
#statusLine.refreshInterval | Re-run status line command every N seconds |
#workspace.git_worktree | Status line JSON input field — set when current directory is inside a linked git worktree |
#effort.level / thinking.enabled | Hooks and status line stdin JSON input fields — current effort level and thinking state |
#prompt_cache | Status line script JSON input field — per-session prompt-cache stats (hit ratio, misses, tokens re-cached, warm/cold) |
#autoScrollEnabled | Disable conversation auto-scroll in fullscreen mode |
#wheelScrollAccelerationEnabled | Set to false to disable mouse-wheel scroll acceleration in fullscreen mode |
#tui | Default TUI mode; set to "fullscreen" for flicker-free alt-screen rendering |
#axScreenReader | Set to true for opt-in plain-text rendering for screen reader users; paired with --ax-screen-reader flag and CLAUDE_AX_SCREEN_READER=1 env var |
#spellcheck | Underline misspelled words in the prompt input as you type; requires aspell, hunspell, or ispell to be installed |
#keybindingFlavor | Set to "readline" to make Ctrl+W delete back to the previous whitespace (Bash-style)
|
#outputStyle | Built-in output style
|
#timeFormat | Turn-end clock and transcript timestamp format: "12h", "24h", "24h-utc", or a strftime pattern; paired with timeZone |
#timeZone | Time zone for the turn-end clock and transcript timestamps; paired with timeFormat |
#vimInsertModeRemaps | Map two-key insert-mode sequences to keys in vim mode; e.g. map jj to Escape |
#permissions.blockReadsOutsideWorkingDirectories | Block file reads outside configured working directories; in auto mode, a one-time prompt appears before the first such read |
#sandbox.network.deniedDomains | Block specific domains even when a broader allowedDomains wildcard would otherwise permit them |
#sandbox.network.strictAllowlist | Deny non-allowlisted hosts for sandboxed commands without prompting |
#sandbox.allowAppleEvents | Opt-in macOS setting to allow sandboxed commands to send Apple Events |
#sandbox.credentials | Block sandboxed commands from reading credential files and secret environment variables
|
#sandbox.filesystem.disabled | Skip filesystem isolation while keeping network egress control |
#"$defaults" (autoMode) | Add custom auto-mode rules alongside the built-in list
|
#autoMode.hard_deny | Auto mode classifier rules that block unconditionally regardless of user intent — unlike autoMode.soft_deny, cannot be overridden by allow exceptions |
#autoMode.classifyAllShell | Route all Bash/PowerShell commands through the auto-mode classifier instead of only arbitrary-code-execution patterns |
#allowed_domains | Per-command field on Bash/PowerShell/Monitor in sandboxed auto mode; scopes that command's sandbox network access to just the domains it needs |
#disableAutoMode | Set to true to disable auto mode on Bedrock, Vertex AI, and Foundry — auto mode is now available there by default without opt-in |
#maxEffortLevel | Caps the maximum effort level on every provider; users can still pick a lower level
|
#"*" (deny rule glob) | Glob patterns supported in deny rule tool-name position
|
#Tool(param:value) | Permission rule syntax to match a tool's input parameters (supports * wildcard); e.g. Agent(model:opus) to block Opus subagents |
#Write(path) / NotebookEdit(path) / Glob(path) | Deprecated permission-rule tool names — startup warns to use Edit(path) or Read(path) instead |
#attribution.sessionUrl | Set to false to omit the claude.ai session link from commits and PRs in web and Remote Control sessions |
#prUrlTemplate | Point footer PR badge at a custom code-review URL instead of github.com |
#footerLinksRegexes | Array of regex patterns for regex-matched link badges in the footer row; configurable via user or managed settings |
#extraKnownMarketplaces | Register plugin marketplaces for a repository or an organization |
#disableBundledSkills | Hide bundled skills, workflows, and built-in slash commands from the model; paired with CLAUDE_CODE_DISABLE_BUNDLED_SKILLS env var |
#syncClaudeAiSkills / syncClaudeAiPlugins | Set to false to stop syncing the skills or plugins enabled on your claude.ai account into signed-in terminal sessions |
#teammateMode: "iterm2" | Use iTerm2 as the teammate backend; shows a warning when auto mode cannot find the it2 CLI |
#awsAuthRefresh | Configures the "Claude Platform on AWS — refresh credentials" option in /login |
#respondToBashCommands | Set to false to keep ! bash command output as context-only; default behavior is for Claude to respond automatically |
#workflowSizeGuideline | Set the agent count Claude aims for in dynamic workflows
|
#emojiCompletionEnabled | Set to false to disable emoji shortcode autocomplete in the prompt input (e.g. :heart: → ❤️) |
#crossSessionInbound | Cross-session messages sent to a session running with bypassed permissions are held for your approval before delivery |
#dialogExpiry | Timeout for inbound cross-session message approval dialogs; messages to sessions without bypassed permissions auto-deliver |
#feedbackDrafts | Set to false to stop Claude auto-drafting a feedback report
|
#bashOutputMaxChars / taskOutputMaxChars | Raise how much Bash command output Claude receives inline before it is saved to a file
|
#bashEditDiffEnabled | Show a diff of files a Bash command changed in the tool result when the Bash tool handles file edits |
Managed & Enterprise
| Item | Description |
|---|---|
#forceRemoteSettingsRefresh | Block startup until remote managed settings are freshly fetched; fail-closed on fetch failure |
#sandbox.bwrapPath / sandbox.socatPath | Custom bubblewrap and socat binary paths (Linux/WSL managed settings) |
#wslInheritsWindowsSettings | WSL sessions inherit Windows-side managed settings (policy key) |
#parentSettingsBehavior | Admin-tier key: first-wins (default) or merge — opts SDK managedSettings parent tier into policy merge |
#channelsEnabled | Set to true in managed settings to allow --channels with console (API key) auth |
#allowAllClaudeAiMcps | Enterprise managed setting — load claude.ai cloud MCP connectors alongside managed-mcp.json |
#managedMcpServers | Managed setting — provide HTTP/SSE MCP servers to every user in the organization (same entry shape as .mcp.json); entries naming a command to run are skipped |
#deniedMcpServers | Managed setting — blocklist of managed MCP servers to deny
|
#pluginSuggestionMarketplaces | Managed setting — allowlist org marketplaces whose plugins may be suggested via context-aware tips |
#strictKnownMarketplaces | Managed setting — allowlist of marketplace repos allowed as plugin sources
|
#blockedMarketplaces | Managed setting — blocklist of marketplace repos denied as plugin sources; supports "owner/*" wildcard to block all repos under a GitHub org |
#requiredMinimumVersion / requiredMaximumVersion | Managed settings — CC refuses to start if its version is outside the allowed range; directs user to an approved version |
#enforceAvailableModels | Managed setting — the availableModels allowlist also constrains the Default model
|
#forceLoginGatewayUrl | Managed setting — gateway URL; machines with this set start as gateway sessions from startup
|
#gatewayInternalNetworks | Managed setting — allow /login to a Claude apps gateway on the organization's own public IPv4 block |
Environment Variables
All Variables
| Item | Description |
|---|---|
#ANTHROPIC_API_KEY | Auth override |
#ANTHROPIC_MODEL | Default model override |
#CLAUDE_CODE_EFFORT_LEVEL | Default effort (low/med/high) |
#MAX_THINKING_TOKENS | Cap extended thinking limits; set to 0 to disable thinking on models that think by default via the Claude API |
#CLAUDE_CODE_PLUGIN_SEED_DIR | Multiple plugin seed directories |
#IS_DEMO | Demo mode (hides email/org) |
#CLAUDECODE | Detects if running inside CC shell; also injected into stdio MCP server subprocess environments |
#CLAUDE_CODE_SUBPROCESS_ENV_SCRUB | Strip credentials from subprocesses; enables PID namespace isolation on Linux (sandboxing) |
#CLAUDE_CODE_MCP_SERVER_NAME / CLAUDE_CODE_MCP_SERVER_URL | Inject server identity into MCP headerHelper scripts |
#CLAUDE_CODE_NO_FLICKER=1 | Opt into flicker-free alt-screen rendering with virtualized scrollback |
#MCP_CONNECTION_NONBLOCKING=true | Skip MCP connection wait in headless (-p) mode |
#CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE | Keep marketplace cache when git pull fails (offline envs) |
#CLAUDE_CODE_USE_MANTLE=1 | Enable Amazon Bedrock powered by Mantle |
#CLAUDE_CODE_PERFORCE_MODE | When set, Edit/Write/NotebookEdit fail on read-only files with a p4 edit hint |
#CLAUDE_CODE_SCRIPT_CAPS | Limit per-session script invocations (subprocess sandboxing) |
#CLAUDE_CODE_CERT_STORE=bundled | Use only bundled CAs; by default OS CA cert store is trusted (enterprise TLS proxy support) |
#OTEL_LOG_USER_PROMPTS / OTEL_LOG_TOOL_DETAILS / OTEL_LOG_TOOL_CONTENT | OTEL beta tracing: opt in to emit sensitive span attributes (prompts/tool details/tool content) |
#OTEL_LOG_ASSISTANT_RESPONSES | Opt in to emitting the model's response text as an OTEL log event
|
#ENABLE_PROMPT_CACHING_1H | Opt into 1-hour prompt cache TTL (API key, Bedrock, Vertex, Foundry) |
#FORCE_PROMPT_CACHING_5M | Force 5-minute prompt cache TTL |
#CLAUDE_CODE_ENABLE_AWAY_SUMMARY | Force-enable recap/away summary (useful when telemetry disabled) |
#CLAUDE_CODE_USE_POWERSHELL_TOOL | Enable PowerShell tool; on Windows opt in/out, on Linux/macOS requires pwsh on PATH |
#OTEL_LOG_RAW_API_BODIES | Emit full API request/response bodies as OTel log events for debugging
|
#CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH | Configure the 60 KB truncation limit on OpenTelemetry content attributes |
#TRACEPARENT / TRACESTATE | Distributed trace context injected from environment for SDK/headless sessions |
#CLAUDE_CODE_FORK_SUBAGENT=1 | Enable forked subagents on external (non-Anthropic) builds; also works in non-interactive sessions |
#DISABLE_UPDATES | Block all update paths including manual claude update; stricter than DISABLE_AUTOUPDATER |
#CLAUDE_CODE_HIDE_CWD | Hide working directory in the startup logo |
#ANTHROPIC_BEDROCK_SERVICE_TIER | Select a Bedrock service tier (default, flex, or priority); sent as the X-Amzn-Bedrock-Service-Tier header |
#ANTHROPIC_BEDROCK_REGION_PREFIX | Prefer a specific Bedrock cross-region inference profile over the AWS_REGION-derived one |
#CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 | Force-enable synchronized output on terminals that auto-detection misses (e.g. Emacs eat) |
#CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE | On Homebrew or WinGet installs, runs the upgrade command in the background and prompts to restart when set |
#CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 | Opt in to listing gateway /v1/models in the /model picker when using a custom ANTHROPIC_BASE_URL gateway (was automatic in v2.1.126–v2.1.128) |
#CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS | Extend the LLM gateway /v1/models discovery timeout (default 3 s) |
#CLAUDE_CODE_GATEWAY_HINT_HEADERS=1 | Opt in to sending request-class, agent-type and compaction hint headers to LLM gateways
|
#CLAUDE_CODE_DISABLE_1M_CONTEXT | Hold every Claude model with a native 1M context window to 200K via auto-compaction
|
#CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 | Restore the old behaviour for sessions on unrecognized model IDs
|
#CLAUDE_CODE_SESSION_ID | Session ID injected into Bash tool subprocess environment and stdio MCP server subprocess environments, matching the session_id passed to hooks |
#CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 | Opt out of the fullscreen alternate-screen renderer; keeps conversation in the terminal's native scrollback |
#CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL | Re-enable the session quality survey for enterprises capturing responses through OpenTelemetry |
#CLAUDE_PROJECT_DIR | Injected into MCP stdio server environments; referenceable as ${CLAUDE_PROJECT_DIR} in plugin configs |
#CLAUDE_CODE_PLUGIN_PREFER_HTTPS | Clone GitHub plugin sources over HTTPS instead of SSH; for environments without a GitHub SSH key |
#ANTHROPIC_WORKSPACE_ID | Workload identity federation — scopes the minted token to a specific workspace when the federation rule covers more than one |
#OTEL_METRICS_INCLUDE_ENTRYPOINT=true | Opt in to including session entrypoint as an OpenTelemetry metric attribute (app.entrypoint) |
#OTEL_METRICS_INCLUDE_REPOSITORY | Tag OpenTelemetry metrics and events with vcs.* repository attributes
|
#COLUMNS / LINES | Injected into status line command subprocesses so scripts can size output to the terminal width |
#CLAUDE_CODE_ENABLE_AUTO_MODE=1 | No longer needed — auto mode is available on Bedrock, Vertex and Foundry by default
|
#OTEL_RESOURCE_ATTRIBUTES | Standard OTEL env var — values are now used as labels on metric datapoints, so you can slice usage metrics by custom dimensions (e.g. team, repo) |
#CLAUDE_CODE_SAFE_MODE | Start with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled; paired with --safe-mode CLI flag |
#CLAUDE_CODE_DISABLE_BUNDLED_SKILLS | Hide bundled skills, workflows, and built-in slash commands from the model; paired with disableBundledSkills JSON setting |
#API_FORCE_IDLE_TIMEOUT=0 | Opt out of the default 5-minute idle timeout on Vertex/Foundry; stalled streams will hang indefinitely instead of aborting |
#CLAUDE_CLIENT_PRESENCE_FILE | Path to a marker file — while the file exists, mobile push notifications are suppressed (signals you're at the machine) |
#CLAUDE_CODE_MAX_RETRIES | Retry attempt limit; cap of 15 is lifted when CLAUDE_CODE_RETRY_WATCHDOG is set — for unattended sessions use the watchdog instead |
#CLAUDE_CODE_RETRY_WATCHDOG | Retry watchdog for unattended sessions
|
#CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT | Override the default 5-minute idle timeout for remote MCP tool calls; stalled calls abort with an error instead of blocking indefinitely |
#CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1 | Disable automatic memory-pressure reaping of idle background shell commands |
#CLAUDE_CODE_DISABLE_MOUSE_CLICKS | Disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll active |
#CLAUDE_AX_SCREEN_READER=1 | Enable screen reader mode — opt-in plain-text rendering; paired with --ax-screen-reader flag and axScreenReader JSON setting |
#CLAUDE_CODE_PROCESS_WRAPPER | Corporate launcher wrapper — agent view and background service run every Claude Code self-spawn through the specified executable |
#CLAUDE_CODE_FORWARD_SUBAGENT_TEXT | Include subagent text and thinking in stream-json output; paired with --forward-subagent-text flag |
#CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION | Session-wide limit on WebSearch tool calls (default 200); prevents runaway search loops |
#CLAUDE_CODE_SUBAGENT_MODEL_FORCE | Apply CLAUDE_CODE_SUBAGENT_MODEL (or the main model when unset) to every subagent, ignoring per-spawn and agent-definition model overrides |
#CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION | Set a per-session subagent spawn cap
|
#CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS | Cap on concurrently-running subagents (default 20); prevents a single message from fanning out unbounded background agents |
#CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH | Max nesting depth for subagent spawning (default 3); set to 1 to disable nesting |
#CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS | Threshold in ms after which long-running MCP tool calls move to background automatically (default 120000 / 2 min); set to 0 to disable |
#FORCE_HYPERLINK=0 | Opt out of clickable hyperlinks in footer PR badge links (hyperlinks are on by default even when terminal support can't be detected, e.g. over ssh/tmux) |
#CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 | Set to 0 to disable automatic staggering of same-prefix sibling workflow agents; staggering is on by default so later agents reuse the cached prompt prefix |
#CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS | Raise the Workflow tool's per-run concurrent agent limit (1–256) for inference-bound fan-outs |
#CLAUDE_CODE_TOOL_MEMORY_LIMIT | Opt-in memory cgroup limit for Bash tool commands on Linux; prevents a runaway build from stalling the session |
#CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS | Configure the WebFetch session URL cache TTL in milliseconds (default: 15 minutes) |
#CLAUDE_CODE_WEBFETCH_DEADLINE_MS | Override the 300-second WebFetch response deadline; set to 0 to disable the deadline entirely |
#CLAUDE_CODE_ENABLE_TODO_TOOLS=1 | Re-enable the task and todo tools on models where they are off by default
|
#CLAUDE_CODE_PROJECT_DIR_NAME | Custom short name for the per-project transcript directory; for hosts that give each session its own config directory |
#CLAUDE_CODE_GOAL_CHECKIN_MINUTES | Set to 0 to disable automatic check-ins when a /goal is waiting on background tasks for 30+ min |
#ANTHROPIC_DEFAULT_MODEL | Sets the model new sessions start on; a /model pick still overrides it and persists across restarts — unlike ANTHROPIC_MODEL |
#CLAUDE_CODE_RESTRICTED=1 | Lock the session down: no command execution, no WebFetch, no settings files
|
#SELF_HOSTED_RUNNER_CLIENT_LABEL | Override the label the self-hosted runner registers with (default: hostname); paired with claude self-hosted-runner --client-label <label> CLI flag |
#CLAUDE_CODE_AUTO_MODE_SERVER=0 | Opt out of the server-side auto mode classifier on Bedrock, Vertex, Foundry and gateways
|
#CLAUDE_CODE_MCP_STARTUP_WAIT_MS | Bound how long the first non-interactive turn waits for connecting MCP servers
|
#OTEL_LOG_MANAGED_SETTINGS=1 | Opt in to redacted settings and digests in the managed-settings OTel event |
#MCP_SDK_GENERATION=v1 / MCP_PROTOCOL_NEGOTIATION=legacy | Opt out of the new default MCP client and negotiation for direct HTTP MCP servers
|
#CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 | For Claude apps gateways whose only egress is a forward proxy
|
Skills & Agent Frontmatter
Built-in Skills & Locations
| Item | Description |
|---|---|
#/code-review [level] [pr#] | Code review as a background subagent; /review is an alias
|
#/verify | Verify a code change works end-to-end; must be explicitly invoked — Claude no longer auto-runs it |
#/simplify | Cleanup-only review (reuse, simplification, efficiency, altitude) applied to working tree; does not run the full /code-review --fix bug hunt |
#/batch | Large parallel changes (5-30 worktrees) |
#/claude-api | Load the API + SDK reference into context
|
#/less-permission-prompts | Scan transcripts for read-only Bash/MCP calls; propose settings.json allowlist |
#/ultrareview [PR#] | Cloud code review via parallel agents; no args for current branch, PR# for specific PR |
#/dataviz | Chart and dashboard design guidance with a runnable color-palette validator |
#/skill-a /skill-b [prompt] | Stacked slash-skill invocations — up to 5 leading skills all load simultaneously (e.g. /skill-a /skill-b do XYZ) |
#.claude/skills/<name>/ | Project skill directory
|
#~/.claude/skills/<name>/ | Global personal skill directory |
#plugin: bin/ | Plugin executables in bin/ invocable as bare commands from Bash tool |
#command (plugin marketplace source) | Specify a plugin directory via a local command's output (e.g. from an IDE); re-resolved each session without restart; mode: "link" uses it in place |
#headersHelper (plugin marketplace / catalog entry) | Command that mints HTTP headers for a url marketplace's fetches
|
Skill YAML Frontmatter
| Item | Description |
|---|---|
#description | Auto-invocation trigger string |
#effort | Override effort level specifically for skill |
#allowed-tools | Skip permission prompts for skill |
#disallowed-tools | Remove tools from the model while the skill or slash command is active |
#disable-model-invocation | Prevent Claude from auto-invoking the skill; Claude is told to ask you to run it manually instead |
#context: fork | Run skill in an isolated subagent; runs in the background by default — opt out per skill with background: false |
#$ARGUMENTS | User input placeholder replacement |
#\$ | Escape to include a literal $ before a digit in skill command bodies |
#$FILE_PATH | File path resolution (hook strings only) |
#${CLAUDE_SKILL_DIR} | Reference the skill's own directory |
#${CLAUDE_EFFORT} | Current effort level — available in hooks, Bash tool commands, and skill content |
#! 'cmd' | Dynamic bash execution context injection |
#keep-coding-instructions | Control plugin output style for coding tasks |
#monitors (plugin manifest) | Background monitor support for plugins; auto-arms at session start or on skill invoke |
#defaultEnabled: false (plugin manifest) | Plugin starts disabled by default; enable with /plugin or claude plugin enable; dependency plugins of enabled plugins are still enabled automatically |
#true/false/yes/no/on/off/1/0 | Accepted values for boolean frontmatter fields in skills and plugins (case-insensitive); all resolve to true or false |
Agent YAML Frontmatter
| Item | Description |
|---|---|
#experimental.cacheTtl | Per-agent prompt cache TTL; set to "5m" or "1h"; used when no subagent TTL setting is configured in the session |
#permissionMode | manual / acceptEdits / plan / bypass; manual replaces default — both accepted |
#omitClaudeMd | Skip user, project and local CLAUDE.md files for this agent; managed policy files still load. Also settable via --agents JSON |
#isolation: worktree | Run agent in isolated git worktree |
#memory: user|project | Persistent memory storage scope |
#background: true | Run entirely as background task |
#initialPrompt | Auto-submit first turn on spawn |
#SendMessage | Message another agent or session; auto-resumes stopped agents
|
#hooks: | Agent lifecycle hooks; fire when running as main-thread agent via --agent |
#mcpServers | MCP servers for the agent; now loaded for main-thread agent sessions via --agent |
Plugin CLI Commands
| Item | Description |
|---|---|
#claude plugin enable/disable <name> | Enable or disable an installed plugin
|
#claude plugin init <name> | Scaffold a new plugin in .claude/skills |
#claude plugin tag | Create release git tags for plugins with version validation |
#claude plugin prune | Remove orphaned auto-installed plugin dependencies; plugin uninstall --prune cascades |
#claude plugin details <name> | Show a plugin's component inventory and projected per-session token cost |
#claude plugin validate | Validate plugin manifest
|
#claude plugin eval | Run a plugin's eval suite against Claude Code; outputs scored, reproducible results as JSON + HTML report |
Memory, Hooks & MCP
Rules & Auto-Memory
| Item | Description |
|---|---|
#.claude/rules/*.md | Project specific structural rules |
#~/.claude/rules/*.md | User specific global rules |
#paths: (frontmatter) | Path-specific rule triggers |
#@path/to/file | Import file directly in CLAUDE.md |
#.../memory/MEMORY.md | Topic files, automatically loaded |
#AGENTS.md | Read in place of CLAUDE.md in a project that has no CLAUDE.md file
|
Event Hooks
| Item | Description |
|---|---|
#PreToolUse / PostToolUse | Intercept before/after tool execution
|
#PostToolUseFailure | Fires when a tool call fails; hook input includes duration_ms |
#SessionStart | Fires on session start/resume
|
#PreModelSwitch / PostModelSwitch | Block, confirm, or annotate a model switch before or after it happens |
#SubagentStart / Stop / SubagentStop | Lifecycle triggers for agent spawning
|
#SessionEnd | Run cleanup script when session closes |
#CwdChanged / FileChanged | React to directory or file changes |
#TaskCreated | Fires when task created via TaskCreate |
#DirectoryAdded | Fires after /add-dir or the SDK register_repo_root registers a new working directory mid-session |
#if: (hook field) | Conditional execution (permission rule syntax)
|
#"Bash,PowerShell" (hook matcher) | Comma-separated tool type names in a hook's matcher field
|
#mcp__name__.* (hook matcher pattern) | Hyphenated hook matcher identifiers exact-match — use mcp__name__.* glob to match all tools from a hyphenated MCP server (e.g. mcp__brave-search__.*) |
#PermissionDenied | Fires after auto mode classifier denials; return {retry:true} to allow retry |
#"defer" (PreToolUse) | Headless sessions pause at tool call; resume with -p --resume to re-evaluate |
#UserPromptSubmit | Fires on user prompt submit; supports hookSpecificOutput.sessionTitle to set session title |
#PreCompact | Fires before compaction; block by exiting with code 2 or returning {"decision":"block"} |
#type: "mcp_tool" (hook) | Hook directly invokes an MCP tool |
#args: string[] (hook field) | Exec form — spawns command directly without a shell; path placeholders never need quoting |
#$CLAUDE_PLUGIN_OPTION_<KEY> | Hook env var for accessing plugin config option values in exec-form hook commands
|
#continueOnBlock (PostToolUse) | Set to true to feed the hook's rejection reason back to Claude and continue the turn |
#terminalSequence (hook output) | Hook JSON output field — emit desktop notifications, window titles, and bells without a controlling terminal |
#MessageDisplay | Fires as assistant message text is displayed; hooks can transform or hide the output |
#WorktreeCreate / WorktreeRemove | Standalone async events fired when a git worktree is created or removed
|
#Notification | Fires when a background agent session needs input or finishes; events: agent_needs_input / agent_completed |
MCP Servers
| Item | Description |
|---|---|
#claude mcp list/add/remove | Standard MCP server management
|
#claude mcp login/logout <name> | Authenticate or de-authenticate an MCP server from the CLI without opening /mcp; --no-browser redirects auth code to stdin for SSH completion |
#claude mcp serve | Run Claude Code as an MCP server |
#--transport http/stdio/sse | Protocol connection methods |
#Elicitation | Servers can request input mid-task |
#_meta["anthropic/maxResultSizeChars"] | Override max MCP result size per call (up to 500K chars) |
#alwaysLoad (MCP server config) | When true, all tools from that server skip tool-search deferral and are always available |
#roots/list | Session additional working directories (from /add-dir) are included in MCP roots/list; notifications/roots/list_changed sent to servers when the set changes |
No matches — clear search to see everything.