Claude Code Documentation Map
This is a comprehensive map of all Claude Code documentation pages with their headings, designed for easy navigation by LLMs.Note: This file is auto-generated by GitHub Actions. Do not edit manually. Last updated: 2026-03-30 23:58:32 UTC
Document Structure
This map uses a hierarchical structure:- ## marks documentation groups (e.g., ‘Getting started’)
- ### marks individual documentation pages
- Nested bullets show the heading structure within each page
- Each page title links to the full documentation
Getting started
overview
- Get started
- What you can do
- Use Claude Code everywhere
- Next steps
quickstart
- Before you begin
- Step 1: Install Claude Code
- Step 2: Log in to your account
- Step 3: Start your first session
- Step 4: Ask your first question
- Step 5: Make your first code change
- Step 6: Use Git with Claude Code
- Step 7: Fix a bug or add a feature
- Step 8: Test out other common workflows
- Essential commands
- Pro tips for beginners
- What’s next?
- Getting help
changelog
- (No headings found)
Core concepts
how-claude-code-works
- The agentic loop
- Models
- Tools
- What Claude can access
- Environments and interfaces
- Execution environments
- Interfaces
- Work with sessions
- Work across branches
- Resume or fork sessions
- The context window
- When context fills up
- Manage context with skills and subagents
- Stay safe with checkpoints and permissions
- Undo changes with checkpoints
- Control what Claude can do
- Work effectively with Claude Code
- Ask Claude Code for help
- It’s a conversation
- Interrupt and steer
- Be specific upfront
- Give Claude something to verify against
- Explore before implementing
- Delegate, don’t dictate
- What’s next
features-overview
- Overview
- Match features to your goal
- Compare similar features
- Understand how features layer
- Combine features
- Understand context costs
- Context cost by feature
- Understand how features load
- Learn more
claude-directory
- What’s not shown
- File reference
- Check what loaded
- Related resources
context-window
- What the timeline shows
- Check your own session
- Related resources
Use Claude Code
memory
- CLAUDE.md vs auto memory
- CLAUDE.md files
- Choose where to put CLAUDE.md files
- Set up a project CLAUDE.md
- Write effective instructions
- Import additional files
- AGENTS.md
- How CLAUDE.md files load
- Load from additional directories
- Organize rules with
.claude/rules/- Set up rules
- Path-specific rules
- Share rules across projects with symlinks
- User-level rules
- Manage CLAUDE.md for large teams
- Deploy organization-wide CLAUDE.md
- Exclude specific CLAUDE.md files
- Auto memory
- Enable or disable auto memory
- Storage location
- How it works
- Audit and edit your memory
- View and edit with
/memory - Troubleshoot memory issues
- Claude isn’t following my CLAUDE.md
- I don’t know what auto memory saved
- My CLAUDE.md is too large
- Instructions seem lost after
/compact
- Related resources
permission-modes
- Switch permission modes
- Available modes
- Analyze before you edit with plan mode
- When to use plan mode
- Start and use plan mode
- Eliminate prompts with auto mode
- How actions are evaluated
- How auto mode handles subagents
- What the classifier blocks by default
- When auto mode falls back
- Allow only pre-approved tools with dontAsk mode
- Skip all checks with bypassPermissions mode
- Compare permission approaches
- Customize permissions further
- See also
common-workflows
- Understand new codebases
- Get a quick codebase overview
- Find relevant code
- Fix bugs efficiently
- Refactor code
- Use specialized subagents
- Use Plan Mode for safe code analysis
- When to use Plan Mode
- How to use Plan Mode
- Example: Planning a complex refactor
- Configure Plan Mode as default
- Work with tests
- Create pull requests
- Handle documentation
- Work with images
- Reference files and directories
- Use extended thinking (thinking mode)
- Configure thinking mode
- How extended thinking works
- Resume previous conversations
- Name your sessions
- Use the session picker
- Run parallel Claude Code sessions with Git worktrees
- Subagent worktrees
- Worktree cleanup
- Copy gitignored files to worktrees
- Manage worktrees manually
- Non-git version control
- Get notified when Claude needs your attention
- Use Claude as a unix-style utility
- Add Claude to your verification process
- Pipe in, pipe out
- Control output format
- Run Claude on a schedule
- Ask Claude about its capabilities
- Example questions
- Next steps
best-practices
- Give Claude a way to verify its work
- Explore first, then plan, then code
- Provide specific context in your prompts
- Provide rich content
- Configure your environment
- Write an effective CLAUDE.md
- Configure permissions
- Use CLI tools
- Connect MCP servers
- Set up hooks
- Create skills
- Create custom subagents
- Install plugins
- Communicate effectively
- Ask codebase questions
- Let Claude interview you
- Manage your session
- Course-correct early and often
- Manage context aggressively
- Use subagents for investigation
- Rewind with checkpoints
- Resume conversations
- Automate and scale
- Run non-interactive mode
- Run multiple Claude sessions
- Fan out across files
- Run autonomously with auto mode
- Avoid common failure patterns
- Develop your intuition
- Related resources
Platforms and integrations > Claude Code on the web
claude-code-on-the-web
- What is Claude Code on the web?
- Who can use Claude Code on the web?
- Getting started
- From the browser
- From the terminal
- How it works
- Review changes with diff view
- Auto-fix pull requests
- How Claude responds to PR activity
- Moving tasks between web and terminal
- From terminal to web
- Tips for remote tasks
- From web to terminal
- Requirements for teleporting
- Sharing sessions
- Sharing from an Enterprise or Teams account
- Sharing from a Max or Pro account
- From terminal to web
- Schedule recurring tasks
- Managing sessions
- Archiving sessions
- Deleting sessions
- Cloud environment
- Default image
- Checking available tools
- Language-specific setups
- Databases
- Environment configuration
- Setup scripts
- Setup scripts vs. SessionStart hooks
- Dependency management
- Persist environment variables
- Dependency management limitations
- Default image
- Network access and security
- Network policy
- GitHub proxy
- Security proxy
- Access levels
- Default allowed domains
- Anthropic Services
- Version Control
- Container Registries
- Cloud Platforms
- Package Managers - JavaScript/Node
- Package Managers - Python
- Package Managers - Ruby
- Package Managers - Rust
- Package Managers - Go
- Package Managers - JVM
- Package Managers - Other Languages
- Linux Distributions
- Development Tools & Platforms
- Cloud Services & Monitoring
- Content Delivery & Mirrors
- Schema & Configuration
- Model Context Protocol
- Security best practices for customized network access
- Network policy
- Security and isolation
- Pricing and rate limits
- Limitations
- Best practices
- Related resources
web-scheduled-tasks
- Compare scheduling options
- Create a scheduled task
- Frequency options
- Repositories and branch permissions
- Connectors
- Environments
- Manage scheduled tasks
- View and interact with runs
- Edit and control tasks
- Related resources
Platforms and integrations > Claude Code on desktop
desktop-quickstart
- Install
- Start your first session
- Now what?
- Coming from the CLI?
- What’s next
desktop
- Start a session
- Work with code
- Use the prompt box
- Add files and context to prompts
- Choose a permission mode
- Preview your app
- Review changes with diff view
- Review your code
- Monitor pull request status
- Let Claude use your computer
- When computer use applies
- Enable computer use
- App permissions
- Manage sessions
- Work in parallel with sessions
- Run long-running tasks remotely
- Continue in another surface
- Sessions from Dispatch
- Extend Claude Code
- Connect external tools
- Use skills
- Install plugins
- Configure preview servers
- Auto-verify changes
- Configuration fields
- When to use
programvsruntimeExecutable
- When to use
- Port conflicts
- Examples
- Schedule recurring tasks
- Compare scheduling options
- Frequency options
- How scheduled tasks run
- Missed runs
- Permissions for scheduled tasks
- Manage scheduled tasks
- Environment configuration
- Local sessions
- Remote sessions
- SSH sessions
- Enterprise configuration
- Admin console controls
- Managed settings
- Device management policies
- Authentication and SSO
- Data handling
- Deployment
- Coming from the CLI?
- CLI flag equivalents
- Shared configuration
- Feature comparison
- What’s not available in Desktop
- Troubleshooting
- Check your version
- 403 or authentication errors in the Code tab
- Blank or stuck screen on launch
- “Failed to load session”
- Session not finding installed tools
- Git and Git LFS errors
- MCP servers not working on Windows
- App won’t quit
- Windows-specific issues
- Cowork tab unavailable on Intel Macs
- “Branch doesn’t exist yet” when opening in CLI
- Still stuck?
Platforms and integrations > Code review & CI/CD
code-review
- How reviews work
- Severity levels
- Check run output
- What Code Review checks
- Set up Code Review
- Manually trigger reviews
- Customize reviews
- CLAUDE.md
- REVIEW.md
- View usage
- Pricing
- Related resources
github-actions
- Why use Claude Code GitHub Actions?
- What can Claude do?
- Claude Code Action
- Setup
- Quick setup
- Manual setup
- Upgrading from Beta
- Essential changes
- Breaking Changes Reference
- Before and After Example
- Example use cases
- Basic workflow
- Using skills
- Custom automation with prompts
- Common use cases
- Best practices
- CLAUDE.md configuration
- Security considerations
- Optimizing performance
- CI costs
- Configuration examples
- Using with AWS Bedrock & Google Vertex AI
- Prerequisites
- For Google Cloud Vertex AI:
- For AWS Bedrock:
- Prerequisites
- Troubleshooting
- Claude not responding to @claude commands
- CI not running on Claude’s commits
- Authentication errors
- Advanced configuration
- Action parameters
- Pass CLI arguments
- Alternative integration methods
- Customizing Claude’s behavior
- Action parameters
github-enterprise-server
- What works with GitHub Enterprise Server
- Admin setup
- GitHub App permissions
- Manual setup
- Network requirements
- Developer workflow
- Teleport sessions to your terminal
- Plugin marketplaces on GHES
- Add a GHES marketplace
- Allowlist GHES marketplaces in managed settings
- Limitations
- Troubleshooting
- Web session fails to clone repository
- Marketplace add fails with a policy error
- GHES instance not reachable
- Related resources
gitlab-ci-cd
- Why use Claude Code with GitLab?
- How it works
- What can Claude do?
- Setup
- Quick setup
- Manual setup (recommended for production)
- Example use cases
- Turn issues into MRs
- Get implementation help
- Fix bugs quickly
- Using with AWS Bedrock & Google Vertex AI
- Configuration examples
- Basic .gitlab-ci.yml (Claude API)
- AWS Bedrock job example (OIDC)
- Google Vertex AI job example (Workload Identity Federation)
- Best practices
- CLAUDE.md configuration
- Security considerations
- Optimizing performance
- CI costs
- Security and governance
- Troubleshooting
- Claude not responding to @claude commands
- Job can’t write comments or open MRs
- Authentication errors
- Advanced configuration
- Common parameters and variables
- Customizing Claude’s behavior
Platforms and integrations
platforms
- Where to run Claude Code
- Connect your tools
- Work when you are away from your terminal
- Related resources
- Platforms
- Integrations
- Remote access
remote-control
- Requirements
- Start a Remote Control session
- Connect from another device
- Enable Remote Control for all sessions
- Connection and security
- Remote Control vs Claude Code on the web
- Limitations
- Troubleshooting
- “Remote Control requires a claude.ai subscription”
- “Remote Control requires a full-scope login token”
- “Unable to determine your organization for Remote Control eligibility”
- “Remote Control is not yet enabled for your account”
- “Remote Control is disabled by your organization’s policy”
- “Remote credentials fetch failed”
- Choose the right approach
- Related resources
chrome
- Capabilities
- Prerequisites
- Get started in the CLI
- Enable Chrome by default
- Manage site permissions
- Example workflows
- Test a local web application
- Debug with console logs
- Automate form filling
- Draft content in Google Docs
- Extract data from web pages
- Run multi-site workflows
- Record a demo GIF
- Troubleshooting
- Extension not detected
- Browser not responding
- Connection drops during long sessions
- Windows-specific issues
- Common error messages
- See also
computer-use
- What you can do with computer use
- When computer use applies
- Enable computer use
- Approve apps per session
- How Claude works on your screen
- One session at a time
- Apps are hidden while Claude works
- Stop at any time
- Safety and the trust boundary
- Example workflows
- Validate a native build
- Reproduce a layout bug
- Test a simulator flow
- Differences from the Desktop app
- Troubleshooting
- “Computer use is in use by another Claude session”
- macOS permissions prompt keeps reappearing
computer-usedoesn’t appear in/mcp
- See also
vs-code
- Prerequisites
- Install the extension
- Get started
- Use the prompt box
- Reference files and folders
- Resume past conversations
- Resume remote sessions from Claude.ai
- Customize your workflow
- Choose where Claude lives
- Run multiple conversations
- Switch to terminal mode
- Manage plugins
- Install plugins
- Manage marketplaces
- Automate browser tasks with Chrome
- VS Code commands and shortcuts
- Launch a VS Code tab from other tools
- Configure settings
- Extension settings
- VS Code extension vs. Claude Code CLI
- Rewind with checkpoints
- Run CLI in VS Code
- Switch between extension and CLI
- Include terminal output in prompts
- Monitor background processes
- Connect to external tools with MCP
- Work with git
- Create commits and pull requests
- Use git worktrees for parallel tasks
- Use third-party providers
- Security and privacy
- The built-in IDE MCP server
- Fix common issues
- Extension won’t install
- Spark icon not visible
- Claude Code never responds
- Uninstall the extension
- Next steps
jetbrains
- Supported IDEs
- Features
- Installation
- Marketplace Installation
- Usage
- From Your IDE
- From External Terminals
- Configuration
- Claude Code Settings
- Plugin Settings
- General Settings
- ESC Key Configuration
- Special Configurations
- Remote Development
- WSL Configuration
- Troubleshooting
- Plugin Not Working
- IDE Not Detected
- Command Not Found
- Security Considerations
slack
- Use cases
- Prerequisites
- Setting up Claude Code in Slack
- How it works
- Automatic detection
- Context gathering
- Session flow
- User interface elements
- App Home
- Message actions
- Repository selection
- Access and permissions
- User-level access
- Workspace-level access
- Channel-based access control
- What’s accessible where
- Best practices
- Writing effective requests
- When to use Slack vs. web
- Troubleshooting
- Sessions not starting
- Repository not showing
- Wrong repository selected
- Authentication errors
- Session expiration
- Current limitations
- Related resources
Agents
sub-agents
- Built-in subagents
- Quickstart: create your first subagent
- Configure subagents
- Use the /agents command
- Choose the subagent scope
- Write subagent files
- Supported frontmatter fields
- Choose a model
- Control subagent capabilities
- Available tools
- Restrict which subagents can be spawned
- Scope MCP servers to a subagent
- Permission modes
- Preload skills into subagents
- Enable persistent memory
- Persistent memory tips
- Conditional rules with hooks
- Disable specific subagents
- Define hooks for subagents
- Hooks in subagent frontmatter
- Project-level hooks for subagent events
- Work with subagents
- Understand automatic delegation
- Invoke subagents explicitly
- Run subagents in foreground or background
- Common patterns
- Isolate high-volume operations
- Run parallel research
- Chain subagents
- Choose between subagents and main conversation
- Manage subagent context
- Resume subagents
- Auto-compaction
- Example subagents
- Code reviewer
- Debugger
- Data scientist
- Database query validator
- Next steps
agent-teams
- When to use agent teams
- Compare with subagents
- Enable agent teams
- Start your first agent team
- Control your agent team
- Choose a display mode
- Specify teammates and models
- Require plan approval for teammates
- Talk to teammates directly
- Assign and claim tasks
- Shut down teammates
- Clean up the team
- Enforce quality gates with hooks
- How agent teams work
- How Claude starts agent teams
- Architecture
- Permissions
- Context and communication
- Token usage
- Use case examples
- Run a parallel code review
- Investigate with competing hypotheses
- Best practices
- Give teammates enough context
- Choose an appropriate team size
- Size tasks appropriately
- Wait for teammates to finish
- Start with research and review
- Avoid file conflicts
- Monitor and steer
- Troubleshooting
- Teammates not appearing
- Too many permission prompts
- Teammates stopping on errors
- Lead shuts down before work is done
- Orphaned tmux sessions
- Limitations
- Next steps
Tools and plugins
mcp
- What you can do with MCP
- Popular MCP servers
- Installing MCP servers
- Option 1: Add a remote HTTP server
- Option 2: Add a remote SSE server
- Option 3: Add a local stdio server
- Managing your servers
- Dynamic tool updates
- Push messages with channels
- Plugin-provided MCP servers
- MCP installation scopes
- Local scope
- Project scope
- User scope
- Choosing the right scope
- Scope hierarchy and precedence
- Environment variable expansion in
.mcp.json
- Practical examples
- Example: Monitor errors with Sentry
- Example: Connect to GitHub for code reviews
- Example: Query your PostgreSQL database
- Authenticate with remote MCP servers
- Use a fixed OAuth callback port
- Use pre-configured OAuth credentials
- Override OAuth metadata discovery
- Use dynamic headers for custom authentication
- Add MCP servers from JSON configuration
- Import MCP servers from Claude Desktop
- Use MCP servers from Claude.ai
- Use Claude Code as an MCP server
- MCP output limits and warnings
- Respond to MCP elicitation requests
- Use MCP resources
- Reference MCP resources
- Scale with MCP Tool Search
- How it works
- For MCP server authors
- Configure tool search
- Use MCP prompts as commands
- Execute MCP prompts
- Managed MCP configuration
- Option 1: Exclusive control with managed-mcp.json
- Option 2: Policy-based control with allowlists and denylists
- Restriction options
- Example configuration
- How command-based restrictions work
- How URL-based restrictions work
- Allowlist behavior (
allowedMcpServers) - Denylist behavior (
deniedMcpServers) - Important notes
discover-plugins
- How marketplaces work
- Official Anthropic marketplace
- Code intelligence
- What Claude gains from code intelligence plugins
- External integrations
- Development workflows
- Output styles
- Code intelligence
- Try it: add the demo marketplace
- Add marketplaces
- Add from GitHub
- Add from other Git hosts
- Add from local paths
- Add from remote URLs
- Install plugins
- Manage installed plugins
- Apply plugin changes without restarting
- Manage marketplaces
- Use the interactive interface
- Use CLI commands
- Configure auto-updates
- Configure team marketplaces
- Security
- Troubleshooting
- /plugin command not recognized
- Common issues
- Code intelligence issues
- Next steps
plugins
- When to use plugins vs standalone configuration
- Quickstart
- Prerequisites
- Create your first plugin
- Hello Skill
- Plugin structure overview
- Develop more complex plugins
- Add Skills to your plugin
- Add LSP servers to your plugin
- Ship default settings with your plugin
- Organize complex plugins
- Test your plugins locally
- Debug plugin issues
- Share your plugins
- Submit your plugin to the official marketplace
- Convert existing configurations to plugins
- Migration steps
- What changes when migrating
- Next steps
- For plugin users
- For plugin developers
skills
- Bundled skills
- Getting started
- Create your first skill
- Where skills live
- Automatic discovery from nested directories
- Skills from additional directories
- Configure skills
- Types of skill content
- Frontmatter reference
- Available string substitutions
- Add supporting files
- Control who invokes a skill
- Restrict tool access
- Pass arguments to skills
- Advanced patterns
- Inject dynamic context
- Run skills in a subagent
- Example: Research skill using Explore agent
- Restrict Claude’s skill access
- Share skills
- Generate visual output
- Troubleshooting
- Skill not triggering
- Skill triggers too often
- Skill descriptions are cut short
- Related resources
Automation
hooks-guide
- Set up your first hook
- What you can automate
- Get notified when Claude needs input
- Auto-format code after edits
- Block edits to protected files
- Re-inject context after compaction
- Audit configuration changes
- Reload environment when directory or files change
- Auto-approve specific permission prompts
- How hooks work
- Read input and return output
- Hook input
- Hook output
- Structured JSON output
- Filter hooks with matchers
- Filter by tool name and arguments with the
iffield
- Filter by tool name and arguments with the
- Configure hook location
- Read input and return output
- Prompt-based hooks
- Agent-based hooks
- HTTP hooks
- Limitations and troubleshooting
- Limitations
- Hook not firing
- Hook error in output
/hooksshows no hooks configured- Stop hook runs forever
- JSON validation failed
- Debug techniques
- Learn more
channels
- Supported channels
- Quickstart
- Security
- Enterprise controls
- Enable channels for your organization
- Restrict which channel plugins can run
- Research preview
- How channels compare
- Next steps
scheduled-tasks
- Compare scheduling options
- Schedule a recurring prompt with /loop
- Interval syntax
- Loop over another command
- Set a one-time reminder
- Manage scheduled tasks
- How scheduled tasks run
- Jitter
- Three-day expiry
- Cron expression reference
- Disable scheduled tasks
- Limitations
headless
- Basic usage
- Start faster with bare mode
- Examples
- Get structured output
- Stream responses
- Auto-approve tools
- Create a commit
- Customize the system prompt
- Continue conversations
- Next steps
Troubleshooting
troubleshooting
- Troubleshoot installation issues
- Debug installation problems
- Check network connectivity
- Verify your PATH
- Check for conflicting installations
- Check directory permissions
- Verify the binary works
- Common installation issues
- Install script returns HTML instead of a shell script
command not found: claudeafter installationcurl: (56) Failure writing output to destination- TLS or SSL connection errors
Failed to fetch version from storage.googleapis.com- Windows:
irmor&¬ recognized - Install killed on low-memory Linux servers
- Install hangs in Docker
- Windows: Claude Desktop overrides
claudeCLI command - Windows: “Claude Code on Windows requires git-bash”
- Linux: wrong binary variant installed (musl/glibc mismatch)
Illegal instructionon Linuxdyld: cannot loadon macOS- Windows installation issues: errors in WSL
- WSL2 sandbox setup
- Permission errors during installation
- Permissions and authentication
- Repeated permission prompts
- Authentication issues
- OAuth error: Invalid code
- 403 Forbidden after login
- “This organization has been disabled” with an active subscription
- OAuth login fails in WSL2
- “Not logged in” or token expired
- Configuration file locations
- Resetting configuration
- Performance and stability
- High CPU or memory usage
- Command hangs or freezes
- Search and discovery issues
- Slow or incomplete search results on WSL
- IDE integration issues
- JetBrains IDE not detected on WSL2
- WSL2 networking modes
- Report Windows IDE integration issues
- Escape key not working in JetBrains IDE terminals
- JetBrains IDE not detected on WSL2
- Markdown formatting issues
- Missing language tags in code blocks
- Inconsistent spacing and formatting
- Reduce markdown formatting issues
- Get more help
Deployment
third-party-integrations
- Compare deployment options
- Configure proxies and gateways
- Amazon Bedrock
- Microsoft Foundry
- Google Vertex AI
- Best practices for organizations
- Invest in documentation and memory
- Simplify deployment
- Start with guided usage
- Pin model versions for cloud providers
- Configure security policies
- Leverage MCP for integrations
- Next steps
amazon-bedrock
- Prerequisites
- Setup
-
- Submit use case details
-
- Configure AWS credentials
- Advanced credential configuration
- Example configuration
- Configuration settings explained
-
- Configure Claude Code
-
- Pin model versions
- Map each model version to an inference profile
-
- IAM configuration
- AWS Guardrails
- Troubleshooting
- Additional resources
google-vertex-ai
- Prerequisites
- Region Configuration
- Setup
-
- Enable Vertex AI API
-
- Request model access
-
- Configure GCP credentials
-
- Configure Claude Code
-
- Pin model versions
-
- IAM configuration
- 1M token context window
- Troubleshooting
- Additional resources
microsoft-foundry
- Prerequisites
- Setup
-
- Provision Microsoft Foundry resource
-
- Configure Azure credentials
-
- Configure Claude Code
-
- Pin model versions
-
- Azure RBAC configuration
- Troubleshooting
- Additional resources
network-config
- Proxy configuration
- Environment variables
- Basic authentication
- Custom CA certificates
- mTLS authentication
- Network access requirements
- Additional resources
llm-gateway
- Gateway requirements
- Configuration
- Model selection
- LiteLLM configuration
- Prerequisites
- Basic LiteLLM setup
- Authentication methods
- Static API key
- Dynamic API key with helper
- Unified endpoint (recommended)
- Provider-specific pass-through endpoints (alternative)
- Claude API through LiteLLM
- Amazon Bedrock through LiteLLM
- Google Vertex AI through LiteLLM
- Authentication methods
- Additional resources
devcontainer
- Key features
- Getting started in 4 steps
- Configuration breakdown
- Security features
- Customization options
- Example use cases
- Secure client work
- Team onboarding
- Consistent CI/CD environments
- Related resources
Administration
setup
- System requirements
- Additional dependencies
- Install Claude Code
- Set up on Windows
- Alpine Linux and musl-based distributions
- Verify your installation
- Authenticate
- Update Claude Code
- Auto-updates
- Configure release channel
- Disable auto-updates
- Update manually
- Advanced installation options
- Install a specific version
- Deprecated npm installation
- Migrate from npm to native
- Install with npm
- Binary integrity and code signing
- Uninstall Claude Code
- Native installation
- Homebrew installation
- WinGet installation
- npm
- Remove configuration files
authentication
- Log in to Claude Code
- Set up team authentication
- Claude for Teams or Enterprise
- Claude Console authentication
- Cloud provider authentication
- Credential management
- Authentication precedence
security
- How we approach security
- Security foundation
- Permission-based architecture
- Built-in protections
- User responsibility
- Protect against prompt injection
- Core protections
- Privacy safeguards
- Additional safeguards
- MCP security
- IDE security
- Cloud execution security
- Security best practices
- Working with sensitive code
- Team security
- Reporting security issues
- Related resources
server-managed-settings
- Requirements
- Choose between server-managed and endpoint-managed settings
- Configure server-managed settings
- Verify settings delivery
- Access control
- Current limitations
- Settings delivery
- Settings precedence
- Fetch and caching behavior
- Security approval dialogs
- Platform availability
- Audit logging
- Security considerations
- See also
data-usage
- Data policies
- Data training policy
- Development Partner Program
- Feedback using the
/feedbackcommand - Session quality surveys
- Data retention
- Data access
- Local Claude Code: Data flow and dependencies
- Cloud execution: Data flow and dependencies
- Telemetry services
- Default behaviors by API provider
zero-data-retention
- ZDR scope
- What ZDR covers
- What ZDR does not cover
- Features disabled under ZDR
- Data retention for policy violations
- Request ZDR
monitoring-usage
- Quick start
- Administrator configuration
- Configuration details
- Common configuration variables
- Metrics cardinality control
- Dynamic headers
- Settings configuration
- Script requirements
- Refresh behavior
- Multi-team organization support
- Example configurations
- Available metrics and events
- Standard attributes
- Metrics
- Metric details
- Session counter
- Lines of code counter
- Pull request counter
- Commit counter
- Cost counter
- Token counter
- Code edit tool decision counter
- Active time counter
- Events
- Event correlation attributes
- User prompt event
- Tool result event
- API request event
- API error event
- Tool decision event
- Interpret metrics and events data
- Usage monitoring
- Cost monitoring
- Alerting and segmentation
- Event analysis
- Backend considerations
- For metrics
- For events/logs
- Service information
- ROI measurement resources
- Security and privacy
- Monitor Claude Code on Amazon Bedrock
costs
- Track your costs
- Using the
/costcommand
- Using the
- Managing costs for teams
- Rate limit recommendations
- Agent team token costs
- Reduce token usage
- Manage context proactively
- Choose the right model
- Reduce MCP server overhead
- Install code intelligence plugins for typed languages
- Offload processing to hooks and skills
- Move instructions from CLAUDE.md to skills
- Adjust extended thinking
- Delegate verbose operations to subagents
- Manage agent team costs
- Write specific prompts
- Work efficiently on complex tasks
- Background token usage
- Understanding changes in Claude Code behavior
analytics
- Access analytics for Teams and Enterprise
- Enable contribution metrics
- Review summary metrics
- Explore the charts
- Track adoption
- Measure PRs per user
- View pull requests breakdown
- Find top contributors
- PR attribution
- Tagging criteria
- Attribution process
- Time window
- Excluded files
- Attribution notes
- Get the most from analytics
- Monitor adoption
- Measure ROI
- Identify power users
- Access data programmatically
- Access analytics for API customers
- View team insights
- Related resources
plugin-marketplaces
- Overview
- Walkthrough: create a local marketplace
- Create the marketplace file
- Marketplace schema
- Required fields
- Owner fields
- Optional metadata
- Plugin entries
- Required fields
- Optional plugin fields
- Plugin sources
- Relative paths
- GitHub repositories
- Git repositories
- Git subdirectories
- npm packages
- Advanced plugin entries
- Strict mode
- Host and distribute marketplaces
- Host on GitHub (recommended)
- Host on other git services
- Private repositories
- Test locally before distribution
- Require marketplaces for your team
- Pre-populate plugins for containers
- Managed marketplace restrictions
- Common configurations
- How restrictions work
- Version resolution and release channels
- Set up release channels
- Example
- Assign channels to user groups
- Set up release channels
- Validation and testing
- Troubleshooting
- Marketplace not loading
- Marketplace validation errors
- Plugin installation failures
- Private repository authentication fails
- Git operations time out
- Plugins with relative paths fail in URL-based marketplaces
- Files not found after installation
- See also
Configuration
settings
- Configuration scopes
- Available scopes
- When to use each scope
- How scopes interact
- What uses scopes
- Settings files
- Available settings
- Global config settings
- Worktree settings
- Permission settings
- Permission rule syntax
- Sandbox settings
- Sandbox path prefixes
- Attribution settings
- File suggestion settings
- Hook configuration
- Settings precedence
- Verify active settings
- Key points about the configuration system
- System prompt
- Excluding sensitive files
- Subagent configuration
- Plugin configuration
- Plugin settings
enabledPluginsextraKnownMarketplacesstrictKnownMarketplaces
- Managing plugins
- Plugin settings
- Environment variables
- Tools available to Claude
- See also
permissions
- Permission system
- Manage permissions
- Permission modes
- Permission rule syntax
- Match all uses of a tool
- Use specifiers for fine-grained control
- Wildcard patterns
- Tool-specific permission rules
- Bash
- Read and Edit
- WebFetch
- MCP
- Agent (subagents)
- Extend permissions with hooks
- Working directories
- How permissions interact with sandboxing
- Managed settings
- Managed-only settings
- Configure the auto mode classifier
- Define trusted infrastructure
- Override the block and allow rules
- Inspect the defaults and your effective config
- Settings precedence
- Example configurations
- See also
sandboxing
- Overview
- Why sandboxing matters
- How it works
- Filesystem isolation
- Network isolation
- OS-level enforcement
- Getting started
- Prerequisites
- Enable sandboxing
- Sandbox modes
- Configure sandboxing
- Granting subprocess write access to specific paths
- Security benefits
- Protection against prompt injection
- Reduced attack surface
- Transparent operation
- Security Limitations
- How sandboxing relates to permissions
- Advanced usage
- Custom proxy configuration
- Integration with existing security tools
- Best practices
- Open source
- Limitations
- What sandboxing does not cover
- See also
terminal-config
- Themes and appearance
- Line breaks
- Notification setup
- Terminal notifications
- Notification hooks
- Handling large inputs
- Vim Mode
model-config
- Available models
- Model aliases
- Setting your model
- Restrict model selection
- Default model behavior
- Control the model users run on
- Merge behavior
- Special model behavior
defaultmodel settingopusplanmodel setting- Adjust effort level
- Extended context
- Checking your current model
- Add a custom model option
- Environment variables
- Pin models for third-party deployments
- Customize pinned model display and capabilities
- Override model IDs per version
- Prompt caching configuration
fast-mode
- Toggle fast mode
- Understand the cost tradeoff
- Decide when to use fast mode
- Fast mode vs effort level
- Requirements
- Enable fast mode for your organization
- Require per-session opt-in
- Handle rate limits
- Research preview
- See also
voice-dictation
- Requirements
- Enable voice dictation
- Record a prompt
- Change the dictation language
- Rebind the push-to-talk key
- Troubleshooting
- See also
output-styles
- Built-in output styles
- How output styles work
- Change your output style
- Create a custom output style
- Frontmatter
- Comparisons to related features
statusline
- Set up a status line
- Use the /statusline command
- Manually configure a status line
- Disable the status line
- Build a status line step by step
- How status lines work
- Available data
- Context window fields
- Examples
- Context window usage
- Git status with colors
- Cost and duration tracking
- Display multiple lines
- Clickable links
- Rate limit usage
- Cache expensive operations
- Windows configuration
- Tips
- Troubleshooting
keybindings
- Configuration file
- Contexts
- Available actions
- App actions
- History actions
- Chat actions
- Autocomplete actions
- Confirmation actions
- Permission actions
- Transcript actions
- History search actions
- Task actions
- Theme actions
- Help actions
- Tabs actions
- Attachments actions
- Footer actions
- Message selector actions
- Diff actions
- Model picker actions
- Select actions
- Plugin actions
- Settings actions
- Voice actions
- Keystroke syntax
- Modifiers
- Uppercase letters
- Chords
- Special keys
- Unbind default shortcuts
- Reserved shortcuts
- Terminal conflicts
- Vim mode interaction
- Validation
Reference
cli-reference
- CLI commands
- CLI flags
- System prompt flags
- See also
commands
- MCP prompts
- See also
env-vars
- See also
tools-reference
- Bash tool behavior
- PowerShell tool
- Enable the PowerShell tool
- Shell selection in settings, hooks, and skills
- Preview limitations
- See also
interactive-mode
- Keyboard shortcuts
- General controls
- Text editing
- Theme and display
- Multiline input
- Quick commands
- Transcript viewer
- Voice input
- Built-in commands
- Vim editor mode
- Mode switching
- Navigation (NORMAL mode)
- Editing (NORMAL mode)
- Text objects (NORMAL mode)
- Command history
- Reverse search with Ctrl+R
- Background bash commands
- How backgrounding works
- Bash mode with
!prefix
- Prompt suggestions
- Side questions with /btw
- Task list
- PR review status
- See also
checkpointing
- How checkpoints work
- Automatic tracking
- Rewind and summarize
- Restore vs. summarize
- Common use cases
- Limitations
- Bash command changes not tracked
- External changes not tracked
- Not a replacement for version control
- See also
hooks
- Hook lifecycle
- How a hook resolves
- Configuration
- Hook locations
- Matcher patterns
- Match MCP tools
- Hook handler fields
- Common fields
- Command hook fields
- HTTP hook fields
- Prompt and agent hook fields
- Reference scripts by path
- Hooks in skills and agents
- The
/hooksmenu - Disable or remove hooks
- Hook input and output
- Common input fields
- Exit code output
- Exit code 2 behavior per event
- HTTP response handling
- JSON output
- Decision control
- Hook events
- SessionStart
- SessionStart input
- SessionStart decision control
- Persist environment variables
- InstructionsLoaded
- InstructionsLoaded input
- InstructionsLoaded decision control
- UserPromptSubmit
- UserPromptSubmit input
- UserPromptSubmit decision control
- PreToolUse
- PreToolUse input
- Bash
- Write
- Edit
- Read
- Glob
- Grep
- WebFetch
- WebSearch
- Agent
- AskUserQuestion
- PreToolUse decision control
- PreToolUse input
- PermissionRequest
- PermissionRequest input
- PermissionRequest decision control
- Permission update entries
- PostToolUse
- PostToolUse input
- PostToolUse decision control
- PostToolUseFailure
- PostToolUseFailure input
- PostToolUseFailure decision control
- Notification
- Notification input
- SubagentStart
- SubagentStart input
- SubagentStop
- SubagentStop input
- TaskCreated
- TaskCreated input
- TaskCreated decision control
- TaskCompleted
- TaskCompleted input
- TaskCompleted decision control
- Stop
- Stop input
- Stop decision control
- StopFailure
- StopFailure input
- TeammateIdle
- TeammateIdle input
- TeammateIdle decision control
- ConfigChange
- ConfigChange input
- ConfigChange decision control
- CwdChanged
- CwdChanged input
- CwdChanged output
- FileChanged
- FileChanged input
- FileChanged output
- WorktreeCreate
- WorktreeCreate input
- WorktreeCreate output
- WorktreeRemove
- WorktreeRemove input
- PreCompact
- PreCompact input
- PostCompact
- PostCompact input
- SessionEnd
- SessionEnd input
- Elicitation
- Elicitation input
- Elicitation output
- ElicitationResult
- ElicitationResult input
- ElicitationResult output
- SessionStart
- Prompt-based hooks
- How prompt-based hooks work
- Prompt hook configuration
- Response schema
- Example: Multi-criteria Stop hook
- Agent-based hooks
- How agent hooks work
- Agent hook configuration
- Run hooks in the background
- Configure an async hook
- How async hooks execute
- Example: run tests after file changes
- Limitations
- Security considerations
- Disclaimer
- Security best practices
- Windows PowerShell tool
- Debug hooks
plugins-reference
- Plugin components reference
- Skills
- Agents
- Hooks
- MCP servers
- LSP servers
- Plugin installation scopes
- Plugin manifest schema
- Complete schema
- Required fields
- Metadata fields
- Component path fields
- User configuration
- Channels
- Path behavior rules
- Environment variables
- Persistent data directory
- Plugin caching and file resolution
- Path traversal limitations
- Working with external dependencies
- Plugin directory structure
- Standard plugin layout
- File locations reference
- CLI commands reference
- plugin install
- plugin uninstall
- plugin enable
- plugin disable
- plugin update
- Debugging and development tools
- Debugging commands
- Common issues
- Example error messages
- Hook troubleshooting
- MCP server troubleshooting
- Directory structure mistakes
- Distribution and versioning reference
- Version management
- See also
channels-reference
- Overview
- What you need
- Example: build a webhook receiver
- Test during the research preview
- Server options
- Notification format
- Expose a reply tool
- Gate inbound messages
- Relay permission prompts
- How relay works
- Permission request fields
- Add relay to a chat bridge
- Full example
- Package as a plugin
- See also
Resources
legal-and-compliance
- Legal agreements
- License
- Commercial agreements
- Compliance
- Healthcare compliance (BAA)
- Usage policy
- Acceptable use
- Authentication and credential use
- Security and trust
- Trust and safety
- Security vulnerability reporting