Files
Mike Swanson 75ce1c2fd5 feat: Add Sequential Thinking to Code Review + Frontend Validation
Enhanced code review and frontend validation with intelligent triggers:

Code Review Agent Enhancement:
- Added Sequential Thinking MCP integration for complex issues
- Triggers on 2+ rejections or 3+ critical issues
- New escalation format with root cause analysis
- Comprehensive solution strategies with trade-off evaluation
- Educational feedback to break rejection cycles
- Files: .claude/agents/code-review.md (+308 lines)
- Docs: CODE_REVIEW_ST_ENHANCEMENT.md, CODE_REVIEW_ST_TESTING.md

Frontend Design Skill Enhancement:
- Automatic invocation for ANY UI change
- Comprehensive validation checklist (200+ checkpoints)
- 8 validation categories (visual, interactive, responsive, a11y, etc.)
- 3 validation levels (quick, standard, comprehensive)
- Integration with code review workflow
- Files: .claude/skills/frontend-design/SKILL.md (+120 lines)
- Docs: UI_VALIDATION_CHECKLIST.md (462 lines), AUTOMATIC_VALIDATION_ENHANCEMENT.md (587 lines)

Settings Optimization:
- Repaired .claude/settings.local.json (fixed m365 pattern)
- Reduced permissions from 49 to 33 (33% reduction)
- Removed duplicates, sorted alphabetically
- Created SETTINGS_PERMISSIONS.md documentation

Checkpoint Command Enhancement:
- Dual checkpoint system (git + database)
- Saves session context to API for cross-machine recall
- Includes git metadata in database context
- Files: .claude/commands/checkpoint.md (+139 lines)

Decision Rationale:
- Sequential Thinking MCP breaks rejection cycles by identifying root causes
- Automatic frontend validation catches UI issues before code review
- Dual checkpoints enable complete project memory across machines
- Settings optimization improves maintainability

Total: 1,200+ lines of documentation and enhancements

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-17 16:23:52 -07:00

9 lines
106 KiB
JSON

{"parentUuid":null,"isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","type":"user","message":{"role":"user","content":"What are all the command-line switches/flags/options available for the Claude Code CLI (claude command)? List all available arguments with their descriptions."},"uuid":"0f7e7b4a-9d32-4def-86ab-adc72af89a0a","timestamp":"2025-12-28T02:29:25.006Z"}
{"parentUuid":"0f7e7b4a-9d32-4def-86ab-adc72af89a0a","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01UHc3xSZxkkNTHWodUsuSiF","type":"message","role":"assistant","content":[{"type":"text","text":"I'll fetch the Claude Code documentation to get you the complete list of command-line switches and options."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":8594,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":8594,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"requestId":"req_011CWYJDXqxnRVDX4fy9D6DN","type":"assistant","uuid":"78cc09bc-2ed7-4eeb-b25d-b94184279cf5","timestamp":"2025-12-28T02:29:28.458Z"}
{"parentUuid":"78cc09bc-2ed7-4eeb-b25d-b94184279cf5","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01UHc3xSZxkkNTHWodUsuSiF","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01M2JJvdqVYGUf1Yfr2d9jVp","name":"WebFetch","input":{"url":"https://code.claude.com/docs/en/claude_code_docs_map.md","prompt":"Find the documentation page that covers Claude Code CLI commands, switches, flags, and command-line options"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":8594,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":8594,"ephemeral_1h_input_tokens":0},"output_tokens":131,"service_tier":"standard"}},"requestId":"req_011CWYJDXqxnRVDX4fy9D6DN","type":"assistant","uuid":"8e5d1a5c-99e4-4290-8fdc-85ec16c71cb5","timestamp":"2025-12-28T02:29:29.221Z"}
{"parentUuid":"8e5d1a5c-99e4-4290-8fdc-85ec16c71cb5","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01M2JJvdqVYGUf1Yfr2d9jVp","type":"tool_result","content":"# null\n\n# Claude Code Documentation Map\n\nThis is a comprehensive map of all Claude Code documentation pages with their headings, designed for easy navigation by LLMs.\n\n> **Note:** This file is auto-generated by GitHub Actions. Do not edit manually.\n> Last updated: 2025-11-06 00:10:13 UTC\n\n## Document Structure\n\nThis map uses a hierarchical structure:\n\n* **##** marks documentation groups (e.g., 'Getting started')\n* **###** marks individual documentation pages\n* **Nested bullets** show the heading structure within each page\n* Each page title links to the full documentation\n\n## Getting started\n\n### [overview](https://code.claude.com/docs/en/overview.md)\n\n* Get started in 30 seconds\n* What Claude Code does for you\n* Why developers love Claude Code\n* Next steps\n* Additional resources\n\n### [quickstart](https://code.claude.com/docs/en/quickstart.md)\n\n* Before you begin\n* Step 1: Install Claude Code\n* Step 2: Log in to your account\n* Step 3: Start your first session\n* Step 4: Ask your first question\n* Step 5: Make your first code change\n* Step 6: Use Git with Claude Code\n* Step 7: Fix a bug or add a feature\n* Step 8: Test out other common workflows\n* Essential commands\n* Pro tips for beginners\n* What's next?\n* Getting help\n\n### [common-workflows](https://code.claude.com/docs/en/common-workflows.md)\n\n* Understand new codebases\n * Get a quick codebase overview\n * Find relevant code\n* Fix bugs efficiently\n* Refactor code\n* Use specialized subagents\n* Use Plan Mode for safe code analysis\n * When to use Plan Mode\n * How to use Plan Mode\n * Example: Planning a complex refactor\n * Configure Plan Mode as default\n* Work with tests\n* Create pull requests\n* Handle documentation\n* Work with images\n* Reference files and directories\n* Use extended thinking\n* Resume previous conversations\n* Run parallel Claude Code sessions with Git worktrees\n* Use Claude as a unix-style utility\n * Add Claude to your verification process\n * Pipe in, pipe out\n * Control output format\n* Create custom slash commands\n * Create project-specific commands\n * Add command arguments with \\$ARGUMENTS\n * Create personal slash commands\n* Ask Claude about its capabilities\n * Example questions\n* Next steps\n\n### [claude-code-on-the-web](https://code.claude.com/docs/en/claude-code-on-the-web.md)\n\n* What is Claude Code on the web?\n* Who can use Claude Code on the web?\n* Getting started\n* How it works\n* Moving tasks between web and terminal\n * From web to terminal\n* Cloud environment\n * Default image\n * Checking available tools\n * Language-specific setups\n * Environment configuration\n * Dependency management\n * Local vs remote execution\n * Persisting environment variables\n* Network access and security\n * Network policy\n * GitHub proxy\n * Security proxy\n * Access levels\n * Default allowed domains\n * Anthropic Services\n * Version Control\n * Container Registries\n * Cloud Platforms\n * Package Managers - JavaScript/Node\n * Package Managers - Python\n * Package Managers - Ruby\n * Package Managers - Rust\n * Package Managers - Go\n * Package Managers - JVM\n * Package Managers - Other Languages\n * Linux Distributions\n * Development Tools & Platforms\n * Cloud Services & Monitoring\n * Content Delivery & Mirrors\n * Schema & Configuration\n * Security best practices for customized network access\n* Security and isolation\n* Pricing and rate limits\n* Limitations\n* Best practices\n* Related resources\n\n## Build with Claude Code\n\n### [sub-agents](https://code.claude.com/docs/en/sub-agents.md)\n\n* What are subagents?\n* Key benefits\n* Quick start\n* Subagent configuration\n * File locations\n * Plugin agents\n * CLI-based configuration\n * File format\n * Configuration fields\n * Model selection\n * Available tools\n* Managing subagents\n * Using the /agents command (Recommended)\n * Direct file management\n* Using subagents effectively\n * Automatic delegation\n * Explicit invocation\n* Built-in subagents\n * Plan subagent\n* Example subagents\n * Code reviewer\n * Debugger\n * Data scientist\n* Best practices\n* Advanced usage\n * Chaining subagents\n * Dynamic subagent selection\n * Resumable subagents\n* Performance considerations\n* Related documentation\n\n### [plugins](https://code.claude.com/docs/en/plugins.md)\n\n* Quickstart\n * Prerequisites\n * Create your first plugin\n* Hello Command\n * Plugin structure overview\n * Install and manage plugins\n * Prerequisites\n * Add marketplaces\n * Install plugins\n * Via interactive menu (recommended for discovery)\n * Via direct commands (for quick installation)\n * Verify installation\n * Set up team plugin workflows\n * Develop more complex plugins\n * Add Skills to your plugin\n * Organize complex plugins\n * Test your plugins locally\n * Debug plugin issues\n * Share your plugins\n * Next steps\n * For plugin users\n * For plugin developers\n * For team leads and administrators\n * See also\n\n### [skills](https://code.claude.com/docs/en/skills.md)\n\n* Prerequisites\n* What are Agent Skills?\n* Create a Skill\n * Personal Skills\n * Project Skills\n * Plugin Skills\n* Write SKILL.md\n* Add supporting files\n* Restrict tool access with allowed-tools\n* View available Skills\n* Test a Skill\n* Debug a Skill\n * Make description specific\n * Verify file path\n * Check YAML syntax\n * View errors\n* Share Skills with your team\n * Step 1: Add Skill to your project\n * Step 2: Commit to git\n * Step 3: Team members get Skills automatically\n* Update a Skill\n* Remove a Skill\n* Best practices\n * Keep Skills focused\n * Write clear descriptions\n * Test with your team\n * Document Skill versions\n* Troubleshooting\n * Claude doesn't use my Skill\n * Skill has errors\n * Multiple Skills conflict\n* Examples\n * Simple Skill (single file)\n * Skill with tool permissions\n * Multi-file Skill\n* Next steps\n\n### [output-styles](https://code.claude.com/docs/en/output-styles.md)\n\n* Built-in output styles\n* How output styles work\n* Change your output style\n* Create a custom output style\n* Comparisons to related features\n * Output Styles vs. CLAUDE.md vs. --append-system-prompt\n * Output Styles vs. [Agents](/en/sub-agents)\n * Output Styles vs. [Custom Slash Commands](/en/slash-commands)\n\n### [hooks-guide](https://code.claude.com/docs/en/hooks-guide.md)\n\n* Hook Events Overview\n* Quickstart\n * Prerequisites\n * Step 1: Open hooks configuration\n * Step 2: Add a matcher\n * Step 3: Add the hook\n * Step 4: Save your configuration\n * Step 5: Verify your hook\n * Step 6: Test your hook\n* More Examples\n * Code Formatting Hook\n * Markdown Formatting Hook\n * Custom Notification Hook\n * File Protection Hook\n* Learn more\n\n### [headless](https://code.claude.com/docs/en/headless.md)\n\n* Overview\n* Basic usage\n* Configuration Options\n* Multi-turn conversations\n* Output Formats\n * Text Output (Default)\n * JSON Output\n * Streaming JSON Output\n* Input Formats\n * Text Input (Default)\n * Streaming JSON Input\n* Agent Integration Examples\n * SRE Incident Response Bot\n * Automated Security Review\n * Multi-turn Legal Assistant\n* Best Practices\n* Related Resources\n\n### [github-actions](https://code.claude.com/docs/en/github-actions.md)\n\n* Why use Claude Code GitHub Actions?\n* What can Claude do?\n * Claude Code Action\n* Setup\n* Quick setup\n* Manual setup\n* Upgrading from Beta\n * Essential changes\n * Breaking Changes Reference\n * Before and After Example\n* Example use cases\n * Basic workflow\n * Using slash commands\n * Custom automation with prompts\n * Common use cases\n* Best practices\n * CLAUDE.md configuration\n * Security considerations\n * Optimizing performance\n * CI costs\n* Configuration examples\n* Using with AWS Bedrock & Google Vertex AI\n * Prerequisites\n * For Google Cloud Vertex AI:\n * For AWS Bedrock:\n* Troubleshooting\n * Claude not responding to @claude commands\n * CI not running on Claude's commits\n * Authentication errors\n* Advanced configuration\n * Action parameters\n * Using claude\\_args\n * Alternative integration methods\n * Customizing Claude's behavior\n\n### [gitlab-ci-cd](https://code.claude.com/docs/en/gitlab-ci-cd.md)\n\n* Why use Claude Code with GitLab?\n* How it works\n* What can Claude do?\n* Setup\n * Quick setup\n * Manual setup (recommended for production)\n* Example use cases\n * Turn issues into MRs\n * Get implementation help\n * Fix bugs quickly\n* Using with AWS Bedrock & Google Vertex AI\n* Configuration examples\n * Basic .gitlab-ci.yml (Claude API)\n * AWS Bedrock job example (OIDC)\n * Google Vertex AI job example (Workload Identity Federation)\n* Best practices\n * CLAUDE.md configuration\n * Security considerations\n * Optimizing performance\n * CI costs\n* Security and governance\n* Troubleshooting\n * Claude not responding to @claude commands\n * Job can't write comments or open MRs\n * Authentication errors\n* Advanced configuration\n * Common parameters and variables\n * Customizing Claude's behavior\n\n### [mcp](https://code.claude.com/docs/en/mcp.md)\n\n* What you can do with MCP\n* Popular MCP servers\n* Installing MCP servers\n * Option 1: Add a remote HTTP server\n * Option 2: Add a remote SSE server\n * Option 3: Add a local stdio server\n * Managing your servers\n * Plugin-provided MCP servers\n* MCP installation scopes\n * Local scope\n * Project scope\n * User scope\n * Choosing the right scope\n * Scope hierarchy and precedence\n * Environment variable expansion in `.mcp.json`\n* Practical examples\n * Example: Monitor errors with Sentry\n * Example: Connect to GitHub for code reviews\n * Example: Query your PostgreSQL database\n* Authenticate with remote MCP servers\n* Add MCP servers from JSON configuration\n* Import MCP servers from Claude Desktop\n* Use Claude Code as an MCP server\n* MCP output limits and warnings\n* Use MCP resources\n * Reference MCP resources\n* Use MCP prompts as slash commands\n * Execute MCP prompts\n* Enterprise MCP configuration\n * Setting up enterprise MCP configuration\n * Restricting MCP servers with allowlists and denylists\n\n### [migration-guide](https://code.claude.com/docs/en/migration-guide.md)\n\n* Overview\n* What's Changed\n* Migration Steps\n * For TypeScript/JavaScript Projects\n * For Python Projects\n* Breaking changes\n * Python: ClaudeCodeOptions renamed to ClaudeAgentOptions\n * System prompt no longer default\n * Settings Sources No Longer Loaded by Default\n* Why the Rename?\n* Getting Help\n* Next Steps\n\n### [troubleshooting](https://code.claude.com/docs/en/troubleshooting.md)\n\n* Common installation issues\n * Windows installation issues: errors in WSL\n * Linux and Mac installation issues: permission or command not found errors\n * Recommended solution: Native Claude Code installation\n* Permissions and authentication\n * Repeated permission prompts\n * Authentication issues\n* Performance and stability\n * High CPU or memory usage\n * Command hangs or freezes\n * Search and discovery issues\n * Slow or incomplete search results on WSL\n* IDE integration issues\n * JetBrains IDE not detected on WSL2\n * WSL2 networking modes\n * Reporting Windows IDE integration issues (both native and WSL)\n * ESC key not working in JetBrains (IntelliJ, PyCharm, etc.) terminals\n* Markdown formatting issues\n * Missing language tags in code blocks\n * Inconsistent spacing and formatting\n * Best practices for markdown generation\n* Getting more help\n\n## Deployment\n\n### [third-party-integrations](https://code.claude.com/docs/en/third-party-integrations.md)\n\n* Provider comparison\n* Cloud providers\n* Corporate infrastructure\n* Configuration overview\n * Using Bedrock with corporate proxy\n * Using Bedrock with LLM Gateway\n * Using Vertex AI with corporate proxy\n * Using Vertex AI with LLM Gateway\n * Authentication configuration\n* Choosing the right deployment configuration\n * Direct provider access\n * Corporate proxy\n * LLM Gateway\n* Debugging\n* Best practices for organizations\n * 1. Invest in documentation and memory\n * 2. Simplify deployment\n * 3. Start with guided usage\n * 4. Configure security policies\n * 5. Leverage MCP for integrations\n* Next steps\n\n### [amazon-bedrock](https://code.claude.com/docs/en/amazon-bedrock.md)\n\n* Prerequisites\n* Setup\n * 1. Submit use case details\n * 2. Configure AWS credentials\n * Advanced credential configuration\n * Example configuration\n * Configuration settings explained\n * 3. Configure Claude Code\n * 4. Model configuration\n * 5. Output token configuration\n* IAM configuration\n* Troubleshooting\n* Additional resources\n\n### [google-vertex-ai](https://code.claude.com/docs/en/google-vertex-ai.md)\n\n* Prerequisites\n* Region Configuration\n* Setup\n * 1. Enable Vertex AI API\n * 2. Request model access\n * 3. Configure GCP credentials\n * 4. Configure Claude Code\n * 5. Model configuration\n* IAM configuration\n* 1M token context window\n* Troubleshooting\n* Additional resources\n\n### [network-config](https://code.claude.com/docs/en/network-config.md)\n\n* Proxy configuration\n * Environment variables\n * Basic authentication\n* Custom CA certificates\n* mTLS authentication\n* Network access requirements\n* Additional resources\n\n### [llm-gateway](https://code.claude.com/docs/en/llm-gateway.md)\n\n* LiteLLM configuration\n * Prerequisites\n * Basic LiteLLM setup\n * Authentication methods\n * Static API key\n * Dynamic API key with helper\n * Unified endpoint (recommended)\n * Provider-specific pass-through endpoints (alternative)\n * Claude API through LiteLLM\n * Amazon Bedrock through LiteLLM\n * Google Vertex AI through LiteLLM\n * Model selection\n* Additional resources\n\n### [devcontainer](https://code.claude.com/docs/en/devcontainer.md)\n\n* Key features\n* Getting started in 4 steps\n* Configuration breakdown\n* Security features\n* Customization options\n* Example use cases\n * Secure client work\n * Team onboarding\n * Consistent CI/CD environments\n* Related resources\n\n### [sandboxing](https://code.claude.com/docs/en/sandboxing.md)\n\n* Overview\n* Why sandboxing matters\n* How it works\n * Filesystem isolation\n * Network isolation\n * OS-level enforcement\n* Getting started\n * Enable sandboxing\n * Configure sandboxing\n* Security benefits\n * Protection against prompt injection\n * Reduced attack surface\n * Transparent operation\n* Security Limitations\n* Advanced usage\n * Custom proxy configuration\n * Integration with existing security tools\n* Best practices\n* Open source\n* Limitations\n* See also\n\n## Administration\n\n### [setup](https://code.claude.com/docs/en/setup.md)\n\n* System requirements\n * Additional dependencies\n* Standard installation\n* Windows setup\n* Alternative installation methods\n * Native installation options\n * NPM installation\n* Running on AWS or GCP\n* Update Claude Code\n * Auto updates\n * Update manually\n\n### [iam](https://code.claude.com/docs/en/iam.md)\n\n* Authentication methods\n * Claude API authentication\n * Cloud provider authentication\n* Access control and permissions\n * Permission system\n * Configuring permissions\n * Permission modes\n * Working directories\n * Tool-specific permission rules\n * Additional permission control with hooks\n * Enterprise managed policy settings\n * Settings precedence\n* Credential management\n\n### [security](https://code.claude.com/docs/en/security.md)\n\n* How we approach security\n * Security foundation\n * Permission-based architecture\n * Built-in protections\n * User responsibility\n* Protect against prompt injection\n * Core protections\n * Privacy safeguards\n * Additional safeguards\n* MCP security\n* IDE security\n* Cloud execution security\n* Security best practices\n * Working with sensitive code\n * Team security\n * Reporting security issues\n* Related resources\n\n### [data-usage](https://code.claude.com/docs/en/data-usage.md)\n\n* Data policies\n * Data training policy\n * Development Partner Program\n * Feedback using the `/bug` command\n * Session quality surveys\n * Data retention\n* Data flow and dependencies\n * Cloud execution\n* Telemetry services\n* Default behaviors by API provider\n\n### [monitoring-usage](https://code.claude.com/docs/en/monitoring-usage.md)\n\n* Quick Start\n* Administrator Configuration\n* Configuration Details\n * Common Configuration Variables\n * Metrics Cardinality Control\n * Dynamic Headers\n * Settings Configuration\n * Script Requirements\n * Important Limitations\n * Multi-Team Organization Support\n * Example Configurations\n* Available Metrics and Events\n * Standard Attributes\n * Metrics\n * Metric Details\n * Session Counter\n * Lines of Code Counter\n * Pull Request Counter\n * Commit Counter\n * Cost Counter\n * Token Counter\n * Code Edit Tool Decision Counter\n * Active Time Counter\n * Events\n * User Prompt Event\n * Tool Result Event\n * API Request Event\n * API Error Event\n * Tool Decision Event\n* Interpreting Metrics and Events Data\n * Usage Monitoring\n * Cost Monitoring\n * Alerting and Segmentation\n * Event Analysis\n* Backend Considerations\n * For Metrics:\n * For Events/Logs:\n* Service Information\n* ROI Measurement Resources\n* Security/Privacy Considerations\n* Monitoring Claude Code on Amazon Bedrock\n\n### [costs](https://code.claude.com/docs/en/costs.md)\n\n* Track your costs\n * Using the `/cost` command\n * Additional tracking options\n* Managing costs for teams\n * Rate limit recommendations\n* Reduce token usage\n* Background token usage\n* Tracking version changes and updates\n * Current version information\n * Understanding changes in Claude Code behavior\n * When cost reporting changes\n\n### [analytics](https://code.claude.com/docs/en/analytics.md)\n\n* Access analytics\n * Required roles\n* Available metrics\n * Lines of code accepted\n * Suggestion accept rate\n * Activity\n * Spend\n * Team insights\n* Using analytics effectively\n * Monitor adoption\n * Measure productivity\n* Related resources\n\n### [plugin-marketplaces](https://code.claude.com/docs/en/plugin-marketplaces.md)\n\n* Overview\n * Prerequisites\n* Add and use marketplaces\n * Add GitHub marketplaces\n * Add Git repositories\n * Add local marketplaces for development\n * Install plugins from marketplaces\n * Verify marketplace installation\n* Configure team marketplaces\n* Create your own marketplace\n * Prerequisites for marketplace creation\n * Create the marketplace file\n * Marketplace schema\n * Required fields\n * Optional metadata\n * Plugin entries\n * Optional plugin fields\n * Plugin sources\n * Relative paths\n * GitHub repositories\n * Git repositories\n * Advanced plugin entries\n* Host and distribute marketplaces\n * Host on GitHub (recommended)\n * Host on other git services\n * Use local marketplaces for development\n* Manage marketplace operations\n * List known marketplaces\n * Update marketplace metadata\n * Remove a marketplace\n* Troubleshooting marketplaces\n * Common marketplace issues\n * Marketplace not loading\n * Plugin installation failures\n * Validation and testing\n* Next steps\n * For marketplace users\n * For marketplace creators\n * For organizations\n* See also\n\n## Configuration\n\n### [settings](https://code.claude.com/docs/en/settings.md)\n\n* Settings files\n * Available settings\n * Permission settings\n * Sandbox settings\n * Settings precedence\n * Key points about the configuration system\n * System prompt availability\n * Excluding sensitive files\n* Subagent configuration\n* Plugin configuration\n * Plugin settings\n * `enabledPlugins`\n * `extraKnownMarketplaces`\n * Managing plugins\n* Environment variables\n* Tools available to Claude\n * Extending tools with hooks\n* See also\n\n### [vs-code](https://code.claude.com/docs/en/vs-code.md)\n\n* VS Code Extension (Beta)\n * Features\n * Requirements\n * Installation\n * How It Works\n * Using Third-Party Providers (Vertex and Bedrock)\n * Environment Variables\n * Not Yet Implemented\n* Security Considerations\n* Legacy CLI Integration\n* Troubleshooting\n * Extension Not Installing\n * Legacy Integration Not Working\n\n### [jetbrains](https://code.claude.com/docs/en/jetbrains.md)\n\n* Supported IDEs\n* Features\n* Installation\n * Marketplace Installation\n* Usage\n * From Your IDE\n * From External Terminals\n* Configuration\n * Claude Code Settings\n * Plugin Settings\n * General Settings\n * ESC Key Configuration\n* Special Configurations\n * Remote Development\n * WSL Configuration\n* Troubleshooting\n * Plugin Not Working\n * IDE Not Detected\n * Command Not Found\n* Security Considerations\n\n### [terminal-config](https://code.claude.com/docs/en/terminal-config.md)\n\n* Themes and appearance\n* Line breaks\n * Set up Shift+Enter (VS Code or iTerm2):\n * Set up Option+Enter (VS Code, iTerm2 or macOS Terminal.app):\n* Notification setup\n * iTerm 2 system notifications\n * Custom notification hooks\n* Handling large inputs\n* Vim Mode\n\n### [model-config](https://code.claude.com/docs/en/model-config.md)\n\n* Available models\n * Model aliases\n * Setting your model\n* Special model behavior\n * `default` model setting\n * `opusplan` model setting\n * Extended context with \\[1m]\n* Checking your current model\n* Environment variables\n * Prompt caching configuration\n\n### [memory](https://code.claude.com/docs/en/memory.md)\n\n* Determine memory type\n* CLAUDE.md imports\n* How Claude looks up memories\n* Quickly add memories with the `#` shortcut\n* Directly edit memories with `/memory`\n* Set up project memory\n* Organization-level memory management\n* Memory best practices\n\n### [statusline](https://code.claude.com/docs/en/statusline.md)\n\n* Create a custom status line\n* How it Works\n* JSON Input Structure\n* Example Scripts\n * Simple Status Line\n * Git-Aware Status Line\n * Python Example\n * Node.js Example\n * Helper Function Approach\n* Tips\n* Troubleshooting\n\n## Reference\n\n### [cli-reference](https://code.claude.com/docs/en/cli-reference.md)\n\n* CLI commands\n* CLI flags\n * Agents flag format\n * System prompt flags\n* See also\n\n### [interactive-mode](https://code.claude.com/docs/en/interactive-mode.md)\n\n* Keyboard shortcuts\n * General controls\n * Multiline input\n * Quick commands\n* Vim editor mode\n * Mode switching\n * Navigation (NORMAL mode)\n * Editing (NORMAL mode)\n* Command history\n * Reverse search with Ctrl+R\n* Background bash commands\n * How backgrounding works\n * Bash mode with `!` prefix\n* See also\n\n### [slash-commands](https://code.claude.com/docs/en/slash-commands.md)\n\n* Built-in slash commands\n* Custom slash commands\n * Syntax\n * Parameters\n * Command types\n * Project commands\n * Personal commands\n * Features\n * Namespacing\n * Arguments\n * All arguments with `$ARGUMENTS`\n * Individual arguments with `$1`, `$2`, etc.\n * Bash command execution\n * File references\n * Thinking mode\n * Frontmatter\n* Plugin commands\n * How plugin commands work\n * Plugin command structure\n * Invocation patterns\n* MCP slash commands\n * Command format\n * Features\n * Dynamic discovery\n * Arguments\n * Naming conventions\n * Managing MCP connections\n * MCP permissions and wildcards\n* `SlashCommand` tool\n * `SlashCommand` tool supported commands\n * Disable `SlashCommand` tool\n * Disable specific commands only\n * `SlashCommand` permission rules\n * Character budget limit\n* Skills vs slash commands\n * Use slash commands for\n * Use Skills for\n * Key differences\n * Example comparison\n * When to use each\n* See also\n\n### [checkpointing](https://code.claude.com/docs/en/checkpointing.md)\n\n* How checkpoints work\n * Automatic tracking\n * Rewinding changes\n* Common use cases\n* Limitations\n * Bash command changes not tracked\n * External changes not tracked\n * Not a replacement for version control\n* See also\n\n### [hooks](https://code.claude.com/docs/en/hooks.md)\n\n* Configuration\n * Structure\n * Project-Specific Hook Scripts\n * Plugin hooks\n* Prompt-Based Hooks\n * How prompt-based hooks work\n * Configuration\n * Response schema\n * Supported hook events\n * Example: Intelligent Stop hook\n * Example: SubagentStop with custom logic\n * Comparison with bash command hooks\n * Best practices\n* Hook Events\n * PreToolUse\n * PermissionRequest\n * PostToolUse\n * Notification\n * UserPromptSubmit\n * Stop\n * SubagentStop\n * PreCompact\n * SessionStart\n * Persisting environment variables\n * SessionEnd\n* Hook Input\n * PreToolUse Input\n * PermissionRequest\n * PostToolUse Input\n * Notification Input\n * UserPromptSubmit Input\n * Stop and SubagentStop Input\n * PreCompact Input\n * SessionStart Input\n * SessionEnd Input\n* Hook Output\n * Simple: Exit Code\n * Exit Code 2 Behavior\n * Advanced: JSON Output\n * Common JSON Fields\n * `PreToolUse` Decision Control\n * `PermissionRequest` Decision Control\n * `PostToolUse` Decision Control\n * `UserPromptSubmit` Decision Control\n * `Stop`/`SubagentStop` Decision Control\n * `SessionStart` Decision Control\n * `SessionEnd` Decision Control\n * Exit Code Example: Bash Command Validation\n * JSON Output Example: UserPromptSubmit to Add Context and Validation\n * JSON Output Example: PreToolUse with Approval\n* Working with MCP Tools\n * MCP Tool Naming\n * Configuring Hooks for MCP Tools\n* Examples\n* Security Considerations\n * Disclaimer\n * Security Best Practices\n * Configuration Safety\n* Hook Execution Details\n* Debugging\n * Basic Troubleshooting\n * Advanced Debugging\n * Debug Output Example\n\n### [plugins-reference](https://code.claude.com/docs/en/plugins-reference.md)\n\n* Plugin components reference\n * Commands\n * Agents\n * Skills\n * Hooks\n * MCP servers\n* Plugin manifest schema\n * Complete schema\n * Required fields\n * Metadata fields\n * Component path fields\n * Path behavior rules\n * Environment variables\n* Plugin directory structure\n * Standard plugin layout\n * File locations reference\n* Debugging and development tools\n * Debugging commands\n * Common issues\n* Distribution and versioning reference\n * Version management\n\n## Resources\n\n### [legal-and-compliance](https://code.claude.com/docs/en/legal-and-compliance.md)\n\n* Legal agreements\n * License\n * Commercial agreements\n* Compliance\n * Healthcare compliance (BAA)\n* Security and trust\n * Trust and safety\n * Security vulnerability reporting\n\n\n---\n\n> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt"}]},"uuid":"f2b5b10d-9f99-4913-a0ea-f3f60d93371b","timestamp":"2025-12-28T02:29:31.409Z","toolUseResult":{"bytes":26330,"code":200,"codeText":"OK","result":"# null\n\n# Claude Code Documentation Map\n\nThis is a comprehensive map of all Claude Code documentation pages with their headings, designed for easy navigation by LLMs.\n\n> **Note:** This file is auto-generated by GitHub Actions. Do not edit manually.\n> Last updated: 2025-11-06 00:10:13 UTC\n\n## Document Structure\n\nThis map uses a hierarchical structure:\n\n* **##** marks documentation groups (e.g., 'Getting started')\n* **###** marks individual documentation pages\n* **Nested bullets** show the heading structure within each page\n* Each page title links to the full documentation\n\n## Getting started\n\n### [overview](https://code.claude.com/docs/en/overview.md)\n\n* Get started in 30 seconds\n* What Claude Code does for you\n* Why developers love Claude Code\n* Next steps\n* Additional resources\n\n### [quickstart](https://code.claude.com/docs/en/quickstart.md)\n\n* Before you begin\n* Step 1: Install Claude Code\n* Step 2: Log in to your account\n* Step 3: Start your first session\n* Step 4: Ask your first question\n* Step 5: Make your first code change\n* Step 6: Use Git with Claude Code\n* Step 7: Fix a bug or add a feature\n* Step 8: Test out other common workflows\n* Essential commands\n* Pro tips for beginners\n* What's next?\n* Getting help\n\n### [common-workflows](https://code.claude.com/docs/en/common-workflows.md)\n\n* Understand new codebases\n * Get a quick codebase overview\n * Find relevant code\n* Fix bugs efficiently\n* Refactor code\n* Use specialized subagents\n* Use Plan Mode for safe code analysis\n * When to use Plan Mode\n * How to use Plan Mode\n * Example: Planning a complex refactor\n * Configure Plan Mode as default\n* Work with tests\n* Create pull requests\n* Handle documentation\n* Work with images\n* Reference files and directories\n* Use extended thinking\n* Resume previous conversations\n* Run parallel Claude Code sessions with Git worktrees\n* Use Claude as a unix-style utility\n * Add Claude to your verification process\n * Pipe in, pipe out\n * Control output format\n* Create custom slash commands\n * Create project-specific commands\n * Add command arguments with \\$ARGUMENTS\n * Create personal slash commands\n* Ask Claude about its capabilities\n * Example questions\n* Next steps\n\n### [claude-code-on-the-web](https://code.claude.com/docs/en/claude-code-on-the-web.md)\n\n* What is Claude Code on the web?\n* Who can use Claude Code on the web?\n* Getting started\n* How it works\n* Moving tasks between web and terminal\n * From web to terminal\n* Cloud environment\n * Default image\n * Checking available tools\n * Language-specific setups\n * Environment configuration\n * Dependency management\n * Local vs remote execution\n * Persisting environment variables\n* Network access and security\n * Network policy\n * GitHub proxy\n * Security proxy\n * Access levels\n * Default allowed domains\n * Anthropic Services\n * Version Control\n * Container Registries\n * Cloud Platforms\n * Package Managers - JavaScript/Node\n * Package Managers - Python\n * Package Managers - Ruby\n * Package Managers - Rust\n * Package Managers - Go\n * Package Managers - JVM\n * Package Managers - Other Languages\n * Linux Distributions\n * Development Tools & Platforms\n * Cloud Services & Monitoring\n * Content Delivery & Mirrors\n * Schema & Configuration\n * Security best practices for customized network access\n* Security and isolation\n* Pricing and rate limits\n* Limitations\n* Best practices\n* Related resources\n\n## Build with Claude Code\n\n### [sub-agents](https://code.claude.com/docs/en/sub-agents.md)\n\n* What are subagents?\n* Key benefits\n* Quick start\n* Subagent configuration\n * File locations\n * Plugin agents\n * CLI-based configuration\n * File format\n * Configuration fields\n * Model selection\n * Available tools\n* Managing subagents\n * Using the /agents command (Recommended)\n * Direct file management\n* Using subagents effectively\n * Automatic delegation\n * Explicit invocation\n* Built-in subagents\n * Plan subagent\n* Example subagents\n * Code reviewer\n * Debugger\n * Data scientist\n* Best practices\n* Advanced usage\n * Chaining subagents\n * Dynamic subagent selection\n * Resumable subagents\n* Performance considerations\n* Related documentation\n\n### [plugins](https://code.claude.com/docs/en/plugins.md)\n\n* Quickstart\n * Prerequisites\n * Create your first plugin\n* Hello Command\n * Plugin structure overview\n * Install and manage plugins\n * Prerequisites\n * Add marketplaces\n * Install plugins\n * Via interactive menu (recommended for discovery)\n * Via direct commands (for quick installation)\n * Verify installation\n * Set up team plugin workflows\n * Develop more complex plugins\n * Add Skills to your plugin\n * Organize complex plugins\n * Test your plugins locally\n * Debug plugin issues\n * Share your plugins\n * Next steps\n * For plugin users\n * For plugin developers\n * For team leads and administrators\n * See also\n\n### [skills](https://code.claude.com/docs/en/skills.md)\n\n* Prerequisites\n* What are Agent Skills?\n* Create a Skill\n * Personal Skills\n * Project Skills\n * Plugin Skills\n* Write SKILL.md\n* Add supporting files\n* Restrict tool access with allowed-tools\n* View available Skills\n* Test a Skill\n* Debug a Skill\n * Make description specific\n * Verify file path\n * Check YAML syntax\n * View errors\n* Share Skills with your team\n * Step 1: Add Skill to your project\n * Step 2: Commit to git\n * Step 3: Team members get Skills automatically\n* Update a Skill\n* Remove a Skill\n* Best practices\n * Keep Skills focused\n * Write clear descriptions\n * Test with your team\n * Document Skill versions\n* Troubleshooting\n * Claude doesn't use my Skill\n * Skill has errors\n * Multiple Skills conflict\n* Examples\n * Simple Skill (single file)\n * Skill with tool permissions\n * Multi-file Skill\n* Next steps\n\n### [output-styles](https://code.claude.com/docs/en/output-styles.md)\n\n* Built-in output styles\n* How output styles work\n* Change your output style\n* Create a custom output style\n* Comparisons to related features\n * Output Styles vs. CLAUDE.md vs. --append-system-prompt\n * Output Styles vs. [Agents](/en/sub-agents)\n * Output Styles vs. [Custom Slash Commands](/en/slash-commands)\n\n### [hooks-guide](https://code.claude.com/docs/en/hooks-guide.md)\n\n* Hook Events Overview\n* Quickstart\n * Prerequisites\n * Step 1: Open hooks configuration\n * Step 2: Add a matcher\n * Step 3: Add the hook\n * Step 4: Save your configuration\n * Step 5: Verify your hook\n * Step 6: Test your hook\n* More Examples\n * Code Formatting Hook\n * Markdown Formatting Hook\n * Custom Notification Hook\n * File Protection Hook\n* Learn more\n\n### [headless](https://code.claude.com/docs/en/headless.md)\n\n* Overview\n* Basic usage\n* Configuration Options\n* Multi-turn conversations\n* Output Formats\n * Text Output (Default)\n * JSON Output\n * Streaming JSON Output\n* Input Formats\n * Text Input (Default)\n * Streaming JSON Input\n* Agent Integration Examples\n * SRE Incident Response Bot\n * Automated Security Review\n * Multi-turn Legal Assistant\n* Best Practices\n* Related Resources\n\n### [github-actions](https://code.claude.com/docs/en/github-actions.md)\n\n* Why use Claude Code GitHub Actions?\n* What can Claude do?\n * Claude Code Action\n* Setup\n* Quick setup\n* Manual setup\n* Upgrading from Beta\n * Essential changes\n * Breaking Changes Reference\n * Before and After Example\n* Example use cases\n * Basic workflow\n * Using slash commands\n * Custom automation with prompts\n * Common use cases\n* Best practices\n * CLAUDE.md configuration\n * Security considerations\n * Optimizing performance\n * CI costs\n* Configuration examples\n* Using with AWS Bedrock & Google Vertex AI\n * Prerequisites\n * For Google Cloud Vertex AI:\n * For AWS Bedrock:\n* Troubleshooting\n * Claude not responding to @claude commands\n * CI not running on Claude's commits\n * Authentication errors\n* Advanced configuration\n * Action parameters\n * Using claude\\_args\n * Alternative integration methods\n * Customizing Claude's behavior\n\n### [gitlab-ci-cd](https://code.claude.com/docs/en/gitlab-ci-cd.md)\n\n* Why use Claude Code with GitLab?\n* How it works\n* What can Claude do?\n* Setup\n * Quick setup\n * Manual setup (recommended for production)\n* Example use cases\n * Turn issues into MRs\n * Get implementation help\n * Fix bugs quickly\n* Using with AWS Bedrock & Google Vertex AI\n* Configuration examples\n * Basic .gitlab-ci.yml (Claude API)\n * AWS Bedrock job example (OIDC)\n * Google Vertex AI job example (Workload Identity Federation)\n* Best practices\n * CLAUDE.md configuration\n * Security considerations\n * Optimizing performance\n * CI costs\n* Security and governance\n* Troubleshooting\n * Claude not responding to @claude commands\n * Job can't write comments or open MRs\n * Authentication errors\n* Advanced configuration\n * Common parameters and variables\n * Customizing Claude's behavior\n\n### [mcp](https://code.claude.com/docs/en/mcp.md)\n\n* What you can do with MCP\n* Popular MCP servers\n* Installing MCP servers\n * Option 1: Add a remote HTTP server\n * Option 2: Add a remote SSE server\n * Option 3: Add a local stdio server\n * Managing your servers\n * Plugin-provided MCP servers\n* MCP installation scopes\n * Local scope\n * Project scope\n * User scope\n * Choosing the right scope\n * Scope hierarchy and precedence\n * Environment variable expansion in `.mcp.json`\n* Practical examples\n * Example: Monitor errors with Sentry\n * Example: Connect to GitHub for code reviews\n * Example: Query your PostgreSQL database\n* Authenticate with remote MCP servers\n* Add MCP servers from JSON configuration\n* Import MCP servers from Claude Desktop\n* Use Claude Code as an MCP server\n* MCP output limits and warnings\n* Use MCP resources\n * Reference MCP resources\n* Use MCP prompts as slash commands\n * Execute MCP prompts\n* Enterprise MCP configuration\n * Setting up enterprise MCP configuration\n * Restricting MCP servers with allowlists and denylists\n\n### [migration-guide](https://code.claude.com/docs/en/migration-guide.md)\n\n* Overview\n* What's Changed\n* Migration Steps\n * For TypeScript/JavaScript Projects\n * For Python Projects\n* Breaking changes\n * Python: ClaudeCodeOptions renamed to ClaudeAgentOptions\n * System prompt no longer default\n * Settings Sources No Longer Loaded by Default\n* Why the Rename?\n* Getting Help\n* Next Steps\n\n### [troubleshooting](https://code.claude.com/docs/en/troubleshooting.md)\n\n* Common installation issues\n * Windows installation issues: errors in WSL\n * Linux and Mac installation issues: permission or command not found errors\n * Recommended solution: Native Claude Code installation\n* Permissions and authentication\n * Repeated permission prompts\n * Authentication issues\n* Performance and stability\n * High CPU or memory usage\n * Command hangs or freezes\n * Search and discovery issues\n * Slow or incomplete search results on WSL\n* IDE integration issues\n * JetBrains IDE not detected on WSL2\n * WSL2 networking modes\n * Reporting Windows IDE integration issues (both native and WSL)\n * ESC key not working in JetBrains (IntelliJ, PyCharm, etc.) terminals\n* Markdown formatting issues\n * Missing language tags in code blocks\n * Inconsistent spacing and formatting\n * Best practices for markdown generation\n* Getting more help\n\n## Deployment\n\n### [third-party-integrations](https://code.claude.com/docs/en/third-party-integrations.md)\n\n* Provider comparison\n* Cloud providers\n* Corporate infrastructure\n* Configuration overview\n * Using Bedrock with corporate proxy\n * Using Bedrock with LLM Gateway\n * Using Vertex AI with corporate proxy\n * Using Vertex AI with LLM Gateway\n * Authentication configuration\n* Choosing the right deployment configuration\n * Direct provider access\n * Corporate proxy\n * LLM Gateway\n* Debugging\n* Best practices for organizations\n * 1. Invest in documentation and memory\n * 2. Simplify deployment\n * 3. Start with guided usage\n * 4. Configure security policies\n * 5. Leverage MCP for integrations\n* Next steps\n\n### [amazon-bedrock](https://code.claude.com/docs/en/amazon-bedrock.md)\n\n* Prerequisites\n* Setup\n * 1. Submit use case details\n * 2. Configure AWS credentials\n * Advanced credential configuration\n * Example configuration\n * Configuration settings explained\n * 3. Configure Claude Code\n * 4. Model configuration\n * 5. Output token configuration\n* IAM configuration\n* Troubleshooting\n* Additional resources\n\n### [google-vertex-ai](https://code.claude.com/docs/en/google-vertex-ai.md)\n\n* Prerequisites\n* Region Configuration\n* Setup\n * 1. Enable Vertex AI API\n * 2. Request model access\n * 3. Configure GCP credentials\n * 4. Configure Claude Code\n * 5. Model configuration\n* IAM configuration\n* 1M token context window\n* Troubleshooting\n* Additional resources\n\n### [network-config](https://code.claude.com/docs/en/network-config.md)\n\n* Proxy configuration\n * Environment variables\n * Basic authentication\n* Custom CA certificates\n* mTLS authentication\n* Network access requirements\n* Additional resources\n\n### [llm-gateway](https://code.claude.com/docs/en/llm-gateway.md)\n\n* LiteLLM configuration\n * Prerequisites\n * Basic LiteLLM setup\n * Authentication methods\n * Static API key\n * Dynamic API key with helper\n * Unified endpoint (recommended)\n * Provider-specific pass-through endpoints (alternative)\n * Claude API through LiteLLM\n * Amazon Bedrock through LiteLLM\n * Google Vertex AI through LiteLLM\n * Model selection\n* Additional resources\n\n### [devcontainer](https://code.claude.com/docs/en/devcontainer.md)\n\n* Key features\n* Getting started in 4 steps\n* Configuration breakdown\n* Security features\n* Customization options\n* Example use cases\n * Secure client work\n * Team onboarding\n * Consistent CI/CD environments\n* Related resources\n\n### [sandboxing](https://code.claude.com/docs/en/sandboxing.md)\n\n* Overview\n* Why sandboxing matters\n* How it works\n * Filesystem isolation\n * Network isolation\n * OS-level enforcement\n* Getting started\n * Enable sandboxing\n * Configure sandboxing\n* Security benefits\n * Protection against prompt injection\n * Reduced attack surface\n * Transparent operation\n* Security Limitations\n* Advanced usage\n * Custom proxy configuration\n * Integration with existing security tools\n* Best practices\n* Open source\n* Limitations\n* See also\n\n## Administration\n\n### [setup](https://code.claude.com/docs/en/setup.md)\n\n* System requirements\n * Additional dependencies\n* Standard installation\n* Windows setup\n* Alternative installation methods\n * Native installation options\n * NPM installation\n* Running on AWS or GCP\n* Update Claude Code\n * Auto updates\n * Update manually\n\n### [iam](https://code.claude.com/docs/en/iam.md)\n\n* Authentication methods\n * Claude API authentication\n * Cloud provider authentication\n* Access control and permissions\n * Permission system\n * Configuring permissions\n * Permission modes\n * Working directories\n * Tool-specific permission rules\n * Additional permission control with hooks\n * Enterprise managed policy settings\n * Settings precedence\n* Credential management\n\n### [security](https://code.claude.com/docs/en/security.md)\n\n* How we approach security\n * Security foundation\n * Permission-based architecture\n * Built-in protections\n * User responsibility\n* Protect against prompt injection\n * Core protections\n * Privacy safeguards\n * Additional safeguards\n* MCP security\n* IDE security\n* Cloud execution security\n* Security best practices\n * Working with sensitive code\n * Team security\n * Reporting security issues\n* Related resources\n\n### [data-usage](https://code.claude.com/docs/en/data-usage.md)\n\n* Data policies\n * Data training policy\n * Development Partner Program\n * Feedback using the `/bug` command\n * Session quality surveys\n * Data retention\n* Data flow and dependencies\n * Cloud execution\n* Telemetry services\n* Default behaviors by API provider\n\n### [monitoring-usage](https://code.claude.com/docs/en/monitoring-usage.md)\n\n* Quick Start\n* Administrator Configuration\n* Configuration Details\n * Common Configuration Variables\n * Metrics Cardinality Control\n * Dynamic Headers\n * Settings Configuration\n * Script Requirements\n * Important Limitations\n * Multi-Team Organization Support\n * Example Configurations\n* Available Metrics and Events\n * Standard Attributes\n * Metrics\n * Metric Details\n * Session Counter\n * Lines of Code Counter\n * Pull Request Counter\n * Commit Counter\n * Cost Counter\n * Token Counter\n * Code Edit Tool Decision Counter\n * Active Time Counter\n * Events\n * User Prompt Event\n * Tool Result Event\n * API Request Event\n * API Error Event\n * Tool Decision Event\n* Interpreting Metrics and Events Data\n * Usage Monitoring\n * Cost Monitoring\n * Alerting and Segmentation\n * Event Analysis\n* Backend Considerations\n * For Metrics:\n * For Events/Logs:\n* Service Information\n* ROI Measurement Resources\n* Security/Privacy Considerations\n* Monitoring Claude Code on Amazon Bedrock\n\n### [costs](https://code.claude.com/docs/en/costs.md)\n\n* Track your costs\n * Using the `/cost` command\n * Additional tracking options\n* Managing costs for teams\n * Rate limit recommendations\n* Reduce token usage\n* Background token usage\n* Tracking version changes and updates\n * Current version information\n * Understanding changes in Claude Code behavior\n * When cost reporting changes\n\n### [analytics](https://code.claude.com/docs/en/analytics.md)\n\n* Access analytics\n * Required roles\n* Available metrics\n * Lines of code accepted\n * Suggestion accept rate\n * Activity\n * Spend\n * Team insights\n* Using analytics effectively\n * Monitor adoption\n * Measure productivity\n* Related resources\n\n### [plugin-marketplaces](https://code.claude.com/docs/en/plugin-marketplaces.md)\n\n* Overview\n * Prerequisites\n* Add and use marketplaces\n * Add GitHub marketplaces\n * Add Git repositories\n * Add local marketplaces for development\n * Install plugins from marketplaces\n * Verify marketplace installation\n* Configure team marketplaces\n* Create your own marketplace\n * Prerequisites for marketplace creation\n * Create the marketplace file\n * Marketplace schema\n * Required fields\n * Optional metadata\n * Plugin entries\n * Optional plugin fields\n * Plugin sources\n * Relative paths\n * GitHub repositories\n * Git repositories\n * Advanced plugin entries\n* Host and distribute marketplaces\n * Host on GitHub (recommended)\n * Host on other git services\n * Use local marketplaces for development\n* Manage marketplace operations\n * List known marketplaces\n * Update marketplace metadata\n * Remove a marketplace\n* Troubleshooting marketplaces\n * Common marketplace issues\n * Marketplace not loading\n * Plugin installation failures\n * Validation and testing\n* Next steps\n * For marketplace users\n * For marketplace creators\n * For organizations\n* See also\n\n## Configuration\n\n### [settings](https://code.claude.com/docs/en/settings.md)\n\n* Settings files\n * Available settings\n * Permission settings\n * Sandbox settings\n * Settings precedence\n * Key points about the configuration system\n * System prompt availability\n * Excluding sensitive files\n* Subagent configuration\n* Plugin configuration\n * Plugin settings\n * `enabledPlugins`\n * `extraKnownMarketplaces`\n * Managing plugins\n* Environment variables\n* Tools available to Claude\n * Extending tools with hooks\n* See also\n\n### [vs-code](https://code.claude.com/docs/en/vs-code.md)\n\n* VS Code Extension (Beta)\n * Features\n * Requirements\n * Installation\n * How It Works\n * Using Third-Party Providers (Vertex and Bedrock)\n * Environment Variables\n * Not Yet Implemented\n* Security Considerations\n* Legacy CLI Integration\n* Troubleshooting\n * Extension Not Installing\n * Legacy Integration Not Working\n\n### [jetbrains](https://code.claude.com/docs/en/jetbrains.md)\n\n* Supported IDEs\n* Features\n* Installation\n * Marketplace Installation\n* Usage\n * From Your IDE\n * From External Terminals\n* Configuration\n * Claude Code Settings\n * Plugin Settings\n * General Settings\n * ESC Key Configuration\n* Special Configurations\n * Remote Development\n * WSL Configuration\n* Troubleshooting\n * Plugin Not Working\n * IDE Not Detected\n * Command Not Found\n* Security Considerations\n\n### [terminal-config](https://code.claude.com/docs/en/terminal-config.md)\n\n* Themes and appearance\n* Line breaks\n * Set up Shift+Enter (VS Code or iTerm2):\n * Set up Option+Enter (VS Code, iTerm2 or macOS Terminal.app):\n* Notification setup\n * iTerm 2 system notifications\n * Custom notification hooks\n* Handling large inputs\n* Vim Mode\n\n### [model-config](https://code.claude.com/docs/en/model-config.md)\n\n* Available models\n * Model aliases\n * Setting your model\n* Special model behavior\n * `default` model setting\n * `opusplan` model setting\n * Extended context with \\[1m]\n* Checking your current model\n* Environment variables\n * Prompt caching configuration\n\n### [memory](https://code.claude.com/docs/en/memory.md)\n\n* Determine memory type\n* CLAUDE.md imports\n* How Claude looks up memories\n* Quickly add memories with the `#` shortcut\n* Directly edit memories with `/memory`\n* Set up project memory\n* Organization-level memory management\n* Memory best practices\n\n### [statusline](https://code.claude.com/docs/en/statusline.md)\n\n* Create a custom status line\n* How it Works\n* JSON Input Structure\n* Example Scripts\n * Simple Status Line\n * Git-Aware Status Line\n * Python Example\n * Node.js Example\n * Helper Function Approach\n* Tips\n* Troubleshooting\n\n## Reference\n\n### [cli-reference](https://code.claude.com/docs/en/cli-reference.md)\n\n* CLI commands\n* CLI flags\n * Agents flag format\n * System prompt flags\n* See also\n\n### [interactive-mode](https://code.claude.com/docs/en/interactive-mode.md)\n\n* Keyboard shortcuts\n * General controls\n * Multiline input\n * Quick commands\n* Vim editor mode\n * Mode switching\n * Navigation (NORMAL mode)\n * Editing (NORMAL mode)\n* Command history\n * Reverse search with Ctrl+R\n* Background bash commands\n * How backgrounding works\n * Bash mode with `!` prefix\n* See also\n\n### [slash-commands](https://code.claude.com/docs/en/slash-commands.md)\n\n* Built-in slash commands\n* Custom slash commands\n * Syntax\n * Parameters\n * Command types\n * Project commands\n * Personal commands\n * Features\n * Namespacing\n * Arguments\n * All arguments with `$ARGUMENTS`\n * Individual arguments with `$1`, `$2`, etc.\n * Bash command execution\n * File references\n * Thinking mode\n * Frontmatter\n* Plugin commands\n * How plugin commands work\n * Plugin command structure\n * Invocation patterns\n* MCP slash commands\n * Command format\n * Features\n * Dynamic discovery\n * Arguments\n * Naming conventions\n * Managing MCP connections\n * MCP permissions and wildcards\n* `SlashCommand` tool\n * `SlashCommand` tool supported commands\n * Disable `SlashCommand` tool\n * Disable specific commands only\n * `SlashCommand` permission rules\n * Character budget limit\n* Skills vs slash commands\n * Use slash commands for\n * Use Skills for\n * Key differences\n * Example comparison\n * When to use each\n* See also\n\n### [checkpointing](https://code.claude.com/docs/en/checkpointing.md)\n\n* How checkpoints work\n * Automatic tracking\n * Rewinding changes\n* Common use cases\n* Limitations\n * Bash command changes not tracked\n * External changes not tracked\n * Not a replacement for version control\n* See also\n\n### [hooks](https://code.claude.com/docs/en/hooks.md)\n\n* Configuration\n * Structure\n * Project-Specific Hook Scripts\n * Plugin hooks\n* Prompt-Based Hooks\n * How prompt-based hooks work\n * Configuration\n * Response schema\n * Supported hook events\n * Example: Intelligent Stop hook\n * Example: SubagentStop with custom logic\n * Comparison with bash command hooks\n * Best practices\n* Hook Events\n * PreToolUse\n * PermissionRequest\n * PostToolUse\n * Notification\n * UserPromptSubmit\n * Stop\n * SubagentStop\n * PreCompact\n * SessionStart\n * Persisting environment variables\n * SessionEnd\n* Hook Input\n * PreToolUse Input\n * PermissionRequest\n * PostToolUse Input\n * Notification Input\n * UserPromptSubmit Input\n * Stop and SubagentStop Input\n * PreCompact Input\n * SessionStart Input\n * SessionEnd Input\n* Hook Output\n * Simple: Exit Code\n * Exit Code 2 Behavior\n * Advanced: JSON Output\n * Common JSON Fields\n * `PreToolUse` Decision Control\n * `PermissionRequest` Decision Control\n * `PostToolUse` Decision Control\n * `UserPromptSubmit` Decision Control\n * `Stop`/`SubagentStop` Decision Control\n * `SessionStart` Decision Control\n * `SessionEnd` Decision Control\n * Exit Code Example: Bash Command Validation\n * JSON Output Example: UserPromptSubmit to Add Context and Validation\n * JSON Output Example: PreToolUse with Approval\n* Working with MCP Tools\n * MCP Tool Naming\n * Configuring Hooks for MCP Tools\n* Examples\n* Security Considerations\n * Disclaimer\n * Security Best Practices\n * Configuration Safety\n* Hook Execution Details\n* Debugging\n * Basic Troubleshooting\n * Advanced Debugging\n * Debug Output Example\n\n### [plugins-reference](https://code.claude.com/docs/en/plugins-reference.md)\n\n* Plugin components reference\n * Commands\n * Agents\n * Skills\n * Hooks\n * MCP servers\n* Plugin manifest schema\n * Complete schema\n * Required fields\n * Metadata fields\n * Component path fields\n * Path behavior rules\n * Environment variables\n* Plugin directory structure\n * Standard plugin layout\n * File locations reference\n* Debugging and development tools\n * Debugging commands\n * Common issues\n* Distribution and versioning reference\n * Version management\n\n## Resources\n\n### [legal-and-compliance](https://code.claude.com/docs/en/legal-and-compliance.md)\n\n* Legal agreements\n * License\n * Commercial agreements\n* Compliance\n * Healthcare compliance (BAA)\n* Security and trust\n * Trust and safety\n * Security vulnerability reporting\n\n\n---\n\n> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt","durationMs":2041,"url":"https://code.claude.com/docs/en/claude_code_docs_map.md"}}
{"parentUuid":"f2b5b10d-9f99-4913-a0ea-f3f60d93371b","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01CUrk3GirakwwiSBuZKPAjL","type":"message","role":"assistant","content":[{"type":"text","text":"Great! I found that the CLI reference is in the documentation. Let me fetch the specific CLI reference page:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":7204,"cache_read_input_tokens":8594,"cache_creation":{"ephemeral_5m_input_tokens":7204,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}},"requestId":"req_011CWYJDxYmGNcgFkZa2RfDB","type":"assistant","uuid":"4347b21b-6a7f-41de-a185-3d454e6672f0","timestamp":"2025-12-28T02:29:34.375Z"}
{"parentUuid":"4347b21b-6a7f-41de-a185-3d454e6672f0","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01CUrk3GirakwwiSBuZKPAjL","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01L6Tin1hJ5UXKe96eSvzBMc","name":"WebFetch","input":{"url":"https://code.claude.com/docs/en/cli-reference.md","prompt":"List all Claude Code CLI commands, flags, switches, and options with their descriptions"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":7204,"cache_read_input_tokens":8594,"cache_creation":{"ephemeral_5m_input_tokens":7204,"ephemeral_1h_input_tokens":0},"output_tokens":124,"service_tier":"standard"},"context_management":{"applied_edits":[]}},"requestId":"req_011CWYJDxYmGNcgFkZa2RfDB","type":"assistant","uuid":"d6ef361e-0f9a-4a0b-99e5-0d2084d0ee36","timestamp":"2025-12-28T02:29:34.902Z"}
{"parentUuid":"d6ef361e-0f9a-4a0b-99e5-0d2084d0ee36","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01L6Tin1hJ5UXKe96eSvzBMc","type":"tool_result","content":"# CLI reference\n\n> Complete reference for Claude Code command-line interface, including commands and flags.\n\n## CLI commands\n\n| Command | Description | Example |\n| :------------------------------ | :--------------------------------------------- | :------------------------------------------------ |\n| `claude` | Start interactive REPL | `claude` |\n| `claude \"query\"` | Start REPL with initial prompt | `claude \"explain this project\"` |\n| `claude -p \"query\"` | Query via SDK, then exit | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | Process piped content | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | Continue most recent conversation | `claude -c` |\n| `claude -c -p \"query\"` | Continue via SDK | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session>\" \"query\"` | Resume session by ID or name | `claude -r \"auth-refactor\" \"Finish this PR\"` |\n| `claude update` | Update to latest version | `claude update` |\n| `claude mcp` | Configure Model Context Protocol (MCP) servers | See the [Claude Code MCP documentation](/en/mcp). |\n\n## CLI flags\n\nCustomize Claude Code's behavior with these command-line flags:\n\n| Flag | Description | Example |\n| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------- |\n| `--add-dir` | Add additional working directories for Claude to access (validates each path exists as a directory) | `claude --add-dir ../apps ../lib` |\n| `--agent` | Specify an agent for the current session (overrides the `agent` setting) | `claude --agent my-custom-agent` |\n| `--agents` | Define custom [subagents](/en/sub-agents) dynamically via JSON (see below for format) | `claude --agents '{\"reviewer\":{\"description\":\"Reviews code\",\"prompt\":\"You are a code reviewer\"}}'` |\n| `--allowedTools` | Tools that execute without prompting for permission. To restrict which tools are available, use `--tools` instead | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--append-system-prompt` | Append custom text to the end of the default system prompt (works in both interactive and print modes) | `claude --append-system-prompt \"Always use TypeScript\"` |\n| `--betas` | Beta headers to include in API requests (API key users only) | `claude --betas interleaved-thinking` |\n| `--chrome` | Enable [Chrome browser integration](/en/chrome) for web automation and testing | `claude --chrome` |\n| `--continue`, `-c` | Load the most recent conversation in the current directory | `claude --continue` |\n| `--dangerously-skip-permissions` | Skip permission prompts (use with caution) | `claude --dangerously-skip-permissions` |\n| `--debug` | Enable debug mode with optional category filtering (for example, `\"api,hooks\"` or `\"!statsig,!file\"`) | `claude --debug \"api,mcp\"` |\n| `--disallowedTools` | Tools that are removed from the model's context and cannot be used | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--enable-lsp-logging` | Enable verbose LSP logging for debugging language server issues. Logs are written to `~/.claude/debug/` | `claude --enable-lsp-logging` |\n| `--fallback-model` | Enable automatic fallback to specified model when default model is overloaded (print mode only) | `claude -p --fallback-model sonnet \"query\"` |\n| `--fork-session` | When resuming, create a new session ID instead of reusing the original (use with `--resume` or `--continue`) | `claude --resume abc123 --fork-session` |\n| `--ide` | Automatically connect to IDE on startup if exactly one valid IDE is available | `claude --ide` |\n| `--include-partial-messages` | Include partial streaming events in output (requires `--print` and `--output-format=stream-json`) | `claude -p --output-format stream-json --include-partial-messages \"query\"` |\n| `--input-format` | Specify input format for print mode (options: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |\n| `--json-schema` | Get validated JSON output matching a JSON Schema after agent completes its workflow (print mode only, see [Agent SDK Structured Outputs](https://docs.claude.com/en/docs/agent-sdk/structured-outputs)) | `claude -p --json-schema '{\"type\":\"object\",\"properties\":{...}}' \"query\"` |\n| `--max-turns` | Limit the number of agentic turns in non-interactive mode | `claude -p --max-turns 3 \"query\"` |\n| `--mcp-config` | Load MCP servers from JSON files or strings (space-separated) | `claude --mcp-config ./mcp.json` |\n| `--model` | Sets the model for the current session with an alias for the latest model (`sonnet` or `opus`) or a model's full name | `claude --model claude-sonnet-4-5-20250929` |\n| `--no-chrome` | Disable [Chrome browser integration](/en/chrome) for this session | `claude --no-chrome` |\n| `--output-format` | Specify output format for print mode (options: `text`, `json`, `stream-json`) | `claude -p \"query\" --output-format json` |\n| `--permission-mode` | Begin in a specified [permission mode](/en/iam#permission-modes) | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | Specify an MCP tool to handle permission prompts in non-interactive mode | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--plugin-dir` | Load plugins from directories for this session only (repeatable) | `claude --plugin-dir ./my-plugins` |\n| `--print`, `-p` | Print response without interactive mode (see [SDK documentation](https://docs.claude.com/en/docs/agent-sdk) for programmatic usage details) | `claude -p \"query\"` |\n| `--resume`, `-r` | Resume a specific session by ID or name, or show an interactive picker to choose a session | `claude --resume auth-refactor` |\n| `--session-id` | Use a specific session ID for the conversation (must be a valid UUID) | `claude --session-id \"550e8400-e29b-41d4-a716-446655440000\"` |\n| `--setting-sources` | Comma-separated list of setting sources to load (`user`, `project`, `local`) | `claude --setting-sources user,project` |\n| `--settings` | Path to a settings JSON file or a JSON string to load additional settings from | `claude --settings ./settings.json` |\n| `--strict-mcp-config` | Only use MCP servers from `--mcp-config`, ignoring all other MCP configurations | `claude --strict-mcp-config --mcp-config ./mcp.json` |\n| `--system-prompt` | Replace the entire system prompt with custom text (works in both interactive and print modes) | `claude --system-prompt \"You are a Python expert\"` |\n| `--system-prompt-file` | Load system prompt from a file, replacing the default prompt (print mode only) | `claude -p --system-prompt-file ./custom-prompt.txt \"query\"` |\n| `--tools` | Specify the list of available tools from the built-in set (use `\"\"` to disable all, `\"default\"` for all, or tool names like `\"Bash,Edit,Read\"`) | `claude -p --tools \"Bash,Edit,Read\" \"query\"` |\n| `--verbose` | Enable verbose logging, shows full turn-by-turn output (helpful for debugging in both print and interactive modes) | `claude --verbose` |\n| `--version`, `-v` | Output the version number | `claude -v` |\n\n<Tip>\n The `--output-format json` flag is particularly useful for scripting and\n automation, allowing you to parse Claude's responses programmatically.\n</Tip>\n\n### Agents flag format\n\nThe `--agents` flag accepts a JSON object that defines one or more custom subagents. Each subagent requires a unique name (as the key) and a definition object with the following fields:\n\n| Field | Required | Description |\n| :------------ | :------- | :--------------------------------------------------------------------------------------------------------------------- |\n| `description` | Yes | Natural language description of when the subagent should be invoked |\n| `prompt` | Yes | The system prompt that guides the subagent's behavior |\n| `tools` | No | Array of specific tools the subagent can use (for example, `[\"Read\", \"Edit\", \"Bash\"]`). If omitted, inherits all tools |\n| `model` | No | Model alias to use: `sonnet`, `opus`, or `haiku`. If omitted, uses the default subagent model |\n\nExample:\n\n```bash theme={null}\nclaude --agents '{\n \"code-reviewer\": {\n \"description\": \"Expert code reviewer. Use proactively after code changes.\",\n \"prompt\": \"You are a senior code reviewer. Focus on code quality, security, and best practices.\",\n \"tools\": [\"Read\", \"Grep\", \"Glob\", \"Bash\"],\n \"model\": \"sonnet\"\n },\n \"debugger\": {\n \"description\": \"Debugging specialist for errors and test failures.\",\n \"prompt\": \"You are an expert debugger. Analyze errors, identify root causes, and provide fixes.\"\n }\n}'\n```\n\nFor more details on creating and using subagents, see the [subagents documentation](/en/sub-agents).\n\n### System prompt flags\n\nClaude Code provides three flags for customizing the system prompt, each serving a different purpose:\n\n| Flag | Behavior | Modes | Use Case |\n| :----------------------- | :--------------------------------- | :------------------ | :------------------------------------------------------------------- |\n| `--system-prompt` | **Replaces** entire default prompt | Interactive + Print | Complete control over Claude's behavior and instructions |\n| `--system-prompt-file` | **Replaces** with file contents | Print only | Load prompts from files for reproducibility and version control |\n| `--append-system-prompt` | **Appends** to default prompt | Interactive + Print | Add specific instructions while keeping default Claude Code behavior |\n\n**When to use each:**\n\n* **`--system-prompt`**: Use when you need complete control over Claude's system prompt. This removes all default Claude Code instructions, giving you a blank slate.\n ```bash theme={null}\n claude --system-prompt \"You are a Python expert who only writes type-annotated code\"\n ```\n\n* **`--system-prompt-file`**: Use when you want to load a custom prompt from a file, useful for team consistency or version-controlled prompt templates.\n ```bash theme={null}\n claude -p --system-prompt-file ./prompts/code-review.txt \"Review this PR\"\n ```\n\n* **`--append-system-prompt`**: Use when you want to add specific instructions while keeping Claude Code's default capabilities intact. This is the safest option for most use cases.\n ```bash theme={null}\n claude --append-system-prompt \"Always use TypeScript and include JSDoc comments\"\n ```\n\n<Note>\n `--system-prompt` and `--system-prompt-file` are mutually exclusive. You cannot use both flags simultaneously.\n</Note>\n\n<Tip>\n For most use cases, `--append-system-prompt` is recommended as it preserves Claude Code's built-in capabilities while adding your custom requirements. Use `--system-prompt` or `--system-prompt-file` only when you need complete control over the system prompt.\n</Tip>\n\nFor detailed information about print mode (`-p`) including output formats,\nstreaming, verbose logging, and programmatic usage, see the\n[SDK documentation](https://docs.claude.com/en/docs/agent-sdk).\n\n## See also\n\n* [Chrome extension](/en/chrome) - Browser automation and web testing\n* [Interactive mode](/en/interactive-mode) - Shortcuts, input modes, and interactive features\n* [Slash commands](/en/slash-commands) - Interactive session commands\n* [Quickstart guide](/en/quickstart) - Getting started with Claude Code\n* [Common workflows](/en/common-workflows) - Advanced workflows and patterns\n* [Settings](/en/settings) - Configuration options\n* [SDK documentation](https://docs.claude.com/en/docs/agent-sdk) - Programmatic usage and integrations\n\n\n---\n\n> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt"}]},"uuid":"33413a93-95ea-4094-a37d-6e8aa8e07bbc","timestamp":"2025-12-28T02:29:35.666Z","toolUseResult":{"bytes":19953,"code":200,"codeText":"OK","result":"# CLI reference\n\n> Complete reference for Claude Code command-line interface, including commands and flags.\n\n## CLI commands\n\n| Command | Description | Example |\n| :------------------------------ | :--------------------------------------------- | :------------------------------------------------ |\n| `claude` | Start interactive REPL | `claude` |\n| `claude \"query\"` | Start REPL with initial prompt | `claude \"explain this project\"` |\n| `claude -p \"query\"` | Query via SDK, then exit | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | Process piped content | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | Continue most recent conversation | `claude -c` |\n| `claude -c -p \"query\"` | Continue via SDK | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session>\" \"query\"` | Resume session by ID or name | `claude -r \"auth-refactor\" \"Finish this PR\"` |\n| `claude update` | Update to latest version | `claude update` |\n| `claude mcp` | Configure Model Context Protocol (MCP) servers | See the [Claude Code MCP documentation](/en/mcp). |\n\n## CLI flags\n\nCustomize Claude Code's behavior with these command-line flags:\n\n| Flag | Description | Example |\n| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------- |\n| `--add-dir` | Add additional working directories for Claude to access (validates each path exists as a directory) | `claude --add-dir ../apps ../lib` |\n| `--agent` | Specify an agent for the current session (overrides the `agent` setting) | `claude --agent my-custom-agent` |\n| `--agents` | Define custom [subagents](/en/sub-agents) dynamically via JSON (see below for format) | `claude --agents '{\"reviewer\":{\"description\":\"Reviews code\",\"prompt\":\"You are a code reviewer\"}}'` |\n| `--allowedTools` | Tools that execute without prompting for permission. To restrict which tools are available, use `--tools` instead | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--append-system-prompt` | Append custom text to the end of the default system prompt (works in both interactive and print modes) | `claude --append-system-prompt \"Always use TypeScript\"` |\n| `--betas` | Beta headers to include in API requests (API key users only) | `claude --betas interleaved-thinking` |\n| `--chrome` | Enable [Chrome browser integration](/en/chrome) for web automation and testing | `claude --chrome` |\n| `--continue`, `-c` | Load the most recent conversation in the current directory | `claude --continue` |\n| `--dangerously-skip-permissions` | Skip permission prompts (use with caution) | `claude --dangerously-skip-permissions` |\n| `--debug` | Enable debug mode with optional category filtering (for example, `\"api,hooks\"` or `\"!statsig,!file\"`) | `claude --debug \"api,mcp\"` |\n| `--disallowedTools` | Tools that are removed from the model's context and cannot be used | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--enable-lsp-logging` | Enable verbose LSP logging for debugging language server issues. Logs are written to `~/.claude/debug/` | `claude --enable-lsp-logging` |\n| `--fallback-model` | Enable automatic fallback to specified model when default model is overloaded (print mode only) | `claude -p --fallback-model sonnet \"query\"` |\n| `--fork-session` | When resuming, create a new session ID instead of reusing the original (use with `--resume` or `--continue`) | `claude --resume abc123 --fork-session` |\n| `--ide` | Automatically connect to IDE on startup if exactly one valid IDE is available | `claude --ide` |\n| `--include-partial-messages` | Include partial streaming events in output (requires `--print` and `--output-format=stream-json`) | `claude -p --output-format stream-json --include-partial-messages \"query\"` |\n| `--input-format` | Specify input format for print mode (options: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |\n| `--json-schema` | Get validated JSON output matching a JSON Schema after agent completes its workflow (print mode only, see [Agent SDK Structured Outputs](https://docs.claude.com/en/docs/agent-sdk/structured-outputs)) | `claude -p --json-schema '{\"type\":\"object\",\"properties\":{...}}' \"query\"` |\n| `--max-turns` | Limit the number of agentic turns in non-interactive mode | `claude -p --max-turns 3 \"query\"` |\n| `--mcp-config` | Load MCP servers from JSON files or strings (space-separated) | `claude --mcp-config ./mcp.json` |\n| `--model` | Sets the model for the current session with an alias for the latest model (`sonnet` or `opus`) or a model's full name | `claude --model claude-sonnet-4-5-20250929` |\n| `--no-chrome` | Disable [Chrome browser integration](/en/chrome) for this session | `claude --no-chrome` |\n| `--output-format` | Specify output format for print mode (options: `text`, `json`, `stream-json`) | `claude -p \"query\" --output-format json` |\n| `--permission-mode` | Begin in a specified [permission mode](/en/iam#permission-modes) | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | Specify an MCP tool to handle permission prompts in non-interactive mode | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--plugin-dir` | Load plugins from directories for this session only (repeatable) | `claude --plugin-dir ./my-plugins` |\n| `--print`, `-p` | Print response without interactive mode (see [SDK documentation](https://docs.claude.com/en/docs/agent-sdk) for programmatic usage details) | `claude -p \"query\"` |\n| `--resume`, `-r` | Resume a specific session by ID or name, or show an interactive picker to choose a session | `claude --resume auth-refactor` |\n| `--session-id` | Use a specific session ID for the conversation (must be a valid UUID) | `claude --session-id \"550e8400-e29b-41d4-a716-446655440000\"` |\n| `--setting-sources` | Comma-separated list of setting sources to load (`user`, `project`, `local`) | `claude --setting-sources user,project` |\n| `--settings` | Path to a settings JSON file or a JSON string to load additional settings from | `claude --settings ./settings.json` |\n| `--strict-mcp-config` | Only use MCP servers from `--mcp-config`, ignoring all other MCP configurations | `claude --strict-mcp-config --mcp-config ./mcp.json` |\n| `--system-prompt` | Replace the entire system prompt with custom text (works in both interactive and print modes) | `claude --system-prompt \"You are a Python expert\"` |\n| `--system-prompt-file` | Load system prompt from a file, replacing the default prompt (print mode only) | `claude -p --system-prompt-file ./custom-prompt.txt \"query\"` |\n| `--tools` | Specify the list of available tools from the built-in set (use `\"\"` to disable all, `\"default\"` for all, or tool names like `\"Bash,Edit,Read\"`) | `claude -p --tools \"Bash,Edit,Read\" \"query\"` |\n| `--verbose` | Enable verbose logging, shows full turn-by-turn output (helpful for debugging in both print and interactive modes) | `claude --verbose` |\n| `--version`, `-v` | Output the version number | `claude -v` |\n\n<Tip>\n The `--output-format json` flag is particularly useful for scripting and\n automation, allowing you to parse Claude's responses programmatically.\n</Tip>\n\n### Agents flag format\n\nThe `--agents` flag accepts a JSON object that defines one or more custom subagents. Each subagent requires a unique name (as the key) and a definition object with the following fields:\n\n| Field | Required | Description |\n| :------------ | :------- | :--------------------------------------------------------------------------------------------------------------------- |\n| `description` | Yes | Natural language description of when the subagent should be invoked |\n| `prompt` | Yes | The system prompt that guides the subagent's behavior |\n| `tools` | No | Array of specific tools the subagent can use (for example, `[\"Read\", \"Edit\", \"Bash\"]`). If omitted, inherits all tools |\n| `model` | No | Model alias to use: `sonnet`, `opus`, or `haiku`. If omitted, uses the default subagent model |\n\nExample:\n\n```bash theme={null}\nclaude --agents '{\n \"code-reviewer\": {\n \"description\": \"Expert code reviewer. Use proactively after code changes.\",\n \"prompt\": \"You are a senior code reviewer. Focus on code quality, security, and best practices.\",\n \"tools\": [\"Read\", \"Grep\", \"Glob\", \"Bash\"],\n \"model\": \"sonnet\"\n },\n \"debugger\": {\n \"description\": \"Debugging specialist for errors and test failures.\",\n \"prompt\": \"You are an expert debugger. Analyze errors, identify root causes, and provide fixes.\"\n }\n}'\n```\n\nFor more details on creating and using subagents, see the [subagents documentation](/en/sub-agents).\n\n### System prompt flags\n\nClaude Code provides three flags for customizing the system prompt, each serving a different purpose:\n\n| Flag | Behavior | Modes | Use Case |\n| :----------------------- | :--------------------------------- | :------------------ | :------------------------------------------------------------------- |\n| `--system-prompt` | **Replaces** entire default prompt | Interactive + Print | Complete control over Claude's behavior and instructions |\n| `--system-prompt-file` | **Replaces** with file contents | Print only | Load prompts from files for reproducibility and version control |\n| `--append-system-prompt` | **Appends** to default prompt | Interactive + Print | Add specific instructions while keeping default Claude Code behavior |\n\n**When to use each:**\n\n* **`--system-prompt`**: Use when you need complete control over Claude's system prompt. This removes all default Claude Code instructions, giving you a blank slate.\n ```bash theme={null}\n claude --system-prompt \"You are a Python expert who only writes type-annotated code\"\n ```\n\n* **`--system-prompt-file`**: Use when you want to load a custom prompt from a file, useful for team consistency or version-controlled prompt templates.\n ```bash theme={null}\n claude -p --system-prompt-file ./prompts/code-review.txt \"Review this PR\"\n ```\n\n* **`--append-system-prompt`**: Use when you want to add specific instructions while keeping Claude Code's default capabilities intact. This is the safest option for most use cases.\n ```bash theme={null}\n claude --append-system-prompt \"Always use TypeScript and include JSDoc comments\"\n ```\n\n<Note>\n `--system-prompt` and `--system-prompt-file` are mutually exclusive. You cannot use both flags simultaneously.\n</Note>\n\n<Tip>\n For most use cases, `--append-system-prompt` is recommended as it preserves Claude Code's built-in capabilities while adding your custom requirements. Use `--system-prompt` or `--system-prompt-file` only when you need complete control over the system prompt.\n</Tip>\n\nFor detailed information about print mode (`-p`) including output formats,\nstreaming, verbose logging, and programmatic usage, see the\n[SDK documentation](https://docs.claude.com/en/docs/agent-sdk).\n\n## See also\n\n* [Chrome extension](/en/chrome) - Browser automation and web testing\n* [Interactive mode](/en/interactive-mode) - Shortcuts, input modes, and interactive features\n* [Slash commands](/en/slash-commands) - Interactive session commands\n* [Quickstart guide](/en/quickstart) - Getting started with Claude Code\n* [Common workflows](/en/common-workflows) - Advanced workflows and patterns\n* [Settings](/en/settings) - Configuration options\n* [SDK documentation](https://docs.claude.com/en/docs/agent-sdk) - Programmatic usage and integrations\n\n\n---\n\n> To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt","durationMs":483,"url":"https://code.claude.com/docs/en/cli-reference.md"}}
{"parentUuid":"33413a93-95ea-4094-a37d-6e8aa8e07bbc","isSidechain":true,"userType":"external","cwd":"C:\\Users\\MikeSwanson\\Claude","sessionId":"651b9822-25fa-426b-9723-899e780a997f","version":"2.0.76","gitBranch":"main","agentId":"ab2cce3","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01DUQiExUqVxyFcTnPAxtvBG","type":"message","role":"assistant","content":[{"type":"text","text":"Perfect! Here's the complete reference for Claude Code CLI switches, flags, and options:\n\n## Claude Code CLI Commands & Flags\n\n### CLI Commands\n\n| Command | Description | Example |\n|---------|-------------|---------|\n| `claude` | Start interactive REPL | `claude` |\n| `claude \"query\"` | Start REPL with initial prompt | `claude \"explain this project\"` |\n| `claude -p \"query\"` | Query via SDK, then exit | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | Process piped content | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | Continue most recent conversation | `claude -c` |\n| `claude -c -p \"query\"` | Continue via SDK | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session>\" \"query\"` | Resume session by ID or name | `claude -r \"auth-refactor\" \"Finish this PR\"` |\n| `claude update` | Update to latest version | `claude update` |\n| `claude mcp` | Configure Model Context Protocol (MCP) servers | See MCP documentation |\n\n### CLI Flags (Complete List)\n\n| Flag | Description | Example |\n|------|-------------|---------|\n| `--add-dir` | Add additional working directories for Claude to access | `claude --add-dir ../apps ../lib` |\n| `--agent` | Specify an agent for the current session | `claude --agent my-custom-agent` |\n| `--agents` | Define custom subagents dynamically via JSON | `claude --agents '{\"reviewer\":{\"description\":\"...\",\"prompt\":\"...\"}}'` |\n| `--allowedTools` | Tools that execute without prompting for permission | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--append-system-prompt` | Append custom text to the end of the default system prompt | `claude --append-system-prompt \"Always use TypeScript\"` |\n| `--betas` | Beta headers to include in API requests (API key users only) | `claude --betas interleaved-thinking` |\n| `--chrome` | Enable Chrome browser integration for web automation | `claude --chrome` |\n| `--continue`, `-c` | Load the most recent conversation in current directory | `claude --continue` |\n| `--dangerously-skip-permissions` | Skip permission prompts (use with caution) | `claude --dangerously-skip-permissions` |\n| `--debug` | Enable debug mode with optional category filtering | `claude --debug \"api,mcp\"` |\n| `--disallowedTools` | Tools removed from the model's context | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--enable-lsp-logging` | Enable verbose LSP logging for debugging language server issues | `claude --enable-lsp-logging` |\n| `--fallback-model` | Enable automatic fallback to specified model when default is overloaded | `claude -p --fallback-model sonnet \"query\"` |\n| `--fork-session` | When resuming, create new session ID instead of reusing original | `claude --resume abc123 --fork-session` |\n| `--ide` | Automatically connect to IDE on startup if one is available | `claude --ide` |\n| `--include-partial-messages` | Include partial streaming events in output | `claude -p --output-format stream-json --include-partial-messages \"query\"` |\n| `--input-format` | Specify input format for print mode (options: `text`, `stream-json`) | `claude -p --input-format stream-json` |\n| `--json-schema` | Get validated JSON output matching a JSON Schema | `claude -p --json-schema '{\"type\":\"object\",\"properties\":{...}}' \"query\"` |\n| `--max-turns` | Limit the number of agentic turns in non-interactive mode | `claude -p --max-turns 3 \"query\"` |\n| `--mcp-config` | Load MCP servers from JSON files or strings | `claude --mcp-config ./mcp.json` |\n| `--model` | Sets the model for the current session | `claude --model claude-sonnet-4-5-20250929` |\n| `--no-chrome` | Disable Chrome browser integration for this session | `claude --no-chrome` |\n| `--output-format` | Specify output format for print mode (options: `text`, `json`, `stream-json`) | `claude -p \"query\" --output-format json` |\n| `--permission-mode` | Begin in a specified permission mode | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | Specify an MCP tool to handle permission prompts | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--plugin-dir` | Load plugins from directories for this session only (repeatable) | `claude --plugin-dir ./my-plugins` |\n| `--print`, `-p` | Print response without interactive mode | `claude -p \"query\"` |\n| `--resume`, `-r` | Resume a specific session by ID or name | `claude --resume auth-refactor` |\n| `--session-id` | Use a specific session ID for the conversation (valid UUID) | `claude --session-id \"550e8400-e29b-41d4-a716-446655440000\"` |\n| `--setting-sources` | Comma-separated list of setting sources to load (user, project, local) | `claude --setting-sources user,project` |\n| `--settings` | Path to settings JSON file or JSON string | `claude --settings ./settings.json` |\n| `--strict-mcp-config` | Only use MCP servers from `--mcp-config`, ignoring all others | `claude --strict-mcp-config --mcp-config ./mcp.json` |\n| `--system-prompt` | Replace entire system prompt with custom text | `claude --system-prompt \"You are a Python expert\"` |\n| `--system-prompt-file` | Load system prompt from a file (print mode only) | `claude -p --system-prompt-file ./custom-prompt.txt \"query\"` |\n| `--tools` | Specify list of available tools (use `\"\"` to disable all, `\"default\"` for all) | `claude -p --tools \"Bash,Edit,Read\" \"query\"` |\n| `--verbose` | Enable verbose logging, shows full turn-by-turn output | `claude --verbose` |\n| `--version`, `-v` | Output the version number | `claude -v` |\n\n### Key Flag Notes\n\n**System Prompt Flags** (choose one):\n- `--system-prompt`: Replaces entire default prompt (use for complete control)\n- `--system-prompt-file`: Replaces with file contents (print mode only)\n- `--append-system-prompt`: Appends to default prompt while keeping Claude Code features (recommended for most use cases)\n\n**Agents Flag Format**:\nThe `--agents` flag accepts JSON with this structure:\n```json\n{\n \"agent-name\": {\n \"description\": \"When this agent should be invoked\",\n \"prompt\": \"System prompt for the agent\",\n \"tools\": [\"Read\", \"Edit\", \"Bash\"], // optional\n \"model\": \"sonnet\" // optional (sonnet, opus, or haiku)\n }\n}\n```\n\nThis is the complete and official reference for all Claude Code CLI options as of the latest documentation."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":0,"cache_read_input_tokens":19616,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1819,"service_tier":"standard"},"context_management":{"applied_edits":[]}},"requestId":"req_011CWYJEKzMifq63pusaPLnq","type":"assistant","uuid":"8101ffe1-1b61-4e3d-9aa3-7b4e04b02a51","timestamp":"2025-12-28T02:30:18.323Z"}