Skip to main content

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

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-05-16 23:57:57 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
    • Build your setup over time
    • Compare similar features
    • Understand how features layer
    • Combine features
  • Understand context costs
    • Context cost by feature
    • Understand how features load
  • Learn more

claude-directory

  • Explore the directory
  • What’s not shown
  • Choose the right file
  • File reference
  • Troubleshoot configuration
  • Application data
    • Cleaned up automatically
    • Kept until you delete them
    • Plaintext storage
    • Clear local data
  • Related resources

context-window

  • What the timeline shows
  • What survives compaction
  • Check your own session
  • Related resources

Use Claude Code

memory

  • CLAUDE.md vs auto memory
  • CLAUDE.md files
    • When to add to CLAUDE.md
    • 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

  • Available modes
  • Switch permission modes
  • Auto-approve file edits with acceptEdits mode
  • Analyze before you edit with plan mode
    • Review and approve a plan
    • Set plan mode as the default
  • Eliminate prompts with auto mode
    • What the classifier blocks by default
    • Boundaries you state in conversation
    • When auto mode falls back
  • Allow only pre-approved tools with dontAsk mode
  • Skip all checks with bypassPermissions mode
  • Protected paths
  • See also

common-workflows

  • Prompt recipes
    • Understand new codebases
      • Get a quick codebase overview
      • Find relevant code
    • Fix bugs efficiently
    • Refactor code
    • Work with tests
    • Create pull requests
    • Handle documentation
    • Work in notes and non-code folders
    • Work with images
    • Reference files and directories
    • Run Claude on a schedule
    • Ask Claude about its capabilities
      • Example questions
  • Resume previous conversations
  • Run parallel sessions with worktrees
  • Plan before editing
  • Delegate research to subagents
  • Pipe Claude into scripts
  • 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

web-quickstart

  • How sessions run
  • Compare ways to run Claude Code
  • Connect GitHub and create an environment
    • Connect from your terminal
  • Start a task
  • Pre-fill sessions
  • Review and iterate
  • Troubleshoot setup
    • No repositories appear after connecting GitHub
    • The page only shows a GitHub login button
    • “Not available for the selected organization”
    • /web-setup returns “Unknown command”
    • “Could not create a cloud environment” or “No cloud environment available” when using --remote or ultraplan
    • Setup script failed
    • New sessions hang or time out during setup
    • Session keeps running after closing the tab
  • Next steps

claude-code-on-the-web

  • GitHub authentication options
  • The cloud environment
    • What’s available in cloud sessions
    • Installed tools
    • Work with GitHub issues and pull requests
    • Link artifacts back to the session
    • Run tests, start services, and add packages
    • Resource limits
    • Configure your environment
  • Setup scripts
    • Environment caching
    • Setup scripts vs. SessionStart hooks
    • Install dependencies with a SessionStart hook
  • Network access
    • Access levels
    • Allow specific domains
    • GitHub proxy
    • Security proxy
    • Default allowed domains
  • Move tasks between web and terminal
    • From terminal to web
      • Tips for cloud tasks
      • Send local repositories without GitHub
    • From web to terminal
      • Teleport requirements
      • --teleport is unavailable
  • Work with sessions
    • Manage context
    • Review changes
    • Share sessions
      • Share from an Enterprise or Team account
      • Share from a Max or Pro account
    • Archive sessions
    • Delete sessions
  • Auto-fix pull requests
    • How Claude responds to PR activity
  • Security and isolation
  • Troubleshooting
    • Session creation failed
    • Remote Control session expired or access denied
    • Environment expired
  • Limitations
  • Related resources

routines

  • Example use cases
  • Create a routine
    • Create from the web
    • Create from the CLI
  • Configure triggers
    • Add a schedule trigger
      • Schedule a one-off run
    • Add an API trigger
      • Trigger a routine
      • API reference
    • Add a GitHub trigger
      • Supported events
      • Filter pull requests
      • How sessions map to events
  • Manage routines
    • View and interact with runs
    • Edit and control routines
    • Repositories and branch permissions
    • Connectors
    • Environments and network access
  • Usage and limits
  • Troubleshooting
    • “Routines are disabled by your organization’s policy”
  • Related resources

ultraplan

  • Launch ultraplan from the CLI
  • Review and revise the plan in your browser
  • Choose where to execute
    • Execute on the web
    • Send the plan back to your terminal
  • Related resources

ultrareview

  • Run ultrareview from the CLI
  • Pricing and free runs
  • Track a running review
  • Run ultrareview non-interactively
  • How ultrareview compares to /review
  • 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
  • Arrange your workspace
    • Run commands in the terminal
    • Open and edit files
    • Open files in other apps
    • Switch view modes
    • Keyboard shortcuts
    • Check usage
  • Let Claude use your computer
    • When computer use applies
    • Enable computer use
    • App permissions
  • Manage sessions
    • Work in parallel with sessions
    • Ask a side question without derailing the session
    • Watch background tasks
    • 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 program vs runtimeExecutable
      • Port conflicts
      • Examples
  • Environment configuration
    • Local sessions
    • Remote sessions
    • SSH sessions
      • Pre-configure SSH connections for your team
      • Restrict which SSH hosts users can connect to
  • 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
    • “Branch doesn’t exist yet” when opening in CLI
    • Still stuck?

desktop-scheduled-tasks

  • Compare scheduling options
  • Create a scheduled task
  • Schedule options
  • How scheduled tasks run
  • Missed runs
  • Permissions for scheduled tasks
  • Manage scheduled tasks
  • Related resources

desktop-changelog

  • (No headings found)

Platforms and integrations > Code review & CI/CD

code-review

  • How reviews work
    • Severity levels
    • Rate and reply to findings
    • Check run output
    • What Code Review checks
  • Set up Code Review
  • Manually trigger reviews
  • Customize reviews
    • CLAUDE.md
    • REVIEW.md
      • What you can tune
      • Example
      • Keep it focused
  • View usage
  • Pricing
  • Troubleshooting
    • Retrigger a failed or timed-out review
    • Review didn’t run and the PR shows a spend-cap message
    • Find issues that aren’t showing as inline comments
  • 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 Amazon Bedrock & Google Vertex AI
    • Prerequisites
      • For Google Cloud Vertex AI:
      • For Amazon Bedrock:
  • 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

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 Amazon Bedrock & Google Vertex AI
  • Configuration examples
    • Basic .gitlab-ci.yml (Claude API)
    • Amazon 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
  • Mobile push notifications
  • 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
    • Screenshots are downscaled automatically
    • 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-use doesn’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
    • Cmd+Esc does nothing on macOS
    • 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
      • Allow WSL2 traffic through Windows Firewall
      • Switch WSL2 to mirrored networking
  • 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 and parallel work

agents

  • Choose an approach
  • Check on running work
  • Learn more

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
  • Fork the current conversation
    • Observe and steer running forks
    • How forks differ from named subagents
    • Limitations
  • Example subagents
    • Code reviewer
    • Debugger
    • Data scientist
    • Database query validator
  • Next steps

agent-view

  • Quick start
  • Monitor sessions with agent view
    • Read session state
    • Row summaries
    • Pull request status
    • Peek and reply
    • Attach to a session
    • Organize the list
    • Filter sessions
    • Keyboard shortcuts
  • Dispatch new agents
    • From agent view
      • Dispatch to a specific directory
    • From inside a session
    • From your shell
    • How file edits are isolated
    • Set the model
    • Permission mode, model, and effort
    • Settings, plugins, and MCP servers
  • Manage sessions from the shell
  • How background sessions are hosted
    • The supervisor process
    • Where state is stored
    • Turn off agent view
  • Troubleshooting
    • claude agents lists subagents instead of opening agent view
    • Agent view opens with no sessions
    • Cannot open agents because background tasks are running
    • Prompt rejected as too short
    • Sessions show as failed after waking your machine
    • A session is slow to respond after attaching
    • .claude/worktrees/ is filling up
  • Limitations
  • Related resources

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
    • Use subagent definitions for teammates
    • 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

worktrees

  • Start Claude in a worktree
    • Choose the base branch
  • Copy gitignored files into worktrees
  • Isolate subagents with worktrees
  • Clean up worktrees
  • Manage worktrees manually
  • Non-git version control
  • See also

Tools and plugins

mcp

  • What you can do with MCP
  • Find and build 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
    • Automatic reconnection
    • Push messages with channels
    • Plugin-provided MCP servers
  • MCP installation scopes
    • Local scope
    • Project scope
    • User 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
    • Restrict OAuth scopes
    • 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
    • Raise the limit for a specific tool
  • 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
    • Exempt a server from deferral
  • 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
  • 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
  • Plugin structure overview
  • Develop more complex plugins
    • Add Skills to your plugin
    • Add LSP servers to your plugin
    • Add background monitors 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
      • Live change detection
      • Automatic discovery from parent and 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
    • Skill content lifecycle
    • Pre-approve tools for a skill
    • 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
    • Override skill visibility from settings
  • 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
    • Combine results from multiple hooks
    • Read input and return output
      • Hook input
      • Hook output
      • Structured JSON output
    • Filter hooks with matchers
      • Filter by tool name and arguments with the if field
    • Configure hook location
  • Prompt-based hooks
  • Agent-based hooks
  • HTTP hooks
  • Limitations and troubleshooting
    • Limitations
    • Hooks and permission modes
    • Hook not firing
    • Hook error in output
    • /hooks shows 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
  • Run a prompt repeatedly with /loop
    • Run on a fixed interval
    • Let Claude choose the interval
    • Run the built-in maintenance prompt
    • Customize the default prompt with loop.md
    • Stop a loop
  • Set a one-time reminder
  • Manage scheduled tasks
  • How scheduled tasks run
    • Jitter
    • Seven-day expiry
  • Cron expression reference
  • Disable scheduled tasks
  • Limitations

goal

  • Compare to other autonomous workflows
  • Use /goal
    • Set a goal
    • Write an effective condition
    • Check status
    • Clear a goal
    • Resume with an active goal
    • Run non-interactively
  • How evaluation works
  • Requirements
  • See also

headless

  • Basic usage
    • Start faster with bare mode
  • Examples
    • Pipe data through Claude
    • Add Claude to a build script
    • Get structured output
    • Stream responses
    • Auto-approve tools
    • Create a commit
    • Customize the system prompt
    • Continue conversations
  • Next steps
  • How it works
    • What a launched session shows
  • Build a link
    • Choose between cwd and repo
  • Examples
    • Embed a link in a runbook
    • Open a link from the shell
  • Registration and supported platforms
  • Open a VS Code tab instead of a terminal
  • Troubleshooting
    • Clicking the link does nothing
    • The link renders as plain text instead of being clickable
    • The session opens in my home directory instead of the repo
    • The link opens the wrong terminal
  • Learn more

Troubleshooting

troubleshoot-install

  • Find your error
  • Run diagnostic checks
    • 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: claude after installation
    • curl: (56) Failure writing output to destination
    • TLS or SSL connection errors
    • Failed to fetch version from downloads.claude.ai
    • Wrong install command on Windows
    • The process cannot access the file during Windows install
    • Install killed on low-memory Linux servers
    • Install hangs in Docker
    • Claude Desktop overrides the claude command on Windows
    • Claude Code on Windows requires either Git for Windows (for bash) or PowerShell
    • Claude Code does not support 32-bit Windows
    • Linux musl or glibc binary mismatch
    • Illegal instruction
    • dyld: cannot load on macOS
    • Exec format error on WSL1
    • npm install errors in WSL
    • Permission errors during installation
    • Native binary not found after npm install
  • Login and authentication
    • Reset your login
    • OAuth error: Invalid code
    • 403 Forbidden after login
    • This organization has been disabled with an active subscription
    • OAuth login fails in WSL2, SSH, or containers
    • Not logged in or token expired
    • Bedrock, Vertex, or Foundry credentials not loading
  • Still stuck

troubleshooting

  • Performance and stability
    • High CPU or memory usage
    • Auto-compaction stops with a thrashing error
    • Command hangs or freezes
    • Search and discovery issues
    • Slow or incomplete search results on WSL
  • Get more help

debug-your-config

  • See what loaded into context
  • Check resolved settings
  • Check MCP servers
  • Check hooks
  • Test against a clean configuration
  • Check common causes
  • Related resources

errors

  • Find your error
  • Automatic retries
  • Server errors
    • API Error: 500 Internal server error
    • API Error: Repeated 529 Overloaded errors
    • Request timed out
    • Auto mode cannot determine the safety of an action
  • Usage limits
    • You’ve hit your session limit
    • Server is temporarily limiting requests
    • Request rejected (429)
    • Credit balance is too low
  • Authentication errors
    • Not logged in
    • Invalid API key
    • This organization has been disabled
    • Routines are disabled by your organization’s policy
    • OAuth token revoked or expired
    • OAuth scope requirement
  • Network and connection errors
    • Unable to connect to API
    • SSL certificate errors
    • Host not allowed in a cloud session
  • Request errors
    • Prompt is too long
    • Error during compaction: Conversation too long
    • Request too large
    • Image was too large
    • PDF errors
    • Extra inputs are not permitted
    • There’s an issue with the selected model
    • Claude Opus is not available with the Claude Pro plan
    • thinking.type.enabled is not supported for this model
    • Thinking budget exceeds output limit
    • Tool use or thinking block mismatch
  • Responses seem lower quality than usual
  • Report an error

Setup and access

admin-setup

  • Choose your API provider
  • Decide how settings reach devices
  • Decide what to enforce
  • Set up usage visibility
  • Review data handling
  • Verify and onboard
  • Next steps

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
    • Pin a minimum version
    • Disable auto-updates
    • Update manually
  • Advanced installation options
    • Install a specific version
    • Install with Linux package managers
    • Install with npm
    • Binary integrity and code signing
      • Verify the manifest signature
      • Platform code signatures
  • Uninstall Claude Code
    • Native installation
    • Homebrew installation
    • WinGet installation
    • apt / dnf / apk
    • 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
    • Generate a long-lived token

server-managed-settings

  • Requirements
  • Choose between server-managed and endpoint-managed settings
  • Configure server-managed settings
    • Verify settings delivery
    • Access control
    • Managed-only settings
    • Current limitations
  • Settings delivery
    • Settings precedence
    • Fetch and caching behavior
    • Enforce fail-closed startup
    • Security approval dialogs
  • Platform availability
  • Audit logging
  • Security considerations
  • See also

auto-mode-config

  • Where the classifier reads configuration
  • Define trusted infrastructure
  • Override the block and allow rules
  • Inspect the defaults and your effective config
  • Review denials
  • See also

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
  • Sign in with Bedrock
  • Set up manually
      1. Submit use case details
      1. Configure AWS credentials
      • Advanced credential configuration
        • Example configuration
        • Configuration settings explained
      1. Configure Claude Code
      1. Pin model versions
      • Map each model version to an inference profile
  • Startup model checks
  • IAM configuration
  • 1M token context window
  • Service tiers
  • AWS Guardrails
  • Use the Mantle endpoint
    • Enable Mantle
    • Select a Mantle model
    • Run Mantle alongside the Invoke API
    • Route Mantle through a gateway
    • Mantle environment variables
  • Troubleshooting
    • Authentication loop with SSO and corporate proxies
    • Region issues
    • Mantle endpoint errors
  • Additional resources

claude-platform-on-aws

  • Prerequisites
  • Setup
      1. Configure AWS credentials
      1. Configure Claude Code
      1. Pin model versions
  • Use the Agent SDK
  • Route through a corporate proxy
  • Troubleshooting
    • 403 Forbidden or AccessDenied on every request
    • Requests fail with a missing-workspace error
    • Requests still go to api.anthropic.com
  • Additional resources

google-vertex-ai

  • Prerequisites
  • Sign in with Vertex AI
  • Region configuration
  • Set up manually
      1. Enable Vertex AI API
      1. Request model access
      1. Configure GCP credentials
      • Advanced credential configuration
      1. Configure Claude Code
      1. Pin model versions
  • Startup model checks
  • IAM configuration
  • 1M token context window
  • Troubleshooting
  • Additional resources

microsoft-foundry

  • Prerequisites
  • Setup
      1. Provision Microsoft Foundry resource
      1. Configure Azure credentials
      1. Configure Claude Code
      1. Pin model versions
      1. Run Claude Code
  • Azure RBAC configuration
  • Troubleshooting
  • Additional resources

network-config

  • Proxy configuration
    • Environment variables
    • Basic authentication
  • CA certificate store
  • 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
        • Claude Platform on AWS through a gateway
  • Additional resources

devcontainer

  • Add Claude Code to your dev container
  • Persist authentication and settings across rebuilds
  • Enforce organization policy
  • Restrict network egress
  • Run without permission prompts
  • Try the reference container
  • Next steps

Usage and costs

monitoring-usage

  • Quick start
  • Administrator configuration
  • Configuration details
    • Common configuration variables
    • mTLS authentication
    • Metrics cardinality control
    • Traces (beta)
      • Span hierarchy
      • Span attributes
    • 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
      • API request body event
      • API response body event
      • Tool decision event
      • Permission mode changed event
      • Auth event
      • MCP server connection event
      • Internal error event
      • Plugin installed event
      • Plugin loaded event
      • Skill activated event
      • At mention event
      • API retries exhausted event
      • Hook registered event
      • Hook execution start event
      • Hook execution complete event
      • Compaction event
      • Feedback survey event
  • Interpret metrics and events data
    • Usage monitoring
    • Cost monitoring
    • Alerting and segmentation
    • Detect retry exhaustion
    • Event analysis
  • Audit security events
    • Attribute actions to users
    • Audit MCP activity
    • Map security questions to events
    • Send events to a SIEM
  • Backend considerations
    • For metrics
    • For events/logs
    • For traces
  • Service information
  • ROI measurement resources
  • Security and privacy
  • Monitor Claude Code on Amazon Bedrock

costs

  • Track your costs
    • Using the /usage command
  • 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 Team 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 distribution

plugin-marketplaces

  • Overview
  • Walkthrough: create a local marketplace
  • Create the marketplace file
  • Marketplace schema
    • Required fields
    • Owner fields
    • Optional fields
  • 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
      • Pin dependency versions
  • Validation and testing
  • Manage marketplaces from the CLI
    • Plugin marketplace add
    • Plugin marketplace list
    • Plugin marketplace remove
    • Plugin marketplace update
  • Troubleshooting
    • Marketplace not loading
    • Marketplace validation errors
    • Plugin installation failures
    • Private repository authentication fails
    • Marketplace updates fail in offline environments
    • Git operations time out
    • Plugins with relative paths fail in URL-based marketplaces
    • Files not found after installation
  • See also

plugin-dependencies

  • Why constrain dependency versions
  • Declare a dependency with a version constraint
  • Depend on a plugin from another marketplace
  • Tag plugin releases for version resolution
  • How constraints interact
  • Remove orphaned auto-installed dependencies
  • Resolve dependency errors
  • See also

Security and data

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

data-usage

  • Data policies
    • Data training policy
    • Development Partner Program
    • Feedback using the /feedback command
    • 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
    • WebFetch domain safety check

zero-data-retention

  • ZDR scope
    • What ZDR covers
    • What ZDR does not cover
  • Features disabled under ZDR
  • Data retention for policy violations
  • Request ZDR

Adoption

communications-kit

  • Launch communications
    • Before you send
    • The announcement
    • Executive sponsor variant
    • Pilot group variant
    • Champion recruitment DM
  • Tips and tricks campaign
    • Get started
    • Project memory
    • Control and safety
    • Connect your tools
    • Automate your workflows
    • Day-to-day development
    • Share and scale
    • Security and admin
  • Quick reference
    • FAQ responses
    • Prompt templates

champion-kit

  • The champion role
    • What this should cost you
  • Share what you discover
    • What is worth sharing
    • Where to share it
    • The format that works
  • Be the person people ask
    • Answer with a prompt rather than an explanation
    • Point at the feature rather than the documentation
    • Questions you are likely to hear
  • Grow the circle
    • Patterns that tend to work
    • Thirty-day playbook
    • When someone wants to go deeper
  • Respond to common concerns
  • Quick-reference sheet

Settings and permissions

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
    • Compute managed settings with a policy helper
    • Settings precedence
    • Verify active settings
    • Key points about the configuration system
    • System prompt
    • Excluding sensitive files
  • Subagent configuration
  • Plugin configuration
    • Plugin settings
      • enabledPlugins
      • extraKnownMarketplaces
      • strictKnownMarketplaces
    • Managing plugins
  • 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
      • Compound commands
      • Process wrappers
      • Read-only commands
    • PowerShell
    • Read and Edit
    • WebFetch
    • MCP
    • Agent (subagents)
  • Extend permissions with hooks
  • Working directories
    • Additional directories grant file access, not configuration
  • How permissions interact with sandboxing
  • Managed settings
    • Managed-only settings
  • 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

Model and responses

model-config

  • Available models
    • Model aliases
    • Setting your model
  • Restrict model selection
    • Default model behavior
    • Control the model users run on
    • Merge behavior
    • Mantle model IDs
  • Special model behavior
    • default model setting
    • opusplan model setting
    • Adjust effort level
      • Choose an effort level
      • Use ultrathink for one-off deep reasoning
      • Set the effort level
      • Adaptive reasoning and fixed thinking budgets
    • Extended thinking
    • 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
  • Use fast mode on Opus 4.7
  • 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

output-styles

  • Built-in output styles
  • Change your output style
  • Create a custom output style
    • Frontmatter
  • How output styles work
  • Comparisons to related features
  • Related resources

Interface

terminal-config

  • Enter multiline prompts
  • Enable Option key shortcuts on macOS
  • Get a terminal bell or notification
    • Play a sound with a Notification hook
  • Configure tmux
  • Match the color theme
    • Create a custom theme
      • Text and accent colors
      • Status colors
      • Input box and mode indicators
      • Diff rendering
      • Fullscreen mode
      • Usage meter and speaker labels
      • Shimmer variants and subagent colors
  • Switch to fullscreen rendering
  • Paste large content
  • Edit prompts with Vim keybindings
  • Related resources

fullscreen

  • Enable fullscreen rendering
  • What changes
  • Use the mouse
  • Scroll the conversation
    • Auto-follow
    • Mouse wheel scrolling
    • Scroll in the JetBrains IDE terminal
  • Search and review the conversation
  • Clear the conversation
  • Use with tmux
  • Keep native text selection
  • Research preview

voice-dictation

  • Requirements
  • Enable voice dictation
  • Hold to record
  • Tap to record and send
  • Change the dictation language
  • Rebind the dictation key
  • Troubleshooting
    • Terminal not listed in macOS Microphone settings
  • See also

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
  • Subagent status lines
  • 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
    • Doctor actions
    • Voice actions
    • Scroll 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

  • Commands across a typical workflow
  • All commands
  • MCP prompts
  • See also

env-vars

  • See also

tools-reference

  • Configure tools with permission rules and hooks
  • Agent tool behavior
  • Bash tool behavior
  • Edit tool behavior
  • Glob tool behavior
  • Grep tool behavior
  • LSP tool behavior
  • Monitor tool
  • NotebookEdit tool behavior
  • PowerShell tool
    • Enable the PowerShell tool
    • Shell selection in settings, hooks, and skills
    • Preview limitations
  • Read tool behavior
  • WebFetch tool behavior
  • WebSearch tool behavior
  • Write tool behavior
  • Check which tools are available
  • See also

interactive-mode

  • Keyboard shortcuts
    • General controls
    • Text editing
    • Theme and display
    • Multiline input
    • Quick commands
    • Transcript viewer
    • Voice input
  • Commands
  • Vim editor mode
    • Mode switching
    • Navigation (NORMAL mode)
    • Editing (NORMAL mode)
    • Text objects (NORMAL mode)
    • Visual mode
  • Command history
    • Reverse search with Ctrl+R
  • Background bash commands
    • How backgrounding works
    • Shell mode with ! prefix
  • Prompt suggestions
  • Side questions with /btw
  • Task list
  • Session recap
  • 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
        • Exec form and shell form
      • HTTP hook fields
      • MCP tool hook fields
      • Prompt and agent hook fields
    • Reference scripts by path
    • Hooks in skills and agents
    • The /hooks menu
    • 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
      • Emit terminal notifications
      • Add context for Claude
      • Decision control
  • Hook events
    • SessionStart
      • SessionStart input
      • SessionStart decision control
      • Persist environment variables
    • Setup
      • Setup input
      • Setup decision control
    • InstructionsLoaded
      • InstructionsLoaded input
      • InstructionsLoaded decision control
    • UserPromptSubmit
      • UserPromptSubmit input
      • UserPromptSubmit decision control
    • UserPromptExpansion
      • UserPromptExpansion input
      • UserPromptExpansion decision control
    • PreToolUse
      • PreToolUse input
        • Bash
        • Write
        • Edit
        • Read
        • Glob
        • Grep
        • WebFetch
        • WebSearch
        • Agent
        • AskUserQuestion
        • ExitPlanMode
      • PreToolUse decision control
      • Defer a tool call for later
    • PermissionRequest
      • PermissionRequest input
      • PermissionRequest decision control
      • Permission update entries
    • PostToolUse
      • PostToolUse input
      • PostToolUse decision control
    • PostToolUseFailure
      • PostToolUseFailure input
      • PostToolUseFailure decision control
    • PostToolBatch
      • PostToolBatch input
      • PostToolBatch decision control
    • PermissionDenied
      • PermissionDenied input
      • PermissionDenied 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
  • 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
    • Monitors
    • Themes
  • Plugin installation scopes
  • Plugin manifest schema
    • Complete schema
    • Required fields
    • Metadata fields
    • Component path fields
    • Experimental components
    • User configuration
    • Channels
    • Path behavior rules
    • Environment variables
      • Persistent data directory
  • Plugin caching and file resolution
    • Path traversal limitations
    • Share files within a marketplace with symlinks
  • Plugin directory structure
    • Standard plugin layout
    • File locations reference
  • CLI commands reference
    • plugin install
    • plugin uninstall
    • plugin prune
    • plugin enable
    • plugin disable
    • plugin update
    • plugin list
    • plugin details
    • plugin tag
  • 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

Glossary

glossary

  • A
    • Agent teams
    • Agentic coding
    • Agentic harness
    • Agentic loop
    • Auto memory
    • Auto mode
  • B
    • Bare mode
    • Bundled skills
  • C
    • Channel
    • Checkpoint
    • .claude directory
    • CLAUDE.md
    • Command
    • Compaction
    • Context window
  • D
    • Dispatch
  • E
    • Effort level
    • Extended thinking
  • H
    • Hook
  • M
    • Managed settings
    • MCP (Model Context Protocol)
    • MCP Tool Search
  • N
    • Non-interactive mode
  • O
    • Output style
  • P
    • Permission mode
    • Permission rule
    • Plan mode
    • Plugin
    • Project trust
    • Prompt injection
  • R
    • Remote Control
    • Rules
  • S
    • Sandboxing
    • Session
    • Settings layers
    • Skill
    • Subagent
    • Surface
  • T
    • Teleport
    • Tool
    • Turn
  • W
    • Worktree isolation
  • Deprecated and renamed terms

Agent SDK

overview

  • Get started
  • Capabilities
    • Claude Code features
  • Compare the Agent SDK to other Claude tools
  • Changelog
  • Reporting bugs
  • Branding guidelines
  • License and terms
  • Next steps

quickstart

  • Prerequisites
  • Setup
  • Create a buggy file
  • Build an agent that finds and fixes bugs
    • Run your agent
    • Try other prompts
    • Customize your agent
  • Key concepts
  • Troubleshooting
    • API error thinking.type.enabled is not supported for this model
  • Next steps

Core concepts

agent-loop

  • The loop at a glance
  • Turns and messages
  • Message types
    • Handle messages
  • Tool execution
    • Built-in tools
    • Tool permissions
    • Parallel tool execution
  • Control how the loop runs
    • Turns and budget
    • Effort level
    • Permission mode
    • Model
  • The context window
    • What consumes context
    • Automatic compaction
    • Keep context efficient
  • Sessions and continuity
  • Handle the result
  • Hooks
  • Put it all together
  • Next steps

claude-code-features

  • Control filesystem settings with settingSources
    • What settingSources does not control
  • Project instructions (CLAUDE.md and rules)
    • CLAUDE.md load locations
  • Skills
  • Hooks
    • When to use which hook type
  • Choose the right feature
  • Related resources

sessions

  • Choose an approach
    • Continue, resume, and fork
  • Automatic session management
    • Python: ClaudeSDKClient
    • TypeScript: continue: true
  • Use session options with query()
    • Capture the session ID
    • Resume by ID
    • Fork to explore alternatives
  • Resume across hosts
  • Related resources

Input and output

streaming-vs-single-mode

  • Overview
  • Streaming Input Mode (Recommended)
    • How It Works
    • Benefits
    • Implementation Example
  • Single Message Input
    • When to Use Single Message Input
    • Limitations
    • Implementation Example

user-input

  • Detect when Claude needs input
  • Handle tool approval requests
    • Respond to tool requests
  • Handle clarifying questions
    • Question format
      • Option previews (TypeScript)
    • Response format
      • Support free-text input
    • Complete example
  • Limitations
  • Other ways to get user input
    • Streaming input
    • Custom tools
  • Related resources

streaming-output

  • Enable streaming output
  • StreamEvent reference
  • Message flow
  • Stream text responses
  • Stream tool calls
  • Build a streaming UI
  • Known limitations
  • Next steps

structured-outputs

  • Why structured outputs?
  • Quick start
  • Type-safe schemas with Zod and Pydantic
  • Output format configuration
  • Example: TODO tracking agent
  • Error handling
  • Related resources

Extend with tools

custom-tools

  • Quick reference
  • Create a custom tool
    • Weather tool example
    • Call a custom tool
    • Add more tools
    • Add tool annotations
  • Control tool access
    • Tool name format
    • Configure allowed tools
  • Handle errors
  • Return images and resources
    • Images
    • Resources
  • Return structured data
  • Example: unit converter
  • Next steps
  • Related documentation

mcp

  • Quickstart
  • Add an MCP server
    • In code
    • From a config file
  • Allow MCP tools
    • Tool naming convention
    • Grant access with allowedTools
    • Discover available tools
  • Transport types
    • stdio servers
    • HTTP/SSE servers
    • SDK MCP servers
  • MCP tool search
  • Authentication
    • Pass credentials via environment variables
    • HTTP headers for remote servers
    • OAuth2 authentication
  • Examples
    • List issues from a repository
    • Query a database
  • Error handling
  • Troubleshooting
    • Server shows “failed” status
    • Tools not being called
    • Connection timeouts
  • Related resources
  • How tool search works
  • Configure tool search
  • Optimize tool discovery
  • Limits
  • Related documentation

subagents

  • Overview
  • Benefits of using subagents
    • Context isolation
    • Parallelization
    • Specialized instructions and knowledge
    • Tool restrictions
  • Creating subagents
    • Programmatic definition (recommended)
    • AgentDefinition configuration
    • Filesystem-based definition (alternative)
  • What subagents inherit
  • Invoking subagents
    • Automatic invocation
    • Explicit invocation
    • Dynamic agent configuration
  • Detecting subagent invocation
  • Resuming subagents
  • Tool restrictions
    • Common tool combinations
  • Troubleshooting
    • Claude not delegating to subagents
    • Filesystem-based agents not loading
    • Windows: long prompt failures
  • Related documentation

Customize behavior

modifying-system-prompts

  • How system prompts work
    • Decide on a starting point
  • Customize agent behavior
    • CLAUDE.md files for project-level instructions
      • Load CLAUDE.md with the SDK
    • Output styles for persistent configurations
      • Create an output style
      • Activate an output style
    • Append to the claude_code preset
      • Improve prompt caching across users and machines
    • Custom system prompts
  • Compare the four approaches
  • Use cases and best practices
    • When to use CLAUDE.md
    • When to use output styles
    • When to use systemPrompt with append
    • When to use custom systemPrompt
  • Combine approaches
    • Combine an output style with session-specific additions
  • See also

slash-commands

  • Discovering Available Slash Commands
  • Sending Slash Commands
  • Common Slash Commands
    • /compact - Compact Conversation History
    • Clearing the conversation
  • Creating Custom Slash Commands
    • File Locations
    • File Format
      • Basic Example
      • With Frontmatter
    • Using Custom Commands in the SDK
    • Advanced Features
      • Arguments and Placeholders
      • Bash Command Execution
      • File References
    • Organization with Namespacing
    • Practical Examples
      • Code Review Command
      • Test Runner Command
  • See Also

skills

  • Overview
  • How Skills Work with the SDK
  • Using Skills with the SDK
  • Skill Locations
  • Creating Skills
  • Tool Restrictions
  • Discovering Available Skills
  • Testing Skills
  • Troubleshooting
    • Skills Not Found
    • Skill Not Being Used
    • Additional Troubleshooting
  • Related Documentation
    • Skills Guides
    • SDK Resources

plugins

  • What are plugins?
  • Loading plugins
    • Path specifications
  • Verifying plugin installation
  • Using plugin skills
  • Complete example
  • Plugin structure reference
  • Common use cases
    • Development and testing
    • Project-specific extensions
    • Multiple plugin sources
  • Troubleshooting
    • Plugin not loading
    • Skills not appearing
    • Path resolution issues
  • See also

Control and observability

permissions

  • How permissions are evaluated
  • Allow and deny rules
  • Permission modes
    • Available modes
    • Set permission mode
    • Mode details
      • Accept edits mode (acceptEdits)
      • Don’t ask mode (dontAsk)
      • Bypass permissions mode (bypassPermissions)
      • Plan mode (plan)
  • Related resources

hooks

  • How hooks work
  • Available hooks
  • Configure hooks
    • Matchers
    • Callback functions
      • Inputs
      • Outputs
      • Asynchronous output
  • Examples
    • Modify tool input
    • Add context and block a tool
    • Auto-approve specific tools
    • Register multiple hooks
    • Filter with regex matchers
    • Track subagent activity
    • Make HTTP requests from hooks
    • Forward notifications to Slack
  • Fix common issues
    • Hook not firing
    • Matcher not filtering as expected
    • Hook timeout
    • Tool blocked unexpectedly
    • Modified input not applied
    • Session hooks not available in Python
    • Subagent permission prompts multiplying
    • Recursive hook loops with subagents
    • systemMessage not appearing in output
  • Related resources

file-checkpointing

  • How checkpointing works
  • Implement checkpointing
  • Common patterns
    • Checkpoint before risky operations
    • Multiple restore points
  • Try it out
  • Limitations
  • Troubleshooting
    • Checkpointing options not recognized
    • User messages don’t have UUIDs
    • “No file checkpoint found for message” error
    • “ProcessTransport is not ready for writing” error
  • Next steps

cost-tracking

  • Understand token usage
  • Get the total cost of a query
  • Track per-step and per-model usage
    • Track per-step usage
    • Break down usage per model
  • Accumulate costs across multiple calls
  • Handle errors, caching, and token discrepancies
    • Resolve output token discrepancies
    • Track costs on failed conversations
    • Track cache tokens
    • Extend the prompt cache TTL to one hour
  • Related documentation

observability

  • How telemetry flows from the SDK
  • Enable telemetry export
    • Flush telemetry from short-lived calls
  • Read agent traces
  • Link traces to your application
  • Tag telemetry from your agent
  • Attribute actions to your end users
  • Control sensitive data in exports
  • Related documentation

todo-tracking

  • Todo Lifecycle
  • When Todos Are Used
  • Examples
    • Monitoring Todo Changes
    • Real-time Progress Display
  • Migrate to Task tools
  • Related Documentation

Deployment

hosting

  • Hosting Requirements
    • Container-Based Sandboxing
    • System Requirements
  • Understanding the SDK Architecture
  • Sandbox Provider Options
  • Production Deployment Patterns
    • Pattern 1: Ephemeral Sessions
    • Pattern 2: Long-Running Sessions
    • Pattern 3: Hybrid Sessions
    • Pattern 4: Single Containers
  • FAQ
    • How do I communicate with my sandboxes?
    • What is the cost of hosting a container?
    • When should I shut down idle containers vs. keeping them warm?
    • How often should I update the Claude Code CLI?
    • How do I monitor container health and agent performance?
    • How long can an agent session run before timing out?
  • Next Steps

secure-deployment

  • Threat model
  • Built-in security features
  • Security principles
    • Security boundaries
    • Least privilege
    • Defense in depth
  • Isolation technologies
    • Sandbox runtime
    • Containers
    • gVisor
    • Virtual machines
    • Cloud deployments
  • Credential management
    • The proxy pattern
    • Configuring Claude Code to use a proxy
    • Implementing a proxy
    • Credentials for other services
      • Custom tools
      • Traffic forwarding
  • Filesystem configuration
    • Read-only code mounting
    • Writable locations
  • Further reading

SDK references

typescript

  • Installation
  • Functions
    • query()
      • Parameters
      • Returns
    • startup()
      • Parameters
      • Returns
      • Example
    • tool()
      • Parameters
      • ToolAnnotations
    • createSdkMcpServer()
      • Parameters
    • listSessions()
      • Parameters
      • Return type: SDKSessionInfo
      • Example
    • getSessionMessages()
      • Parameters
      • Return type: SessionMessage
      • Example
    • getSessionInfo()
      • Parameters
    • renameSession()
      • Parameters
    • tagSession()
      • Parameters
    • resolveSettings()
      • Parameters
      • Return type: ResolvedSettings
      • Example
  • Types
    • Options
      • Handle slow or stalled API responses
    • Query object
      • Methods
      • applyFlagSettings()
    • WarmQuery
      • Methods
    • SDKControlInitializeResponse
    • AgentDefinition
    • AgentMcpServerSpec
    • SettingSource
      • Default behavior
      • Why use settingSources
      • Settings precedence
    • PermissionMode
    • CanUseTool
    • PermissionResult
    • ToolConfig
    • McpServerConfig
      • McpStdioServerConfig
      • McpSSEServerConfig
      • McpHttpServerConfig
      • McpSdkServerConfigWithInstance
      • McpClaudeAIProxyServerConfig
    • SdkPluginConfig
  • Message Types
    • SDKMessage
    • SDKAssistantMessage
    • SDKUserMessage
    • SDKUserMessageReplay
    • SDKResultMessage
    • SDKSystemMessage
    • SDKPartialAssistantMessage
    • SDKCompactBoundaryMessage
    • SDKPluginInstallMessage
    • SDKPermissionDeniedMessage
    • SDKPermissionDenial
    • SDKMessageOrigin
  • Hook Types
    • HookEvent
    • HookCallback
    • HookCallbackMatcher
    • HookInput
    • BaseHookInput
      • PreToolUseHookInput
      • PostToolUseHookInput
      • PostToolUseFailureHookInput
      • PostToolBatchHookInput
      • NotificationHookInput
      • UserPromptSubmitHookInput
      • SessionStartHookInput
      • SessionEndHookInput
      • StopHookInput
      • SubagentStartHookInput
      • SubagentStopHookInput
      • PreCompactHookInput
      • PermissionRequestHookInput
      • SetupHookInput
      • TeammateIdleHookInput
      • TaskCompletedHookInput
      • ConfigChangeHookInput
      • WorktreeCreateHookInput
      • WorktreeRemoveHookInput
    • HookJSONOutput
      • AsyncHookJSONOutput
      • SyncHookJSONOutput
  • Tool Input Types
    • ToolInputSchemas
    • Agent
    • AskUserQuestion
    • Bash
    • Monitor
    • TaskOutput
    • Edit
    • Read
    • Write
    • Glob
    • Grep
    • TaskStop
    • NotebookEdit
    • WebFetch
    • WebSearch
    • TodoWrite
    • TaskCreate
    • TaskUpdate
    • TaskGet
    • TaskList
    • ExitPlanMode
    • ListMcpResources
    • ReadMcpResource
    • EnterWorktree
  • Tool Output Types
    • ToolOutputSchemas
    • Agent
    • AskUserQuestion
    • Bash
    • Monitor
    • Edit
    • Read
    • Write
    • Glob
    • Grep
    • TaskStop
    • NotebookEdit
    • WebFetch
    • WebSearch
    • TodoWrite
    • TaskCreate
    • TaskUpdate
    • TaskGet
    • TaskList
    • ExitPlanMode
    • ListMcpResources
    • ReadMcpResource
    • EnterWorktree
  • Permission Types
    • PermissionUpdate
    • PermissionBehavior
    • PermissionUpdateDestination
    • PermissionRuleValue
  • Other Types
    • ApiKeySource
    • SdkBeta
    • SlashCommand
    • ModelInfo
    • AgentInfo
    • McpServerStatus
    • McpServerStatusConfig
    • AccountInfo
    • ModelUsage
    • ConfigScope
    • NonNullableUsage
    • Usage
    • CallToolResult
    • ThinkingConfig
    • SpawnedProcess
    • SpawnOptions
    • McpSetServersResult
    • RewindFilesResult
    • SDKStatusMessage
    • SDKTaskNotificationMessage
    • SDKToolUseSummaryMessage
    • SDKHookStartedMessage
    • SDKHookProgressMessage
    • SDKHookResponseMessage
    • SDKToolProgressMessage
    • SDKAuthStatusMessage
    • SDKTaskStartedMessage
    • SDKTaskProgressMessage
    • SDKTaskUpdatedMessage
    • SDKFilesPersistedEvent
    • SDKRateLimitEvent
    • SDKLocalCommandOutputMessage
    • SDKPromptSuggestionMessage
    • AbortError
  • Sandbox Configuration
    • SandboxSettings
      • Example usage
    • SandboxNetworkConfig
    • SandboxFilesystemConfig
    • Permissions Fallback for Unsandboxed Commands
  • See also

typescript-v2-preview

  • Installation
  • Quick start
    • One-shot prompt
    • Basic session
    • Multi-turn conversation
    • Session resume
    • Cleanup
  • API reference
    • unstable_v2_createSession()
    • unstable_v2_resumeSession()
    • unstable_v2_prompt()
    • SDKSession interface
  • Feature availability
  • See also

python

  • Installation
  • Choosing between query() and ClaudeSDKClient
    • Quick comparison
    • When to use query() (new session each time)
    • When to use ClaudeSDKClient (continuous conversation)
  • Functions
    • query()
      • Parameters
      • Returns
      • Example - With options
    • tool()
      • Parameters
      • Input schema options
      • Returns
      • Example
      • ToolAnnotations
    • create_sdk_mcp_server()
      • Parameters
      • Returns
      • Example
    • list_sessions()
      • Parameters
      • Return type: SDKSessionInfo
      • Example
    • get_session_messages()
      • Parameters
      • Return type: SessionMessage
      • Example
    • get_session_info()
      • Parameters
      • Example
    • rename_session()
      • Parameters
      • Example
    • tag_session()
      • Parameters
      • Example
  • Classes
    • ClaudeSDKClient
      • Key Features
      • Methods
      • Context Manager Support
      • Example - Continuing a conversation
      • Example - Streaming input with ClaudeSDKClient
      • Example - Using interrupts
      • Example - Advanced permission control
  • Types
    • SdkMcpTool
    • Transport
    • ClaudeAgentOptions
      • Handle slow or stalled API responses
    • OutputFormat
    • SystemPromptPreset
    • SettingSource
      • Default behavior
      • Why use setting_sources
      • Settings precedence
    • AgentDefinition
    • PermissionMode
    • CanUseTool
    • ToolPermissionContext
    • PermissionResult
    • PermissionResultAllow
    • PermissionResultDeny
    • PermissionUpdate
    • PermissionRuleValue
    • ToolsPreset
    • ThinkingConfig
    • SdkBeta
    • McpSdkServerConfig
    • McpServerConfig
      • McpStdioServerConfig
      • McpSSEServerConfig
      • McpHttpServerConfig
    • McpServerStatusConfig
    • McpStatusResponse
    • McpServerStatus
    • SdkPluginConfig
  • Message Types
    • Message
    • UserMessage
    • AssistantMessage
    • AssistantMessageError
    • SystemMessage
    • ResultMessage
    • StreamEvent
    • RateLimitEvent
    • RateLimitInfo
    • TaskStartedMessage
    • TaskUsage
    • TaskProgressMessage
    • TaskNotificationMessage
  • Content Block Types
    • ContentBlock
    • TextBlock
    • ThinkingBlock
    • ToolUseBlock
    • ToolResultBlock
  • Error Types
    • ClaudeSDKError
    • CLINotFoundError
    • CLIConnectionError
    • ProcessError
    • CLIJSONDecodeError
  • Hook Types
    • HookEvent
    • HookCallback
    • HookContext
    • HookMatcher
    • HookInput
    • BaseHookInput
    • PreToolUseHookInput
    • PostToolUseHookInput
    • PostToolUseFailureHookInput
    • UserPromptSubmitHookInput
    • StopHookInput
    • SubagentStopHookInput
    • PreCompactHookInput
    • NotificationHookInput
    • SubagentStartHookInput
    • PermissionRequestHookInput
    • HookJSONOutput
      • SyncHookJSONOutput
      • HookSpecificOutput
      • AsyncHookJSONOutput
    • Hook Usage Example
  • Tool Input/Output Types
    • Agent
    • AskUserQuestion
    • Bash
    • Monitor
    • Edit
    • Read
    • Write
    • Glob
    • Grep
    • NotebookEdit
    • WebFetch
    • WebSearch
    • TodoWrite
    • TaskCreate
    • TaskUpdate
    • TaskGet
    • TaskList
    • BashOutput
    • KillBash
    • ExitPlanMode
    • ListMcpResources
    • ReadMcpResource
  • Advanced Features with ClaudeSDKClient
    • Building a Continuous Conversation Interface
    • Using Hooks for Behavior Modification
    • Real-time Progress Monitoring
  • Example Usage
    • Basic file operations (using query)
    • Error handling
    • Streaming mode with client
    • Using custom tools with ClaudeSDKClient
  • Sandbox Configuration
    • SandboxSettings
      • Example usage
    • SandboxNetworkConfig
    • SandboxIgnoreViolations
    • Permissions Fallback for Unsandboxed Commands
  • See also

migration-guide

  • Overview
  • What’s Changed
  • Migration Steps
    • For TypeScript/JavaScript Projects
    • For Python Projects
  • Breaking changes
    • Python: ClaudeCodeOptions renamed to ClaudeAgentOptions
    • System prompt no longer default
    • Settings sources default
  • Why the Rename?
  • Getting Help
  • Next Steps

What’s New

index

  • (No headings found)

2026-w19

  • (No headings found)

2026-w18

  • (No headings found)

2026-w17

  • (No headings found)

2026-w16

  • (No headings found)

2026-w15

  • (No headings found)

2026-w14

  • (No headings found)

2026-w13

  • (No headings found)

Resources

  • 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