cli-reference

cli-reference

热门

Claude Code CLI commands, flags, headless mode, and automation patterns

3.4KStar
261Fork
更新于 1/27/2026
SKILL.md
readonly只读
name
cli-reference
description

Claude Code CLI commands, flags, headless mode, and automation patterns

CLI Reference

Complete reference for Claude Code command-line interface.

When to Use

  • "What CLI flags are available?"
  • "How do I use headless mode?"
  • "Claude in automation/CI/CD"
  • "Output format options"
  • "System prompt via CLI"
  • "How do I spawn agents properly?"

Core Commands

Command Description Example
claude Start interactive REPL claude
claude "query" REPL with initial prompt claude "explain this project"
claude -p "query" Headless mode (SDK) claude -p "explain function"
cat file | claude -p Process piped content cat logs.txt | claude -p "explain"
claude -c Continue most recent claude -c
claude -c -p "query" Continue via SDK claude -c -p "check types"
claude -r "id" "query" Resume session claude -r "auth" "finish PR"
claude update Update version claude update
claude mcp Configure MCP servers See MCP docs

Session Control

Flag Description Example
--continue, -c Load most recent conversation claude --continue
--resume, -r Resume session by ID/name claude --resume auth-refactor
--session-id Use specific UUID claude --session-id "550e8400-..."
--fork-session Create new session on resume claude --resume abc --fork-session

Headless Mode (Critical for Agents)

Flag Description Example
--print, -p Non-interactive, exit after claude -p "query"
--output-format text, json, stream-json claude -p --output-format json
--max-turns Limit agentic turns claude -p --max-turns 100 "query"
--verbose Full turn-by-turn output claude --verbose
--dangerously-skip-permissions Skip permission prompts claude -p --dangerously-skip-permissions
--include-partial-messages Include streaming events claude -p --output-format stream-json --include-partial-messages
--input-format Input format (text/stream-json) claude -p --input-format stream-json

Tool Control

Flag Description Example
--allowedTools Auto-approve these tools "Bash(git log:*)" "Read"
--disallowedTools Block these tools "Bash(rm:*)" "Edit"
--tools Only allow these tools --tools "Bash,Edit,Read"

Subagent Definition (--agents flag)

Define custom subagents inline via JSON:

claude --agents '{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality and security.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  },
  "debugger": {
    "description": "Debugging specialist for errors and test failures.",
    "prompt": "You are an expert debugger. Analyze errors and provide fixes."
  }
}'

Agent Fields

Field Required Description
description Yes When to invoke this agent
prompt Yes System prompt for behavior
tools No Allowed tools (inherits all if omitted)
model No sonnet, haiku, or claude-opus-4-5-20251101

Key Insight

When Lead uses Task tool, it auto-spawns from these definitions. No manual spawn needed.

System Prompt Customization

Flag Behavior Modes
--system-prompt Replace entire prompt Interactive + Print
--system-prompt-file Replace from file Print only
--append-system-prompt Append to default (recommended) Interactive + Print

Use --append-system-prompt for most cases - preserves Claude Code capabilities.

Model Selection

Flag Description Example
--model Set model for session --model claude-sonnet-4-5
--fallback-model Fallback if default overloaded --fallback-model sonnet

Aliases: sonnet, opus, haiku

MCP Configuration

Flag Description Example
--mcp-config Load MCP servers from JSON --mcp-config ./mcp.json
--strict-mcp-config Only use these MCP servers --strict-mcp-config --mcp-config ./mcp.json

Advanced Flags

Flag Description Example
--add-dir Add working directories --add-dir ../apps ../lib
--agent Specify agent for session --agent my-custom-agent
--permission-mode Start in permission mode --permission-mode plan
--permission-prompt-tool MCP tool for permissions --permission-prompt-tool mcp_auth
--plugin-dir Load plugins from directory --plugin-dir ./my-plugins
--settings Load settings from file/JSON --settings ./settings.json
--setting-sources Which settings to load --setting-sources user,project
--betas Beta API headers --betas interleaved-thinking
--debug Enable debug mode --debug "api,hooks"
--ide Auto-connect to IDE --ide
--chrome Enable Chrome integration --chrome
--no-chrome Disable Chrome for session --no-chrome
--enable-lsp-logging Verbose LSP debugging --enable-lsp-logging
--version, -v Output version claude -v

Output Formats

JSON (for parsing)

claude -p "query" --output-format json
# {"result": "...", "session_id": "...", "usage": {...}}

Streaming (for real-time monitoring)

claude -p "query" --output-format stream-json
# Newline-delimited JSON events

Structured Output (schema validation)

claude -p "Extract data" \
  --output-format json \
  --json-schema '{"type":"object","properties":{...}}'

Headless Agent Pattern (CRITICAL)

Proper headless agent spawn:

claude -p "$TASK_PROMPT" \
  --session-id "$UUID" \
  --dangerously-skip-permissions \
  --max-turns 100 \
  --output-format stream-json \
  --agents '{...}' \
  --append-system-prompt "Context: ..."

Missing any of these causes hangs:

  • --session-id - Track the session
  • --dangerously-skip-permissions - Headless requires this
  • --max-turns - Prevents infinite loops

Common Patterns

CI/CD Automation

claude -p "Run tests and fix failures" \
  --dangerously-skip-permissions \
  --max-turns 50 \
  --output-format json | jq '.result'

Piped Input

cat error.log | claude -p "Find root cause"
gh pr diff | claude -p "Review for security"

Multi-turn Session

id=$(claude -p "Start task" --output-format json | jq -r '.session_id')
claude -p "Continue" --resume "$id"

Stream Monitoring

claude -p "Long task" \
  --output-format stream-json \
  --include-partial-messages | while read -r line; do
    echo "$line" | jq '.type'
done

Keyboard Shortcuts (Interactive)

Shortcut Action
Ctrl+C Cancel current
Ctrl+D Exit
Ctrl+R Reverse search history
Esc Esc Rewind changes
Shift+Tab Toggle permission mode

Quick Commands

Prefix Action
/ Slash command
! Bash mode
# Add to memory
@ File mention

You Might Also Like

Related Skills

verify

verify

243K

Use when you want to validate changes before committing, or when you need to check all React contribution requirements.

facebook avatarfacebook
获取
test

test

243K

Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.

facebook avatarfacebook
获取

Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.

facebook avatarfacebook
获取

Use when adding new error messages to React, or seeing "unknown error code" warnings.

facebook avatarfacebook
获取
flow

flow

243K

Use when you need to run Flow type checking, or when seeing Flow type errors in React code.

facebook avatarfacebook
获取
flags

flags

243K

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

facebook avatarfacebook
获取