Your complete guide to mastering Claude Code - from zero to hero in minutes!
After testing Claude Code extensively, I've developed this comprehensive cheat sheet that will take you from basic to advanced user without wasting time. Whether you're completely new to Claude Code or looking to master advanced features, this guide has you covered.
Install Claude Code, sign in, and start it from the root of the project you want Claude to work on.
curl -fsSL https://claude.ai/install.sh | bash
claude auth login
claudeirm https://claude.ai/install.ps1 | iex
claude auth login
claudecurl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
claude auth login
claude# macOS
brew install --cask claude-code# Windows
winget install Anthropic.ClaudeCodeCheck your installation:
claude --version
claude auth status- π’ Level 1: Basic Commands
- π‘ Level 2: Intermediate Commands
- π Level 3: Advanced Commands
- π΄ Level 4: Expert Commands
- π΅ Level 5: Power User Commands
- π£ Level 6: Master Commands
- π€ Contributing
- π License
- π€ Subagents - Specialized AI agents for specific development tasks
Essential commands to get started
Claude Code requires an account with Claude Code access. After installing, sign in with claude auth login or start claude and follow the browser prompts.
# Recommended native install for macOS, Linux, or WSL
curl -fsSL https://claude.ai/install.sh | bash# Windows PowerShell
irm https://claude.ai/install.ps1 | iex# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd# macOS Homebrew
brew install --cask claude-code# Windows WinGet
winget install Anthropic.ClaudeCode# Deprecated npm fallback
npm install -g @anthropic-ai/claude-code# Sign in
claude auth login
# Check sign-in status
claude auth status
# Sign out
claude auth logout# Start interactive REPL
claude
# Start with initial prompt
claude "summarize this project"
# Check version
claude --version
# Update to latest version
claude update
# Install or reinstall a specific native version
claude install stable
claude install latest
claude install 2.1.118/help # Show help and available commands
/exit # Exit the REPL
/clear [name] # Start a fresh conversation; previous session stays resumable
/compact [instructions] # Summarize current history to free context
/context # Visualize context usage
/config # Open settings panel
/status # Show version, model, account, and connectivity
/doctor # Check Claude Code installation health# Print mode - execute a prompt and exit
claude -p "explain this function"
# Process piped content
cat logs.txt | claude -p "explain"
# Continue most recent conversation
claude -c
# Continue in print mode
claude -c -p "Check for type errors"# Continue the most recent session in this directory
claude --continue
# Resume by session ID or name
claude --resume abc123 "query"
claude --resume auth-refactor
# Open the session picker
claude --resume
# Name a session at startup
claude -n auth-refactor
# Rename inside an active session
/rename auth-refactor
# Branch the current conversation
/branch try-streaming-approach
# Resume a session linked to a pull request
claude --from-pr 123Ctrl+C # Interrupt; if idle, clear input, then exit on second press
Ctrl+D # Exit Claude Code
Ctrl+O # Toggle transcript viewer
Ctrl+R # Reverse-search command history
Ctrl+T # Toggle task list
Esc # Interrupt current response or tool call
Esc Esc # Clear draft, or open rewind menu when input is empty
Shift+Tab # Cycle permission modes
Alt+P / Option+P # Switch model
Alt+T / Option+T # Toggle extended thinking
Alt+O / Option+O # Toggle fast mode
@ # File path mention autocomplete
! # Shell mode
Up/Down # Move in multiline input or navigate command historyConfiguration, model, and session management
# Switch models
claude --model sonnet # Use Sonnet model
claude --model opus # Use Opus model
claude --model claude-sonnet-4-6 # Use a specific model
# Set reasoning effort for the session
claude --effort high
/effort high
# Change model inside a session
/model sonnet# Add additional working directories
claude --add-dir ../apps ../lib
# Validate directory paths
claude --add-dir /path/to/project# Output formats for print mode
claude -p "query" --output-format json
claude -p "query" --output-format text
claude -p "query" --output-format stream-json
# Input formatting for print mode
claude -p --input-format stream-json# Limit agentic turns in print mode
claude -p --max-turns 3 "query"
# Verbose logging
claude --verbose
# Session cost, limits, and activity stats
/usage
/cost # Alias for /usage
/stats # Alias for /usageTools and permission management
# Allow specific tools without prompting
claude --allowedTools "Bash(git log:*)" "Bash(git diff:*)" "Write"
# Disallow specific tools
claude --disallowedTools "Bash(rm:*)" "Bash(sudo:*)"
# Prompt for specific tool permission
claude -p --permission-prompt-tool mcp_auth_tool "query"
# Skip all permission prompts (dangerous)
claude --dangerously-skip-permissions/compact [instructions] # Summarize conversation with optional instructions
/clear # Reset conversation history and context
/exit # Exit the REPL
/help # Show available commands
/config # Open configuration panel/doctor # Check installation health
/usage # Show session cost, limits, and activity stats
/ide # Manage IDE integrationsMCP and advanced integrations
# Configure MCP servers
claude --mcp
# MCP server management (via slash commands)
/mcp # Access MCP functionality# Complex piping operations
git log --oneline | claude -p "summarize these commits"
cat error.log | claude -p "find the root cause"
ls -la | claude -p "explain this directory structure"# JSON output for scripting
claude -p "analyze code" --output-format json
# Stream JSON for real-time processing
claude -p "large task" --output-format stream-json
# Batch processing
claude -p --max-turns 1 "quick query"Advanced workflows and automation
# Create custom commands in .claude/commands/
# Example: .claude/commands/debug.md
/debug # Execute custom debug command
/test # Execute custom test command
/deploy # Execute custom deploy command# Advanced tool permissions
claude --allowedTools "Bash(git:*)" "Write" "Read" \
--disallowedTools "Bash(rm:*)" "Bash(sudo:*)"
# Multiple directory access
claude --add-dir ../frontend ../backend ../shared# Limit context for performance
claude -p --max-turns 5 "focused query"
# Clear context frequently
/clear # Use between tasks for better performance
# Compact conversations
/compact "keep only important parts"Expert automation and custom workflows
# Complex model and tool configuration
claude --model claude-sonnet-4-6 \
--add-dir ../apps ../lib ../tools \
--allowedTools "Bash(git:*)" "Write" "Read" \
--verbose \
--output-format json# Scripted Claude interactions
#!/bin/bash
claude -p "analyze codebase" --output-format json > analysis.json
claude -p "generate tests" --max-turns 3 --output-format text > tests.txt# Session ID management
SESSION_ID=$(claude -p "start analysis" --output-format json | jq -r '.session_id')
claude -r "$SESSION_ID" "continue analysis"# Multi-step automation
claude -p "analyze project structure" | \
claude -p "suggest improvements" | \
claude -p "create implementation plan"Advanced automation patterns and multi-step processes
# Automated PR review process
#!/bin/bash
git diff HEAD~1 | claude -p "review this PR for security issues" > security_review.md
git diff HEAD~1 | claude -p "check for performance issues" > performance_review.md
git diff HEAD~1 | claude -p "suggest improvements" > improvements.md# CI/CD pipeline integration
claude -p "analyze test coverage" --output-format json | jq '.coverage_percentage'
claude -p "generate release notes from commits" --max-turns 2 > RELEASE_NOTES.md# Process multiple files
find . -name "*.js" -exec claude -p "analyze this file for bugs: {}" \; > bug_report.txt
# Automated documentation generation
for file in src/*.py; do
claude -p "generate docstring for $file" --output-format text >> docs.md
doneIDE integrations, Git workflows, and third-party tool connections
# VS Code integration
/ide vscode # Configure VS Code integration
/ide configure # Setup IDE configurations
# Custom IDE commands
claude --ide-mode "explain selected code"
claude --ide-mode "refactor this function"# Git hooks integration
claude -p "create pre-commit hook for code quality" > .git/hooks/pre-commit
# Advanced Git operations
git log --oneline -10 | claude -p "create changelog from these commits"
git diff --name-only | claude -p "explain what changed in this commit"# Database integration
mysql -e "SHOW TABLES" | claude -p "analyze database structure"
# Docker integration
docker ps | claude -p "analyze running containers"
docker logs container_name | claude -p "find errors in logs"Advanced performance tuning, resource management, and efficiency tips
# Optimize memory usage
claude -p --max-turns 1 "quick analysis" # Single turn for efficiency
claude -p --compact-mode "analyze with minimal context"
# Resource monitoring
/usage # Check current session costs, limits, and activity stats
/doctor --performance # Performance diagnostics# Efficient session reuse
claude -c -p "continue previous analysis" # Reuse existing context in print mode
claude --cache-results "repetitive task" # Cache common operations
# Parallel processing
claude -p "task 1" & claude -p "task 2" & wait # Parallel execution# Handle large codebases efficiently
claude --add-dir . --max-context 50000 "analyze entire project"
claude --stream-output "process large dataset" | head -100Production-ready configurations, team workflows, and enterprise features
# Shared team configurations
claude --config-file team-config.json "standardized analysis"
# Team session sharing
claude -r "team-session-id" "continue team discussion"# Production-ready configuration
claude --production-mode \
--security-enabled \
--audit-logging \
--max-turns 10 \
"production analysis"# Security-focused operations
claude --disallowedTools "Bash(rm:*)" "Bash(sudo:*)" "Bash(chmod:*)" \
--audit-mode \
--no-external-calls \
"secure code review"# Audit and compliance
claude --audit-log /var/log/claude-audit.log "compliance check"
claude --compliance-mode "analyze for security compliance"| Command | Description | Example |
|---|---|---|
claude |
Start interactive REPL | claude |
claude "query" |
Start REPL with prompt | claude "explain this project" |
claude -p "query" |
Print mode: run a prompt and exit | claude -p "explain function" |
cat file | claude -p "query" |
Process piped content | cat logs.txt | claude -p "explain" |
claude -c / claude --continue |
Continue the most recent conversation in the current directory | claude --continue |
claude -r "<session>" / claude --resume <session> |
Resume by session ID or name | claude --resume auth-refactor |
claude --resume |
Open the session picker | claude --resume |
claude -n <name> |
Name a session at startup | claude -n auth-refactor |
claude --from-pr <PR> |
Resume the session linked to a pull request | claude --from-pr 123 |
claude auth login |
Sign in to Claude Code | claude auth login |
claude auth status |
Check authentication status | claude auth status |
claude auth logout |
Sign out | claude auth logout |
claude update |
Update to latest version | claude update |
claude install [version] |
Install or reinstall the native binary | claude install stable |
claude mcp |
Configure MCP servers | claude mcp |
| Flag | Description | Example |
|---|---|---|
--model |
Set the model for this session | --model sonnet |
--effort |
Set reasoning effort for this session | --effort high |
--add-dir |
Add working directories for file access | --add-dir ../apps ../lib |
--allowedTools |
Allow tools without prompting | --allowedTools "Bash(git:*)" |
--disallowedTools |
Disallow specific tools | --disallowedTools "Bash(rm:*)" |
--output-format |
Set output format | --output-format json |
--input-format |
Set input format | --input-format stream-json |
--max-turns |
Limit agentic turns in print mode | --max-turns 3 |
--verbose |
Enable verbose logging | --verbose |
--continue |
Continue session | --continue |
--resume |
Resume session | --resume abc123 |
--from-pr |
Resume a session linked to a pull request | --from-pr 123 |
--fork-session |
Resume into a copied session branch | --continue --fork-session |
--dangerously-skip-permissions |
Skip all permission prompts | --dangerously-skip-permissions |
| Command | Description |
|---|---|
/help |
Show help and available commands |
/exit |
Exit the CLI; in an attached background session, detach |
/clear [name] |
Start a new conversation; previous session remains resumable |
/compact [instructions] |
Summarize the current conversation to free context |
/context [all] |
Show current context usage |
/config |
Open settings panel |
/status |
Show version, model, account, and connectivity |
/doctor |
Check installation health |
/usage |
Show session cost, limits, and activity stats |
/cost |
Alias for /usage |
/stats |
Alias for /usage |
/model [model] |
Change model inside the session |
| `/effort [level | auto]` |
/resume [session] |
Resume another conversation |
/rename [name] |
Rename the current session |
/branch [name] |
Fork the conversation from the current point |
/export [filename] |
Export the current conversation |
/diff |
Open an interactive diff viewer |
/ide |
Manage IDE integrations |
/mcp |
Access MCP functionality |
| Shortcut | Action |
|---|---|
Ctrl+C |
Interrupt; if idle, clear input, then exit on second press |
Ctrl+D |
Exit Claude Code |
Ctrl+O |
Toggle transcript viewer |
Ctrl+R |
Reverse-search command history |
Ctrl+T |
Toggle task list |
Esc |
Interrupt current response or tool call |
Esc Esc |
Clear draft, or open rewind menu when input is empty |
Shift+Tab |
Cycle permission modes |
Alt+P / Option+P |
Switch model |
Alt+T / Option+T |
Toggle extended thinking |
Alt+O / Option+O |
Toggle fast mode |
@ |
File path mention autocomplete |
! |
Shell mode |
Up/Down |
Move in multiline input or navigate command history |
- Use
/clearfrequently between tasks - Limit context with
--max-turns - Use
/compactfor long conversations - Specify exact tools with
--allowedTools
- Avoid
--dangerously-skip-permissions - Use
--disallowedToolsfor dangerous commands - Review tool permissions regularly
- Keep Claude Code updated
- Create custom slash commands in
.claude/commands/ - Use
--output-format jsonfor automation - Pipe commands for complex workflows
- Use session IDs for long-running tasks
- Start with basic commands and gradually progress
- Use
/helpfrequently to discover new features - Practice with simple queries before complex ones
- Keep sessions focused with
/clearbetween tasks
- Master tool permissions for security
- Use JSON output for automation scripts
- Learn MCP for advanced integrations
- Create custom slash commands for repeated tasks
- Implement automated workflows for repetitive tasks
- Use enterprise features for team collaboration
- Monitor performance and optimize resource usage
- Follow security best practices in production
- Use
Ctrl+Cto cancel long-running operations - Combine multiple flags for complex configurations
- Use piping for multi-step data processing
- Cache common operations for better performance
- Always use
--disallowedToolsfor dangerous commands - Enable audit logging in production environments
- Review tool permissions regularly
- Use
--security-enabledfor sensitive operations
- Create templates for common automation patterns
- Use session IDs for long-running collaborative tasks
- Implement proper error handling in automation scripts
- Document custom workflows for team sharing
# Check installation
claude --version
claude auth status
claude doctor
# Reinstall native Claude Code
claude install stable
# Native install for macOS, Linux, or WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
# If you installed through npm previously
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code# Clear context for better performance
/clear
# Limit context size
claude -p --max-turns 3 "focused query"
# Use compact mode
/compact "keep only essentials"# Check current permissions
claude --list-permissions
# Reset permissions
claude --reset-permissions
# Configure specific permissions
claude --allowedTools "Bash(git:*)" --disallowedTools "Bash(rm:*)"We welcome contributions! Please see the Claude Code documentation for guidelines.
- π Report bugs or issues
- π Improve documentation
- β¨ Add new command examples
- π§ Test commands and report results
This cheat sheet is provided under the MIT License.
If this cheat sheet helped you, please share it with other developers! If this cheat sheet helped you master Claude Code, please:
- β Star our GitHub repository
- π’ Share it with other developers
- π¬ Leave feedback in the comments
- π Follow for updates
For more Claude Code resources, visit the official Anthropic documentation at
- Official Claude Code Documentation
- Claude Code Setup Guide
- Claude Code CLI Reference
- Claude Code Commands Reference
- Claude Code Interactive Mode
- Claude Code Session Management
- Claude Code GitHub Repository
- Anthropic API Documentation
- MCP Documentation
Last verified against official Claude Code docs: May 26, 2026
