or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

authentication.mdcli-interface.mdcli-options.mdconfiguration.mdcustom-commands.mdhooks.mdide-integration.mdindex.mdmcp-integration.mdsdk-integration.mdslash-commands.md
tile.json

cli-options.mddocs/

CLI Options and Modes

Claude Code provides comprehensive command-line options for different usage modes, from interactive sessions to programmatic automation.

Capabilities

Interactive Mode

The default mode providing a conversational interface with Claude.

# Start interactive session
claude

# Interactive session with additional directories
claude --add-dir frontend --add-dir backend

# Interactive session with custom settings
claude --settings custom-settings.json

Interactive Features:

  • Real-time conversation with Claude
  • Natural language commands
  • Slash command support
  • File and directory context awareness
  • Session persistence

Print Mode

Non-interactive mode for single commands and automation.

# Basic print mode
claude --print "Fix the bug in auth.js"
claude -p "Generate unit tests for user service"

# Print mode with output formatting
claude --print "Analyze code quality" --output-format=stream-json
claude --print "List all functions" --output-format=json

Print Mode Features:

  • Single command execution
  • Structured output formats
  • Automation-friendly
  • No interactive session overhead

Output Formats

Control how Claude Code presents information.

# JSON output (default for print mode)
claude --print "command" --output-format=json

# Streaming JSON for real-time processing
claude --print "command" --output-format=stream-json

# Plain text output
claude --print "command" --output-format=text

Format Options:

  • json: Structured JSON response
  • stream-json: Streaming JSON for large responses
  • text: Plain text output
  • markdown: Formatted markdown output

Configuration Options

Specify configuration files and settings.

Settings File

Load custom settings from JSON file.

# Load custom settings
claude --settings my-settings.json
claude --settings ~/.claude/project-settings.json

# Settings file structure
{
  "model": "claude-3-sonnet-20240229",
  "permissions": {
    "allowedTools": ["Bash(git *)", "Read(*)", "Write(*.js)"]
  },
  "hooks": {
    "PreToolUse": [...]
  }
}

MCP Server Configuration

Configure Model Context Protocol servers.

# Single MCP config file
claude --mcp-config servers.json

# Multiple MCP config files
claude --mcp-config server1.json server2.json

# MCP with debugging
claude --mcp-config servers.json --mcp-debug

MCP Configuration Example:

{
  "servers": {
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/allowed/path"]
    },
    "git": {
      "command": "mcp-server-git",
      "args": ["--repository", "."]
    }
  }
}

Additional Directories

Include additional directories in the working context.

# Single additional directory
claude --add-dir shared-components

# Multiple additional directories
claude --add-dir frontend --add-dir backend --add-dir shared

# Directories with spaces (use quotes)
claude --add-dir "My Projects/Frontend"

System Prompt Customization

Override or extend the default system prompt.

# Use custom system prompt file
claude --system-prompt-file custom-prompt.txt

# Append to default system prompt
claude --append-system-prompt "Focus on TypeScript best practices"

# Custom prompt with print mode
claude --print "command" --system-prompt-file expert-mode.txt

System Prompt Files:

  • Plain text files containing prompt instructions
  • Can include specific domain expertise
  • Project-specific coding guidelines
  • Custom behavior instructions

Conversation Management

Resume and manage conversations.

# Resume previous conversation
claude --continue
claude --resume

# Resume specific conversation by ID
claude --resume conversation-id-123

# Start fresh session (ignore previous context)
claude --new-session

Conversation Features:

  • Persistent conversation history
  • Context preservation across sessions
  • Multiple conversation threads
  • Conversation import/export

Message Replay

Replay user messages from previous sessions.

# Replay messages from conversation
claude --replay-user-messages conversation-id

# Replay with modifications
claude --replay-user-messages conversation-id --append-system-prompt "Use Python instead"

Replay Features:

  • Reproduce previous conversation flows
  • Test different system prompts on same inputs
  • Debug conversation issues
  • Batch processing of similar requests

Security and Permissions

Control security behavior and tool permissions.

# Skip permission checks (dangerous!)
claude --dangerously-skip-permissions

# Strict permission mode
claude --strict-permissions

# Custom permission file
claude --permissions-file custom-perms.json

Security Options:

  • --dangerously-skip-permissions: Bypasses all permission checks
  • --strict-permissions: Enforces stricter permission validation
  • --permissions-file: Loads custom permission rules

Debugging and Development

Options for debugging and development purposes.

# Enable debug mode
claude --debug

# MCP server debugging
claude --mcp-debug

# Verbose logging
claude --verbose

# Log to file
claude --log-file claude-debug.log

Debug Information:

  • Tool execution traces
  • MCP server communication
  • Configuration loading
  • Error stack traces
  • Performance metrics

Environment Variables

Configure Claude Code behavior through environment variables.

# Configuration directory override
CLAUDE_CONFIG_DIR=/custom/path claude

# Model selection
ANTHROPIC_DEFAULT_SONNET_MODEL=claude-3-sonnet-latest claude

# IDE integration
CLAUDE_CODE_AUTO_CONNECT_IDE=false claude

# Shell command wrapping
CLAUDE_CODE_SHELL_PREFIX="time" claude

# Working directory control
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=true claude

Key Environment Variables:

  • CLAUDE_CONFIG_DIR: Override config directory (respects XDG_CONFIG_HOME)
  • ANTHROPIC_DEFAULT_SONNET_MODEL: Control Sonnet model alias
  • ANTHROPIC_DEFAULT_OPUS_MODEL: Control Opus model alias
  • CLAUDE_CODE_AUTO_CONNECT_IDE: Enable/disable IDE auto-connection
  • CLAUDE_CODE_SHELL_PREFIX: Wrap shell commands
  • CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR: Freeze working directory
  • USE_BUILTIN_RIPGREP: Control built-in ripgrep usage
  • NO_PROXY: Proxy bypass configuration
  • AWS_BEARER_TOKEN_BEDROCK: Bedrock API authentication
  • DISABLE_INTERLEAVED_THINKING: Disable thinking mode
  • ANTHROPIC_LOG: Debug logging level
  • BASH_DEFAULT_TIMEOUT_MS / BASH_MAX_TIMEOUT_MS: Bash timeouts
  • MCP_TIMEOUT / MCP_TOOL_TIMEOUT: MCP timeouts

Advanced Usage Patterns

Automation Scripts

# Batch processing with print mode
for file in *.js; do
  claude --print "Review code quality in $file" --output-format=json > "review-$file.json"
done

# Automated code generation
claude --print "Generate API client for $(cat api-spec.json)" --settings api-gen-settings.json

CI/CD Integration

# Code review in CI pipeline
claude --print "Review changes in this PR" --system-prompt-file ci-review-prompt.txt

# Automated documentation generation
claude --print "Update README based on recent code changes" --output-format=text > NEW_README.md

Development Workflows

# Project-specific startup
claude --settings .claude/project-settings.json --add-dir src --add-dir tests

# Expert mode for specific domains
claude --system-prompt-file prompts/react-expert.txt --add-dir components

Command Line Help

# Show all available options
claude --help
claude -h

# Show version information
claude --version
claude -v

# Show configuration information
claude --info

Exit Codes

Claude Code uses standard exit codes:

# Success
0   # Command completed successfully

# Error codes
1   # General error
2   # Misuse of shell command
64  # Usage error (invalid arguments)
65  # Data format error
66  # Cannot open input
67  # Addressee unknown
68  # Host name unknown
69  # Service unavailable
70  # Internal error

These exit codes enable proper error handling in scripts and automation workflows.