> ## 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 docs map

# 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-07-08 15:13:51 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](https://code.claude.com/docs/en/overview.md)

* Get started
* What you can do
* Use Claude Code everywhere
* Next steps

### [quickstart](https://code.claude.com/docs/en/quickstart.md)

* 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](https://code.claude.com/docs/en/changelog.md)

* (No headings found)

## Core concepts

### [how-claude-code-works](https://code.claude.com/docs/en/how-claude-code-works.md)

* 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](https://code.claude.com/docs/en/features-overview.md)

* 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](https://code.claude.com/docs/en/claude-directory.md)

* 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](https://code.claude.com/docs/en/context-window.md)

* What the timeline shows
* What survives compaction
* When your context fills up
* Check your own session
* Related resources

### [prompt-caching](https://code.claude.com/docs/en/prompt-caching.md)

* How the cache is organized
  * Where the cache lives
* Actions that invalidate the cache
  * Switching models
  * Changing effort level
  * Turning on fast mode
  * Connecting or disconnecting an MCP server
  * Enabling or disabling a plugin
  * Denying an entire tool
  * Compacting the conversation
  * Upgrading Claude Code
* Actions that keep the cache
  * Editing files in your repository
  * Editing CLAUDE.md mid-session
  * Changing output style
  * Changing permission mode
  * Invoking skills and commands
  * Running `/recap`
  * Rewinding the conversation
* Cache lifetime
  * On a Claude subscription
  * On an API key or third-party provider
  * Override the TTL
* Cache scope
* Check cache performance
* Subagents and the cache
* Disable prompt caching
* Related resources

## Use Claude Code

### [memory](https://code.claude.com/docs/en/memory.md)

* 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](https://code.claude.com/docs/en/permission-modes.md)

* 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 permission prompts with auto mode
  * Enable auto mode on Bedrock, Agent Platform, or Foundry
  * 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

### [sessions](https://code.claude.com/docs/en/sessions.md)

* Resume a session
  * Where the session picker looks
* Name your sessions
* Use the session picker
* Branch a session
* Manage context within a session
* Export and locate session data
  * Access conversations from scripts
  * Where transcripts are stored
* See also

### [common-workflows](https://code.claude.com/docs/en/common-workflows.md)

* 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

### [prompt-library](https://code.claude.com/docs/en/prompt-library.md)

* What makes these prompts work
* Where these come from
* Related resources

### [best-practices](https://code.claude.com/docs/en/best-practices.md)

* 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
  * Add an adversarial review step
* Avoid common failure patterns
* Develop your intuition
* Related resources

### Platforms and integrations > Claude Code on the web

#### [web-quickstart](https://code.claude.com/docs/en/web-quickstart.md)

* 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` shows "No commands match" or "Unknown command"
  * "Could not create a cloud environment" or "No cloud environment available" when using `--cloud` 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](https://code.claude.com/docs/en/claude-code-on-the-web.md)

* GitHub authentication options
* The cloud environment
  * What's available in cloud sessions
  * Installed tools
  * Work with GitHub issues and pull requests
  * Link output 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](https://code.claude.com/docs/en/routines.md)

* 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
  * `/schedule` shows "No commands match" or "Unknown command"
  * "Routines are disabled by your organization's policy"
* Related resources

#### [ultraplan](https://code.claude.com/docs/en/ultraplan.md)

* 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](https://code.claude.com/docs/en/ultrareview.md)

* Run ultrareview from the CLI
* Pricing and free runs
* Track a running review
* Run ultrareview non-interactively
* How ultrareview compares to /code-review and /review
* Related resources

### Platforms and integrations > Claude Code on desktop

#### [desktop-quickstart](https://code.claude.com/docs/en/desktop-quickstart.md)

* Install
* Start your first session
* Now what?
* Coming from the CLI?
* What's next

#### [desktop](https://code.claude.com/docs/en/desktop.md)

* 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
  * Cloud 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-linux](https://code.claude.com/docs/en/desktop-linux.md)

* Requirements
* Install
  * Install from a downloaded file
* Update
* Uninstall
* What's not in the Linux beta yet

#### [desktop-scheduled-tasks](https://code.claude.com/docs/en/desktop-scheduled-tasks.md)

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

### Platforms and integrations > Code review & CI/CD

#### [security-guidance](https://code.claude.com/docs/en/security-guidance.md)

* Prerequisites
* Install the plugin
  * Enable in cloud sessions and shared repositories
* What the plugin checks
  * On each file edit
  * At the end of each turn
  * On each commit or push Claude makes
  * Review independence and limits
* Add your own rules
  * Add guidance for the model-backed reviews
  * Add custom per-edit patterns
  * Rule file lookup locations
* Usage cost
* Disable or uninstall
* How the plugin integrates with Claude Code
* How this fits with other security tools
* Troubleshooting
* Related resources

#### [code-review](https://code.claude.com/docs/en/code-review.md)

* 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
* Review a diff locally
* Related resources

#### [github-actions](https://code.claude.com/docs/en/github-actions.md)

* 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 and Google Cloud
  * Prerequisites
    * For Google Cloud's Agent Platform:
    * 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](https://code.claude.com/docs/en/github-enterprise-server.md)

* 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
  * Pre-register GHES marketplaces with managed settings
  * Allowlist GHES marketplaces in managed settings
* Limitations
* Troubleshooting
  * Web session fails to clone repository
  * Marketplace add fails with a policy error
  * Marketplace add on claude.ai fails with a GitHub access error
  * GHES instance not reachable
* Related resources

#### [gitlab-ci-cd](https://code.claude.com/docs/en/gitlab-ci-cd.md)

* 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 and Google Cloud
* Configuration examples
  * Basic .gitlab-ci.yml (Claude API)
  * Amazon Bedrock job example (OIDC)
  * Agent Platform 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](https://code.claude.com/docs/en/platforms.md)

* Where to run Claude Code
* Connect your tools
* Work when you are away from your terminal
* Related resources
  * Platforms
  * Integrations
  * Remote access

### [remote-control](https://code.claude.com/docs/en/remote-control.md)

* Requirements
* Start a Remote Control session
  * Check connection status
  * Connect from another device
  * Enable Remote Control for all sessions
* Connection and security
* Trusted Devices
  * Enable Trusted Devices for your organization
  * What members see
  * Manage enrolled devices
* 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"
  * "Couldn't verify Remote Control eligibility"
  * "Remote Control is only available when using Claude via api.anthropic.com"
  * "Remote Control is disabled by your organization's policy"
  * "Remote credentials fetch failed"
  * "Couldn't reconnect to your Remote Control session"
  * "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"
  * "session expired for trusted-device check"
* Choose the right approach
* Related resources

### [chrome](https://code.claude.com/docs/en/chrome.md)

* Capabilities
* Prerequisites
* Get started in the CLI
  * Enable Chrome by default
  * Manage site permissions
  * Browser tools in plan mode
* 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](https://code.claude.com/docs/en/computer-use.md)

* 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](https://code.claude.com/docs/en/vs-code.md)

* Prerequisites
* Install the extension
* Get started
* Use the prompt box
  * Reference files and folders
  * Resume past conversations
  * Resume cloud sessions from Claude.ai
  * Check account and usage
* 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](https://code.claude.com/docs/en/jetbrains.md)

* Supported IDEs
* Features
* 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](https://code.claude.com/docs/en/slack.md)

* 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
  * "Claude Code is not enabled for your account"
  * Sessions not starting
  * Repository not showing
  * Wrong repository selected
  * Authentication errors
  * Session expiration
* Current limitations
* Related resources

## Agents and parallel work

### [agents](https://code.claude.com/docs/en/agents.md)

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

### [sub-agents](https://code.claude.com/docs/en/sub-agents.md)

* Built-in subagents
* Quickstart: create your first subagent
* Configure subagents
  * 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
  * API errors in subagents
  * Common patterns
    * Isolate high-volume operations
    * Run parallel research
    * Chain subagents
  * Choose between subagents and main conversation
  * Spawn nested subagents
  * Manage subagent context
    * What loads at startup
    * 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](https://code.claude.com/docs/en/agent-view.md)

* 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
    * Run a shell command
  * 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
  * Backgrounding shows a `Background this session?` dialog
  * Prompt rejected as too short
  * Sessions show as failed after shutdown
  * Opening a session says the conversation is already open
  * A session fails before starting with a `possibly low memory` note
  * Agent view says the background service did not respond
  * Dispatch fails with `Could not resolve authentication method`
  * Background sessions can't read Desktop, Documents, or Downloads on macOS
  * Background sessions can't reach local-network hosts on macOS
  * A session is slow to respond after attaching
  * `.claude/worktrees/` is filling up
* Limitations
* Related resources
* Version history

### [agent-teams](https://code.claude.com/docs/en/agent-teams.md)

* 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
  * 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

### [workflows](https://code.claude.com/docs/en/workflows.md)

* When to use a workflow
* Run a bundled workflow
  * Bundled workflows
  * Watch the run
* Have Claude write a workflow
  * Ask for a workflow in your prompt
  * Let Claude decide with ultracode
  * Approve the plan before it runs
  * Save the workflow for reuse
  * Pass input to a saved workflow
* Example workflow prompts
  * Audit many files for the same issue
  * Keep fixing until a check passes
  * Migrate many files in parallel
  * Review every changed file and write one summary
  * Research a topic across many sources
  * Find issues until the list stops growing
  * What the saved script looks like
* How a workflow runs
  * Behavior and limits
* Manage runs
  * Resume after a pause
  * Cost
  * Set a size guideline
  * Turn workflows off
* Related resources

### [worktrees](https://code.claude.com/docs/en/worktrees.md)

* 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

## MCP

### [mcp-quickstart](https://code.claude.com/docs/en/mcp-quickstart.md)

* Before you begin
* Add and verify a server
* Where servers are saved
  * Find your configuration on disk
* Change server scope
  * Use a server in all your projects
  * Share a server with your team
* Additional MCP server examples
  * Add a local server
  * Connect a server that requires sign-in
* Edit .mcp.json directly
* Connect from other surfaces
* Troubleshooting
* Next steps

### [mcp](https://code.claude.com/docs/en/mcp.md)

* 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
  * Option 4: Add a remote WebSocket 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
  * Authenticate from the command line
  * 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
  * Disable claude.ai connectors
* Use Claude Code as an MCP server
* MCP output limits and warnings
  * Raise the limit for a specific tool
* Tool input schemas with a root-level combinator
* Require approval 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

## Skills

### [skills](https://code.claude.com/docs/en/skills.md)

* Bundled skills
  * Run and verify your app
* 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
    * How a skill gets its command name
    * 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
* Evaluate and iterate on a skill
  * Run evals with skill-creator
* Share skills
  * Generate visual output
* Troubleshooting
  * Skill not triggering
  * Skill triggers too often
  * Skill descriptions are cut short
* Related resources

## Plugins

### [discover-plugins](https://code.claude.com/docs/en/discover-plugins.md)

* How marketplaces work
* Official Anthropic marketplace
  * Code intelligence
    * What Claude gains from code intelligence plugins
  * External integrations
  * Automatic security review
  * Development workflows
  * Output styles
* Community marketplace
* 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](https://code.claude.com/docs/en/plugins.md)

* When to use plugins vs standalone configuration
* Quickstart
  * Prerequisites
  * Create your first plugin
* Develop a plugin in your skills directory
* 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 community marketplace
* Convert existing configurations to plugins
  * Migration steps
  * What changes when migrating
* Next steps
  * For plugin users
  * For plugin developers

## Artifacts

### [artifacts](https://code.claude.com/docs/en/artifacts.md)

* When to use an artifact
  * What an artifact is not
* Create an artifact
* Update an artifact
* Share an artifact
* What you can build
  * Walk through a change
  * Compare alternatives
  * Tune with interactive controls
  * Bring the result back to your session
  * Track work in progress
* Improve the visual design
* Page constraints
* Availability
* Disable artifacts
* Manage artifacts for your organization
  * Enable or disable artifacts
  * Set a retention policy
  * Review the audit log
  * Allowlist the viewer domain
  * List and delete artifacts with the Compliance API
* Related resources

## Automation

### [hooks-guide](https://code.claude.com/docs/en/hooks-guide.md)

* 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 hits the block cap
  * JSON validation failed
  * Debug techniques
* Learn more

### [channels](https://code.claude.com/docs/en/channels.md)

* 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](https://code.claude.com/docs/en/scheduled-tasks.md)

* 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](https://code.claude.com/docs/en/goal.md)

* Compare ways to keep a session running
* 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](https://code.claude.com/docs/en/headless.md)

* Basic usage
  * Start faster with bare mode
  * Background tasks at exit
* 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

### [deep-links](https://code.claude.com/docs/en/deep-links.md)

* 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

## Guides

### [large-codebases](https://code.claude.com/docs/en/large-codebases.md)

* What this guide covers
  * Settings on this page
  * The example monorepo
* Choose where to start Claude
* Layer CLAUDE.md files by directory
  * Choose between per-directory CLAUDE.md and path-scoped rules
  * Exclude irrelevant CLAUDE.md files
* Reduce what Claude reads
  * Block reads of generated and vendored code
  * Reduce file reads with code intelligence
* Scope worktrees and file access
  * Check out only the directories you need
  * Grant access across packages or repositories
* Add per-directory skills
  * Keep skills discoverable
* Centralize conventions when layering stops scaling
  * Recommend the right plugin at session start
* Put it together
* Scope and plan changes that span packages
* Next steps

## Troubleshooting

### [troubleshoot-install](https://code.claude.com/docs/en/troubleshoot-install.md)

* 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`
  * Homebrew cask unavailable or outdated
  * 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, Agent Platform, or Foundry credentials not loading
* Still stuck

### [troubleshooting](https://code.claude.com/docs/en/troubleshooting.md)

* Performance and stability
  * High CPU or memory usage
  * Auto-compaction stops with a thrashing error
  * Command hangs or freezes
  * Garbled or corrupted text in an editor's integrated terminal
  * Search and discovery issues
  * Slow or incomplete search results on WSL
* Get more help

### [debug-your-config](https://code.claude.com/docs/en/debug-your-config.md)

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

### [errors](https://code.claude.com/docs/en/errors.md)

* Find your error
* Automatic retries
* Server errors
  * API Error: 500 Internal server error
  * API Error: Repeated 529 Overloaded errors
  * Request timed out
  * The response above may be incomplete
  * Auto mode cannot determine the safety of an action
  * Agent terminated early due to an API error
* Usage limits
  * You've hit your session limit
  * Usage credits required for 1M context
  * Server is temporarily limiting requests
  * Request rejected (429)
  * Credit balance is too low
* Authentication errors
  * Not logged in
  * Could not resolve authentication method
  * Invalid API key
  * This organization has been disabled
  * Your organization has disabled API key authentication
  * Your organization has disabled Claude subscription access
  * Routines are disabled by your organization's policy
  * Remote Control requires the Anthropic API
  * OAuth token revoked or expired
  * OAuth scope requirement
  * AWS credentials expired or invalid
  * AWS authentication failed
* Network and connection errors
  * Unable to connect to API
  * SSL certificate errors
  * Host not allowed in a cloud session
  * Couldn't reconnect to your Remote Control session
* Request errors
  * Prompt is too long
  * Error during compaction: Conversation too long
  * Request too large
  * Image was too large
  * Unable to resize image
  * PDF errors
  * Extra inputs are not permitted
  * There's an issue with the selected model
  * Model is not a recognized model id
  * Claude Opus is not available with the Claude Pro plan
  * Model is restricted by your organization's settings
  * thinking.type.enabled is not supported for this model
  * Thinking budget exceeds output limit
  * Tool use or thinking block mismatch
  * Usage Policy refusal
  * Safety measures flagged a cybersecurity topic
* Installation errors
  * Installation was killed before it could finish
  * The connection dropped while downloading the update
* Command-line errors
  * Conflict between --bg and --print
* Configuration warnings
  * Workspace has not been trusted
* Responses seem lower quality than usual
* Report an error

## Setup and access

### [admin-setup](https://code.claude.com/docs/en/admin-setup.md)

* 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](https://code.claude.com/docs/en/setup.md)

* 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](https://code.claude.com/docs/en/authentication.md)

* Log in to Claude Code
* Set up team authentication
  * Claude for Teams or Enterprise
  * Claude Console authentication
  * Cloud provider authentication
* Credential management
  * Renew an expiring login
  * Authentication precedence
  * Generate a long-lived token

### [server-managed-settings](https://code.claude.com/docs/en/server-managed-settings.md)

* 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
  * Invalid entries in delivered settings
  * Enforce fail-closed startup
  * Security approval dialogs
* Platform availability
* Audit logging
* Security considerations
* See also

### [managed-mcp](https://code.claude.com/docs/en/managed-mcp.md)

* Choose a pattern
* Exclusive control with managed-mcp.json
  * Authenticate with per-user credentials
  * Validate the configuration
  * Disable MCP entirely
  * Allow claude.ai connectors alongside the managed set
* Policy-based control with allowlists and denylists
  * Match servers by URL, command, or name
  * How a server is evaluated
  * Example configuration
  * Restrict the allowlist to managed settings only
* How restrictions appear to users
* Monitor MCP usage
* Configuration summary
* Related resources

### [auto-mode-config](https://code.claude.com/docs/en/auto-mode-config.md)

* Where the classifier reads configuration
* Define trusted infrastructure
* Override the block and allow rules
* Route all shell commands through the classifier
* Inspect the defaults and your effective config
* Review denials
* See also

## Deployment

### [third-party-integrations](https://code.claude.com/docs/en/third-party-integrations.md)

* Compare deployment options
* Configure proxies and gateways
  * Amazon Bedrock
  * Microsoft Foundry
  * Google Cloud's Agent Platform
* 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

### [feature-availability](https://code.claude.com/docs/en/feature-availability.md)

* Availability by model provider
  * Features available on every provider
  * Features that require a Claude subscription
  * CLI capabilities that vary by provider
  * Admin and analytics
  * Summary by provider
* Availability by subscription plan
* Model availability
* Related resources

### [amazon-bedrock](https://code.claude.com/docs/en/amazon-bedrock.md)

* Prerequisites
* Sign in with Bedrock
* Set up manually
  * 1. Submit use case details
  * 2. Configure AWS credentials
    * Advanced credential configuration
      * Example configuration
      * Configuration settings explained
  * 3. Configure Claude Code
  * 4. 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
  * Zero token counts in /context
  * Mantle endpoint errors
* Additional resources

### [claude-platform-on-aws](https://code.claude.com/docs/en/claude-platform-on-aws.md)

* Prerequisites
* Setup
  * 1. Configure AWS credentials
  * 2. Configure Claude Code
  * 3. 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](https://code.claude.com/docs/en/google-vertex-ai.md)

* Prerequisites
* Sign in with Agent Platform
* Region configuration
* Set up manually
  * 1. Enable Agent Platform API
  * 2. Request model access
  * 3. Configure GCP credentials
    * Advanced credential configuration
  * 4. Configure Claude Code
  * 5. Pin model versions
* Startup model checks
* IAM configuration
* 1M token context window
* Troubleshooting
* Additional resources

### [microsoft-foundry](https://code.claude.com/docs/en/microsoft-foundry.md)

* Prerequisites
* Setup
  * 1. Provision Microsoft Foundry resource
  * 2. Configure Azure credentials
  * 3. Configure Claude Code
  * 4. Pin model versions
  * 5. Run Claude Code
* Azure RBAC configuration
* Troubleshooting
* Additional resources

### [network-config](https://code.claude.com/docs/en/network-config.md)

* Proxy configuration
  * Environment variables
  * Basic authentication
* CA certificate store
* Custom CA certificates
* mTLS authentication
* Network access requirements
* Additional resources

### [devcontainer](https://code.claude.com/docs/en/devcontainer.md)

* 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

### Gateways > Claude apps gateway

#### [claude-apps-gateway-config](https://code.claude.com/docs/en/claude-apps-gateway-config.md)

* File structure
* Secret expansion
* Required sections
  * `listen`
  * `oidc`
  * `session`
  * `store`
  * `upstreams`
    * Anthropic API
    * Amazon Bedrock
    * Claude Platform on AWS
    * Google Cloud Agent Platform
    * Microsoft Foundry
    * Multiple upstreams
* Optional sections
  * `admin`
  * `enforcement`
  * `models`
  * `managed`
    * What goes in `cli`
    * Precedence with other managed sources
  * `telemetry`
  * HTTP tuning
* Complete example
* Client-side managed settings
* Related

#### [claude-apps-gateway-spend-limits](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md)

* Set a cap
  * Authenticate to the admin API
* How enforcement works
  * Postgres availability
* Admin API reference
  * `/effective`
  * `/audit`
  * Pagination
* Data lifecycle
* Related

#### [claude-apps-gateway-deploy](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md)

* Identity provider setup
* Deployment
  * Container image
  * Kubernetes
  * Cloud Run
  * Push the gateway URL to developer machines
* Operations
  * Logs
  * Health
  * Outage behavior
  * JWT secret rotation
  * Postgres
  * Upgrades
* Security
  * Data flow
  * Threat model summary
  * User-code brute-force resistance
  * Compliance posture
* Troubleshooting
* Related

#### [claude-apps-gateway-on-gcp](https://code.claude.com/docs/en/claude-apps-gateway-on-gcp.md)

* What you'll build
* Prerequisites
* Deploy the gateway
* Terraform reference
* Troubleshooting
* Next steps

### Gateways > Other gateways

#### [llm-gateway-connect](https://code.claude.com/docs/en/llm-gateway-connect.md)

* Check for an existing configuration
* Configure Claude Code yourself
  * Set the credential variable
  * Set the base URL and credential
    * Set as shell environment variables
    * Set in a settings file
  * Verify the connection
    * Confirm in Claude Code
  * How the credential variable maps to a header
  * Conflicts with an existing login
* Configure each surface
  * VS Code extension
  * Desktop app
  * GitHub Actions
  * Agent SDK
  * Slack, web, and Remote Control
* Additional configuration
  * Send additional headers
  * Add gateway models to the model picker
  * Rotate credentials with apiKeyHelper
  * Route to a cloud provider through a gateway
    * Amazon Bedrock
    * Google Cloud's Agent Platform
    * Microsoft Foundry
    * Claude Platform on AWS
* Troubleshoot gateway errors
* Related resources

#### [llm-gateway-rollout](https://code.claude.com/docs/en/llm-gateway-rollout.md)

* Prerequisites
  * Gateway requirements
* Rollout steps
  * Confirm the gateway routes your models
  * Issue developer credentials
  * Test Claude Code against the gateway
  * Distribute the configuration
    * What to distribute
    * Distribute through managed settings
    * Hand developers the values to set themselves
  * Verify the rollout
* Maintain the gateway
* Related resources

#### [llm-gateway-protocol](https://code.claude.com/docs/en/llm-gateway-protocol.md)

* API formats
  * Foundry and Claude Platform on AWS
  * Optional endpoints and startup traffic
  * Streaming
  * Format mismatch with the upstream
* Request headers
  * Forward as open lists
* System prompt attribution block
* Feature pass-through
  * Automatic retry and error forwarding
  * Disable pre-release capabilities
* Model discovery
  * When discovery runs
  * Request and response
  * Picker entries and caching
* Related resources

## Gateways

### [gateways](https://code.claude.com/docs/en/gateways.md)

* How a gateway works
* Choose a gateway
  * Claude apps gateway
  * Other gateways
* Subscriptions and gateways
* Configure separately from the gateway
* Next steps

## Usage and costs

### [monitoring-usage](https://code.claude.com/docs/en/monitoring-usage.md)

* 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
    * Assistant response event
    * Tool result event
    * API request event
    * API error event
    * API refusal 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
    * Hook plugin metrics 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](https://code.claude.com/docs/en/costs.md)

* 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](https://code.claude.com/docs/en/analytics.md)

* 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](https://code.claude.com/docs/en/plugin-marketplaces.md)

* 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
  * Rename or remove a plugin
* 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](https://code.claude.com/docs/en/plugin-dependencies.md)

* 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
* Enable or disable a plugin with dependencies
* Remove orphaned auto-installed dependencies
* Resolve dependency errors
* See also

### [plugin-hints](https://code.claude.com/docs/en/plugin-hints.md)

* How it works
* Emit the hint
* Choose where to emit
* What the user sees
* Hint format
* Requirements
* Get your plugin into the official marketplace
* See also

### [plugin-relevance](https://code.claude.com/docs/en/plugin-relevance.md)

* How it works
* Add relevance to a plugin entry
* Field reference
  * `relevance`
  * `relevance.signals`
* Enable suggestions in managed settings
* What the user sees
* Validate your marketplace
* See also

## Security and data

### [security](https://code.claude.com/docs/en/security.md)

* 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](https://code.claude.com/docs/en/data-usage.md)

* 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](https://code.claude.com/docs/en/zero-data-retention.md)

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

## Adoption

### [communications-kit](https://code.claude.com/docs/en/communications-kit.md)

* 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](https://code.claude.com/docs/en/champion-kit.md)

* 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](https://code.claude.com/docs/en/settings.md)

* Configuration scopes
  * Available scopes
  * When to use each scope
  * How scopes interact
  * What uses scopes
* Settings files
  * When edits take effect
  * Invalid entries in managed settings
  * Available settings
  * Global config settings
  * Worktree settings
  * Permission settings
  * Permission rule syntax
  * Sandbox settings
    * Sandbox path prefixes
  * Attribution settings
  * File suggestion settings
  * Footer link badges
  * Hook configuration
  * Compute managed settings with a policy helper
  * Settings precedence
  * Verify active settings
  * Key points about the configuration system
  * System prompt
  * Exclude sensitive files
* Subagent configuration
* Plugin configuration
  * Plugin settings
    * `enabledPlugins`
    * `extraKnownMarketplaces`
    * `strictKnownMarketplaces`
    * `strictPluginOnlyCustomization`
  * Manage plugins
* Environment variables
* Tools available to Claude
* See also

### [permissions](https://code.claude.com/docs/en/permissions.md)

* Permission system
* Manage permissions
* Permission modes
* Permission rule syntax
  * Match all uses of a tool
  * Use specifiers for fine-grained control
  * Match by input parameter
  * Wildcard patterns
  * Tool name wildcards
* Tool-specific permission rules
  * Bash
    * Compound commands
    * Process wrappers
    * Read-only commands
  * PowerShell
  * Read and Edit
  * WebFetch
  * MCP
  * Agent (subagents)
  * Cd
* 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
* Project allow rules and workspace trust
* Example configurations
* See also

### [sandbox-environments](https://code.claude.com/docs/en/sandbox-environments.md)

* Compare sandboxing approaches
* Choose an approach
  * How isolation relates to permission modes
* Sandboxed Bash tool
* Sandbox runtime
* Dev containers
* Custom container
* Virtual machine
* Claude Code on the web
* Enforce isolation across an organization
* See also

### [sandboxing](https://code.claude.com/docs/en/sandboxing.md)

* Get started
  * Set up Linux and WSL2
  * Sandbox modes
* Configure sandboxing
  * Protect credentials
    * Mask environment variables
* How sandboxing works
  * Filesystem isolation
  * Network isolation
  * OS-level enforcement
* How sandboxing relates to permissions and permission modes
  * Permission rules
  * Permission modes
* Configure the sandbox for your organization
  * Enforce sandboxing with managed settings
  * Keep developers from widening the policy
  * Custom proxy configuration
* Troubleshooting
* Limitations
  * Security limitations
  * Platform and tool compatibility
  * Scope
* See also

## Model and responses

### [model-config](https://code.claude.com/docs/en/model-config.md)

* Available models
  * Model aliases
  * Work with Fable 5
  * Setting your model
* Restrict model selection
  * Surface coverage
  * Default model behavior
  * Enforce the allowlist for the Default model
  * Control the model users run on
  * Merge behavior
  * Mantle model IDs
  * Organization model restrictions
* Organization default model
* Organization effort limits
* Special model behavior
  * `default` model setting
  * `opusplan` model setting
  * Fallback model chains
  * Automatic model fallback
    * Check what triggered fallback
    * Ask before switching
    * Enable fallback on Bedrock, Agent Platform, and Foundry
    * Security research and biology workloads
  * 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
    * Sonnet 5 context window
* 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](https://code.claude.com/docs/en/fast-mode.md)

* 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

### [advisor](https://code.claude.com/docs/en/advisor.md)

* When to use the advisor
* Enable the advisor
  * Use the `/advisor` command
  * Set `advisorModel` in settings
  * Use the `--advisor` flag
* Choose an advisor model
  * Common model pairings
* When Claude consults the advisor
* What you see during a session
* Cost
* Impact on prompt caching
* Requirements
* Turn the advisor off
* Compare with related features
* See also

### [output-styles](https://code.claude.com/docs/en/output-styles.md)

* 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](https://code.claude.com/docs/en/terminal-config.md)

* 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](https://code.claude.com/docs/en/fullscreen.md)

* 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](https://code.claude.com/docs/en/voice-dictation.md)

* 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](https://code.claude.com/docs/en/statusline.md)

* 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](https://code.claude.com/docs/en/keybindings.md)

* 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](https://code.claude.com/docs/en/cli-reference.md)

* CLI commands
* CLI flags
  * System prompt flags
* See also

### [commands](https://code.claude.com/docs/en/commands.md)

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

### [env-vars](https://code.claude.com/docs/en/env-vars.md)

* Set environment variables
  * In your shell
  * In settings files
* Precedence
* Variables
* See also

### [tools-reference](https://code.claude.com/docs/en/tools-reference.md)

* 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
  * WebSocket source
* 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](https://code.claude.com/docs/en/interactive-mode.md)

* 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](https://code.claude.com/docs/en/checkpointing.md)

* How checkpoints work
  * Automatic tracking
  * Rewind and summarize
    * Rewind past a cleared conversation
    * 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](https://code.claude.com/docs/en/hooks.md)

* 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
  * MessageDisplay
    * MessageDisplay input
    * MessageDisplay output
  * 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
  * Check multiple conditions before stopping
* Agent-based hooks
  * How agent hooks work
  * Agent hook configuration
* Run hooks in the background
  * Configure an async hook
  * How async hooks execute
  * Run tests after file changes
  * Limitations
* Security considerations
  * Disclaimer
  * Security best practices
* Windows PowerShell tool
* Debug hooks

### [plugins-reference](https://code.claude.com/docs/en/plugins-reference.md)

* Plugin components reference
  * Skills
  * Agents
  * Hooks
  * MCP servers
  * LSP servers
  * Monitors
  * Themes
* Plugin installation scopes
* Skills-directory plugins
  * Choose where the plugin loads from
  * Edit, reload, and disable a skills-directory plugin
* Plugin manifest schema
  * Complete schema
  * Required fields
  * Unrecognized fields
  * Metadata fields
  * Default enablement
  * 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 init
  * 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](https://code.claude.com/docs/en/channels-reference.md)

* 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](https://code.claude.com/docs/en/glossary.md)

* A
  * Agent teams
  * Agentic coding
  * Agentic harness
  * Agentic loop
  * Artifact
  * 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
* V
  * Verification loop
* W
  * Worktree isolation
* Deprecated and renamed terms

## Agent SDK

### [overview](https://code.claude.com/docs/en/agent-sdk/overview.md)

* 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](https://code.claude.com/docs/en/agent-sdk/quickstart.md)

* 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
* Next steps

## Core concepts

### [agent-loop](https://code.claude.com/docs/en/agent-sdk/agent-loop.md)

* 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](https://code.claude.com/docs/en/agent-sdk/claude-code-features.md)

* 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](https://code.claude.com/docs/en/agent-sdk/sessions.md)

* 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

### [session-storage](https://code.claude.com/docs/en/agent-sdk/session-storage.md)

* The `SessionStore` interface
* Quick start
* Write your own adapter
* Reference implementations
  * Validate your adapter
* Behavior notes
  * Dual-write architecture
  * Mirror writes are best-effort
  * `getSessionMessages` returns the post-compaction chain
  * `forkSession` is not a byte copy
  * Subagent transcripts
  * Retention
* Supported on
* Related resources

## Input and output

### [streaming-vs-single-mode](https://code.claude.com/docs/en/agent-sdk/streaming-vs-single-mode.md)

* 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](https://code.claude.com/docs/en/agent-sdk/user-input.md)

* 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](https://code.claude.com/docs/en/agent-sdk/streaming-output.md)

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

### [structured-outputs](https://code.claude.com/docs/en/agent-sdk/structured-outputs.md)

* 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](https://code.claude.com/docs/en/agent-sdk/custom-tools.md)

* 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](https://code.claude.com/docs/en/agent-sdk/mcp.md)

* Quickstart
* Add an MCP server
  * In code
  * From a config file
* Allow MCP tools
  * Tool naming convention
  * Auto-approve 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

### [tool-search](https://code.claude.com/docs/en/agent-sdk/tool-search.md)

* How tool search works
* Configure tool search
* Optimize tool discovery
* Limits
* Related documentation

### [subagents](https://code.claude.com/docs/en/agent-sdk/subagents.md)

* Overview
* Benefits of using subagents
  * Context isolation
  * Parallelization
  * Specialized instructions and knowledge
  * Tool restrictions
* Create subagents
  * Programmatic definition (recommended)
  * AgentDefinition configuration
  * Filesystem-based definition (alternative)
* What subagents inherit
* Invoke subagents
  * Automatic invocation
  * Explicit invocation
  * Dynamic agent configuration
* Detect subagent invocation
* Resume subagents
* Tool restrictions
  * Common tool combinations
* Scale up with dynamic workflows
* Troubleshooting
  * Claude not delegating to subagents
  * Filesystem-based agents not loading
  * Long prompt failures on Windows
* Related documentation

## Customize behavior

### [modifying-system-prompts](https://code.claude.com/docs/en/agent-sdk/modifying-system-prompts.md)

* 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](https://code.claude.com/docs/en/agent-sdk/slash-commands.md)

* Discovering Available Slash Commands
* Sending Slash Commands
* Common Slash Commands
  * `/compact` - Compact conversation history
  * `/clear` - Reset conversation context
* 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
    * Pull Request Review Command
    * Test Runner Command
* See Also

### [skills](https://code.claude.com/docs/en/agent-sdk/skills.md)

* 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](https://code.claude.com/docs/en/agent-sdk/plugins.md)

* 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](https://code.claude.com/docs/en/agent-sdk/permissions.md)

* 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](https://code.claude.com/docs/en/agent-sdk/hooks.md)

* 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 multi-tool 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](https://code.claude.com/docs/en/agent-sdk/file-checkpointing.md)

* 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
  * "File rewinding is not enabled" error
  * "ProcessTransport is not ready for writing" error
* Next steps

### [cost-tracking](https://code.claude.com/docs/en/agent-sdk/cost-tracking.md)

* 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](https://code.claude.com/docs/en/agent-sdk/observability.md)

* 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](https://code.claude.com/docs/en/agent-sdk/todo-tracking.md)

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

## Deployment

### [hosting](https://code.claude.com/docs/en/agent-sdk/hosting.md)

* The subprocess model
  * State that lives on local disk
* Choose a session pattern
  * Ephemeral sessions
  * Long-running sessions
  * Hybrid sessions
  * Multi-agent container
* Provision the container
  * Container-based sandboxing
  * Runtime dependencies
  * Resources
  * Network
* Handle production concerns
  * Session and state persistence
  * Observability
  * Auth and secrets
  * Scaling and concurrency
  * Cost
  * Multi-tenant isolation
* Known limitations
* Next steps

### [secure-deployment](https://code.claude.com/docs/en/agent-sdk/secure-deployment.md)

* 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](https://code.claude.com/docs/en/agent-sdk/typescript.md)

* Installation
  * Compile to a single executable
* 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`
  * `SDKInformationalMessage`
  * `SDKWorkerShuttingDownMessage`
  * `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`
    * `MessageDisplayHookInput`
  * `HookJSONOutput`
    * `AsyncHookJSONOutput`
    * `SyncHookJSONOutput`
* Tool Input Types
  * `ToolInputSchemas`
  * Agent
  * AskUserQuestion
  * Bash
  * Monitor
  * TaskOutput
  * Edit
  * Read
  * Write
  * Glob
  * Grep
  * TaskStop
  * NotebookEdit
  * WebFetch
  * WebSearch
  * Workflow
  * 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
  * Workflow
  * 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`
  * `SDKBackgroundTasksChangedMessage`
  * `SDKFilesPersistedEvent`
  * `SDKRateLimitEvent`
  * `SDKLocalCommandOutputMessage`
  * `SDKCommandsChangedMessage`
  * `SDKPromptSuggestionMessage`
  * `SDKConversationResetMessage`
  * `AbortError`
* Sandbox Configuration
  * `SandboxSettings`
    * Example usage
  * `SandboxNetworkConfig`
  * `SandboxFilesystemConfig`
  * Permissions Fallback for Unsandboxed Commands
* See also

### [typescript-v2-preview](https://code.claude.com/docs/en/agent-sdk/typescript-v2-preview.md)

* 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](https://code.claude.com/docs/en/agent-sdk/python.md)

* Installation
* Choosing between `query()` and `ClaudeSDKClient`
  * Quick comparison
  * When to use `query()` (one-off tasks)
  * 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`
  * `EffortLevel`
  * `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](https://code.claude.com/docs/en/agent-sdk/migration-guide.md)

* 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](https://code.claude.com/docs/en/whats-new/index.md)

* (No headings found)

### [2026-w26](https://code.claude.com/docs/en/whats-new/2026-w26.md)

* (No headings found)

### [2026-w25](https://code.claude.com/docs/en/whats-new/2026-w25.md)

* (No headings found)

### [2026-w24](https://code.claude.com/docs/en/whats-new/2026-w24.md)

* (No headings found)

### [2026-w23](https://code.claude.com/docs/en/whats-new/2026-w23.md)

* (No headings found)

### [2026-w22](https://code.claude.com/docs/en/whats-new/2026-w22.md)

* (No headings found)

### [2026-w21](https://code.claude.com/docs/en/whats-new/2026-w21.md)

* (No headings found)

### [2026-w20](https://code.claude.com/docs/en/whats-new/2026-w20.md)

* (No headings found)

### [2026-w19](https://code.claude.com/docs/en/whats-new/2026-w19.md)

* (No headings found)

### [2026-w18](https://code.claude.com/docs/en/whats-new/2026-w18.md)

* (No headings found)

### [2026-w17](https://code.claude.com/docs/en/whats-new/2026-w17.md)

* (No headings found)

### [2026-w16](https://code.claude.com/docs/en/whats-new/2026-w16.md)

* (No headings found)

### [2026-w15](https://code.claude.com/docs/en/whats-new/2026-w15.md)

* (No headings found)

### [2026-w14](https://code.claude.com/docs/en/whats-new/2026-w14.md)

* (No headings found)

### [2026-w13](https://code.claude.com/docs/en/whats-new/2026-w13.md)

* (No headings found)

## Resources

### [legal-and-compliance](https://code.claude.com/docs/en/legal-and-compliance.md)

* 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
