Every CLI flag, and where it lived
272 CLI flags One tick per build on this box, oldest on the left. A gap is a build the CLI flag was not in.○ not in v2.1.308, ◇ we found no documentation describing it.
CLI flagWhat it doesSpan v2.1.138 → v2.1.308 Status
--max-cost-usd ◇ Help text for --max-cost-usd now explains its cost ceiling is checked before each run, not per single runv2.1.198 → v2.1.308 ◆in the build
--mcp-config Load MCP servers from JSON files or strings (space-separated). When you pass this flag with -p, Claude Code waits for still-pending servers to connect before running the first turn, up to the MCP_TIMEOUT startup timeout, 30 seconds by default; a server with a cached tool list skips the wait and connects on first use. The wait requires Claude Code v2.1.221 or laterv2.1.138 or earlier → v2.1.308 ◆in the build
--mcp-debug ◇ No description from anybody.v2.1.138 or earlier → v2.1.191 ○gone
--message ◇ New checks verify a checkout's .git points to the right repo and can auto-stash changes before teleport operationsv2.1.138 or earlier → v2.1.308 ◆in the build
--messaging-socket-path ◇ The messaging socket lives under XDG_RUNTIME_DIR with locked-down permissions and refuses to hijack a live one.never mined ·never mined
--min-idle ◇ An orchestrator subcommand polls for capacity hints and runs your own spawn-runner script to autoscale.never mined ·never mined
--mocks ◇ Plugin evals can swap a plugin's MCP servers for fakes defined in a mocks folder.v2.1.242 → v2.1.308 ◆in the build
--model Sets the model for the current session with a model alias such as sonnet, opus, haiku, or fable, or a model's full name. Overrides the model setting and ANTHROPIC_MODELv2.1.138 or earlier → v2.1.308 ◆in the build
--name Set a display name for the session, shown in /resume and the terminal title. You can resume a named session with claude --resume <name>. In an interactive session, if another live session on this machine already uses the name, Claude Code applies a variant of it instead. <br /><br />/rename changes the name mid-session and also shows it on the prompt barv2.1.138 or earlier → v2.1.308 ◆in the build
--no-browser ◇ Option of claude mcp login <name>, which authenticates with an MCP server (HTTP, SSE or claude.ai connector). With it no browser is opened, so you use the printed authorization URL yourself. For HTTP and SSE servers you then paste the redirect URL back at the prompt (stdin must be a terminal); for a claude.ai connector you authorize on claude.ai and it appears in the next session. Meant for SSH or headless use.v2.1.186 → v2.1.308 ◆in the build
--no-check-expiry ◇ decode-token prints a session token's claims, verifying signature and expiry by default.never mined ·never mined
--no-chrome Disable Chrome browser integration for this sessionv2.1.138 or earlier → v2.1.308 ◆in the build
--no-ext-diff ◇ Many more git commands now run with a scrubbed environment so stray variables can't redirect them.never mined ·never mined
--no-home-settings ◇ You now decide separately whether cloud sessions may use your plugins and your local settings.never mined ·never mined
--no-post ◇ Ultra review adds --post and --no-post, so findings go to the PR as a comment from you.v2.1.227 → v2.1.308 ◆in the build
--no-publish ◇ Plugin eval now writes report.html and publishes it to claude.ai unless you pass --no-publish.v2.1.224 → v2.1.308 ◆in the build
--no-scaffold ◇ Option of claude plugin eval. Skips each case's scaffold_script, which is also the default when neither --scaffold nor --no-scaffold is passed; --scaffold turns it on and prints a note that the script runs as you.v2.1.198 → v2.1.308 ◆in the build
--no-session-persistence Disable session persistence so sessions are not saved to disk and cannot be resumed. Print mode only. The CLAUDE_CODE_SKIP_PROMPT_HISTORY environment variable does the same in any modev2.1.138 or earlier → v2.1.308 ◆in the build
--no-textconv ◇ Many more git commands now run with a scrubbed environment so stray variables can't redirect them.never mined ·never mined
--no-verify ◇ decode-token prints a session token's claims, verifying signature and expiry by default.never mined ·never mined
--objects ◇ Repos with lots of dead history are no longer squashed or rejected based on pack file size.never mined ·never mined
--objects-edge-aggressive ◇ Repos with boundary commits are no longer wrongly rejected as unpackable when uploading.never mined ·never mined
--on-branch ◇ Start a cloud session on your own environment with claude --environment, plus hidden --ref and --on-branch companions.never mined ·never mined
--output-dir ◇ plugin eval warns when writing results inside a plugin's own directory could get picked up as plugin componentsv2.1.198 → v2.1.308 ◆in the build
--permission-mode Begin in a specified permission mode. Accepts default, acceptEdits, plan, auto, dontAsk, bypassPermissions, or manual as an alias for default. The manual alias selects the permission mode the UI labels Manual and requires Claude Code v2.1.200 or later; claude --help lists it in place of default, and both values work. Overrides defaultMode from settings files. Without this flag or --dangerously-skip-permissions, a new session starts in the permission mode described in which permission mode a session starts in. For -p, that's default when nothing is configuredv2.1.142 → v2.1.308 ◆in the build
--permission-prompt-tool Specify an MCP tool to handle permission prompts in non-interactive mode. Claude Code waits for that tool's MCP server to connect before running the first turn, up to the MCP_TIMEOUT startup timeout, 30 seconds by default. <br /><br />The prompt tool can't approve an MCP tool marked as requiring user interaction: Claude Code converts an allow result for one to a deny. This restriction requires Claude Code v2.1.199 or laternever mined ·never mined
--plugin-dir Load a plugin from a directory or .zip archive, or several from a folder of plugins, for this session only. Each flag takes one path. Repeat the flag for more paths: --plugin-dir A --plugin-dir B.zip. Passing a folder of plugins requires Claude Code v2.1.265 or laterv2.1.138 or earlier → v2.1.308 ◆in the build
--plugin-url Fetch a plugin .zip archive from a URL for this session only. Repeat the flag for multiple plugins, or pass space-separated URLs in a single quoted valuev2.1.138 or earlier → v2.1.308 ◆in the build
--pool ◇ Start a cloud session on your own environment with claude --environment, plus hidden --ref and --on-branch companions.never mined ·never mined
--pool-secret-file ◇ Runner "pool" flags are renamed to "environment"; old names still work but warn.never mined ·never mined
--port ◇ In remote cloud sessions only, claude mcp serve can now listen over HTTP with --transport, --port and --session-tunnelv2.1.295 → v2.1.308 ◆in the build
--post ◇ Ultra review adds --post and --no-post, so findings go to the PR as a comment from you.v2.1.227 → v2.1.308 ◆in the build
--print Print response without interactive mode (see Agent SDK documentation for programmatic usage details)v2.1.138 or earlier → v2.1.308 ◆in the build
--project ◇ Cloud session creation can use a newer request shape for review and plan sources.never mined ·never mined
--proxy-authorization-command ◇ The self-hosted runner can generate a fresh proxy auth token for every outbound connection.never mined ·never mined
--proxy-authorization-file ◇ The self-hosted runner can generate a fresh proxy auth token for every outbound connection.never mined ·never mined
--prune ◇ Plugin disable, disable-all, and update commands gain --json output alongside other plugin commandsv2.1.138 or earlier → v2.1.308 ◆in the build
--publish-report ◇ Plugin eval now writes report.html and publishes it to claude.ai unless you pass --no-publish.v2.1.210 → v2.1.308 ◆in the build
--push ◇ Option of claude plugin tag (and of the /plugin tag command). After creating the {name}--v{version} tag, pushes it with git push <remote> refs/tags/<tag> (--force added when -f is given; remote from --remote, default origin) and prints Pushed to <remote>. Without it the command prints the push command to run instead; with --dry-run nothing is created or pushed.v2.1.138 or earlier → v2.1.308 ◆in the build
--ref With --environment, base the new session's checkout on a named ref instead of local HEADnever mined ·never mined
--registry ◇ Claude Code can now install plugins hosted on the npm registry, gated behind a new flagv2.1.275 → v2.1.308 ◆in the build
--release-idle-session-min ◇ New flags retire a runner at a set time, release idle sessions, and control drain behaviour.never mined ·never mined
--remote Deprecated alias for --cloud, including the existing-session formv2.1.138 or earlier → v2.1.308 ◆in the build
--remote-control Start an interactive session with Remote Control enabled so you can also control it from claude.ai or the Claude app. Optionally pass a name for the sessionnever mined ·never mined
--remote-control-session-name-prefix Prefix for auto-generated Remote Control session names when no explicit name is set. Defaults to your machine's hostname, producing names like myhost-graceful-unicorn. Set CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX for the same effectv2.1.138 or earlier → v2.1.308 ◆in the build
--replay-user-messages Re-emit user messages from stdin back on stdout for acknowledgment. Requires --input-format stream-json and --output-format stream-jsonv2.1.138 or earlier → v2.1.308 ◆in the build
--report ◇ Plugin eval now writes report.html and publishes it to claude.ai unless you pass --no-publish.v2.1.210 → v2.1.308 ◆in the build
--restricted Start in restricted mode. Use it when an evaluation harness drives claude on a shared machine and Claude Code must not run commands or read that machine's user and project settings. Claude Code removes the built-in tools that run commands or code, and WebFetch, unless you name them individually in --tools, not through the default preset. It also confines the built-in file tools to the working directories, loads only managed settings and --settings, refuses bypassPermissions, and refuses to create cloud sessions. Requires Claude Code v2.1.248 or laterv2.1.248 → v2.1.308 ◆in the build
--resume Resume a specific session by ID or name, or show an interactive picker to choose a session. In place of an ID, you can pass the absolute path to a session's .jsonl transcript file. The picker and name search include sessions that added this directory with /add-dir. When you pass a session ID, Claude Code searches the current project directory and its git worktrees, then every other project on this machine. Before v2.1.223, the ID search covered only the current project directory and its git worktrees. Background sessions appear in the picker marked with bgv2.1.138 or earlier → v2.1.308 ◆in the build
--resume-drops-turn ◇ A hidden flag lets you declare which turn a truncating resume is meant to discard.never mined ·never mined
--resume-session-at ◇ A hidden flag lets you declare which turn a truncating resume is meant to discard.never mined ·never mined
--retire-at ◇ New flags retire a runner at a set time, release idle sessions, and control drain behaviour.never mined ·never mined
--revs ◇ Cloud sync sizes up your repo first and always tells you why it declined; bundle upload is server-gated.never mined ·never mined
--runs ◇ Option of claude plugin eval. Number of runs per case, overriding each case's own runs value for every case in the suite. Must be a positive integer, otherwise the command prints Error: --runs must be a positive integer and exits 1.v2.1.198 → v2.1.308 ◆in the build
--safe-mode Start with all customizations disabled to troubleshoot a broken configuration: CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands and agents, output styles, workflows, custom themes, custom keybindings, status line and file-suggestion commands, LSP servers, and auto memory do not load. Authentication, model selection, built-in tools, and permissions work normally, which differs from --bare. Managed settings policy still applies, including policy-configured hooks, status line, and file-suggestion commands; managed plugins, managed skills, managed CLAUDE.md, and policy-configured MCP servers do not. Useful for checking whether a customization is what triggers automatic model fallback. Sets CLAUDE_CODE_SAFE_MODEv2.1.169 → v2.1.308 ◆in the build
--scaffold ◇ Eval cases with a scaffold_script now warn explicitly when --scaffold wasn't passed instead of silently skipping itv2.1.198 → v2.1.308 ◆in the build
--scm-connector-ca-file ◇ Pass --scm-connector-host to tunnel Anthropic requests into a GitHub Enterprise server only your network can reach.never mined ·never mined
--scm-connector-host ◇ Pass --scm-connector-host to tunnel Anthropic requests into a GitHub Enterprise server only your network can reach.never mined ·never mined
--scm-connector-host-rewrite ◇ Pass --scm-connector-host to tunnel Anthropic requests into a GitHub Enterprise server only your network can reach.never mined ·never mined
--scm-connector-id ◇ Pass --scm-connector-host to tunnel Anthropic requests into a GitHub Enterprise server only your network can reach.never mined ·never mined
--scm-connector-provider ◇ Pass --scm-connector-host to tunnel Anthropic requests into a GitHub Enterprise server only your network can reach.never mined ·never mined
--scope ◇ You can now add a claude.ai-hosted plugin marketplace with a new --claudeai flag.v2.1.138 or earlier → v2.1.308 ◆in the build
--sdk-url ◇ Startup stats now note the input format, whether --sdk-url was passed, and an experiment flag.never mined ·never mined
--session-id Use a specific session ID for the conversation (must be a valid UUID)v2.1.138 or earlier → v2.1.308 ◆in the build
--session-tunnel ◇ In remote cloud sessions only, claude mcp serve can now listen over HTTP with --transport, --port and --session-tunnelv2.1.295 → v2.1.308 ◆in the build
--setting-sources Comma-separated list of setting sources to load (user, project, local). See agent view and agent teams for the sessions you start from this one that inherit the listv2.1.138 or earlier → v2.1.308 ◆in the build
--settings Path to a settings JSON file or an inline JSON string. Values you set here override the same keys in your settings.json files for this session. Keys you omit keep their file-based values. The file must be a regular file no larger than 2 MiB. See settings precedencev2.1.138 or earlier → v2.1.308 ◆in the build
--sparse ◇ You can now add a claude.ai-hosted plugin marketplace with a new --claudeai flag.v2.1.138 or earlier → v2.1.308 ◆in the build
--sso ◇ Option of claude auth login, which signs in to your Anthropic account. It starts the OAuth browser sign-in with the login method set to sso, forcing the single sign-on flow; --email can pre-fill the address.v2.1.138 or earlier → v2.1.308 ◆in the build
--startup-timeout-min ◇ New flags retire a runner at a set time, release idle sessions, and control drain behaviour.never mined ·never mined
--status ◇ New hidden command claude design-login --json backs the /design-login sign-in flow for the VS Code extensionv2.1.277 → v2.1.308 ◆in the build
--strict ◇ Incoming file bundles are unpacked and verified in a scratch directory before touching your repo.v2.1.145 → v2.1.308 ◆in the build
--strict-mcp-config Only use MCP servers from --mcp-config, ignoring all other MCP configurations. See Exclusive control with managed-mcp.json for what the flag does under a managed MCP filev2.1.138 or earlier → v2.1.308 ◆in the build
--system-prompt Replace the entire system prompt with custom textnever mined ·never mined
--tag ◇ Option of claude plugin eval, repeatable. Filters the suite to cases whose tags include at least one of the given tags; it combines with --case, so a case must also match that glob.v2.1.198 → v2.1.308 ◆in the build
--teleport Resume a cloud session in your local terminalnever mined ·never mined
--text ◇ Option of claude auth status. Prints the authentication status as human-readable label: value lines instead of the default JSON object, with a Not logged in line when signed out that says to run claude auth login (or, in a Cloud gateway session, to start claude and sign in with /login). The exit code is 0 when logged in and 1 otherwise in both formats.v2.1.138 or earlier → v2.1.308 ◆in the build
--thin ◇ Cloud sync sizes up your repo first and always tells you why it declined; bundle upload is server-gated.never mined ·never mined
--thinking-display ◇ A schema description was reworded to explain that clearing the thinking display setting restores Claude Code's own default.never mined ·never mined
--threshold ◇ Option of claude plugin eval, a number from 0 to 1 (default 1). A case passes when its score (the mean of its runs) is at or above it, and the command exits 1 if any case scores below it. A value outside 0..1 exits 1 with Error: --threshold must be between 0 and 1.v2.1.198 → v2.1.308 ◆in the build
--timeout ◇ The review wait timeout help text now states a 45-minute default, up from 30.v2.1.138 or earlier → v2.1.308 ◆in the build
--title ◇ The whiteboard skill gained opening sketches, named boards and clearer send-permission errors, but stays switched off.never mined ·never mined
--tmux Create a tmux session for the worktree. Requires --worktree. Uses iTerm2 native panes when available; pass --tmux=classic for traditional tmuxv2.1.138 or earlier → v2.1.308 ◆in the build
--token-file ◇ Hosted cloud sessions can spawn a separate health-reporting helper, which never resolves on a normal install.never mined ·never mined
--tools Restrict which built-in tools Claude can use. Use "" to disable all, "default" for the default set, or tool names like "Bash,Edit,Read". On macOS, Linux, and WSL, the default set leaves out Glob and Grep, as described under Glob tool behavior. If you name one of the task-tracking tools here, Claude Code also opts the session in. The flag doesn't affect MCP tools; to deny those too, use --disallowedTools "mcp__*". A list that omits EndConversation doesn't remove it; "" removes it only when no MCP tools remainv2.1.138 or earlier → v2.1.308 ◆in the build
--transport ◇ In remote cloud sessions only, claude mcp serve can now listen over HTTP with --transport, --port and --session-tunnelv2.1.138 or earlier → v2.1.308 ◆in the build
--trust-plugin ◇ claude plugin eval adds --trust-plugin for CI and --allow-real-servers to run real MCP servers without mocksv2.1.269 → v2.1.308 ◆in the build
--use-anthropic-git-proxy ◇ --configure-git sets a commit identity and installs SSH commit signing backed by a code-sign subcommand.never mined ·never mined
--values-stdin ◇ New claude plugin configure <plugin> shows a plugin's options, or saves values piped in as JSON with --values-stdinv2.1.285 → v2.1.308 ◆in the build
--verbose Enable verbose logging, shows full turn-by-turn output. Overrides the viewMode setting for this sessionv2.1.138 or earlier → v2.1.308 ◆in the build
--version Output the version numbernever mined ·never mined
--watch-artifact ◇ Your deny and ask rules now apply to artifacts pulled automatically by a watching session.never mined ·never mined
--watch-artifact-no-autoreact ◇ A hidden flag lets a session watch an artifact for new versions and comments, with an option to disarm auto-reply.never mined ·never mined
--with ◇ Option of claude plugin init, taking one or more names. Extra components to scaffold into the new plugin, from skills, agents, hooks, mcp, lsp, output-style and channel; an unknown name prints Unknown --with component with the valid list and exits 1.v2.1.157 → v2.1.308 ◆in the build
--worktree Start Claude in an isolated git worktree at <repo>/.claude/worktrees/<name>. If you don't give a name, Claude Code generates one. Pass #<number>, a GitHub pull request URL, or a GitLab merge request URL to fetch that PR or MR from origin and branch the worktree from it. Branching from a GitLab merge request requires Claude Code v2.1.233 or laterv2.1.138 or earlier → v2.1.308 ◆in the build
--write-tree ◇ A git sync engine keeps a cloud container's checkout in step with yours, off unless an env var is set.never mined ·never mined
--yes ◇ The import command exists but just prints a message instead of starting a session here.v2.1.138 or earlier → v2.1.308 ◆in the build
-c Load the most recent conversation in the current directory, including a background session that has finished; opening finished background sessions requires Claude Code v2.1.257 or later. Skips sessions created with claude -p or the Agent SDK, and sessions whose first prompt was /loop. claude -p --continue includes -p, SDK, and /loop sessions. Includes sessions that added this directory with /add-dirnever mined ·never mined
-f ◇ Auto-memory file deletion now rejects every flag except -f or --force, so fewer commands slip through.never mined ·never mined
-n Set a display name for the session, shown in /resume and the terminal title. You can resume a named session with claude --resume <name>. In an interactive session, if another live session on this machine already uses the name, Claude Code applies a variant of it instead. <br /><br />/rename changes the name mid-session and also shows it on the prompt barnever mined ·never mined
Nothing on this page matches that. Press Enter to search every CLI flag.