Complete CLI command reference for Claude Code including flags, options, and usage patterns. Use when user asks about command-line options, flags, CLI usage, or command syntax.
Provides comprehensive CLI command reference for Claude Code, including flags, options, and usage patterns. Use when users ask about command-line options, flags, CLI usage, or command syntax.
/plugin marketplace add reggiechan74/claude-plugins/plugin install claude-code-metaskill@claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Start interactive REPL:
claude
Start with initial prompt:
claude "query"
Query via SDK, then exit:
claude -p "query"
claude --print "query"
Process piped content:
cat file | claude -p "query"
echo "content" | claude -p "analyze this"
Continue most recent conversation:
claude -c
claude --continue
Continue via SDK:
claude -c -p "query"
Resume session by ID:
claude -r "<session-id>" "query"
claude --resume "<session-id>" "query"
Update to latest version:
claude update
Configure MCP servers:
claude mcp
Check installation health:
claude --doctor
Migrate installer:
claude migrate-installer
| Flag | Short | Purpose | Example |
|---|---|---|---|
--print | -p | Print response without interactive mode | claude -p "task" |
--continue | -c | Continue most recent conversation | claude -c "follow up" |
--resume | -r | Resume session by ID | claude -r abc123 "task" |
--help | -h | Show help information | claude --help |
--version | -v | Show version | claude --version |
| Flag | Purpose | Example |
|---|---|---|
--add-dir | Add working directories for access | claude --add-dir /path/to/dir |
--agents | Define custom subagents dynamically via JSON | claude --agents '[{...}]' |
--model | Set model with alias or full name | claude --model opus |
--max-turns | Limit agentic turns in non-interactive mode | claude --max-turns 5 |
--permission-mode | Begin in specified permission mode | claude --permission-mode acceptAll |
--allowedTools | Specify permitted tools | claude --allowedTools "Bash,Read" |
| Flag | Purpose | Example |
|---|---|---|
--output-format | Specify format (text, json, stream-json) | claude -p --output-format json |
--input-format | Specify input format | claude --input-format stream-json |
--verbose | Enable detailed logging for debugging | claude --verbose |
--debug | Enable debug mode | claude --debug |
| Flag | Purpose | Example |
|---|---|---|
--mcp-config | Load MCP servers from JSON file | claude --mcp-config servers.json |
--append-system-prompt | Append text to system prompt | claude --append-system-prompt "Be concise" |
--compact | Start with compacted context | claude --compact |
--no-cache | Disable prompt caching | claude --no-cache |
Custom subagents require JSON with:
description: Purpose of the subagentprompt: System prompt for the subagenttools (optional): Array of allowed toolsmodel (optional): Model to useExample:
claude --agents '[{
"description": "Code reviewer",
"prompt": "Review code for quality and security",
"tools": ["Read", "Grep", "Glob"],
"model": "sonnet"
}]'
| Mode | Description |
|---|---|
ask | Ask for permission for each operation (default) |
acceptAll | Accept all operations automatically |
acceptEdits | Auto-accept file edits, ask for bash |
acceptCommands | Auto-accept bash, ask for edits |
denyAll | Deny all operations |
Example:
claude --permission-mode acceptEdits -p "refactor the code"
| Alias | Full Model Name |
|---|---|
sonnet | claude-sonnet-4-5-20250929 |
opus | claude-opus-4-5-20250514 |
haiku | claude-haiku-4-5-20250815 |
Example:
claude --model opus "complex reasoning task"
claude --model haiku -p "simple query"
Plain text output suitable for reading:
claude -p "explain this code"
Structured output with metadata:
claude -p --output-format json "analyze project"
JSON structure:
{
"type": "result",
"subtype": "success",
"total_cost_usd": 0.003,
"duration_ms": 1234,
"num_turns": 6,
"result": "Response text...",
"session_id": "abc123"
}
JSONL format for real-time processing:
claude -p --output-format stream-json --input-format stream-json
Key environment variables affecting CLI behavior:
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY | API authentication |
CLAUDE_CODE_USE_BEDROCK | Use AWS Bedrock |
CLAUDE_CODE_USE_VERTEX | Use Google Vertex AI |
CLAUDE_CODE_ENABLE_TELEMETRY | Enable telemetry |
DISABLE_PROMPT_CACHING | Disable caching |
MAX_THINKING_TOKENS | Enable extended thinking |
BASH_MAX_OUTPUT_LENGTH | Limit bash output |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Max output tokens |
claude -p "what does this project do?"
claude -p "run tests and fix failures" \
--allowedTools "Bash,Read,Edit,Write" \
--max-turns 10 \
--permission-mode acceptAll
claude -c "continue the refactoring"
claude \
--model sonnet \
--permission-mode acceptEdits \
--verbose \
--add-dir /path/to/project
claude -p "review PR changes" \
--output-format json \
--allowedTools "Read,Bash" \
--max-turns 5
claude --mcp-config mcp-servers.json -p "fetch user data"
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Configuration error |
| 130 | Interrupted (Ctrl+C) |
# Pipe file content
cat script.py | claude -p "explain this code"
# Pipe command output
git diff | claude -p "review these changes"
# Pipe from multiple sources
cat file1.txt file2.txt | claude -p "summarize"
# With AND operator
claude -p "task 1" && claude -p "task 2"
# With OR operator
claude -p "task" || echo "Failed"
# Run in background
claude -p "long task" &
# With output redirection
claude -p "task" > output.txt 2>&1 &
# Extract specific field with jq
claude -p "task" --output-format json | jq -r '.result'
# Get session ID
SESSION=$(claude -p "task" --output-format json | jq -r '.session_id')
# Check cost
claude -p "task" --output-format json | jq '.total_cost_usd'
#!/bin/bash
# Check if task succeeded
RESULT=$(claude -p "run tests" --output-format json)
STATUS=$(echo "$RESULT" | jq -r '.subtype')
if [ "$STATUS" = "success" ]; then
echo "Tests passed"
else
echo "Tests failed"
exit 1
fi
claude --verbose -p "task"
claude --debug
claude --version
claude --help
claude -h
Create employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or standardizing employment documentation.
Implement GDPR-compliant data handling with consent management, data subject rights, and privacy by design. Use when building systems that process EU personal data, implementing privacy controls, or conducting GDPR compliance reviews.