Agent Skills: CLI Reference

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

UncategorizedID: parcadei/continuous-claude-v3/cli-reference

Install this agent skill to your local

pnpm dlx add-skill https://github.com/parcadei/Continuous-Claude-v3/tree/HEAD/.claude/skills/cli-reference

Skill Files

Browse the full folder contents for cli-reference.

Download Skill

Loading file tree…

.claude/skills/cli-reference/SKILL.md

Skill Metadata

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 |