claudeBenutzer09

Cheat Sheet

Everything you look up day to day with Claude Code on one printable page: commands, keyboard shortcuts, configuration files, and the options behind them.

Looking for the complete, searchable listing? Go to the feature index.

/help

Opens the help screen and lists the commands available in this environment — which ones appear depends on your platform, plan, and environment.

/clear

/clear now also resets the new per-session subagent-spawn budget. updated in v2.1.212

/compact

A failed `/compact` now displays as an error. updated in v2.1.216

Example

/compact focus on the auth module
/context

`/context` no longer reports stale pre-compact token usage after compacting from the message picker, and since v2.1.216 it shows an explicit warning when the conversation exceeds the context window. updated in v2.1.218

/diff

Opens a viewer for uncommitted changes; arrow keys switch between the git diff and the changes of individual turns.

/model

The `/model` picker now shows the merged Opus row as "Opus (1M context)" instead of plain "Opus", and highlights only the newest model's name — so the highlight marks the new release rather than an arbitrary subset of the list. updated in v2.1.219

Example

/model opus
/cost

Alias for /usage: shows the cost of the session, your plan limits, and activity stats.

/status

`/status` now shows you the session kind: `interactive`, or a background job as `attached` or `unattended`. updated in v2.1.221

/cd

Moves the session to a different working directory. The new directory CLAUDE.md arrives as a message instead of rebuilding the system prompt, so the prompt cache survives.

Example

/cd ../api
/doctor

Checks the installation, settings files, unused skills, MCP servers, plugins, and slow hooks; it reports the findings first and changes nothing until you agree.

/init

Creates a first CLAUDE.md for the project. With CLAUDE_CODE_NEW_INIT=1 an interactive flow instead walks you through skills, hooks, and personal memory files as well.

/memory

`/memory` no longer waits for the editor to close. updated in v2.1.216

/review

`/review` is now an alias for `/code-review`, reviewing the current diff or a PR. updated in v2.1.223

/permissions

Manages the allow, ask, and deny rules in a dialog: view rules by scope, add or remove them, maintain working directories, and review recent auto mode denials.

/config

`/config` now carries the dynamic workflow size guideline: it defaults to medium (aim for fewer than 15 agents), the running-workflow status line names the current default with a pointer to `/config`, and the row is hidden there once a settings file sets `workflowSizeGuideline`. updated in v2.1.219

/login

Signs you in to your Anthropic account; /logout signs you back out.

/branch

Branches the conversation at this point and switches you into the branch. The original is kept and reachable again through /resume.

/rewind

`/rewind` no longer restores or deletes files through symlinks or hard links at tracked paths, and reports how many paths it skipped. updated in v2.1.216

/resume

/resume in the agent view now opens a picker of past sessions — including ones deleted from the list — and resumes your pick as a background session. updated in v2.1.212

Example

/resume auth-refactor
/rename

Renames the running session and shows the name on the prompt bar. Without an argument it is generated from the conversation so far.

/export

Exports the conversation as plain text: with a filename straight into that file, without one through a dialog to copy or save it.

Example

/export session-review.md
/effort

Sets the reasoning level: low, medium, high, xhigh, max, or ultracode. Which levels exist depends on the model; max and ultracode last for the session only, and auto restores the model default.

Example

/effort high
/plan

Switches straight from the prompt into plan mode. An appended description starts planning on that task right away.

Example

/plan migrate from REST to GraphQL
/btw

A bare /btw now reopens the side-question panel on your most recent exchange, so you can browse earlier answers. updated in v2.1.212

Example

/btw what's the syntax for a TS generic constraint?
/batch

Breaks a large change into 5 to 30 independent units and presents the plan; after approval one background subagent per unit works in its own git worktree, runs the tests, and opens a pull request.

Example

/batch add JSDoc to all exported functions
/loop

Repeats a prompt while the session stays open. Without an interval Claude paces itself; without a prompt it falls back to the maintenance check or the text in .claude/loop.md.

Example

/loop 5m check if the build succeeded
/schedule

Creates, updates, lists, or runs routines. They do not execute on your machine but in the cloud that Anthropic operates; Claude walks you through the setup in conversation.

Example

/schedule "run security audit every Monday at 9am"
/workflows

Opens the progress view for dynamic workflows: watch, pause, resume, or save running and completed runs. A workflow starts from the keyword ultracode in your prompt or from /effort ultracode.

/deep-research

/deep-research now only starts when you invoke it manually — Claude no longer launches it on its own. updated in v2.1.218

Example

/deep-research what changed in the Node.js permission model between v20 and v22?
/debug

Turns on debug logging for the running session and reads the log back. Unless you started with claude --debug, recording only begins with this call.

/code-review

`/code-review` with no effort level now reuses the level you last typed, instead of resetting it. updated in v2.1.223

Example

/code-review high --comment
/code-review ultra

`/code-review ultra` now launches the cloud review in non-interactive sessions instead of silently running a local one, and since v2.1.216 its empty-diff message names the exact base ref and suggests passing an explicit base. updated in v2.1.218

Example

/code-review ultra 128
/simplify

A cleanup-only review that applies its findings right away: four agents check reuse, simplification, efficiency, and level of abstraction in parallel. Since v2.1.154 it no longer hunts for bugs — that is what /code-review is for.

/security-review

Examines the pending changes on the current branch for security holes and names risks such as injection, authentication flaws, and exposed data.

/agents

Since v2.1.198 it only points you to having Claude create subagents, or to editing .claude/agents/ and ~/.claude/agents/ directly; up to v2.1.197 the command opened an interface of its own.

/mcp

`/mcp` now shows HTTP status and error text when a server fails to connect. updated in v2.1.219

/plugin

Plugins installed via `/plugin` now activate immediately when safe, instead of always requiring `/reload-plugins`. updated in v2.1.221

Example

/plugin install pr-review
/reload-plugins

Reloads the active plugins without restarting and reports counts per component plus any load errors. If the reload would invalidate the prompt cache, it stops and asks for --force.

/goal

Sets a completion condition Claude keeps working toward across turns. With no argument the command shows the current or most recently achieved goal; clear, stop, off, reset, none, or cancel ends it early.

Example

/goal migrate all API endpoints from REST to GraphQL
/recap

Produces a one-line summary of the session on demand. The same summary appears by itself when you come back to the terminal after a few minutes away.

/fewer-permission-prompts

Scans your transcripts for frequent read-only Bash and MCP calls and writes a prioritized allowlist from them into the project .claude/settings.json.

/tui

Picks the terminal renderer and relaunches into it with the conversation intact; fullscreen switches to the flicker-free alt-screen, and with no argument the command names the active renderer.

/focus

Toggles the focus view, which shows only your last prompt, a one-line summary of the tool calls, and the final response. It exists in fullscreen rendering only.

/sandbox

Opens the sandbox panel with its Mode, Overrides, and Config tabs; your choice is written to .claude/settings.local.json. The Bash sandbox runs on macOS, Linux, and WSL2, and on Windows only inside a WSL2 distribution.

/usage-credits

Sets up usage credits, or requests them from your admin when you hit a limit. The command opens your billing settings in the browser and was called /extra-usage until v2.1.144; the old name still works.

/plugin Discover / Browse

Since v2.1.145, /plugin shows what a plugin brings along before you install it: its commands, agents, skills, hooks, and its servers for MCP and LSP. The tabs are now called Discover, Installed, Marketplaces, and Errors — there is no longer a tab named Browse.

Shift+Tab

Cycles through the permission modes: default (labeled Manual in the mode indicator), acceptEdits, and plan. Enabled optional modes slot in behind them, bypassPermissions first and auto last; dontAsk never appears in the cycle.

Option+T / Alt+T

Turns extended thinking on or off. On Fable 5 the shortcut does nothing, because that model always uses extended thinking.

Ctrl+C

Interrupts whatever is running. If nothing is running, the first press clears the prompt input and the second exits Claude Code.

Ctrl+D

Ends the session: the first press shows a hint, a second within 800 ms exits Claude Code. With text in the prompt, the shortcut deletes the character after the cursor instead.

Ctrl+B

`Ctrl+B` backgrounding now applies the same background-shell caps as the other paths into the background. updated in v2.1.218

Ctrl+O

Shows and hides the transcript viewer: it lays out tool calls and execution in detail, adds a timestamp and the model used to each response, and expands collapsed MCP calls.

Ctrl+R

Searches your prompt history backwards. The inline search always spans every project; only in fullscreen rendering does a dialog open instead, where Ctrl+S switches between this session, this project, and all projects.

Ctrl+G

Opens your prompt in the default text editor; Ctrl+X Ctrl+E is the readline-native alternative.

Ctrl+K

Opens the claudeBenutzer09 search — this shortcut belongs to this learning site, not to Claude Code. In the terminal, Ctrl+K deletes to the end of the line instead.

Esc

`Esc` in the agent view now returns you to the conversation it backgrounded. updated in v2.1.218

claude -p "prompt"

Answers a single prompt without the interactive interface and exits afterwards — the basis for calls from scripts and CI.

Example

echo "$DIFF" | claude -p "review these changes for security issues"
--output-format json

Returns the answer in print mode as structured output; besides json there are text and stream-json.

Example

claude -p "analyze this" --output-format json
--model <name>

Sets the model for this session — through one of the aliases sonnet, opus, haiku, or fable, or through the full model name. It takes precedence over the model setting and over ANTHROPIC_MODEL.

Example

claude --model opus "redesign the database schema"
--fallback-model <list>

Lists further models as a fallback, separated by commas: should the first one drop out through overload or missing availability, the next moves up. At most three entries count, the switch holds until the end of the turn, and it overrides the fallbackModel setting.

Example

claude --fallback-model sonnet,haiku
--permission-mode <mode>

Picks the permission mode to start in. On offer are default, acceptEdits, plan, auto, dontAsk and bypassPermissions, plus manual as an alias for default. The value beats defaultMode from the settings files.

Example

claude -p "run tests" --permission-mode bypassPermissions
--safe-mode

Starts without any customization for troubleshooting: CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands and agents, output styles, workflows, themes, keybindings, status line, LSP servers, and auto-memory stay unloaded. Authentication, model selection, built-in tools, and permissions keep working normally.

--max-turns <n>

Caps the number of agentic turns in print mode. Without the flag there is no limit; once it is reached the run ends with an error. What is counted is turns, not runtime.

--no-session-persistence

Keeps the session off disk, so it cannot be resumed later — print mode only. The CLAUDE_CODE_SKIP_PROMPT_HISTORY variable has the same effect in any mode.

--resume

Resumes a specific session by ID or name; without an argument a picker opens. A session ID you pass is looked up only in the current project directory and its git worktrees.

--continue

Loads the most recent conversation of the current directory — including ones that only added this directory through /add-dir.

--agent <name>

Sets the subagent for this session; the main thread takes on its system prompt, tool restrictions, and model, overriding the agent setting.

Example

claude --agent security-reviewer
--plugin-dir <path>

Loads a plugin from a directory or a .zip archive, for this session only. One path per flag — repeat it for several plugins.

Example

claude --plugin-dir ./my-plugin
--bare

Minimal mode for fast scripted calls: hooks, skills, plugins, MCP servers, auto-memory, and CLAUDE.md are never looked for. Claude keeps Bash plus reading and editing files, and CLAUDE_CODE_SIMPLE gets set.

--worktree

Starts in a separate git worktree under .claude/worktrees/ in the repository; without a name one is generated. Pass #123 or a GitHub PR address and Claude Code fetches that pull request from origin, then branches the worktree from it.

--dangerously-skip-permissions

Skips the permission prompts and matches --permission-mode bypassPermissions. Deny rules and explicit ask rules still apply even then.

claude project purge [path]

Wipes what Claude Code has stored locally about a project — the transcripts, the task lists, the debug output, the record of file edits, the typed prompts, and the entry the project holds in ~/.claude.json. Without a path you get a picker; --dry-run only previews, -y skips the confirmation, -i asks per item, and --all covers every project.

Example

claude project purge --dry-run
--plugin-url <url>

Pulls a plugin down as a .zip archive from an address, and only for the launch at hand. Need several, give the flag more than once or pass the addresses space-separated in one value.

Example

claude --plugin-url https://example.com/my-plugin.zip
claude agents

Opens agent view, where you watch parallel background sessions and dispatch new ones. --cwd narrows it to one directory, and --permission-mode, --model, --effort, or --agent set the defaults for newly dispatched sessions.

claude agents --json

Writes the list of sessions out as a JSON array and exits. Always present are cwd, kind, and startedAt; background sessions carry id and state, live processes pid and status, and when status is waiting, waitingFor says what it is blocked on. --all adds completed background sessions.

Example

claude agents --json | jq '.[] | select(.status == "waiting" and .waitingFor == "permission prompt")'
claude plugin details <name>

Shows, since v2.1.139, which components a plugin brings along and what token cost per session to expect for them.

Example

claude plugin details pr-review
claude plugin prune

Clears out plugins that only arrived as a dependency and that nothing installed still needs; the command lists them first and asks. Alias autoremove, available from v2.1.121, with --dry-run, -y, and -s for the scope.

Example

claude plugin uninstall pr-review --prune
claude plugin enable <name>

Re-enables a disabled plugin without reinstalling it, switching its dependencies on as well. Without --scope the command detects the matching scope by itself.

Example

claude plugin enable formatter --scope project
claude plugin disable <name>

Switches an installed plugin off without uninstalling it. If another active plugin depends on it, the command refuses and names the chain you would have to disable first.

Example

claude plugin disable formatter --scope project
--add-dir <path>

Gives Claude read and write access to another directory for this session. Configuration under .claude/ is mostly not discovered there; to make such directories permanent, list them under permissions.additionalDirectories.

Example

claude --add-dir ../shared-types
--mcp-config <file>

Loads MCP servers from JSON files or straight from JSON strings, several of them space-separated. Together with --strict-mcp-config every other MCP source stays out.

Example

claude --strict-mcp-config --mcp-config ./repro.json
--channels <plugin>

Names, as a research preview, the MCP servers whose channel notifications this session should listen for — as a list of entries shaped plugin:name@marketplace. It requires Anthropic authentication through claude.ai or a Console API key.

Example

claude --channels plugin:telegram@claude-plugins-official
claude auth login

Signs you in to your Anthropic account. --email prefills the address, --sso forces SSO, and --console signs you in with the Anthropic Console so usage is billed through the API instead of a Claude subscription.

CLAUDE.md

The project instructions your team shares: build and test commands, conventions, architectural decisions. It may sit in the project root or under .claude/ and travels to everyone through version control.

CLAUDE.local.md

Your personal notes for this one project — your own sandbox URLs or preferred test data, say. It loads alongside CLAUDE.md and belongs in .gitignore.

.claude/settings.json

The settings of the project: permission rules, hooks, and other defaults meant to apply to everyone in the repository. It is checked in; MCP servers belong in .mcp.json instead.

Example

{ "permissions": { "allow": ["Bash(npm run test)"], "deny": ["Bash(rm -rf /)"] } }
.claude/settings.local.json

Your own settings for this project. It sits next to the shared file, takes precedence over it, and stays private because it is not checked in.

~/.claude/CLAUDE.md

Your personal instructions across all projects — style preferences, your own tooling shortcuts. It loads before the project instructions, so it comes earlier in the order.

~/.claude/settings.json

Your user settings across all projects. Project settings can override them, and the managed settings of an organization sit above both.

.claude/skills/

The skills of this project: one directory per skill holding a SKILL.md. It is checked in and thus available to everyone on the team.

.claude/agents/

The subagent definitions of this project as markdown files with frontmatter. It is checked in; your personal agents live under ~/.claude/agents/.

.claude/rules/*.md

Rules meant to apply to certain files only. The paths frontmatter field narrows down where a rule takes effect, so large projects can split their instructions instead of writing everything into one CLAUDE.md.

Example

--- paths: src/api/**/*.ts --- Always validate input parameters.
.mcp.json

The MCP servers of the project. The file sits in the repository root, is checked in, and is the place meant for them — an mcpServers key in settings.json is not read.

~/.claude.json

The global state file: app state, OAuth sign-in, UI toggles, and your personal MCP servers. Claude Code takes a backup of it before configuration migrations.

claude mcp add <name> <uri>

Registers an MCP server. --transport picks the transport, and http is the recommended one for remote servers. If you enter a server by hand as JSON instead, an entry without a type is always a stdio server — a url without a type is reported as a configuration error.

Example

claude mcp add --transport stdio github -- npx @modelcontextprotocol/server-github
claude mcp add --header

Passes extra HTTP headers along when registering — the way to hand a remote server a bearer token or an API key.

Example

claude mcp add --header "Authorization: Bearer $TOKEN" api https://api.example.com/mcp
claude mcp list

Lists the registered MCP servers and shows the state of each — awaiting approval, needing authentication, or without a configured address, for instance.

claude mcp get <name>

Shows the details of one registered server.

claude mcp remove <name>

Takes an MCP server entry back out.

claude mcp login <name>

Runs the OAuth flow of a registered server straight from the shell, without opening the /mcp panel — for HTTP, SSE, and claude.ai connector servers from v2.1.186. Over SSH add --no-browser and the address is printed for you to copy.

claude mcp logout <name>

Discards the stored OAuth credentials of an MCP server; also from v2.1.186.

claude mcp add-from-claude-desktop

Copies the servers set up in Claude Desktop into ~/.claude.json — the standalone CLI does not read the Claude Desktop configuration file itself. Available on macOS and WSL.

/mcp

Opens the list of MCP connections inside the session, kicks off pending OAuth sign-ins, and reconnects individual servers.

mcp__server__tool

That is what MCP tools are called internally: server name and tool name in the prefix. Permission rules can target them precisely; in conversation you simply describe what you need.

Example

Use the GitHub MCP to list open PRs older than 3 days.
Hooks

Hooks

PreToolUse

Runs before a tool call executes and can turn it away. A command hook blocks with exit code 2; when several hooks meet, the strictest answer wins in the order deny, defer, ask, allow.

Example

Validate Bash commands before execution, block dangerous patterns.
PostToolUse

Runs after a tool call has succeeded — the place for formatting, linting, or logging. Failures have their own event, PostToolUseFailure.

Example

Auto-format files after Edit/Write with prettier.
UserPromptSubmit

Runs the moment you submit a prompt, but before Claude gets to see it.

Stop

Runs when Claude has finished a response — a good place to check criteria before wrapping up.

Example

Verify all tests pass before marking a task complete.
SubagentStart / SubagentStop

Report the start and the end of a subagent. Both are limited to command hooks: for SessionStart, Setup, and SubagentStart, Claude Code explicitly rejects prompt and agent hooks.

Hook types

Most hooks are of type command and start a shell command. Beyond that there is http for a POST to an address, mcp_tool for calling a connected MCP tool, prompt for a single LLM evaluation, and agent for a multi-step check with tool access.

Hook matchers

Narrow down which tools set a hook off. If the matcher consists only of letters, digits, underscore, hyphen, space, comma, and vertical bar, it is compared as an exact string, with comma and bar separating alternatives. Any other character turns it into an unanchored regular expression — which is why mcp__memory matches no tool at all, while mcp__memory__.* matches every tool of that server.

Example

matcher: "Edit|Write" — only trigger on file modifications.
Hook args (exec form)

Entering args as an array starts the command without a shell — which removes every quoting problem. Without the field, the shell splits the command line as usual.

Example

"command": "node", "args": ["--check", "file.js"]
Skill-level hooks

A skill may bring its own hooks in the frontmatter of its SKILL.md; they hang on the lifecycle of that one skill. The once field, which removes a hook after its first run, works only there.

Stop / SubagentStop input fields

Both events are handed background_tasks and session_crons, that is the running background work and the queued scheduled runs of the parent session. That lets you hold a turn open until the background work has drained.

Example

if data['background_tasks'] or data['session_crons']: print('{"decision":"block"}')
default

The mode that puts every action to you one at a time; the interface calls it Manual, while configuration and hooks keep the name default. Only reads run here without asking.

plan

Research and present a plan without changing anything. Where auto mode is available, commands cleared by the classifier also run through.

acceptEdits

File edits go through without asking, and so do the common filesystem commands such as mkdir, touch, mv, and cp. Everything else Claude still puts to you.

auto

Everything runs without asking, but not unchecked: a classifier decides on each call in the background, and you can review the denied cases later in /permissions.

bypassPermissions

Suspends the checks and is meant for isolated containers and virtual machines only. Deny rules and explicit ask rules still apply, while allow rules no longer have any effect here.

Allow patterns

Approve in advance what may run without asking. Entries from several settings files are merged, so you can extend a managed list but not trim it.

Example

"allow": ["Bash(npm run test)", "Bash(git *)", "Read", "Edit"]
Deny patterns

Block a call in every permission mode — including bypassPermissions. That also beats an ask decision from a PreToolUse hook.

Example

"deny": ["Bash(git push --force*)", "Bash(rm -rf /)"]
@"agent-name"

The @-mention makes sure this exact subagent takes the task rather than leaving the choice to Claude. Type @ and pick it from the typeahead; written by hand it is @agent- followed by the name.

Example

@"security-reviewer" audit the auth module
claude --agent <name>

Starts the session so the main thread itself is that subagent — with its system prompt, tool restrictions, and model.

.claude/agents/*.md

One subagent of the project per file. In the frontmatter you set model, effort, isolation, and background among others; without model the subagent inherits the one of the session.

Built-in agents

Explore only searches and reads, inherits the model of the session, and is capped at Opus on the Claude API. Plan does the research in plan mode, likewise without write access. general-purpose may use everything open to subagents.

isolation: worktree

Gives the subagent a temporary git worktree of its own — a separate copy of the repository, branched from the default branch by default. If it stays unchanged, it is cleaned up afterwards on its own.

background: true

Always runs the subagent in the background, even when Claude needs its result right away. Without the field Claude decides, and since v2.1.198 that decision mostly falls to the background anyway.

/plugin install <name>

Installs a plugin from a configured marketplace. The full name is plugin@marketplace, and --scope picks between user, project, and local.

Example

/plugin install pr-review
/plugin list

Lists the installed plugins and shows what they bring along — including a notice when a default folder such as commands/ is skipped because the manifest sets the matching key itself.

/reload-plugins

Picks up plugin changes during development without ending the session — handy while you are working on a plugin yourself.

claude --plugin-dir ./path

Loads a plugin from a local directory for this one launch — the quickest way to try a state out before it moves into a marketplace.

.claude-plugin/plugin.json

The manifest of the plugin. It carries the name and, optionally, version, description, author, and further entries; through userConfig Claude Code asks for values when the plugin is enabled instead of anyone hand-editing settings.json.

plugin-name:command

Commands from plugins carry the plugin name as a prefix, so two plugins may bring the same command name. Subagents from plugins likewise appear under their prefix in the typeahead.

Example

/pr-review:check-security
CLAUDE_EFFORT

Carries the effort level of the turn into Bash subprocesses and hook commands: low, medium, high, xhigh, or max. Ultracode is not a level of its own and reports as xhigh. The variable is set only when the model knows the parameter at all.

CLAUDE_CODE_SESSION_ID

Carries the session identifier into Bash, PowerShell, and hook subprocesses as well as stdio MCP servers. That lets you tie scripts and external tools back to the session that launched them.

CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN

Set to 1, the classic renderer stays active instead of switching to the fullscreen alternate screen. The conversation then lives in the normal terminal scrollback, so search and tmux copy mode work as usual.

CLAUDE_CODE_FORCE_SYNC_OUTPUT

Forces synchronized output on terminals that support it but fail the detection — Emacs eat, for instance. The renderer stays the same, and under tmux the variable has no effect.

CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE

Lets Claude Code run the upgrade command of your package manager in the background as soon as a new version is out, then prompt for a restart. That covers Homebrew and WinGet; other package managers keep only showing the command.

CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY

Queries the /v1/models endpoint of your gateway at startup and adds the names it returns to the model picker. Off by default so a gateway behind a shared key does not show everyone every model; from v2.1.129.

CLAUDE_CODE_HIDE_CWD

Hides the working directory in the startup logo — useful in screen shares and recordings where the path would give away your username.

CLAUDE_CODE_SAFE_MODE

Matches the --safe-mode flag: the session starts without CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands, and agents. Directly spawned child processes inherit the variable, and managed policy still applies.

CLAUDE_CODE_DISABLE_BUNDLED_SKILLS

Removes the bundled skills and workflows entirely; built-in commands such as /init stay typable but are no longer visible to the model. Skills from plugins, .claude/skills/, and .claude/commands/ are untouched.

DISABLE_UPDATES

Bars every route to a newer version, the claude update call included. DISABLE_AUTOUPDATER goes less far: it only halts the updating that happens in the background.

CLAUDE_CODE_USE_POWERSHELL_TOOL

Turns the PowerShell tool on under Linux, macOS, and WSL, where pwsh has to be on the PATH. On Windows it is rolling out gradually and can be opted out of with 0.

CLAUDE_CODE_DISABLE_WORKFLOWS

Turns dynamic workflows and the bundled workflow commands off. The variable is read at startup, so it works wherever you set it; the disableWorkflows setting has the same effect.

worktree.baseRef

Determines which ref a new worktree branches from: fresh takes the default branch of the remote and is the preset, head takes your local HEAD and thereby keeps unpushed commits. It covers --worktree, the EnterWorktree tool, and subagent isolation.

sandbox.bwrapPath / sandbox.socatPath

Where the two helper binaries sit that the sandbox needs under Linux and WSL: bubblewrap and socat, each as a full path. Both keys are read from managed settings only.

parentSettingsBehavior

Governs whether settings handed over programmatically by a calling process — the Agent SDK or an IDE extension, say — apply alongside a deployed managed tier. first-wins drops them, merge lets them through underneath, filtered. Managed settings only, from v2.1.133.

cleanupPeriodDays

Sets how old session files and other local data may get before they are deleted at startup; the preset is 30 days, the minimum 1, and 0 is rejected as an error. The same age cutoff clears out orphaned worktrees.

prUrlTemplate

Points the PR badge in the footer and in tool result summaries at a review tool of your own instead of github.com. Five placeholders get substituted: host, owner, repo, number, and url.

disableBundledSkills

The setting for the same purpose: bundled skills and workflows disappear, built-in commands stay typable and invisible to the model. As an environment variable it is CLAUDE_CODE_DISABLE_BUNDLED_SKILLS; /doctor is hidden separately with DISABLE_DOCTOR_COMMAND.

enforceAvailableModels

Makes the availableModels allowlist bind the default choice too. When it sits in managed settings and is not empty, Default drops back to the first allowed entry that is available — but only if the model Default would otherwise resolve to is not on the list anyway. From v2.1.175.

footerLinksRegexes

Renders extra clickable badges in the footer as soon as a regular expression matches the output of a turn. Each entry has a pattern, a url template with named groups, and optionally a label; the key is read from user, --settings, and managed settings only. From v2.1.176.

/effort high → /plan → approve → implement

For a demanding task: raise the reasoning level first, have the research done in plan mode, approve the plan, and only then implement.

/diff → /cost → /export → /compact

To wrap up a session: look through the changes, check cost and limits, save the conversation, and free up context last.

/batch <instruction>

For a large refactor: break the work into independent units and have one background subagent work on each in a worktree of its own.

/loop 5m <check>

For watching: check at fixed intervals whether the build is through, whether new errors turned up in the log, or whether the deployment looks healthy.

/branch → experiment → /resume

For experimenting: branch the conversation, play an approach through, and return to the original thread if it does not work out.

echo $DIFF | claude -p "review" --output-format json

For CI: hand a diff to a non-interactive run over standard input and get the assessment back as JSON for the pipeline to process.

/init → edit CLAUDE.md → commit

For project setup: have the first CLAUDE.md generated, add what Claude cannot work out on its own, and check it in.

Additional commands

--bg

The --bg flag no longer fails on Windows with "EUNKNOWN: unknown error, uv_spawn" when Group Policy blocks PowerShell 5.1, since the daemon now prefers PowerShell 7. (v2.1.212)

--teleport

`claude --teleport` now shows which repo your current checkout points at when it does not match the session's repo. (v2.1.219)

/background

/background no longer fails on Windows with "EUNKNOWN: unknown error, uv_spawn" when Group Policy blocks PowerShell 5.1, since the daemon now prefers PowerShell 7. (v2.1.212)

/fast

`/fast` now applies only to Opus 5 and Opus 4.8, with Opus 4.7 removed. (v2.1.219)

/fork

Sessions forked with `/fork` now create their own worktree instead of working in the original session's checkout. (v2.1.221)

/install-github-app

/install-github-app now works in agent-view sessions too and is only refused in background sessions with no terminal attached. (v2.1.214)

/plugin install

`/plugin install` now refreshes a stale marketplace catalog and retries before reporting a plugin as not found. (v2.1.221)

/subtask

/subtask now launches the in-session subagent that /fork used to start directly. (v2.1.212)

/teleport

New: `/teleport` shows you in cloud sessions how to continue locally with `claude --teleport <session id>`. (v2.1.223)

/ultrareview

`/ultrareview` now refuses up front when a repo shares no history with its base — a checkout with no branches is refused with advice to create one. Its refusal hints also no longer wrongly suggest `git fetch --unshallow` on clones that are already complete. (v2.1.221)

/verify

You now invoke /verify yourself when you want it, since Claude no longer runs it automatically. (v2.1.215)

CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION

The CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION environment variable overrides the new default cap of 200 subagent spawns per session. (v2.1.212)