SpyBara
Go Premium

Documentation 2025-11-04 18:02 UTC to 2025-11-06 18:02 UTC

41 files changed +372 −323. View all changes and history on the product overview
2025
Thu 27 06:02 Wed 26 00:04 Tue 25 03:22 Mon 24 21:01 Fri 21 00:04 Thu 20 18:02 Wed 19 03:21 Tue 18 18:02 Mon 17 03:24 Sun 16 00:04 Fri 14 21:26 Thu 6 18:02 Tue 4 18:02 Mon 3 21:01 Sun 2 18:01 Sat 1 21:01
Details

58 58 

59#### Advanced credential configuration59#### Advanced credential configuration

60 60 

61Claude Code supports automatic credential refresh for AWS SSO and corporate identity providers. Add these settings to your Claude Code settings file (see [Settings](/en/docs/claude-code/settings) for file locations).61Claude Code supports automatic credential refresh for AWS SSO and corporate identity providers. Add these settings to your Claude Code settings file (see [Settings](/en/settings) for file locations).

62 62 

63When Claude Code detects that your AWS credentials are expired (either locally based on their timestamp or when Bedrock returns a credential error), it will automatically run your configured `awsAuthRefresh` and/or `awsCredentialExport` commands to obtain new credentials before retrying the request.63When Claude Code detects that your AWS credentials are expired (either locally based on their timestamp or when Bedrock returns a credential error), it will automatically run your configured `awsAuthRefresh` and/or `awsCredentialExport` commands to obtain new credentials before retrying the request.

64 64 


102export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2102export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

103```103```

104 104 

105**For VS Code Extension users**: Configure environment variables in the VS Code extension settings instead of exporting them in your shell. See [Using Third-Party Providers in VS Code](/en/vs-code#using-third-party-providers-vertex-and-bedrock) for detailed instructions. All environment variables shown in this guide should work when configured through the VS Code extension settings.

106 

105When enabling Bedrock for Claude Code, keep the following in mind:107When enabling Bedrock for Claude Code, keep the following in mind:

106 108 

107* `AWS_REGION` is a required environment variable. Claude Code does not read from the `.aws` config file for this setting.109* `AWS_REGION` is a required environment variable. Claude Code does not read from the `.aws` config file for this setting.

108* When using Bedrock, the `/login` and `/logout` commands are disabled since authentication is handled through AWS credentials.110* When using Bedrock, the `/login` and `/logout` commands are disabled since authentication is handled through AWS credentials.

109* You can use settings files for environment variables like `AWS_PROFILE` that you don't want to leak to other processes. See [Settings](/en/docs/claude-code/settings) for more information.111* You can use settings files for environment variables like `AWS_PROFILE` that you don't want to leak to other processes. See [Settings](/en/settings) for more information.

110 112 

111### 4. Model configuration113### 4. Model configuration

112 114 


136```138```

137 139 

138<Note>140<Note>

139 [Prompt caching](/en/docs/build-with-claude/prompt-caching) may not be available in all regions141 [Prompt caching](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) may not be available in all regions

140</Note>142</Note>

141 143 

142### 5. Output token configuration144### 5. Output token configuration

analytics.md +2 −2

Details

83 83 

84## Related resources84## Related resources

85 85 

86* [Monitoring usage with OpenTelemetry](/en/docs/claude-code/monitoring-usage) for custom metrics and alerting86* [Monitoring usage with OpenTelemetry](/en/monitoring-usage) for custom metrics and alerting

87* [Identity and access management](/en/docs/claude-code/iam) for role configuration87* [Identity and access management](/en/iam) for role configuration

Details

60 60 

61## See also61## See also

62 62 

63* [Interactive mode](/en/docs/claude-code/interactive-mode) - Keyboard shortcuts and session controls63* [Interactive mode](/en/interactive-mode) - Keyboard shortcuts and session controls

64* [Slash commands](/en/docs/claude-code/slash-commands) - Accessing checkpoints using `/rewind`64* [Slash commands](/en/slash-commands) - Accessing checkpoints using `/rewind`

65* [CLI reference](/en/docs/claude-code/cli-reference) - Command-line options65* [CLI reference](/en/cli-reference) - Command-line options

Details

129 129 

130### Dependency management130### Dependency management

131 131 

132Configure automatic dependency installation using [SessionStart hooks](/en/docs/claude-code/hooks#sessionstart). This can be configured in your repository's `.claude/settings.json` file:132Configure automatic dependency installation using [SessionStart hooks](/en/hooks#sessionstart). This can be configured in your repository's `.claude/settings.json` file:

133 133 

134```json theme={null}134```json theme={null}

135{135{


178 178 

179#### Persisting environment variables179#### Persisting environment variables

180 180 

181SessionStart hooks can persist environment variables for subsequent bash commands by writing to the file specified in the `CLAUDE_ENV_FILE` environment variable. For details, see [SessionStart hooks](/en/docs/claude-code/hooks#sessionstart) in the hooks reference.181SessionStart hooks can persist environment variables for subsequent bash commands by writing to the file specified in the `CLAUDE_ENV_FILE` environment variable. For details, see [SessionStart hooks](/en/hooks#sessionstart) in the hooks reference.

182 182 

183## Network access and security183## Network access and security

184 184 


464 464 

465## Best practices465## Best practices

466 466 

4671. **Use Claude Code hooks**: Configure [sessionStart hooks](/en/docs/claude-code/hooks#sessionstart) to automate environment setup and dependency installation.4671. **Use Claude Code hooks**: Configure [sessionStart hooks](/en/hooks#sessionstart) to automate environment setup and dependency installation.

4682. **Document requirements**: Clearly specify dependencies and commands in your `CLAUDE.md` file. If you have an `AGENTS.md` file, you can source it in your `CLAUDE.md` using `@AGENTS.md` to maintain a single source of truth.4682. **Document requirements**: Clearly specify dependencies and commands in your `CLAUDE.md` file. If you have an `AGENTS.md` file, you can source it in your `CLAUDE.md` using `@AGENTS.md` to maintain a single source of truth.

469 469 

470## Related resources470## Related resources

471 471 

472* [Hooks configuration](/en/docs/claude-code/hooks)472* [Hooks configuration](/en/hooks)

473* [Settings reference](/en/docs/claude-code/settings)473* [Settings reference](/en/settings)

474* [Security](/en/docs/claude-code/security)474* [Security](/en/security)

475* [Data usage](/en/docs/claude-code/data-usage)475* [Data usage](/en/data-usage)

cli-reference.md +16 −16

Details

5## CLI commands5## CLI commands

6 6 

7| Command | Description | Example |7| Command | Description | Example |

8| :--------------------------------- | :--------------------------------------------- | :----------------------------------------------------------------- |8| :--------------------------------- | :--------------------------------------------- | :------------------------------------------------ |

9| `claude` | Start interactive REPL | `claude` |9| `claude` | Start interactive REPL | `claude` |

10| `claude "query"` | Start REPL with initial prompt | `claude "explain this project"` |10| `claude "query"` | Start REPL with initial prompt | `claude "explain this project"` |

11| `claude -p "query"` | Query via SDK, then exit | `claude -p "explain this function"` |11| `claude -p "query"` | Query via SDK, then exit | `claude -p "explain this function"` |


14| `claude -c -p "query"` | Continue via SDK | `claude -c -p "Check for type errors"` |14| `claude -c -p "query"` | Continue via SDK | `claude -c -p "Check for type errors"` |

15| `claude -r "<session-id>" "query"` | Resume session by ID | `claude -r "abc123" "Finish this PR"` |15| `claude -r "<session-id>" "query"` | Resume session by ID | `claude -r "abc123" "Finish this PR"` |

16| `claude update` | Update to latest version | `claude update` |16| `claude update` | Update to latest version | `claude update` |

17| `claude mcp` | Configure Model Context Protocol (MCP) servers | See the [Claude Code MCP documentation](/en/docs/claude-code/mcp). |17| `claude mcp` | Configure Model Context Protocol (MCP) servers | See the [Claude Code MCP documentation](/en/mcp). |

18 18 

19## CLI flags19## CLI flags

20 20 

21Customize Claude Code's behavior with these command-line flags:21Customize Claude Code's behavior with these command-line flags:

22 22 

23| Flag | Description | Example |23| Flag | Description | Example |

24| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |24| :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |

25| `--add-dir` | Add additional working directories for Claude to access (validates each path exists as a directory) | `claude --add-dir ../apps ../lib` |25| `--add-dir` | Add additional working directories for Claude to access (validates each path exists as a directory) | `claude --add-dir ../apps ../lib` |

26| `--agents` | Define custom [subagents](/en/docs/claude-code/sub-agents) dynamically via JSON (see below for format) | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |26| `--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"}}'` |

27| `--allowedTools` | A list of tools that should be allowed without prompting the user for permission, in addition to [settings.json files](/en/docs/claude-code/settings) | `"Bash(git log:*)" "Bash(git diff:*)" "Read"` |27| `--allowedTools` | A list of tools that should be allowed without prompting the user for permission, in addition to [settings.json files](/en/settings) | `"Bash(git log:*)" "Bash(git diff:*)" "Read"` |

28| `--disallowedTools` | A list of tools that should be disallowed without prompting the user for permission, in addition to [settings.json files](/en/docs/claude-code/settings) | `"Bash(git log:*)" "Bash(git diff:*)" "Edit"` |28| `--disallowedTools` | A list of tools that should be disallowed without prompting the user for permission, in addition to [settings.json files](/en/settings) | `"Bash(git log:*)" "Bash(git diff:*)" "Edit"` |

29| `--print`, `-p` | Print response without interactive mode (see [SDK documentation](/en/docs/claude-code/sdk) for programmatic usage details) | `claude -p "query"` |29| `--print`, `-p` | Print response without interactive mode (see [SDK documentation](https://docs.claude.com/en/api/agent-sdk) for programmatic usage details) | `claude -p "query"` |

30| `--system-prompt` | Replace the entire system prompt with custom text (works in both interactive and print modes; added in v2.0.14) | `claude --system-prompt "You are a Python expert"` |30| `--system-prompt` | Replace the entire system prompt with custom text (works in both interactive and print modes; added in v2.0.14) | `claude --system-prompt "You are a Python expert"` |

31| `--system-prompt-file` | Load system prompt from a file, replacing the default prompt (print mode only; added in v1.0.54) | `claude -p --system-prompt-file ./custom-prompt.txt "query"` |31| `--system-prompt-file` | Load system prompt from a file, replacing the default prompt (print mode only; added in v1.0.54) | `claude -p --system-prompt-file ./custom-prompt.txt "query"` |

32| `--append-system-prompt` | Append custom text to the end of the default system prompt (works in both interactive and print modes; added in v1.0.55) | `claude --append-system-prompt "Always use TypeScript"` |32| `--append-system-prompt` | Append custom text to the end of the default system prompt (works in both interactive and print modes; added in v1.0.55) | `claude --append-system-prompt "Always use TypeScript"` |


36| `--verbose` | Enable verbose logging, shows full turn-by-turn output (helpful for debugging in both print and interactive modes) | `claude --verbose` |36| `--verbose` | Enable verbose logging, shows full turn-by-turn output (helpful for debugging in both print and interactive modes) | `claude --verbose` |

37| `--max-turns` | Limit the number of agentic turns in non-interactive mode | `claude -p --max-turns 3 "query"` |37| `--max-turns` | Limit the number of agentic turns in non-interactive mode | `claude -p --max-turns 3 "query"` |

38| `--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` |38| `--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` |

39| `--permission-mode` | Begin in a specified [permission mode](iam#permission-modes) | `claude --permission-mode plan` |39| `--permission-mode` | Begin in a specified [permission mode](/en/iam#permission-modes) | `claude --permission-mode plan` |

40| `--permission-prompt-tool` | Specify an MCP tool to handle permission prompts in non-interactive mode | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |40| `--permission-prompt-tool` | Specify an MCP tool to handle permission prompts in non-interactive mode | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

41| `--resume` | Resume a specific session by ID, or by choosing in interactive mode | `claude --resume abc123 "query"` |41| `--resume` | Resume a specific session by ID, or by choosing in interactive mode | `claude --resume abc123 "query"` |

42| `--continue` | Load the most recent conversation in the current directory | `claude --continue` |42| `--continue` | Load the most recent conversation in the current directory | `claude --continue` |


75}'75}'

76```76```

77 77 

78For more details on creating and using subagents, see the [subagents documentation](/en/docs/claude-code/sub-agents).78For more details on creating and using subagents, see the [subagents documentation](/en/sub-agents).

79 79 

80### System prompt flags80### System prompt flags

81 81 


114 114 

115For detailed information about print mode (`-p`) including output formats,115For detailed information about print mode (`-p`) including output formats,

116streaming, verbose logging, and programmatic usage, see the116streaming, verbose logging, and programmatic usage, see the

117[SDK documentation](/en/docs/claude-code/sdk).117[SDK documentation](https://docs.claude.com/en/api/agent-sdk).

118 118 

119## See also119## See also

120 120 

121* [Interactive mode](/en/docs/claude-code/interactive-mode) - Shortcuts, input modes, and interactive features121* [Interactive mode](/en/interactive-mode) - Shortcuts, input modes, and interactive features

122* [Slash commands](/en/docs/claude-code/slash-commands) - Interactive session commands122* [Slash commands](/en/slash-commands) - Interactive session commands

123* [Quickstart guide](/en/docs/claude-code/quickstart) - Getting started with Claude Code123* [Quickstart guide](/en/quickstart) - Getting started with Claude Code

124* [Common workflows](/en/docs/claude-code/common-workflows) - Advanced workflows and patterns124* [Common workflows](/en/common-workflows) - Advanced workflows and patterns

125* [Settings](/en/docs/claude-code/settings) - Configuration options125* [Settings](/en/settings) - Configuration options

126* [SDK documentation](/en/docs/claude-code/sdk) - Programmatic usage and integrations126* [SDK documentation](https://docs.claude.com/en/api/agent-sdk) - Programmatic usage and integrations

Details

214 * Create project-specific subagents in `.claude/agents/` for team sharing214 * Create project-specific subagents in `.claude/agents/` for team sharing

215 * Use descriptive `description` fields to enable automatic delegation215 * Use descriptive `description` fields to enable automatic delegation

216 * Limit tool access to what each subagent actually needs216 * Limit tool access to what each subagent actually needs

217 * Check the [subagents documentation](/en/docs/claude-code/sub-agents) for detailed examples217 * Check the [subagents documentation](/en/sub-agents) for detailed examples

218</Tip>218</Tip>

219 219 

220***220***


247 247 

248**Run "headless" queries in Plan Mode**248**Run "headless" queries in Plan Mode**

249 249 

250You can also run a query in Plan Mode directly with `-p` (i.e., in ["headless mode"](/en/docs/claude-code/sdk/sdk-headless)):250You can also run a query in Plan Mode directly with `-p` (i.e., in ["headless mode"](/en/headless)):

251 251 

252```bash theme={null}252```bash theme={null}

253claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"253claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"


281}281}

282```282```

283 283 

284See [settings documentation](/en/docs/claude-code/settings#available-settings) for more configuration options.284See [settings documentation](/en/settings#available-settings) for more configuration options.

285 285 

286***286***

287 287 


488 > Show me the data from @github:repos/owner/repo/issues488 > Show me the data from @github:repos/owner/repo/issues

489 ```489 ```

490 490 

491 This fetches data from connected MCP servers using the format @server:resource. See [MCP resources](/en/docs/claude-code/mcp#use-mcp-resources) for details.491 This fetches data from connected MCP servers using the format @server:resource. See [MCP resources](/en/mcp#use-mcp-resources) for details.

492 </Step>492 </Step>

493</Steps>493</Steps>

494 494 


508Suppose you're working on complex architectural decisions, challenging bugs, or planning multi-step implementations that require deep reasoning.508Suppose you're working on complex architectural decisions, challenging bugs, or planning multi-step implementations that require deep reasoning.

509 509 

510<Note>510<Note>

511 [Extended thinking](/en/docs/build-with-claude/extended-thinking) is disabled by default in Claude Code. You can enable it on-demand by using `Tab` to toggle Thinking on, or by using prompts like "think" or "think hard". You can also enable it permanently by setting the [`MAX_THINKING_TOKENS` environment variable](/en/docs/claude-code/settings#environment-variables) in your settings.511 [Extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) is disabled by default in Claude Code. You can enable it on-demand by using `Tab` to toggle Thinking on, or by using prompts like "think" or "think hard". You can also enable it permanently by setting the [`MAX_THINKING_TOKENS` environment variable](/en/settings#environment-variables) in your settings.

512</Note>512</Note>

513 513 

514<Steps>514<Steps>


535<Tip>535<Tip>

536 Tips to get the most value out of extended thinking:536 Tips to get the most value out of extended thinking:

537 537 

538 [Extended thinking](/en/docs/build-with-claude/extended-thinking) is most valuable for complex tasks such as:538 [Extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) is most valuable for complex tasks such as:

539 539 

540 * Planning complex architectural changes540 * Planning complex architectural changes

541 * Debugging intricate issues541 * Debugging intricate issues


550 * "think" triggers basic extended thinking550 * "think" triggers basic extended thinking

551 * intensifying phrases such as "keep hard", "think more", "think a lot", or "think longer" triggers deeper thinking551 * intensifying phrases such as "keep hard", "think more", "think a lot", or "think longer" triggers deeper thinking

552 552 

553 For more extended thinking prompting tips, see [Extended thinking tips](/en/docs/build-with-claude/prompt-engineering/extended-thinking-tips).553 For more extended thinking prompting tips, see [Extended thinking tips](https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/extended-thinking-tips).

554</Tip>554</Tip>

555 555 

556<Note>556<Note>


793 793 

794Claude Code supports custom slash commands that you can create to quickly execute specific prompts or tasks.794Claude Code supports custom slash commands that you can create to quickly execute specific prompts or tasks.

795 795 

796For more details, see the [Slash commands](/en/docs/claude-code/slash-commands) reference page.796For more details, see the [Slash commands](/en/slash-commands) reference page.

797 797 

798### Create project-specific commands798### Create project-specific commands

799 799 

costs.md +1 −1

Details

35 35 

36When using Claude API, you can limit the total Claude Code workspace spend. To configure, [follow these instructions](https://support.claude.com/en/articles/9796807-creating-and-managing-workspaces). Admins can view cost and usage reporting by [following these instructions](https://support.claude.com/en/articles/9534590-cost-and-usage-reporting-in-console).36When using Claude API, you can limit the total Claude Code workspace spend. To configure, [follow these instructions](https://support.claude.com/en/articles/9796807-creating-and-managing-workspaces). Admins can view cost and usage reporting by [following these instructions](https://support.claude.com/en/articles/9534590-cost-and-usage-reporting-in-console).

37 37 

38On Bedrock and Vertex, Claude Code does not send metrics from your cloud. In order to get cost metrics, several large enterprises reported using [LiteLLM](/en/docs/claude-code/bedrock-vertex-proxies#litellm), which is an open-source tool that helps companies [track spend by key](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). This project is unaffiliated with Anthropic and we have not audited its security.38On Bedrock and Vertex, Claude Code does not send metrics from your cloud. In order to get cost metrics, several large enterprises reported using [LiteLLM](/en/third-party-integrations#litellm), which is an open-source tool that helps companies [track spend by key](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). This project is unaffiliated with Anthropic and we have not audited its security.

39 39 

40### Rate limit recommendations40### Rate limit recommendations

41 41 

data-usage.md +5 −5

Details

39 39 

40* Users who allow data use for model improvement: 5-year retention period to support model development and safety improvements40* Users who allow data use for model improvement: 5-year retention period to support model development and safety improvements

41* Users who don't allow data use for model improvement: 30-day retention period41* Users who don't allow data use for model improvement: 30-day retention period

42* Privacy settings can be changed at any time at [claude.ai/settings/data-privacy-controls](claude.ai/settings/data-privacy-controls).42* Privacy settings can be changed at any time at [claude.ai/settings/data-privacy-controls](https://claude.ai/settings/data-privacy-controls).

43 43 

44**Commercial users (Team, Enterprise, and API)**:44**Commercial users (Team, Enterprise, and API)**:

45 45 


53 53 

54## Data flow and dependencies54## Data flow and dependencies

55 55 

56<img src="https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=4b30069d702719e7bfb974eaaafab21c" alt="Claude Code data flow diagram" data-og-width="1597" width="1597" data-og-height="1285" height="1285" data-path="images/claude-code-data-flow.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?w=280&fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=067676caa12f89051cb193e6b3f7d0a0 280w, https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?w=560&fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=5506197deff927f54f2fb5a349f358a8 560w, https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?w=840&fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=bb4febe7974dde5b76b88744f89ab472 840w, https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?w=1100&fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=b51af3074f87b33ccc342aaad655dcbf 1100w, https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?w=1650&fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=8fd96f1dde615877d4e4bbe1874af12d 1650w, https://mintcdn.com/anthropic-claude-docs/LF5WV0SNF6oudpT5/images/claude-code-data-flow.png?w=2500&fit=max&auto=format&n=LF5WV0SNF6oudpT5&q=85&s=056deded541ec30e9b67a67d620f6aaf 2500w" />56<img src="https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=4672f138596e864633b4b7c7ae4ae812" alt="Claude Code data flow diagram" data-og-width="1597" width="1597" data-og-height="1285" height="1285" data-path="images/claude-code-data-flow.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?w=280&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=5d9bdaf7ea50fc38dc01bbde7b952835 280w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?w=560&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=525736e5860ac9f262de4b40c9c68a0e 560w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?w=840&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=5262f9d1a1d0cffb0d5944e49b2d72be 840w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?w=1100&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=ec74e6b2f87b667f6d0e2278c20944de 1100w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?w=1650&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=05f11b1d061b6ddbb69969d4e535547a 1650w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/claude-code-data-flow.png?w=2500&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=9b9cce0fb5989bd1d27f143825be73ff 2500w" />

57 57 

58Claude Code is installed from [NPM](https://www.npmjs.com/package/@anthropic-ai/claude-code). Claude Code runs locally. In order to interact with the LLM, Claude Code sends data over the network. This data includes all user prompts and model outputs. The data is encrypted in transit via TLS and is not encrypted at rest. Claude Code is compatible with most popular VPNs and LLM proxies.58Claude Code is installed from [NPM](https://www.npmjs.com/package/@anthropic-ai/claude-code). Claude Code runs locally. In order to interact with the LLM, Claude Code sends data over the network. This data includes all user prompts and model outputs. The data is encrypted in transit via TLS and is not encrypted at rest. Claude Code is compatible with most popular VPNs and LLM proxies.

59 59 


65 The above data flow diagram and description applies to Claude Code CLI running locally on your machine. For cloud-based sessions using Claude Code on the web, see the section below.65 The above data flow diagram and description applies to Claude Code CLI running locally on your machine. For cloud-based sessions using Claude Code on the web, see the section below.

66</Note>66</Note>

67 67 

68When using [Claude Code on the web](/en/docs/claude-code/claude-code-on-the-web), sessions run in Anthropic-managed virtual machines instead of locally. In cloud environments:68When using [Claude Code on the web](/en/claude-code-on-the-web), sessions run in Anthropic-managed virtual machines instead of locally. In cloud environments:

69 69 

70* **Code storage**: Your repository is cloned to an isolated VM and automatically deleted after session completion70* **Code storage**: Your repository is cloned to an isolated VM and automatically deleted after session completion

71* **Credentials**: GitHub authentication is handled through a secure proxy; your GitHub credentials never enter the sandbox71* **Credentials**: GitHub authentication is handled through a secure proxy; your GitHub credentials never enter the sandbox


73* **Data retention**: Code and session data are subject to the retention and usage policies for your account type73* **Data retention**: Code and session data are subject to the retention and usage policies for your account type

74* **Session data**: Prompts, code changes, and outputs follow the same data policies as local Claude Code usage74* **Session data**: Prompts, code changes, and outputs follow the same data policies as local Claude Code usage

75 75 

76For security details about cloud execution, see [Security](/en/docs/claude-code/security#cloud-execution-security).76For security details about cloud execution, see [Security](/en/security#cloud-execution-security).

77 77 

78## Telemetry services78## Telemetry services

79 79 


93| **Sentry (Errors)** | Default on.<br />`DISABLE_ERROR_REPORTING=1` to disable. | Default off.<br />`CLAUDE_CODE_USE_VERTEX` must be 1. | Default off.<br />`CLAUDE_CODE_USE_BEDROCK` must be 1. |93| **Sentry (Errors)** | Default on.<br />`DISABLE_ERROR_REPORTING=1` to disable. | Default off.<br />`CLAUDE_CODE_USE_VERTEX` must be 1. | Default off.<br />`CLAUDE_CODE_USE_BEDROCK` must be 1. |

94| **Claude API (`/bug` reports)** | Default on.<br />`DISABLE_BUG_COMMAND=1` to disable. | Default off.<br />`CLAUDE_CODE_USE_VERTEX` must be 1. | Default off.<br />`CLAUDE_CODE_USE_BEDROCK` must be 1. |94| **Claude API (`/bug` reports)** | Default on.<br />`DISABLE_BUG_COMMAND=1` to disable. | Default off.<br />`CLAUDE_CODE_USE_VERTEX` must be 1. | Default off.<br />`CLAUDE_CODE_USE_BEDROCK` must be 1. |

95 95 

96All environment variables can be checked into `settings.json` ([read more](/en/docs/claude-code/settings)).96All environment variables can be checked into `settings.json` ([read more](/en/settings)).

devcontainer.md +2 −2

Details

73## Related resources73## Related resources

74 74 

75* [VS Code devcontainers documentation](https://code.visualstudio.com/docs/devcontainers/containers)75* [VS Code devcontainers documentation](https://code.visualstudio.com/docs/devcontainers/containers)

76* [Claude Code security best practices](/en/docs/claude-code/security)76* [Claude Code security best practices](/en/security)

77* [Enterprise network configuration](/en/docs/claude-code/network-config)77* [Enterprise network configuration](/en/network-config)

Details

6 6 

7<Note>7<Note>

8 Claude Code GitHub Actions is built on top of the [Claude Code8 Claude Code GitHub Actions is built on top of the [Claude Code

9 SDK](/en/docs/claude-code/sdk), which enables programmatic integration of9 SDK](https://docs.claude.com/en/api/agent-sdk), which enables programmatic integration of

10 Claude Code into your applications. You can use the SDK to build custom10 Claude Code into your applications. You can use the SDK to build custom

11 automation workflows beyond GitHub Actions.11 automation workflows beyond GitHub Actions.

12</Note>12</Note>


663 663 

664You can configure Claude's behavior in two ways:664You can configure Claude's behavior in two ways:

665 665 

6661. **CLAUDE.md**: Define coding standards, review criteria, and project-specific rules in a `CLAUDE.md` file at the root of your repository. Claude will follow these guidelines when creating PRs and responding to requests. Check out our [Memory documentation](/en/docs/claude-code/memory) for more details.6661. **CLAUDE.md**: Define coding standards, review criteria, and project-specific rules in a `CLAUDE.md` file at the root of your repository. Claude will follow these guidelines when creating PRs and responding to requests. Check out our [Memory documentation](/en/memory) for more details.

6672. **Custom prompts**: Use the `prompt` parameter in the workflow file to provide workflow-specific instructions. This allows you to customize Claude's behavior for different workflows or tasks.6672. **Custom prompts**: Use the `prompt` parameter in the workflow file to provide workflow-specific instructions. This allows you to customize Claude's behavior for different workflows or tasks.

668 668 

669Claude will follow these guidelines when creating PRs and responding to requests.669Claude will follow these guidelines when creating PRs and responding to requests.

gitlab-ci-cd.md +2 −2

Details

9</Info>9</Info>

10 10 

11<Note>11<Note>

12 This integration is built on top of the [Claude Code CLI and SDK](/en/docs/claude-code/sdk), enabling programmatic use of Claude in your CI/CD jobs and custom automation workflows.12 This integration is built on top of the [Claude Code CLI and SDK](https://docs.claude.com/en/api/agent-sdk), enabling programmatic use of Claude in your CI/CD jobs and custom automation workflows.

13</Note>13</Note>

14 14 

15## Why use Claude Code with GitLab?15## Why use Claude Code with GitLab?


404* **API costs**:404* **API costs**:

405 * Each Claude interaction consumes tokens based on prompt and response size405 * Each Claude interaction consumes tokens based on prompt and response size

406 * Token usage varies by task complexity and codebase size406 * Token usage varies by task complexity and codebase size

407 * See [Anthropic pricing](/en/docs/about-claude/pricing) for details407 * See [Anthropic pricing](https://docs.claude.com/en/docs/about-claude/pricing) for details

408 408 

409* **Cost optimization tips**:409* **Cost optimization tips**:

410 * Use specific `@claude` commands to reduce unnecessary turns410 * Use specific `@claude` commands to reduce unnecessary turns

Details

82```82```

83 83 

84<Note>84<Note>

85 [Prompt caching](/en/docs/build-with-claude/prompt-caching) is automatically supported when you specify the `cache_control` ephemeral flag. To disable it, set `DISABLE_PROMPT_CACHING=1`. For heightened rate limits, contact Google Cloud support.85 [Prompt caching](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) is automatically supported when you specify the `cache_control` ephemeral flag. To disable it, set `DISABLE_PROMPT_CACHING=1`. For heightened rate limits, contact Google Cloud support.

86</Note>86</Note>

87 87 

88<Note>88<Note>


127 127 

128## 1M token context window128## 1M token context window

129 129 

130Claude Sonnet 4 and Sonnet 4.5 support the [1M token context window](/en/docs/build-with-claude/context-windows#1m-token-context-window) on Vertex AI.130Claude Sonnet 4 and Sonnet 4.5 support the [1M token context window](https://docs.claude.com/en/docs/build-with-claude/context-windows#1m-token-context-window) on Vertex AI.

131 131 

132<Note>132<Note>

133 The 1M token context window is currently in beta. To use the extended context window, include the `context-1m-2025-08-07` beta header in your Vertex AI requests.133 The 1M token context window is currently in beta. To use the extended context window, include the `context-1m-2025-08-07` beta header in your Vertex AI requests.

headless.md +3 −3

Details

33| `--mcp-config` | Load MCP servers from a JSON file | `claude --mcp-config servers.json` |33| `--mcp-config` | Load MCP servers from a JSON file | `claude --mcp-config servers.json` |

34| `--permission-prompt-tool` | MCP tool for handling permission prompts (only with `--print`) | `claude --permission-prompt-tool mcp__auth__prompt` |34| `--permission-prompt-tool` | MCP tool for handling permission prompts (only with `--print`) | `claude --permission-prompt-tool mcp__auth__prompt` |

35 35 

36For a complete list of CLI options and features, see the [CLI reference](/en/docs/claude-code/cli-reference) documentation.36For a complete list of CLI options and features, see the [CLI reference](/en/cli-reference) documentation.

37 37 

38## Multi-turn conversations38## Multi-turn conversations

39 39 


200 200 

201## Related Resources201## Related Resources

202 202 

203* [CLI usage and controls](/en/docs/claude-code/cli-reference) - Complete CLI documentation203* [CLI usage and controls](/en/cli-reference) - Complete CLI documentation

204* [Common workflows](/en/docs/claude-code/common-workflows) - Step-by-step guides for common use cases204* [Common workflows](/en/common-workflows) - Step-by-step guides for common use cases

hooks.md +8 −8

Details

3> This page provides reference documentation for implementing hooks in Claude Code.3> This page provides reference documentation for implementing hooks in Claude Code.

4 4 

5<Tip>5<Tip>

6 For a quickstart guide with examples, see [Get started with Claude Code hooks](/en/docs/claude-code/hooks-guide).6 For a quickstart guide with examples, see [Get started with Claude Code hooks](/en/hooks-guide).

7</Tip>7</Tip>

8 8 

9## Configuration9## Configuration

10 10 

11Claude Code hooks are configured in your [settings files](/en/docs/claude-code/settings):11Claude Code hooks are configured in your [settings files](/en/settings):

12 12 

13* `~/.claude/settings.json` - User settings13* `~/.claude/settings.json` - User settings

14* `.claude/settings.json` - Project settings14* `.claude/settings.json` - Project settings


95 95 

96### Plugin hooks96### Plugin hooks

97 97 

98[Plugins](/en/docs/claude-code/plugins) can provide hooks that integrate seamlessly with your user and project hooks. Plugin hooks are automatically merged with your configuration when plugins are enabled.98[Plugins](/en/plugins) can provide hooks that integrate seamlessly with your user and project hooks. Plugin hooks are automatically merged with your configuration when plugins are enabled.

99 99 

100**How plugin hooks work**:100**How plugin hooks work**:

101 101 


140* `${CLAUDE_PROJECT_DIR}`: Project root directory (same as for project hooks)140* `${CLAUDE_PROJECT_DIR}`: Project root directory (same as for project hooks)

141* All standard environment variables are available141* All standard environment variables are available

142 142 

143See the [plugin components reference](/en/docs/claude-code/plugins-reference#hooks) for details on creating plugin hooks.143See the [plugin components reference](/en/plugins-reference#hooks) for details on creating plugin hooks.

144 144 

145## Prompt-Based Hooks145## Prompt-Based Hooks

146 146 


270* **Set appropriate timeouts**: Default is 30 seconds, adjust if needed270* **Set appropriate timeouts**: Default is 30 seconds, adjust if needed

271* **Use for complex decisions**: Bash hooks are better for simple, deterministic rules271* **Use for complex decisions**: Bash hooks are better for simple, deterministic rules

272 272 

273See the [plugin components reference](/en/docs/claude-code/plugins-reference#hooks) for details on creating plugin hooks.273See the [plugin components reference](/en/plugins-reference#hooks) for details on creating plugin hooks.

274 274 

275## Hook Events275## Hook Events

276 276 


280 280 

281**Common matchers:**281**Common matchers:**

282 282 

283* `Task` - Subagent tasks (see [subagents documentation](/en/docs/claude-code/sub-agents))283* `Task` - Subagent tasks (see [subagents documentation](/en/sub-agents))

284* `Bash` - Shell commands284* `Bash` - Shell commands

285* `Glob` - File pattern matching285* `Glob` - File pattern matching

286* `Grep` - Content search286* `Grep` - Content search


871## Working with MCP Tools871## Working with MCP Tools

872 872 

873Claude Code hooks work seamlessly with873Claude Code hooks work seamlessly with

874[Model Context Protocol (MCP) tools](/en/docs/claude-code/mcp). When MCP servers874[Model Context Protocol (MCP) tools](/en/mcp). When MCP servers

875provide tools, they appear with a special naming pattern that you can match in875provide tools, they appear with a special naming pattern that you can match in

876your hooks.876your hooks.

877 877 


917## Examples917## Examples

918 918 

919<Tip>919<Tip>

920 For practical examples including code formatting, notifications, and file protection, see [More Examples](/en/docs/claude-code/hooks-guide#more-examples) in the get started guide.920 For practical examples including code formatting, notifications, and file protection, see [More Examples](/en/hooks-guide#more-examples) in the get started guide.

921</Tip>921</Tip>

922 922 

923## Security Considerations923## Security Considerations

hooks-guide.md +6 −6

Details

8the LLM to choose to run them.8the LLM to choose to run them.

9 9 

10<Tip>10<Tip>

11 For reference documentation on hooks, see [Hooks reference](/en/docs/claude-code/hooks).11 For reference documentation on hooks, see [Hooks reference](/en/hooks).

12</Tip>12</Tip>

13 13 

14Example use cases for hooks include:14Example use cases for hooks include:


31 You must consider the security implication of hooks as you add them, because hooks run automatically during the agent loop with your current environment's credentials.31 You must consider the security implication of hooks as you add them, because hooks run automatically during the agent loop with your current environment's credentials.

32 For example, malicious hooks code can exfiltrate your data. Always review your hooks implementation before registering them.32 For example, malicious hooks code can exfiltrate your data. Always review your hooks implementation before registering them.

33 33 

34 For full security best practices, see [Security Considerations](/en/docs/claude-code/hooks#security-considerations) in the hooks reference documentation.34 For full security best practices, see [Security Considerations](/en/hooks#security-considerations) in the hooks reference documentation.

35</Warning>35</Warning>

36 36 

37## Hook Events Overview37## Hook Events Overview


63 63 

64### Step 1: Open hooks configuration64### Step 1: Open hooks configuration

65 65 

66Run the `/hooks` [slash command](/en/docs/claude-code/slash-commands) and select66Run the `/hooks` [slash command](/en/slash-commands) and select

67the `PreToolUse` hook event.67the `PreToolUse` hook event.

68 68 

69`PreToolUse` hooks run before tool calls and can block them while providing69`PreToolUse` hooks run before tool calls and can block them while providing


326 326 

327## Learn more327## Learn more

328 328 

329* For reference documentation on hooks, see [Hooks reference](/en/docs/claude-code/hooks).329* For reference documentation on hooks, see [Hooks reference](/en/hooks).

330* For comprehensive security best practices and safety guidelines, see [Security Considerations](/en/docs/claude-code/hooks#security-considerations) in the hooks reference documentation.330* For comprehensive security best practices and safety guidelines, see [Security Considerations](/en/hooks#security-considerations) in the hooks reference documentation.

331* For troubleshooting steps and debugging techniques, see [Debugging](/en/docs/claude-code/hooks#debugging) in the hooks reference331* For troubleshooting steps and debugging techniques, see [Debugging](/en/hooks#debugging) in the hooks reference

332 documentation.332 documentation.

iam.md +10 −10

Details

23 * "Developer" role means users can create any kind of API key23 * "Developer" role means users can create any kind of API key

244. Each invited user needs to complete these steps:244. Each invited user needs to complete these steps:

25 * Accept the Console invite25 * Accept the Console invite

26 * [Check system requirements](/en/docs/claude-code/setup#system-requirements)26 * [Check system requirements](/en/setup#system-requirements)

27 * [Install Claude Code](/en/docs/claude-code/setup#installation)27 * [Install Claude Code](/en/setup#installation)

28 * Login with Console account credentials28 * Login with Console account credentials

29 29 

30### Cloud provider authentication30### Cloud provider authentication

31 31 

32**To set up Claude Code access for your team via Bedrock or Vertex:**32**To set up Claude Code access for your team via Bedrock or Vertex:**

33 33 

341. Follow the [Bedrock docs](/en/docs/claude-code/amazon-bedrock) or [Vertex docs](/en/docs/claude-code/google-vertex-ai)341. Follow the [Bedrock docs](/en/amazon-bedrock) or [Vertex docs](/en/google-vertex-ai)

352. Distribute the environment variables and instructions for generating cloud credentials to your users. Read more about how to [manage configuration here](/en/docs/claude-code/settings).352. Distribute the environment variables and instructions for generating cloud credentials to your users. Read more about how to [manage configuration here](/en/settings).

363. Users can [install Claude Code](/en/docs/claude-code/setup#installation)363. Users can [install Claude Code](/en/setup#installation)

37 37 

38## Access control and permissions38## Access control and permissions

39 39 


65 65 

66#### Permission modes66#### Permission modes

67 67 

68Claude Code supports several permission modes that can be set as the `defaultMode` in [settings files](/en/docs/claude-code/settings#settings-files):68Claude Code supports several permission modes that can be set as the `defaultMode` in [settings files](/en/settings#settings-files):

69 69 

70| Mode | Description |70| Mode | Description |

71| :------------------ | :--------------------------------------------------------------------------- |71| :------------------ | :--------------------------------------------------------------------------- |


80 80 

81* **During startup**: Use `--add-dir <path>` CLI argument81* **During startup**: Use `--add-dir <path>` CLI argument

82* **During session**: Use `/add-dir` slash command82* **During session**: Use `/add-dir` slash command

83* **Persistent configuration**: Add to `additionalDirectories` in [settings files](/en/docs/claude-code/settings#settings-files)83* **Persistent configuration**: Add to `additionalDirectories` in [settings files](/en/settings#settings-files)

84 84 

85Files in additional directories follow the same permission rules as the original working directory - they become readable without prompts, and file editing permissions follow the current permission mode.85Files in additional directories follow the same permission rules as the original working directory - they become readable without prompts, and file editing permissions follow the current permission mode.

86 86 


164 164 

165### Additional permission control with hooks165### Additional permission control with hooks

166 166 

167[Claude Code hooks](/en/docs/claude-code/hooks-guide) provide a way to register custom shell commands to perform permission evaluation at runtime. When Claude Code makes a tool call, PreToolUse hooks run before the permission system runs, and the hook output can determine whether to approve or deny the tool call in place of the permission system.167[Claude Code hooks](/en/hooks-guide) provide a way to register custom shell commands to perform permission evaluation at runtime. When Claude Code makes a tool call, PreToolUse hooks run before the permission system runs, and the hook output can determine whether to approve or deny the tool call in place of the permission system.

168 168 

169### Enterprise managed policy settings169### Enterprise managed policy settings

170 170 


176* Linux and WSL: `/etc/claude-code/managed-settings.json`176* Linux and WSL: `/etc/claude-code/managed-settings.json`

177* Windows: `C:\ProgramData\ClaudeCode\managed-settings.json`177* Windows: `C:\ProgramData\ClaudeCode\managed-settings.json`

178 178 

179These policy files follow the same format as regular [settings files](/en/docs/claude-code/settings#settings-files) but cannot be overridden by user or project settings. This ensures consistent security policies across your organization.179These policy files follow the same format as regular [settings files](/en/settings#settings-files) but cannot be overridden by user or project settings. This ensures consistent security policies across your organization.

180 180 

181### Settings precedence181### Settings precedence

182 182 


196 196 

197* **Storage location**: On macOS, API keys, OAuth tokens, and other credentials are stored in the encrypted macOS Keychain.197* **Storage location**: On macOS, API keys, OAuth tokens, and other credentials are stored in the encrypted macOS Keychain.

198* **Supported authentication types**: Claude.ai credentials, Claude API credentials, Bedrock Auth, and Vertex Auth.198* **Supported authentication types**: Claude.ai credentials, Claude API credentials, Bedrock Auth, and Vertex Auth.

199* **Custom credential scripts**: The [`apiKeyHelper`](/en/docs/claude-code/settings#available-settings) setting can be configured to run a shell script that returns an API key.199* **Custom credential scripts**: The [`apiKeyHelper`](/en/settings#available-settings) setting can be configured to run a shell script that returns an API key.

200* **Refresh intervals**: By default, `apiKeyHelper` is called after 5 minutes or on HTTP 401 response. Set `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` environment variable for custom refresh intervals.200* **Refresh intervals**: By default, `apiKeyHelper` is called after 5 minutes or on HTTP 401 response. Set `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` environment variable for custom refresh intervals.

Details

11### General controls11### General controls

12 12 

13| Shortcut | Description | Context |13| Shortcut | Description | Context |

14| :------------------------------------------- | :----------------------------------------------------------------------- | :---------------------------------------------------------- |14| :------------------------------------------- | :---------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |

15| `Ctrl+C` | Cancel current input or generation | Standard interrupt |15| `Ctrl+C` | Cancel current input or generation | Standard interrupt |

16| `Ctrl+D` | Exit Claude Code session | EOF signal |16| `Ctrl+D` | Exit Claude Code session | EOF signal |

17| `Ctrl+L` | Clear terminal screen | Keeps conversation history |17| `Ctrl+L` | Clear terminal screen | Keeps conversation history |


20| `Ctrl+V` (macOS/Linux) or `Alt+V` (Windows) | Paste image from clipboard | Pastes an image or path to an image file |20| `Ctrl+V` (macOS/Linux) or `Alt+V` (Windows) | Paste image from clipboard | Pastes an image or path to an image file |

21| `Up/Down arrows` | Navigate command history | Recall previous inputs |21| `Up/Down arrows` | Navigate command history | Recall previous inputs |

22| `Esc` + `Esc` | Rewind the code/conversation | Restore the code and/or conversation to a previous point |22| `Esc` + `Esc` | Rewind the code/conversation | Restore the code and/or conversation to a previous point |

23| `Tab` | Toggle [extended thinking](/en/docs/build-with-claude/extended-thinking) | Switch between Thinking on and Thinking off |23| `Tab` | Toggle [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) | Switch between Thinking on and Thinking off |

24| `Shift+Tab` or `Alt+M` (some configurations) | Toggle permission modes | Switch between Auto-Accept Mode, Plan Mode, and normal mode |24| `Shift+Tab` or `Alt+M` (some configurations) | Toggle permission modes | Switch between Auto-Accept Mode, Plan Mode, and normal mode |

25 25 

26### Multiline input26### Multiline input


42| Shortcut | Description | Notes |42| Shortcut | Description | Notes |

43| :----------- | :--------------------------------- | :------------------------------------------------------------ |43| :----------- | :--------------------------------- | :------------------------------------------------------------ |

44| `#` at start | Memory shortcut - add to CLAUDE.md | Prompts for file selection |44| `#` at start | Memory shortcut - add to CLAUDE.md | Prompts for file selection |

45| `/` at start | Slash command | See [slash commands](/en/docs/claude-code/slash-commands) |45| `/` at start | Slash command | See [slash commands](/en/slash-commands) |

46| `!` at start | Bash mode | Run commands directly and add execution output to the session |46| `!` at start | Bash mode | Run commands directly and add execution output to the session |

47| `@` | File path mention | Trigger file path autocomplete |47| `@` | File path mention | Trigger file path autocomplete |

48 48 


162 162 

163## See also163## See also

164 164 

165* [Slash commands](/en/docs/claude-code/slash-commands) - Interactive session commands165* [Slash commands](/en/slash-commands) - Interactive session commands

166* [Checkpointing](/en/docs/claude-code/checkpointing) - Rewind Claude's edits and restore previous states166* [Checkpointing](/en/checkpointing) - Rewind Claude's edits and restore previous states

167* [CLI reference](/en/docs/claude-code/cli-reference) - Command-line flags and options167* [CLI reference](/en/cli-reference) - Command-line flags and options

168* [Settings](/en/docs/claude-code/settings) - Configuration options168* [Settings](/en/settings) - Configuration options

169* [Memory management](/en/docs/claude-code/memory) - Managing CLAUDE.md files169* [Memory management](/en/memory) - Managing CLAUDE.md files

jetbrains.md +3 −3

Details

104### WSL Configuration104### WSL Configuration

105 105 

106<Warning>106<Warning>

107 WSL users may need additional configuration for IDE detection to work properly. See our [WSL troubleshooting guide](/en/docs/claude-code/troubleshooting#jetbrains-ide-not-detected-on-wsl2) for detailed setup instructions.107 WSL users may need additional configuration for IDE detection to work properly. See our [WSL troubleshooting guide](/en/troubleshooting#jetbrains-ide-not-detected-on-wsl2) for detailed setup instructions.

108</Warning>108</Warning>

109 109 

110WSL configuration may require:110WSL configuration may require:


127* Verify the plugin is installed and enabled127* Verify the plugin is installed and enabled

128* Restart the IDE completely128* Restart the IDE completely

129* Check that you're running Claude Code from the integrated terminal129* Check that you're running Claude Code from the integrated terminal

130* For WSL users, see the [WSL troubleshooting guide](/en/docs/claude-code/troubleshooting#jetbrains-ide-not-detected-on-wsl2)130* For WSL users, see the [WSL troubleshooting guide](/en/troubleshooting#jetbrains-ide-not-detected-on-wsl2)

131 131 

132### Command Not Found132### Command Not Found

133 133 


147* Taking extra care to ensure Claude is only used with trusted prompts147* Taking extra care to ensure Claude is only used with trusted prompts

148* Being aware of which files Claude Code has access to modify148* Being aware of which files Claude Code has access to modify

149 149 

150For additional help, see our [troubleshooting guide](/en/docs/claude-code/troubleshooting).150For additional help, see our [troubleshooting guide](/en/troubleshooting).

llm-gateway.md +4 −4

Details

131 131 

132### Model selection132### Model selection

133 133 

134By default, the models will use those specified in [Model configuration](/en/docs/claude-code/bedrock-vertex-proxies#model-configuration).134By default, the models will use those specified in [Model configuration](/en/third-party-integrations#model-configuration).

135 135 

136If you have configured custom model names in LiteLLM, set the aforementioned environment variables to those custom names.136If you have configured custom model names in LiteLLM, set the aforementioned environment variables to those custom names.

137 137 


140## Additional resources140## Additional resources

141 141 

142* [LiteLLM documentation](https://docs.litellm.ai/)142* [LiteLLM documentation](https://docs.litellm.ai/)

143* [Claude Code settings](/en/docs/claude-code/settings)143* [Claude Code settings](/en/settings)

144* [Enterprise network configuration](/en/docs/claude-code/network-config)144* [Enterprise network configuration](/en/network-config)

145* [Third-party integrations overview](/en/docs/claude-code/third-party-integrations)145* [Third-party integrations overview](/en/third-party-integrations)

mcp.md +30 −3

Details

729 729 

730### Plugin-provided MCP servers730### Plugin-provided MCP servers

731 731 

732[Plugins](/en/docs/claude-code/plugins) can bundle MCP servers, automatically providing tools and integrations when the plugin is enabled. Plugin MCP servers work identically to user-configured servers.732[Plugins](/en/plugins) can bundle MCP servers, automatically providing tools and integrations when the plugin is enabled. Plugin MCP servers work identically to user-configured servers.

733 733 

734**How plugin MCP servers work**:734**How plugin MCP servers work**:

735 735 


790* **Automatic setup**: No manual MCP configuration needed790* **Automatic setup**: No manual MCP configuration needed

791* **Team consistency**: Everyone gets the same tools when plugin is installed791* **Team consistency**: Everyone gets the same tools when plugin is installed

792 792 

793See the [plugin components reference](/en/docs/claude-code/plugins-reference#mcp-servers) for details on bundling MCP servers with plugins.793See the [plugin components reference](/en/plugins-reference#mcp-servers) for details on bundling MCP servers with plugins.

794 794 

795## MCP installation scopes795## MCP installation scopes

796 796 


1071}1071}

1072```1072```

1073 1073 

1074<Warning>

1075 **Configuring the executable path**: The `command` field must reference the Claude Code executable. If the `claude` command is not in your system's PATH, you'll need to specify the full path to the executable.

1076 

1077 To find the full path:

1078 

1079 ```bash theme={null}

1080 which claude

1081 ```

1082 

1083 Then use the full path in your configuration:

1084 

1085 ```json theme={null}

1086 {

1087 "mcpServers": {

1088 "claude-code": {

1089 "type": "stdio",

1090 "command": "/full/path/to/claude",

1091 "args": ["mcp", "serve"],

1092 "env": {}

1093 }

1094 }

1095 }

1096 ```

1097 

1098 Without the correct executable path, you'll encounter errors like `spawn claude ENOENT`.

1099</Warning>

1100 

1074<Tip>1101<Tip>

1075 Tips:1102 Tips:

1076 1103 


1265* **Denylist takes absolute precedence**: If a server appears in both lists, it will be blocked1292* **Denylist takes absolute precedence**: If a server appears in both lists, it will be blocked

1266 1293 

1267<Note>1294<Note>

1268 **Enterprise configuration precedence**: The enterprise MCP configuration has the highest precedence and cannot be overridden by user, local, or project configurations when `useEnterpriseMcpConfigOnly` is enabled.1295 **Enterprise configuration precedence**: The enterprise MCP configuration has the highest precedence and cannot be overridden by user, local, or project configurations.

1269</Note>1296</Note>

model-config.md +10 −10

Details

7For the `model` setting in Claude Code, you can either configure:7For the `model` setting in Claude Code, you can either configure:

8 8 

9* A **model alias**9* A **model alias**

10* A full **[model name](/en/docs/about-claude/models/overview#model-names)**10* A full **[model name](https://docs.claude.com/en/docs/about-claude/models/overview#model-names)**

11* For Bedrock, an ARN11* For Bedrock, an ARN

12 12 

13### Model aliases13### Model aliases


16remembering exact version numbers:16remembering exact version numbers:

17 17 

18| Model alias | Behavior |18| Model alias | Behavior |

19| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |19| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

20| **`default`** | Recommended model setting, depending on your account type |20| **`default`** | Recommended model setting, depending on your account type |

21| **`sonnet`** | Uses the latest Sonnet model (currently Sonnet 4.5) for daily coding tasks |21| **`sonnet`** | Uses the latest Sonnet model (currently Sonnet 4.5) for daily coding tasks |

22| **`opus`** | Uses Opus model (currently Opus 4.1) for specialized complex reasoning tasks |22| **`opus`** | Uses Opus model (currently Opus 4.1) for specialized complex reasoning tasks |

23| **`haiku`** | Uses the fast and efficient Haiku model for simple tasks |23| **`haiku`** | Uses the fast and efficient Haiku model for simple tasks |

24| **`sonnet[1m]`** | Uses Sonnet with a [1 million token context window](/en/docs/build-with-claude/context-windows#1m-token-context-window) window for long sessions |24| **`sonnet[1m]`** | Uses Sonnet with a [1 million token context window](https://docs.claude.com/en/docs/build-with-claude/context-windows#1m-token-context-window) window for long sessions |

25| **`opusplan`** | Special mode that uses `opus` during plan mode, then switches to `sonnet` for execution |25| **`opusplan`** | Special mode that uses `opus` during plan mode, then switches to `sonnet` for execution |

26 26 

27### Setting your model27### Setting your model


80 80 

81For Console/API users, the `[1m]` suffix can be added to full model names to81For Console/API users, the `[1m]` suffix can be added to full model names to

82enable a82enable a

83[1 million token context window](/en/docs/build-with-claude/context-windows#1m-token-context-window).83[1 million token context window](https://docs.claude.com/en/docs/build-with-claude/context-windows#1m-token-context-window).

84 84 

85```bash theme={null}85```bash theme={null}

86# Example of using a full model name with the [1m] suffix86# Example of using a full model name with the [1m] suffix


88```88```

89 89 

90Note: Extended context models have90Note: Extended context models have

91[different pricing](/en/docs/about-claude/pricing#long-context-pricing).91[different pricing](https://docs.claude.com/en/docs/about-claude/pricing#long-context-pricing).

92 92 

93## Checking your current model93## Checking your current model

94 94 

95You can see which model you're currently using in several ways:95You can see which model you're currently using in several ways:

96 96 

971. In [status line](/en/docs/claude-code/statusline) (if configured)971. In [status line](/en/statusline) (if configured)

982. In `/status`, which also displays your account information.982. In `/status`, which also displays your account information.

99 99 

100## Environment variables100## Environment variables


103names**, to control the model names that the aliases map to.103names**, to control the model names that the aliases map to.

104 104 

105| Env var | Description |105| Env var | Description |

106| -------------------------------- | -------------------------------------------------------------------------------------------------------------- |106| -------------------------------- | --------------------------------------------------------------------------------------------- |

107| `ANTHROPIC_DEFAULT_OPUS_MODEL` | The model to use for `opus`, or for `opusplan` when Plan Mode is active. |107| `ANTHROPIC_DEFAULT_OPUS_MODEL` | The model to use for `opus`, or for `opusplan` when Plan Mode is active. |

108| `ANTHROPIC_DEFAULT_SONNET_MODEL` | The model to use for `sonnet`, or for `opusplan` when Plan Mode is not active. |108| `ANTHROPIC_DEFAULT_SONNET_MODEL` | The model to use for `sonnet`, or for `opusplan` when Plan Mode is not active. |

109| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | The model to use for `haiku`, or [background functionality](/en/docs/claude-code/costs#background-token-usage) |109| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | The model to use for `haiku`, or [background functionality](/en/costs#background-token-usage) |

110| `CLAUDE_CODE_SUBAGENT_MODEL` | The model to use for [subagents](/en/docs/claude-code/sub-agents) |110| `CLAUDE_CODE_SUBAGENT_MODEL` | The model to use for [subagents](/en/sub-agents) |

111 111 

112Note: `ANTHROPIC_SMALL_FAST_MODEL` is deprecated in favor of112Note: `ANTHROPIC_SMALL_FAST_MODEL` is deprecated in favor of

113`ANTHROPIC_DEFAULT_HAIKU_MODEL`.113`ANTHROPIC_DEFAULT_HAIKU_MODEL`.

114 114 

115### Prompt caching configuration115### Prompt caching configuration

116 116 

117Claude Code automatically uses [prompt caching](/en/docs/build-with-claude/prompt-caching) to optimize performance and reduce costs. You can disable prompt caching globally or for specific model tiers:117Claude Code automatically uses [prompt caching](https://docs.claude.com/en/docs/build-with-claude/prompt-caching) to optimize performance and reduce costs. You can disable prompt caching globally or for specific model tiers:

118 118 

119| Env var | Description |119| Env var | Description |

120| ------------------------------- | ---------------------------------------------------------------------------------------------- |120| ------------------------------- | ---------------------------------------------------------------------------------------------- |

Details

45 45 

46## Administrator Configuration46## Administrator Configuration

47 47 

48Administrators can configure OpenTelemetry settings for all users through the managed settings file. This allows for centralized control of telemetry settings across an organization. See the [settings precedence](/en/docs/claude-code/settings#settings-precedence) for more information about how settings are applied.48Administrators can configure OpenTelemetry settings for all users through the managed settings file. This allows for centralized control of telemetry settings across an organization. See the [settings precedence](/en/settings#settings-precedence) for more information about how settings are applied.

49 49 

50The managed settings file is located at:50The managed settings file is located at:

51 51 

Details

5Claude Code supports various enterprise network and security configurations through environment variables. This includes routing traffic through corporate proxy servers, trusting custom Certificate Authorities (CA), and authenticating with mutual Transport Layer Security (mTLS) certificates for enhanced security.5Claude Code supports various enterprise network and security configurations through environment variables. This includes routing traffic through corporate proxy servers, trusting custom Certificate Authorities (CA), and authenticating with mutual Transport Layer Security (mTLS) certificates for enhanced security.

6 6 

7<Note>7<Note>

8 All environment variables shown on this page can also be configured in [`settings.json`](/en/docs/claude-code/settings).8 All environment variables shown on this page can also be configured in [`settings.json`](/en/settings).

9</Note>9</Note>

10 10 

11## Proxy configuration11## Proxy configuration


85 85 

86## Additional resources86## Additional resources

87 87 

88* [Claude Code settings](/en/docs/claude-code/settings)88* [Claude Code settings](/en/settings)

89* [Environment variables reference](/en/docs/claude-code/settings#environment-variables)89* [Environment variables reference](/en/settings#environment-variables)

90* [Troubleshooting guide](/en/docs/claude-code/troubleshooting)90* [Troubleshooting guide](/en/troubleshooting)

Details

43* Run `/output-style [style]`, such as `/output-style explanatory`, to directly43* Run `/output-style [style]`, such as `/output-style explanatory`, to directly

44 switch to a style44 switch to a style

45 45 

46These changes apply to the [local project level](/en/docs/claude-code/settings)46These changes apply to the [local project level](/en/settings)

47and are saved in `.claude/settings.local.json`.47and are saved in `.claude/settings.local.json`.

48 48 

49## Create a custom output style49## Create a custom output style


86adds the contents as a user message *following* Claude Code's default system86adds the contents as a user message *following* Claude Code's default system

87prompt. `--append-system-prompt` appends the content to the system prompt.87prompt. `--append-system-prompt` appends the content to the system prompt.

88 88 

89### Output Styles vs. [Agents](/en/docs/claude-code/sub-agents)89### Output Styles vs. [Agents](/en/sub-agents)

90 90 

91Output styles directly affect the main agent loop and only affect the system91Output styles directly affect the main agent loop and only affect the system

92prompt. Agents are invoked to handle specific tasks and can include additional92prompt. Agents are invoked to handle specific tasks and can include additional

93settings like the model to use, the tools they have available, and some context93settings like the model to use, the tools they have available, and some context

94about when to use the agent.94about when to use the agent.

95 95 

96### Output Styles vs. [Custom Slash Commands](/en/docs/claude-code/slash-commands)96### Output Styles vs. [Custom Slash Commands](/en/slash-commands)

97 97 

98You can think of output styles as "stored system prompts" and custom slash98You can think of output styles as "stored system prompts" and custom slash

99commands as "stored prompts".99commands as "stored prompts".

overview.md +16 −16

Details

45claude45claude

46```46```

47 47 

48You'll be prompted to log in on first use. That's it! [Continue with Quickstart (5 mins) →](/en/docs/claude-code/quickstart)48You'll be prompted to log in on first use. That's it! [Continue with Quickstart (5 mins) →](/en/quickstart)

49 49 

50<Tip>50<Tip>

51 See [advanced setup](/en/docs/claude-code/setup) for installation options or [troubleshooting](/en/docs/claude-code/troubleshooting) if you hit issues.51 See [advanced setup](/en/setup) for installation options or [troubleshooting](/en/troubleshooting) if you hit issues.

52</Tip>52</Tip>

53 53 

54<Note>54<Note>

55 **New VS Code Extension (Beta)**: Prefer a graphical interface? Our new [VS Code extension](/en/docs/claude-code/vs-code) provides an easy-to-use native IDE experience without requiring terminal familiarity. Simply install from the marketplace and start coding with Claude directly in your sidebar.55 **New VS Code Extension (Beta)**: Prefer a graphical interface? Our new [VS Code extension](/en/vs-code) provides an easy-to-use native IDE experience without requiring terminal familiarity. Simply install from the marketplace and start coding with Claude directly in your sidebar.

56</Note>56</Note>

57 57 

58## What Claude Code does for you58## What Claude Code does for you

59 59 

60* **Build features from descriptions**: Tell Claude what you want to build in plain English. It will make a plan, write the code, and ensure it works.60* **Build features from descriptions**: Tell Claude what you want to build in plain English. It will make a plan, write the code, and ensure it works.

61* **Debug and fix issues**: Describe a bug or paste an error message. Claude Code will analyze your codebase, identify the problem, and implement a fix.61* **Debug and fix issues**: Describe a bug or paste an error message. Claude Code will analyze your codebase, identify the problem, and implement a fix.

62* **Navigate any codebase**: Ask anything about your team's codebase, and get a thoughtful answer back. Claude Code maintains awareness of your entire project structure, can find up-to-date information from the web, and with [MCP](/en/docs/claude-code/mcp) can pull from external datasources like Google Drive, Figma, and Slack.62* **Navigate any codebase**: Ask anything about your team's codebase, and get a thoughtful answer back. Claude Code maintains awareness of your entire project structure, can find up-to-date information from the web, and with [MCP](/en/mcp) can pull from external datasources like Google Drive, Figma, and Slack.

63* **Automate tedious tasks**: Fix fiddly lint issues, resolve merge conflicts, and write release notes. Do all this in a single command from your developer machines, or automatically in CI.63* **Automate tedious tasks**: Fix fiddly lint issues, resolve merge conflicts, and write release notes. Do all this in a single command from your developer machines, or automatically in CI.

64 64 

65## Why developers love Claude Code65## Why developers love Claude Code

66 66 

67* **Works in your terminal**: Not another chat window. Not another IDE. Claude Code meets you where you already work, with the tools you already love.67* **Works in your terminal**: Not another chat window. Not another IDE. Claude Code meets you where you already work, with the tools you already love.

68* **Takes action**: Claude Code can directly edit files, run commands, and create commits. Need more? [MCP](/en/docs/claude-code/mcp) lets Claude read your design docs in Google Drive, update your tickets in Jira, or use *your* custom developer tooling.68* **Takes action**: Claude Code can directly edit files, run commands, and create commits. Need more? [MCP](/en/mcp) lets Claude read your design docs in Google Drive, update your tickets in Jira, or use *your* custom developer tooling.

69* **Unix philosophy**: Claude Code is composable and scriptable. `tail -f app.log | claude -p "Slack me if you see any anomalies appear in this log stream"` *works*. Your CI can run `claude -p "If there are new text strings, translate them into French and raise a PR for @lang-fr-team to review"`.69* **Unix philosophy**: Claude Code is composable and scriptable. `tail -f app.log | claude -p "Slack me if you see any anomalies appear in this log stream"` *works*. Your CI can run `claude -p "If there are new text strings, translate them into French and raise a PR for @lang-fr-team to review"`.

70* **Enterprise-ready**: Use the Claude API, or host on AWS or GCP. Enterprise-grade [security](/en/docs/claude-code/security), [privacy](/en/docs/claude-code/data-usage), and [compliance](https://trust.anthropic.com/) is built-in.70* **Enterprise-ready**: Use the Claude API, or host on AWS or GCP. Enterprise-grade [security](/en/security), [privacy](/en/data-usage), and [compliance](https://trust.anthropic.com/) is built-in.

71 71 

72## Next steps72## Next steps

73 73 

74<CardGroup>74<CardGroup>

75 <Card title="Quickstart" icon="rocket" href="/en/docs/claude-code/quickstart">75 <Card title="Quickstart" icon="rocket" href="/en/quickstart">

76 See Claude Code in action with practical examples76 See Claude Code in action with practical examples

77 </Card>77 </Card>

78 78 

79 <Card title="Common workflows" icon="graduation-cap" href="/en/docs/claude-code/common-workflows">79 <Card title="Common workflows" icon="graduation-cap" href="/en/common-workflows">

80 Step-by-step guides for common workflows80 Step-by-step guides for common workflows

81 </Card>81 </Card>

82 82 

83 <Card title="Troubleshooting" icon="wrench" href="/en/docs/claude-code/troubleshooting">83 <Card title="Troubleshooting" icon="wrench" href="/en/troubleshooting">

84 Solutions for common issues with Claude Code84 Solutions for common issues with Claude Code

85 </Card>85 </Card>

86 86 

87 <Card title="IDE setup" icon="laptop" href="/en/docs/claude-code/ide-integrations">87 <Card title="IDE setup" icon="laptop" href="/en/vs-code">

88 Add Claude Code to your IDE88 Add Claude Code to your IDE

89 </Card>89 </Card>

90</CardGroup>90</CardGroup>


92## Additional resources92## Additional resources

93 93 

94<CardGroup>94<CardGroup>

95 <Card title="Build with the Agent SDK" icon="code-branch" href="/en/api/agent-sdk/overview">95 <Card title="Build with the Agent SDK" icon="code-branch" href="https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/overview">

96 Create custom AI agents with the Claude Agent SDK96 Create custom AI agents with the Claude Agent SDK

97 </Card>97 </Card>

98 98 

99 <Card title="Host on AWS or GCP" icon="cloud" href="/en/docs/claude-code/third-party-integrations">99 <Card title="Host on AWS or GCP" icon="cloud" href="/en/third-party-integrations">

100 Configure Claude Code with Amazon Bedrock or Google Vertex AI100 Configure Claude Code with Amazon Bedrock or Google Vertex AI

101 </Card>101 </Card>

102 102 

103 <Card title="Settings" icon="gear" href="/en/docs/claude-code/settings">103 <Card title="Settings" icon="gear" href="/en/settings">

104 Customize Claude Code for your workflow104 Customize Claude Code for your workflow

105 </Card>105 </Card>

106 106 

107 <Card title="Commands" icon="terminal" href="/en/docs/claude-code/cli-reference">107 <Card title="Commands" icon="terminal" href="/en/cli-reference">

108 Learn about CLI commands and controls108 Learn about CLI commands and controls

109 </Card>109 </Card>

110 110 


112 Clone our development container reference implementation112 Clone our development container reference implementation

113 </Card>113 </Card>

114 114 

115 <Card title="Security" icon="shield" href="/en/docs/claude-code/security">115 <Card title="Security" icon="shield" href="/en/security">

116 Discover Claude Code's safeguards and best practices for safe usage116 Discover Claude Code's safeguards and best practices for safe usage

117 </Card>117 </Card>

118 118 

119 <Card title="Privacy and data usage" icon="lock" href="/en/docs/claude-code/data-usage">119 <Card title="Privacy and data usage" icon="lock" href="/en/data-usage">

120 Understand how Claude Code handles your data120 Understand how Claude Code handles your data

121 </Card>121 </Card>

122</CardGroup>122</CardGroup>

Details

237 237 

238#### Advanced plugin entries238#### Advanced plugin entries

239 239 

240Plugin entries can override default component locations and provide additional metadata. Note that `${CLAUDE_PLUGIN_ROOT}` is an environment variable that resolves to the plugin's installation directory (for details see [Environment variables](/en/docs/claude-code/plugins-reference#environment-variables)):240Plugin entries can override default component locations and provide additional metadata. Note that `${CLAUDE_PLUGIN_ROOT}` is an environment variable that resolves to the plugin's installation directory (for details see [Environment variables](/en/plugins-reference#environment-variables)):

241 241 

242```json theme={null}242```json theme={null}

243{243{


400/plugin install test-plugin@marketplace-name400/plugin install test-plugin@marketplace-name

401```401```

402 402 

403For complete plugin testing workflows, see [Test your plugins locally](/en/docs/claude-code/plugins#test-your-plugins-locally). For technical troubleshooting, see [Plugins reference](/en/docs/claude-code/plugins-reference).403For complete plugin testing workflows, see [Test your plugins locally](/en/plugins#test-your-plugins-locally). For technical troubleshooting, see [Plugins reference](/en/plugins-reference).

404 404 

405***405***

406 406 


427 427 

428## See also428## See also

429 429 

430* [Plugins](/en/docs/claude-code/plugins) - Installing and using plugins430* [Plugins](/en/plugins) - Installing and using plugins

431* [Plugins reference](/en/docs/claude-code/plugins-reference) - Complete technical specifications and schemas431* [Plugins reference](/en/plugins-reference) - Complete technical specifications and schemas

432* [Plugin development](/en/docs/claude-code/plugins#develop-more-complex-plugins) - Creating your own plugins432* [Plugin development](/en/plugins#develop-more-complex-plugins) - Creating your own plugins

433* [Settings](/en/docs/claude-code/settings#plugin-configuration) - Plugin configuration options433* [Settings](/en/settings#plugin-configuration) - Plugin configuration options

plugins.md +24 −24

Details

3> Extend Claude Code with custom commands, agents, hooks, Skills, and MCP servers through the plugin system.3> Extend Claude Code with custom commands, agents, hooks, Skills, and MCP servers through the plugin system.

4 4 

5<Tip>5<Tip>

6 For complete technical specifications and schemas, see [Plugins reference](/en/docs/claude-code/plugins-reference). For marketplace management, see [Plugin marketplaces](/en/docs/claude-code/plugin-marketplaces).6 For complete technical specifications and schemas, see [Plugins reference](/en/plugins-reference). For marketplace management, see [Plugin marketplaces](/en/plugin-marketplaces).

7</Tip>7</Tip>

8 8 

9Plugins let you extend Claude Code with custom functionality that can be shared across projects and teams. Install plugins from [marketplaces](/en/docs/claude-code/plugin-marketplaces) to add pre-built commands, agents, hooks, Skills, and MCP servers, or create your own to automate your workflows.9Plugins let you extend Claude Code with custom functionality that can be shared across projects and teams. Install plugins from [marketplaces](/en/plugin-marketplaces) to add pre-built commands, agents, hooks, Skills, and MCP servers, or create your own to automate your workflows.

10 10 

11## Quickstart11## Quickstart

12 12 


145* **MCP servers**: Create `.mcp.json` for external tool integration145* **MCP servers**: Create `.mcp.json` for external tool integration

146 146 

147<Note>147<Note>

148 **Next steps**: Ready to add more features? Jump to [Develop more complex plugins](#develop-more-complex-plugins) to add agents, hooks, and MCP servers. For complete technical specifications of all plugin components, see [Plugins reference](/en/docs/claude-code/plugins-reference).148 **Next steps**: Ready to add more features? Jump to [Develop more complex plugins](#develop-more-complex-plugins) to add agents, hooks, and MCP servers. For complete technical specifications of all plugin components, see [Plugins reference](/en/plugins-reference).

149</Note>149</Note>

150 150 

151***151***


171/plugin171/plugin

172```172```

173 173 

174For detailed marketplace management including Git repositories, local development, and team distribution, see [Plugin marketplaces](/en/docs/claude-code/plugin-marketplaces).174For detailed marketplace management including Git repositories, local development, and team distribution, see [Plugin marketplaces](/en/plugin-marketplaces).

175 175 

176### Install plugins176### Install plugins

177 177 


2192. Team members trust the repository folder2192. Team members trust the repository folder

2203. Plugins install automatically for all team members2203. Plugins install automatically for all team members

221 221 

222For complete instructions including configuration examples, marketplace setup, and rollout best practices, see [Configure team marketplaces](/en/docs/claude-code/plugin-marketplaces#how-to-configure-team-marketplaces).222For complete instructions including configuration examples, marketplace setup, and rollout best practices, see [Configure team marketplaces](/en/plugin-marketplaces#how-to-configure-team-marketplaces).

223 223 

224***224***

225 225 


229 229 

230### Add Skills to your plugin230### Add Skills to your plugin

231 231 

232Plugins can include [Agent Skills](/en/docs/claude-code/skills) to extend Claude's capabilities. Skills are model-invoked—Claude autonomously uses them based on the task context.232Plugins can include [Agent Skills](/en/skills) to extend Claude's capabilities. Skills are model-invoked—Claude autonomously uses them based on the task context.

233 233 

234To add Skills to your plugin, create a `skills/` directory at your plugin root and add Skill folders with `SKILL.md` files. Plugin Skills are automatically available when the plugin is installed.234To add Skills to your plugin, create a `skills/` directory at your plugin root and add Skill folders with `SKILL.md` files. Plugin Skills are automatically available when the plugin is installed.

235 235 

236For complete Skill authoring guidance, see [Agent Skills](/en/docs/claude-code/skills).236For complete Skill authoring guidance, see [Agent Skills](/en/skills).

237 237 

238### Organize complex plugins238### Organize complex plugins

239 239 

240For plugins with many components, organize your directory structure by functionality. For complete directory layouts and organization patterns, see [Plugin directory structure](/en/docs/claude-code/plugins-reference#plugin-directory-structure).240For plugins with many components, organize your directory structure by functionality. For complete directory layouts and organization patterns, see [Plugin directory structure](/en/plugins-reference#plugin-directory-structure).

241 241 

242### Test your plugins locally242### Test your plugins locally

243 243 


324</Steps>324</Steps>

325 325 

326<Note>326<Note>

327 **For multiple plugins**: Organize plugins in subdirectories like `./plugins/plugin-name` and update your marketplace.json accordingly. See [Plugin sources](/en/docs/claude-code/plugin-marketplaces#plugin-sources) for organization patterns.327 **For multiple plugins**: Organize plugins in subdirectories like `./plugins/plugin-name` and update your marketplace.json accordingly. See [Plugin sources](/en/plugin-marketplaces#plugin-sources) for organization patterns.

328</Note>328</Note>

329 329 

330### Debug plugin issues330### Debug plugin issues


333 333 

3341. **Check the structure**: Ensure your directories are at the plugin root, not inside `.claude-plugin/`3341. **Check the structure**: Ensure your directories are at the plugin root, not inside `.claude-plugin/`

3352. **Test components individually**: Check each command, agent, and hook separately3352. **Test components individually**: Check each command, agent, and hook separately

3363. **Use validation and debugging tools**: See [Debugging and development tools](/en/docs/claude-code/plugins-reference#debugging-and-development-tools) for CLI commands and troubleshooting techniques3363. **Use validation and debugging tools**: See [Debugging and development tools](/en/plugins-reference#debugging-and-development-tools) for CLI commands and troubleshooting techniques

337 337 

338### Share your plugins338### Share your plugins

339 339 


3454. **Test with others**: Have team members test the plugin before wider distribution3454. **Test with others**: Have team members test the plugin before wider distribution

346 346 

347<Note>347<Note>

348 For complete technical specifications, debugging techniques, and distribution strategies, see [Plugins reference](/en/docs/claude-code/plugins-reference).348 For complete technical specifications, debugging techniques, and distribution strategies, see [Plugins reference](/en/plugins-reference).

349</Note>349</Note>

350 350 

351***351***


363 363 

364### For plugin developers364### For plugin developers

365 365 

366* **Create your first marketplace**: [Plugin marketplaces guide](/en/docs/claude-code/plugin-marketplaces)366* **Create your first marketplace**: [Plugin marketplaces guide](/en/plugin-marketplaces)

367* **Advanced components**: Dive deeper into specific plugin components:367* **Advanced components**: Dive deeper into specific plugin components:

368 * [Slash commands](/en/docs/claude-code/slash-commands) - Command development details368 * [Slash commands](/en/slash-commands) - Command development details

369 * [Subagents](/en/docs/claude-code/sub-agents) - Agent configuration and capabilities369 * [Subagents](/en/sub-agents) - Agent configuration and capabilities

370 * [Agent Skills](/en/docs/claude-code/skills) - Extend Claude's capabilities370 * [Agent Skills](/en/skills) - Extend Claude's capabilities

371 * [Hooks](/en/docs/claude-code/hooks) - Event handling and automation371 * [Hooks](/en/hooks) - Event handling and automation

372 * [MCP](/en/docs/claude-code/mcp) - External tool integration372 * [MCP](/en/mcp) - External tool integration

373* **Distribution strategies**: Package and share your plugins effectively373* **Distribution strategies**: Package and share your plugins effectively

374* **Community contribution**: Consider contributing to community plugin collections374* **Community contribution**: Consider contributing to community plugin collections

375 375 


382 382 

383## See also383## See also

384 384 

385* [Plugin marketplaces](/en/docs/claude-code/plugin-marketplaces) - Creating and managing plugin catalogs385* [Plugin marketplaces](/en/plugin-marketplaces) - Creating and managing plugin catalogs

386* [Slash commands](/en/docs/claude-code/slash-commands) - Understanding custom commands386* [Slash commands](/en/slash-commands) - Understanding custom commands

387* [Subagents](/en/docs/claude-code/sub-agents) - Creating and using specialized agents387* [Subagents](/en/sub-agents) - Creating and using specialized agents

388* [Agent Skills](/en/docs/claude-code/skills) - Extend Claude's capabilities388* [Agent Skills](/en/skills) - Extend Claude's capabilities

389* [Hooks](/en/docs/claude-code/hooks) - Automating workflows with event handlers389* [Hooks](/en/hooks) - Automating workflows with event handlers

390* [MCP](/en/docs/claude-code/mcp) - Connecting to external tools and services390* [MCP](/en/mcp) - Connecting to external tools and services

391* [Settings](/en/docs/claude-code/settings) - Configuration options for plugins391* [Settings](/en/settings) - Configuration options for plugins

Details

3> Complete technical reference for Claude Code plugin system, including schemas, CLI commands, and component specifications.3> Complete technical reference for Claude Code plugin system, including schemas, CLI commands, and component specifications.

4 4 

5<Tip>5<Tip>

6 For hands-on tutorials and practical usage, see [Plugins](/en/docs/claude-code/plugins). For plugin management across teams and communities, see [Plugin marketplaces](/en/docs/claude-code/plugin-marketplaces).6 For hands-on tutorials and practical usage, see [Plugins](/en/plugins). For plugin management across teams and communities, see [Plugin marketplaces](/en/plugin-marketplaces).

7</Tip>7</Tip>

8 8 

9This reference provides complete technical specifications for the Claude Code plugin system, including component schemas, CLI commands, and development tools.9This reference provides complete technical specifications for the Claude Code plugin system, including component schemas, CLI commands, and development tools.


20 20 

21**File format**: Markdown files with frontmatter21**File format**: Markdown files with frontmatter

22 22 

23For complete details on plugin command structure, invocation patterns, and features, see [Plugin commands](/en/docs/claude-code/slash-commands#plugin-commands).23For complete details on plugin command structure, invocation patterns, and features, see [Plugin commands](/en/slash-commands#plugin-commands).

24 24 

25### Agents25### Agents

26 26 


86 86 

87For SKILL.md format and complete Skill authoring guidance, see:87For SKILL.md format and complete Skill authoring guidance, see:

88 88 

89* [Use Skills in Claude Code](/en/docs/claude-code/skills)89* [Use Skills in Claude Code](/en/skills)

90* [Agent Skills overview](/en/docs/agents-and-tools/agent-skills/overview#skill-structure)90* [Agent Skills overview](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview#skill-structure)

91 91 

92### Hooks92### Hooks

93 93 


365 365 

366## See also366## See also

367 367 

368- [Plugins](/en/docs/claude-code/plugins) - Tutorials and practical usage368- [Plugins](/en/plugins) - Tutorials and practical usage

369- [Plugin marketplaces](/en/docs/claude-code/plugin-marketplaces) - Creating and managing marketplaces369- [Plugin marketplaces](/en/plugin-marketplaces) - Creating and managing marketplaces

370- [Slash commands](/en/docs/claude-code/slash-commands) - Command development details370- [Slash commands](/en/slash-commands) - Command development details

371- [Subagents](/en/docs/claude-code/sub-agents) - Agent configuration and capabilities371- [Subagents](/en/sub-agents) - Agent configuration and capabilities

372- [Agent Skills](/en/docs/claude-code/skills) - Extend Claude's capabilities372- [Agent Skills](/en/skills) - Extend Claude's capabilities

373- [Hooks](/en/docs/claude-code/hooks) - Event handling and automation373- [Hooks](/en/hooks) - Event handling and automation

374- [MCP](/en/docs/claude-code/mcp) - External tool integration374- [MCP](/en/mcp) - External tool integration

375- [Settings](/en/docs/claude-code/settings) - Configuration options for plugins375- [Settings](/en/settings) - Configuration options for plugins

376```376```

quickstart.md +6 −6

Details

93You'll see the Claude Code welcome screen with your session information, recent conversations, and latest updates. Type `/help` for available commands or `/resume` to continue a previous conversation.93You'll see the Claude Code welcome screen with your session information, recent conversations, and latest updates. Type `/help` for available commands or `/resume` to continue a previous conversation.

94 94 

95<Tip>95<Tip>

96 After logging in (Step 2), your credentials are stored on your system. Learn more in [Credential Management](/en/docs/claude-code/iam#credential-management).96 After logging in (Step 2), your credentials are stored on your system. Learn more in [Credential Management](/en/iam#credential-management).

97</Tip>97</Tip>

98 98 

99## Step 4: Ask your first question99## Step 4: Ask your first question


252| `/help` | Show available commands | `> /help` |252| `/help` | Show available commands | `> /help` |

253| `exit` or Ctrl+C | Exit Claude Code | `> exit` |253| `exit` or Ctrl+C | Exit Claude Code | `> exit` |

254 254 

255See the [CLI reference](/en/docs/claude-code/cli-reference) for a complete list of commands.255See the [CLI reference](/en/cli-reference) for a complete list of commands.

256 256 

257## Pro tips for beginners257## Pro tips for beginners

258 258 


304Now that you've learned the basics, explore more advanced features:304Now that you've learned the basics, explore more advanced features:

305 305 

306<CardGroup cols={3}>306<CardGroup cols={3}>

307 <Card title="Common workflows" icon="graduation-cap" href="/en/docs/claude-code/common-workflows">307 <Card title="Common workflows" icon="graduation-cap" href="/en/common-workflows">

308 Step-by-step guides for common tasks308 Step-by-step guides for common tasks

309 </Card>309 </Card>

310 310 

311 <Card title="CLI reference" icon="terminal" href="/en/docs/claude-code/cli-reference">311 <Card title="CLI reference" icon="terminal" href="/en/cli-reference">

312 Master all commands and options312 Master all commands and options

313 </Card>313 </Card>

314 314 

315 <Card title="Configuration" icon="gear" href="/en/docs/claude-code/settings">315 <Card title="Configuration" icon="gear" href="/en/settings">

316 Customize Claude Code for your workflow316 Customize Claude Code for your workflow

317 </Card>317 </Card>

318 318 

319 <Card title="Claude Code on the web" icon="cloud" href="/en/docs/claude-code/claude-code-on-the-web">319 <Card title="Claude Code on the web" icon="cloud" href="/en/claude-code-on-the-web">

320 Run tasks asynchronously in the cloud320 Run tasks asynchronously in the cloud

321 </Card>321 </Card>

322</CardGroup>322</CardGroup>

sandboxing.md +10 −10

Details

70 70 

71### Configure sandboxing71### Configure sandboxing

72 72 

73Customize sandbox behavior through your `settings.json` file. See [Settings](/en/docs/claude-code/settings#sandbox-settings) for complete configuration reference.73Customize sandbox behavior through your `settings.json` file. See [Settings](/en/settings#sandbox-settings) for complete configuration reference.

74 74 

75<Tip>75<Tip>

76 Not all commands are compatible with sandboxing out of the box. Some notes that may help you make the most out of the sandbox:76 Not all commands are compatible with sandboxing out of the box. Some notes that may help you make the most out of the sandbox:


83<Note>83<Note>

84 Claude Code includes an intentional escape hatch mechanism that allows commands to run outside the sandbox when necessary. When a command fails due to sandbox restrictions (such as network connectivity issues or incompatible tools), Claude is prompted to analyze the failure and may retry the command with the `dangerouslyDisableSandbox` parameter. Commands that use this parameter go through the normal Claude Code permissions flow requiring user permission to execute. This allows Claude Code to handle edge cases where certain tools or network operations cannot function within sandbox constraints.84 Claude Code includes an intentional escape hatch mechanism that allows commands to run outside the sandbox when necessary. When a command fails due to sandbox restrictions (such as network connectivity issues or incompatible tools), Claude is prompted to analyze the failure and may retry the command with the `dangerouslyDisableSandbox` parameter. Commands that use this parameter go through the normal Claude Code permissions flow requiring user permission to execute. This allows Claude Code to handle edge cases where certain tools or network operations cannot function within sandbox constraints.

85 85 

86 You can disable this escape hatch by setting `"allowUnsandboxedCommands": false` in your [sandbox settings](/en/docs/claude-code/settings#sandbox-settings). When disabled, the `dangerouslyDisableSandbox` parameter is completely ignored and all commands must run sandboxed or be explicitly listed in `excludedCommands`.86 You can disable this escape hatch by setting `"allowUnsandboxedCommands": false` in your [sandbox settings](/en/settings#sandbox-settings). When disabled, the `dangerouslyDisableSandbox` parameter is completely ignored and all commands must run sandboxed or be explicitly listed in `excludedCommands`.

87</Note>87</Note>

88 88 

89## Security benefits89## Security benefits


96 96 

97* Cannot modify critical config files such as `~/.bashrc`97* Cannot modify critical config files such as `~/.bashrc`

98* Cannot modify system-level files in `/bin/`98* Cannot modify system-level files in `/bin/`

99* Cannot read files that are denied in your [Claude permission settings](/en/docs/claude-code/iam#configuring-permissions)99* Cannot read files that are denied in your [Claude permission settings](/en/iam#configuring-permissions)

100 100 

101**Network protection:**101**Network protection:**

102 102 


169 169 

170The sandboxed bash tool works alongside:170The sandboxed bash tool works alongside:

171 171 

172* **IAM policies**: Combine with [permission settings](/en/docs/claude-code/iam) for defense-in-depth172* **IAM policies**: Combine with [permission settings](/en/iam) for defense-in-depth

173* **Development containers**: Use with [devcontainers](/en/docs/claude-code/devcontainer) for additional isolation173* **Development containers**: Use with [devcontainers](/en/devcontainer) for additional isolation

174* **Enterprise policies**: Enforce sandbox configurations through [managed settings](/en/docs/claude-code/settings#settings-precedence)174* **Enterprise policies**: Enforce sandbox configurations through [managed settings](/en/settings#settings-precedence)

175 175 

176## Best practices176## Best practices

177 177 


199 199 

200## See also200## See also

201 201 

202* [Security](/en/docs/claude-code/security) - Comprehensive security features and best practices202* [Security](/en/security) - Comprehensive security features and best practices

203* [IAM](/en/docs/claude-code/iam) - Permission configuration and access control203* [IAM](/en/iam) - Permission configuration and access control

204* [Settings](/en/docs/claude-code/settings) - Complete configuration reference204* [Settings](/en/settings) - Complete configuration reference

205* [CLI reference](/en/docs/claude-code/cli-reference) - Command-line options including `-sb`205* [CLI reference](/en/cli-reference) - Command-line options including `-sb`

Details

15| **Documentation Location** | Claude Code docs → SDK section | API Guide → Agent SDK section |15| **Documentation Location** | Claude Code docs → SDK section | API Guide → Agent SDK section |

16 16 

17<Note>17<Note>

18 **Documentation Changes:** The Agent SDK documentation has moved from the Claude Code docs to the API Guide under a dedicated [Agent SDK](/en/api/agent-sdk/overview) section. The Claude Code docs now focus on the CLI tool and automation features.18 **Documentation Changes:** The Agent SDK documentation has moved from the Claude Code docs to the API Guide under a dedicated [Agent SDK](https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/overview) section. The Claude Code docs now focus on the CLI tool and automation features.

19</Note>19</Note>

20 20 

21## Migration Steps21## Migration Steps


3172. Verify your requirements.txt or pyproject.toml has the new package name3172. Verify your requirements.txt or pyproject.toml has the new package name

3183. Run `pip install claude-agent-sdk` to ensure the package is installed3183. Run `pip install claude-agent-sdk` to ensure the package is installed

319 319 

320See the [Troubleshooting](/en/docs/claude-code/troubleshooting) guide for common issues.320See the [Troubleshooting](/en/troubleshooting) guide for common issues.

321 321 

322## Next Steps322## Next Steps

323 323 

324* Explore the [Agent SDK Overview](/en/api/agent-sdk/overview) to learn about available features324* Explore the [Agent SDK Overview](https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/overview) to learn about available features

325* Check out the [TypeScript SDK Reference](/en/api/agent-sdk/typescript) for detailed API documentation325* Check out the [TypeScript SDK Reference](https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/typescript) for detailed API documentation

326* Review the [Python SDK Reference](/en/api/agent-sdk/python) for Python-specific documentation326* Review the [Python SDK Reference](https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/python) for Python-specific documentation

327* Learn about [Custom Tools](/en/api/agent-sdk/custom-tools) and [MCP Integration](/en/api/agent-sdk/mcp)327* Learn about [Custom Tools](https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/custom-tools) and [MCP Integration](https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/mcp)

security.md +14 −14

Details

14 14 

15We designed Claude Code to be transparent and secure. For example, we require approval for bash commands before executing them, giving you direct control. This approach enables users and organizations to configure permissions directly.15We designed Claude Code to be transparent and secure. For example, we require approval for bash commands before executing them, giving you direct control. This approach enables users and organizations to configure permissions directly.

16 16 

17For detailed permission configuration, see [Identity and Access Management](/en/docs/claude-code/iam).17For detailed permission configuration, see [Identity and Access Management](/en/iam).

18 18 

19### Built-in protections19### Built-in protections

20 20 

21To mitigate risks in agentic systems:21To mitigate risks in agentic systems:

22 22 

23* **Sandboxed bash tool**: [Sandbox](/en/docs/claude-code/sandboxing) bash commands with filesystem and network isolation, reducing permission prompts while maintaining security. Enable with `/sandbox` to define boundaries where Claude Code can work autonomously23* **Sandboxed bash tool**: [Sandbox](/en/sandboxing) bash commands with filesystem and network isolation, reducing permission prompts while maintaining security. Enable with `/sandbox` to define boundaries where Claude Code can work autonomously

24* **Write access restriction**: Claude Code can only write to the folder where it was started and its subfolders—it cannot modify files in parent directories without explicit permission. While Claude Code can read files outside the working directory (useful for accessing system libraries and dependencies), write operations are strictly confined to the project scope, creating a clear security boundary24* **Write access restriction**: Claude Code can only write to the folder where it was started and its subfolders—it cannot modify files in parent directories without explicit permission. While Claude Code can read files outside the working directory (useful for accessing system libraries and dependencies), write operations are strictly confined to the project scope, creating a clear security boundary

25* **Prompt fatigue mitigation**: Support for allowlisting frequently used safe commands per-user, per-codebase, or per-organization25* **Prompt fatigue mitigation**: Support for allowlisting frequently used safe commands per-user, per-codebase, or per-organization

26* **Accept Edits mode**: Batch accept multiple edits while maintaining permission prompts for commands with side effects26* **Accept Edits mode**: Batch accept multiple edits while maintaining permission prompts for commands with side effects


38* **Permission system**: Sensitive operations require explicit approval38* **Permission system**: Sensitive operations require explicit approval

39* **Context-aware analysis**: Detects potentially harmful instructions by analyzing the full request39* **Context-aware analysis**: Detects potentially harmful instructions by analyzing the full request

40* **Input sanitization**: Prevents command injection by processing user inputs40* **Input sanitization**: Prevents command injection by processing user inputs

41* **Command blocklist**: Blocks risky commands that fetch arbitrary content from the web like `curl` and `wget` by default. When explicitly allowed, be aware of [permission pattern limitations](/en/docs/claude-code/iam#tool-specific-permission-rules)41* **Command blocklist**: Blocks risky commands that fetch arbitrary content from the web like `curl` and `wget` by default. When explicitly allowed, be aware of [permission pattern limitations](/en/iam#tool-specific-permission-rules)

42 42 

43### Privacy safeguards43### Privacy safeguards

44 44 


59* **Command injection detection**: Suspicious bash commands require manual approval even if previously allowlisted59* **Command injection detection**: Suspicious bash commands require manual approval even if previously allowlisted

60* **Fail-closed matching**: Unmatched commands default to requiring manual approval60* **Fail-closed matching**: Unmatched commands default to requiring manual approval

61* **Natural language descriptions**: Complex bash commands include explanations for user understanding61* **Natural language descriptions**: Complex bash commands include explanations for user understanding

62* **Secure credential storage**: API keys and tokens are encrypted. See [Credential Management](/en/docs/claude-code/iam#credential-management)62* **Secure credential storage**: API keys and tokens are encrypted. See [Credential Management](/en/iam#credential-management)

63 63 

64<Warning>64<Warning>

65 **Windows WebDAV security risk**: When running Claude Code on Windows, we recommend against enabling WebDAV or allowing Claude Code to access paths such as `\\*` that may contain WebDAV subdirectories. [WebDAV has been deprecated by Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) due to security risks. Enabling WebDAV may allow Claude Code to trigger network requests to remote hosts, bypassing the permission system.65 **Windows WebDAV security risk**: When running Claude Code on Windows, we recommend against enabling WebDAV or allowing Claude Code to access paths such as `\\*` that may contain WebDAV subdirectories. [WebDAV has been deprecated by Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) due to security risks. Enabling WebDAV may allow Claude Code to trigger network requests to remote hosts, bypassing the permission system.


87 87 

88## IDE security88## IDE security

89 89 

90See [here](/en/docs/claude-code/ide-integrations#security) for more information on the security of running Claude Code in an IDE.90See [here](/en/vs-code#security) for more information on the security of running Claude Code in an IDE.

91 91 

92## Cloud execution security92## Cloud execution security

93 93 

94When using [Claude Code on the web](/en/docs/claude-code/claude-code-on-the-web), additional security controls are in place:94When using [Claude Code on the web](/en/claude-code-on-the-web), additional security controls are in place:

95 95 

96* **Isolated virtual machines**: Each cloud session runs in an isolated, Anthropic-managed VM96* **Isolated virtual machines**: Each cloud session runs in an isolated, Anthropic-managed VM

97* **Network access controls**: Network access is limited by default and can be configured to be disabled or allow only specific domains97* **Network access controls**: Network access is limited by default and can be configured to be disabled or allow only specific domains


100* **Audit logging**: All operations in cloud environments are logged for compliance and audit purposes100* **Audit logging**: All operations in cloud environments are logged for compliance and audit purposes

101* **Automatic cleanup**: Cloud environments are automatically terminated after session completion101* **Automatic cleanup**: Cloud environments are automatically terminated after session completion

102 102 

103For more details on cloud execution, see [Claude Code on the web](/en/docs/claude-code/claude-code-on-the-web).103For more details on cloud execution, see [Claude Code on the web](/en/claude-code-on-the-web).

104 104 

105## Security best practices105## Security best practices

106 106 


108 108 

109* Review all suggested changes before approval109* Review all suggested changes before approval

110* Use project-specific permission settings for sensitive repositories110* Use project-specific permission settings for sensitive repositories

111* Consider using [devcontainers](/en/docs/claude-code/devcontainer) for additional isolation111* Consider using [devcontainers](/en/devcontainer) for additional isolation

112* Regularly audit your permission settings with `/permissions`112* Regularly audit your permission settings with `/permissions`

113 113 

114### Team security114### Team security

115 115 

116* Use [enterprise managed policies](/en/docs/claude-code/iam#enterprise-managed-policy-settings) to enforce organizational standards116* Use [enterprise managed policies](/en/iam#enterprise-managed-policy-settings) to enforce organizational standards

117* Share approved permission configurations through version control117* Share approved permission configurations through version control

118* Train team members on security best practices118* Train team members on security best practices

119* Monitor Claude Code usage through [OpenTelemetry metrics](/en/docs/claude-code/monitoring-usage)119* Monitor Claude Code usage through [OpenTelemetry metrics](/en/monitoring-usage)

120 120 

121### Reporting security issues121### Reporting security issues

122 122 


129 129 

130## Related resources130## Related resources

131 131 

132* [Sandboxing](/en/docs/claude-code/sandboxing) - Filesystem and network isolation for bash commands132* [Sandboxing](/en/sandboxing) - Filesystem and network isolation for bash commands

133* [Identity and Access Management](/en/docs/claude-code/iam) - Configure permissions and access controls133* [Identity and Access Management](/en/iam) - Configure permissions and access controls

134* [Monitoring usage](/en/docs/claude-code/monitoring-usage) - Track and audit Claude Code activity134* [Monitoring usage](/en/monitoring-usage) - Track and audit Claude Code activity

135* [Development containers](/en/docs/claude-code/devcontainer) - Secure, isolated environments135* [Development containers](/en/devcontainer) - Secure, isolated environments

136* [Anthropic Trust Center](https://trust.anthropic.com) - Security certifications and compliance136* [Anthropic Trust Center](https://trust.anthropic.com) - Security certifications and compliance

settings.md +38 −39

Details

21 * Linux and WSL: `/etc/claude-code/managed-settings.json`21 * Linux and WSL: `/etc/claude-code/managed-settings.json`

22 * Windows: `C:\ProgramData\ClaudeCode\managed-settings.json`22 * Windows: `C:\ProgramData\ClaudeCode\managed-settings.json`

23* Enterprise deployments can also configure **managed MCP servers** that override23* Enterprise deployments can also configure **managed MCP servers** that override

24 user-configured servers. See [Enterprise MCP configuration](/en/docs/claude-code/mcp#enterprise-mcp-configuration):24 user-configured servers. See [Enterprise MCP configuration](/en/mcp#enterprise-mcp-configuration):

25 * macOS: `/Library/Application Support/ClaudeCode/managed-mcp.json`25 * macOS: `/Library/Application Support/ClaudeCode/managed-mcp.json`

26 * Linux and WSL: `/etc/claude-code/managed-mcp.json`26 * Linux and WSL: `/etc/claude-code/managed-mcp.json`

27 * Windows: `C:\ProgramData\ClaudeCode\managed-mcp.json`27 * Windows: `C:\ProgramData\ClaudeCode\managed-mcp.json`


58`settings.json` supports a number of options:58`settings.json` supports a number of options:

59 59 

60| Key | Description | Example |60| Key | Description | Example |

61| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- |61| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- |

62| `apiKeyHelper` | Custom script, to be executed in `/bin/sh`, to generate an auth value. This value will be sent as `X-Api-Key` and `Authorization: Bearer` headers for model requests | `/bin/generate_temp_api_key.sh` |62| `apiKeyHelper` | Custom script, to be executed in `/bin/sh`, to generate an auth value. This value will be sent as `X-Api-Key` and `Authorization: Bearer` headers for model requests | `/bin/generate_temp_api_key.sh` |

63| `cleanupPeriodDays` | How long to locally retain chat transcripts based on last activity date (default: 30 days) | `20` |63| `cleanupPeriodDays` | How long to locally retain chat transcripts based on last activity date (default: 30 days) | `20` |

64| `companyAnnouncements` | Announcement to display to users at startup. If multiple announcements are provided, they will be cycled through at random. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |64| `companyAnnouncements` | Announcement to display to users at startup. If multiple announcements are provided, they will be cycled through at random. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

65| `env` | Environment variables that will be applied to every session | `{"FOO": "bar"}` |65| `env` | Environment variables that will be applied to every session | `{"FOO": "bar"}` |

66| `includeCoAuthoredBy` | Whether to include the `co-authored-by Claude` byline in git commits and pull requests (default: `true`) | `false` |66| `includeCoAuthoredBy` | Whether to include the `co-authored-by Claude` byline in git commits and pull requests (default: `true`) | `false` |

67| `permissions` | See table below for structure of permissions. | |67| `permissions` | See table below for structure of permissions. | |

68| `hooks` | Configure custom commands to run before or after tool executions. See [hooks documentation](hooks) | `{"PreToolUse": {"Bash": "echo 'Running command...'"}}` |68| `hooks` | Configure custom commands to run before or after tool executions. See [hooks documentation](/en/hooks) | `{"PreToolUse": {"Bash": "echo 'Running command...'"}}` |

69| `disableAllHooks` | Disable all [hooks](hooks) | `true` |69| `disableAllHooks` | Disable all [hooks](/en/hooks) | `true` |

70| `model` | Override the default model to use for Claude Code | `"claude-sonnet-4-5-20250929"` |70| `model` | Override the default model to use for Claude Code | `"claude-sonnet-4-5-20250929"` |

71| `statusLine` | Configure a custom status line to display context. See [statusLine documentation](statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |71| `statusLine` | Configure a custom status line to display context. See [statusLine documentation](/en/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

72| `outputStyle` | Configure an output style to adjust the system prompt. See [output styles documentation](output-styles) | `"Explanatory"` |72| `outputStyle` | Configure an output style to adjust the system prompt. See [output styles documentation](/en/output-styles) | `"Explanatory"` |

73| `forceLoginMethod` | Use `claudeai` to restrict login to Claude.ai accounts, `console` to restrict login to Claude Console (API usage billing) accounts | `claudeai` |73| `forceLoginMethod` | Use `claudeai` to restrict login to Claude.ai accounts, `console` to restrict login to Claude Console (API usage billing) accounts | `claudeai` |

74| `forceLoginOrgUUID` | Specify the UUID of an organization to automatically select it during login, bypassing the organization selection step. Requires `forceLoginMethod` to be set | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` |74| `forceLoginOrgUUID` | Specify the UUID of an organization to automatically select it during login, bypassing the organization selection step. Requires `forceLoginMethod` to be set | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` |

75| `enableAllProjectMcpServers` | Automatically approve all MCP servers defined in project `.mcp.json` files | `true` |75| `enableAllProjectMcpServers` | Automatically approve all MCP servers defined in project `.mcp.json` files | `true` |

76| `enabledMcpjsonServers` | List of specific MCP servers from `.mcp.json` files to approve | `["memory", "github"]` |76| `enabledMcpjsonServers` | List of specific MCP servers from `.mcp.json` files to approve | `["memory", "github"]` |

77| `disabledMcpjsonServers` | List of specific MCP servers from `.mcp.json` files to reject | `["filesystem"]` |77| `disabledMcpjsonServers` | List of specific MCP servers from `.mcp.json` files to reject | `["filesystem"]` |

78| `useEnterpriseMcpConfigOnly` | When set in managed-settings.json, restricts MCP servers to only those defined in managed-mcp.json. See [Enterprise MCP configuration](/en/docs/claude-code/mcp#enterprise-mcp-configuration) | `true` |78| `allowedMcpServers` | When set in managed-settings.json, allowlist of MCP servers users can configure. Undefined = no restrictions, empty array = lockdown. Applies to all scopes. Denylist takes precedence. See [Enterprise MCP configuration](/en/mcp#enterprise-mcp-configuration) | `[{ "serverName": "github" }]` |

79| `allowedMcpServers` | When set in managed-settings.json, allowlist of MCP servers users can configure. Undefined = no restrictions, empty array = lockdown. Applies to all scopes. Denylist takes precedence. See [Enterprise MCP configuration](/en/docs/claude-code/mcp#enterprise-mcp-configuration) | `[{ "serverName": "github" }]` |79| `deniedMcpServers` | When set in managed-settings.json, denylist of MCP servers that are explicitly blocked. Applies to all scopes including enterprise servers. Denylist takes precedence over allowlist. See [Enterprise MCP configuration](/en/mcp#enterprise-mcp-configuration) | `[{ "serverName": "filesystem" }]` |

80| `deniedMcpServers` | When set in managed-settings.json, denylist of MCP servers that are explicitly blocked. Applies to all scopes including enterprise servers. Denylist takes precedence over allowlist. See [Enterprise MCP configuration](/en/docs/claude-code/mcp#enterprise-mcp-configuration) | `[{ "serverName": "filesystem" }]` |80| `awsAuthRefresh` | Custom script that modifies the `.aws` directory (see [advanced credential configuration](/en/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

81| `awsAuthRefresh` | Custom script that modifies the `.aws` directory (see [advanced credential configuration](/en/docs/claude-code/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |81| `awsCredentialExport` | Custom script that outputs JSON with AWS credentials (see [advanced credential configuration](/en/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

82| `awsCredentialExport` | Custom script that outputs JSON with AWS credentials (see [advanced credential configuration](/en/docs/claude-code/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

83 82 

84### Permission settings83### Permission settings

85 84 

86| Keys | Description | Example |85| Keys | Description | Example |

87| :----------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- |86| :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------- |

88| `allow` | Array of [permission rules](/en/docs/claude-code/iam#configuring-permissions) to allow tool use. **Note:** Bash rules use prefix matching, not regex | `[ "Bash(git diff:*)" ]` |87| `allow` | Array of [permission rules](/en/iam#configuring-permissions) to allow tool use. **Note:** Bash rules use prefix matching, not regex | `[ "Bash(git diff:*)" ]` |

89| `ask` | Array of [permission rules](/en/docs/claude-code/iam#configuring-permissions) to ask for confirmation upon tool use. | `[ "Bash(git push:*)" ]` |88| `ask` | Array of [permission rules](/en/iam#configuring-permissions) to ask for confirmation upon tool use. | `[ "Bash(git push:*)" ]` |

90| `deny` | Array of [permission rules](/en/docs/claude-code/iam#configuring-permissions) to deny tool use. Use this to also exclude sensitive files from Claude Code access. **Note:** Bash patterns are prefix matches and can be bypassed (see [Bash permission limitations](/en/docs/claude-code/iam#tool-specific-permission-rules)) | `[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]` |89| `deny` | Array of [permission rules](/en/iam#configuring-permissions) to deny tool use. Use this to also exclude sensitive files from Claude Code access. **Note:** Bash patterns are prefix matches and can be bypassed (see [Bash permission limitations](/en/iam#tool-specific-permission-rules)) | `[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]` |

91| `additionalDirectories` | Additional [working directories](iam#working-directories) that Claude has access to | `[ "../docs/" ]` |90| `additionalDirectories` | Additional [working directories](/en/iam#working-directories) that Claude has access to | `[ "../docs/" ]` |

92| `defaultMode` | Default [permission mode](iam#permission-modes) when opening Claude Code | `"acceptEdits"` |91| `defaultMode` | Default [permission mode](/en/iam#permission-modes) when opening Claude Code | `"acceptEdits"` |

93| `disableBypassPermissionsMode` | Set to `"disable"` to prevent `bypassPermissions` mode from being activated. This disables the `--dangerously-skip-permissions` command-line flag. See [managed policy settings](iam#enterprise-managed-policy-settings) | `"disable"` |92| `disableBypassPermissionsMode` | Set to `"disable"` to prevent `bypassPermissions` mode from being activated. This disables the `--dangerously-skip-permissions` command-line flag. See [managed policy settings](/en/iam#enterprise-managed-policy-settings) | `"disable"` |

94 93 

95### Sandbox settings94### Sandbox settings

96 95 

97Configure advanced sandboxing behavior. Sandboxing isolates bash commands from your filesystem and network. See [Sandboxing](/en/docs/claude-code/sandboxing) for details.96Configure advanced sandboxing behavior. Sandboxing isolates bash commands from your filesystem and network. See [Sandboxing](/en/sandboxing) for details.

98 97 

99**Filesystem and network restrictions** are configured via Read, Edit, and WebFetch permission rules, not via these sandbox settings.98**Filesystem and network restrictions** are configured via Read, Edit, and WebFetch permission rules, not via these sandbox settings.

100 99 


209* **User subagents**: `~/.claude/agents/` - Available across all your projects208* **User subagents**: `~/.claude/agents/` - Available across all your projects

210* **Project subagents**: `.claude/agents/` - Specific to your project and can be shared with your team209* **Project subagents**: `.claude/agents/` - Specific to your project and can be shared with your team

211 210 

212Subagent files define specialized AI assistants with custom prompts and tool permissions. Learn more about creating and using subagents in the [subagents documentation](/en/docs/claude-code/sub-agents).211Subagent files define specialized AI assistants with custom prompts and tool permissions. Learn more about creating and using subagents in the [subagents documentation](/en/sub-agents).

213 212 

214## Plugin configuration213## Plugin configuration

215 214 


305* View plugin details (commands, agents, hooks provided)304* View plugin details (commands, agents, hooks provided)

306* Add/remove marketplaces305* Add/remove marketplaces

307 306 

308Learn more about the plugin system in the [plugins documentation](/en/docs/claude-code/plugins).307Learn more about the plugin system in the [plugins documentation](/en/plugins).

309 308 

310## Environment variables309## Environment variables

311 310 


316</Note>315</Note>

317 316 

318| Variable | Purpose |317| Variable | Purpose |

319| :----------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |318| :----------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

320| `ANTHROPIC_API_KEY` | API key sent as `X-Api-Key` header, typically for the Claude SDK (for interactive usage, run `/login`) |319| `ANTHROPIC_API_KEY` | API key sent as `X-Api-Key` header, typically for the Claude SDK (for interactive usage, run `/login`) |

321| `ANTHROPIC_AUTH_TOKEN` | Custom value for the `Authorization` header (the value you set here will be prefixed with `Bearer `) |320| `ANTHROPIC_AUTH_TOKEN` | Custom value for the `Authorization` header (the value you set here will be prefixed with `Bearer `) |

322| `ANTHROPIC_CUSTOM_HEADERS` | Custom headers you want to add to the request (in `Name: Value` format) |321| `ANTHROPIC_CUSTOM_HEADERS` | Custom headers you want to add to the request (in `Name: Value` format) |

323| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | See [Model configuration](/en/docs/claude-code/model-config#environment-variables) |322| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | See [Model configuration](/en/model-config#environment-variables) |

324| `ANTHROPIC_DEFAULT_OPUS_MODEL` | See [Model configuration](/en/docs/claude-code/model-config#environment-variables) |323| `ANTHROPIC_DEFAULT_OPUS_MODEL` | See [Model configuration](/en/model-config#environment-variables) |

325| `ANTHROPIC_DEFAULT_SONNET_MODEL` | See [Model configuration](/en/docs/claude-code/model-config#environment-variables) |324| `ANTHROPIC_DEFAULT_SONNET_MODEL` | See [Model configuration](/en/model-config#environment-variables) |

326| `ANTHROPIC_MODEL` | Name of the model setting to use (see [Model Configuration](/en/docs/claude-code/model-config#environment-variables)) |325| `ANTHROPIC_MODEL` | Name of the model setting to use (see [Model Configuration](/en/model-config#environment-variables)) |

327| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Name of [Haiku-class model for background tasks](/en/docs/claude-code/costs) |326| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Name of [Haiku-class model for background tasks](/en/costs) |

328| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Override AWS region for the Haiku-class model when using Bedrock |327| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Override AWS region for the Haiku-class model when using Bedrock |

329| `AWS_BEARER_TOKEN_BEDROCK` | Bedrock API key for authentication (see [Bedrock API keys](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |328| `AWS_BEARER_TOKEN_BEDROCK` | Bedrock API key for authentication (see [Bedrock API keys](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

330| `BASH_DEFAULT_TIMEOUT_MS` | Default timeout for long-running bash commands |329| `BASH_DEFAULT_TIMEOUT_MS` | Default timeout for long-running bash commands |


341| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Set the maximum number of output tokens for most requests |340| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Set the maximum number of output tokens for most requests |

342| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Skip AWS authentication for Bedrock (e.g. when using an LLM gateway) |341| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Skip AWS authentication for Bedrock (e.g. when using an LLM gateway) |

343| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Skip Google authentication for Vertex (e.g. when using an LLM gateway) |342| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Skip Google authentication for Vertex (e.g. when using an LLM gateway) |

344| `CLAUDE_CODE_SUBAGENT_MODEL` | See [Model configuration](/en/docs/claude-code/model-config) |343| `CLAUDE_CODE_SUBAGENT_MODEL` | See [Model configuration](/en/model-config) |

345| `CLAUDE_CODE_USE_BEDROCK` | Use [Bedrock](/en/docs/claude-code/amazon-bedrock) |344| `CLAUDE_CODE_USE_BEDROCK` | Use [Bedrock](/en/amazon-bedrock) |

346| `CLAUDE_CODE_USE_VERTEX` | Use [Vertex](/en/docs/claude-code/google-vertex-ai) |345| `CLAUDE_CODE_USE_VERTEX` | Use [Vertex](/en/google-vertex-ai) |

347| `DISABLE_AUTOUPDATER` | Set to `1` to disable automatic updates. This takes precedence over the `autoUpdates` configuration setting. |346| `DISABLE_AUTOUPDATER` | Set to `1` to disable automatic updates. This takes precedence over the `autoUpdates` configuration setting. |

348| `DISABLE_BUG_COMMAND` | Set to `1` to disable the `/bug` command |347| `DISABLE_BUG_COMMAND` | Set to `1` to disable the `/bug` command |

349| `DISABLE_COST_WARNINGS` | Set to `1` to disable cost warning messages |348| `DISABLE_COST_WARNINGS` | Set to `1` to disable cost warning messages |


357| `HTTP_PROXY` | Specify HTTP proxy server for network connections |356| `HTTP_PROXY` | Specify HTTP proxy server for network connections |

358| `HTTPS_PROXY` | Specify HTTPS proxy server for network connections |357| `HTTPS_PROXY` | Specify HTTPS proxy server for network connections |

359| `MAX_MCP_OUTPUT_TOKENS` | Maximum number of tokens allowed in MCP tool responses. Claude Code displays a warning when output exceeds 10,000 tokens (default: 25000) |358| `MAX_MCP_OUTPUT_TOKENS` | Maximum number of tokens allowed in MCP tool responses. Claude Code displays a warning when output exceeds 10,000 tokens (default: 25000) |

360| `MAX_THINKING_TOKENS` | Enable [extended thinking](/en/docs/build-with-claude/extended-thinking) and set the token budget for the thinking process. Extended thinking improves performance on complex reasoning and coding tasks but impacts [prompt caching efficiency](/en/docs/build-with-claude/prompt-caching#caching-with-thinking-blocks). Disabled by default. |359| `MAX_THINKING_TOKENS` | Enable [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) and set the token budget for the thinking process. Extended thinking improves performance on complex reasoning and coding tasks but impacts [prompt caching efficiency](https://docs.claude.com/en/docs/build-with-claude/prompt-caching#caching-with-thinking-blocks). Disabled by default. |

361| `MCP_TIMEOUT` | Timeout in milliseconds for MCP server startup |360| `MCP_TIMEOUT` | Timeout in milliseconds for MCP server startup |

362| `MCP_TOOL_TIMEOUT` | Timeout in milliseconds for MCP tool execution |361| `MCP_TOOL_TIMEOUT` | Timeout in milliseconds for MCP tool execution |

363| `NO_PROXY` | List of domains and IPs to which requests will be directly issued, bypassing proxy |362| `NO_PROXY` | List of domains and IPs to which requests will be directly issued, bypassing proxy |

364| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Maximum number of characters for slash command metadata shown to [SlashCommand tool](/en/docs/claude-code/slash-commands#slashcommand-tool) (default: 15000) |363| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Maximum number of characters for slash command metadata shown to [SlashCommand tool](/en/slash-commands#slashcommand-tool) (default: 15000) |

365| `USE_BUILTIN_RIPGREP` | Set to `0` to use system-installed `rg` intead of `rg` included with Claude Code |364| `USE_BUILTIN_RIPGREP` | Set to `0` to use system-installed `rg` intead of `rg` included with Claude Code |

366| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Override region for Claude 3.5 Haiku when using Vertex AI |365| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Override region for Claude 3.5 Haiku when using Vertex AI |

367| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Override region for Claude 3.7 Sonnet when using Vertex AI |366| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Override region for Claude 3.7 Sonnet when using Vertex AI |


374Claude Code has access to a set of powerful tools that help it understand and modify your codebase:373Claude Code has access to a set of powerful tools that help it understand and modify your codebase:

375 374 

376| Tool | Description | Permission Required |375| Tool | Description | Permission Required |

377| :--------------- | :----------------------------------------------------------------------------------- | :------------------ |376| :--------------- | :------------------------------------------------------------------ | :------------------ |

378| **Bash** | Executes shell commands in your environment | Yes |377| **Bash** | Executes shell commands in your environment | Yes |

379| **Edit** | Makes targeted edits to specific files | Yes |378| **Edit** | Makes targeted edits to specific files | Yes |

380| **Glob** | Finds files based on pattern matching | No |379| **Glob** | Finds files based on pattern matching | No |


382| **NotebookEdit** | Modifies Jupyter notebook cells | Yes |381| **NotebookEdit** | Modifies Jupyter notebook cells | Yes |

383| **NotebookRead** | Reads and displays Jupyter notebook contents | No |382| **NotebookRead** | Reads and displays Jupyter notebook contents | No |

384| **Read** | Reads the contents of files | No |383| **Read** | Reads the contents of files | No |

385| **SlashCommand** | Runs a [custom slash command](/en/docs/claude-code/slash-commands#slashcommand-tool) | Yes |384| **SlashCommand** | Runs a [custom slash command](/en/slash-commands#slashcommand-tool) | Yes |

386| **Task** | Runs a sub-agent to handle complex, multi-step tasks | No |385| **Task** | Runs a sub-agent to handle complex, multi-step tasks | No |

387| **TodoWrite** | Creates and manages structured task lists | No |386| **TodoWrite** | Creates and manages structured task lists | No |

388| **WebFetch** | Fetches content from a specified URL | Yes |387| **WebFetch** | Fetches content from a specified URL | Yes |

389| **WebSearch** | Performs web searches with domain filtering | Yes |388| **WebSearch** | Performs web searches with domain filtering | Yes |

390| **Write** | Creates or overwrites files | Yes |389| **Write** | Creates or overwrites files | Yes |

391 390 

392Permission rules can be configured using `/allowed-tools` or in [permission settings](/en/docs/claude-code/settings#available-settings). Also see [Tool-specific permission rules](/en/docs/claude-code/iam#tool-specific-permission-rules).391Permission rules can be configured using `/allowed-tools` or in [permission settings](/en/settings#available-settings). Also see [Tool-specific permission rules](/en/iam#tool-specific-permission-rules).

393 392 

394### Extending tools with hooks393### Extending tools with hooks

395 394 

396You can run custom commands before or after any tool executes using395You can run custom commands before or after any tool executes using

397[Claude Code hooks](/en/docs/claude-code/hooks-guide).396[Claude Code hooks](/en/hooks-guide).

398 397 

399For example, you could automatically run a Python formatter after Claude398For example, you could automatically run a Python formatter after Claude

400modifies Python files, or prevent modifications to production configuration399modifies Python files, or prevent modifications to production configuration


402 401 

403## See also402## See also

404 403 

405* [Identity and Access Management](/en/docs/claude-code/iam#configuring-permissions) - Learn about Claude Code's permission system404* [Identity and Access Management](/en/iam#configuring-permissions) - Learn about Claude Code's permission system

406* [IAM and access control](/en/docs/claude-code/iam#enterprise-managed-policy-settings) - Enterprise policy management405* [IAM and access control](/en/iam#enterprise-managed-policy-settings) - Enterprise policy management

407* [Troubleshooting](/en/docs/claude-code/troubleshooting#auto-updater-issues) - Solutions for common configuration issues406* [Troubleshooting](/en/troubleshooting#auto-updater-issues) - Solutions for common configuration issues

setup.md +7 −7

Details

13 13 

14### Additional dependencies14### Additional dependencies

15 15 

16* **ripgrep**: Usually included with Claude Code. If search functionality fails, see [search troubleshooting](/en/docs/claude-code/troubleshooting#search-and-discovery-issues).16* **ripgrep**: Usually included with Claude Code. If search functionality fails, see [search troubleshooting](/en/troubleshooting#search-and-discovery-issues).

17 17 

18## Standard installation18## Standard installation

19 19 


70 70 

711. **Claude Console**: The default option. Connect through the Claude Console and complete the OAuth process. Requires active billing at [console.anthropic.com](https://console.anthropic.com). A "Claude Code" workspace will be automatically created for usage tracking and cost management. Note that you cannot create API keys for the Claude Code workspace - it is dedicated exclusively for Claude Code usage.711. **Claude Console**: The default option. Connect through the Claude Console and complete the OAuth process. Requires active billing at [console.anthropic.com](https://console.anthropic.com). A "Claude Code" workspace will be automatically created for usage tracking and cost management. Note that you cannot create API keys for the Claude Code workspace - it is dedicated exclusively for Claude Code usage.

722. **Claude App (with Pro or Max plan)**: Subscribe to Claude's [Pro or Max plan](https://claude.com/pricing) for a unified subscription that includes both Claude Code and the web interface. Get more value at the same price point while managing your account in one place. Log in with your Claude.ai account. During launch, choose the option that matches your subscription type.722. **Claude App (with Pro or Max plan)**: Subscribe to Claude's [Pro or Max plan](https://claude.com/pricing) for a unified subscription that includes both Claude Code and the web interface. Get more value at the same price point while managing your account in one place. Log in with your Claude.ai account. During launch, choose the option that matches your subscription type.

733. **Enterprise platforms**: Configure Claude Code to use [Amazon Bedrock or Google Vertex AI](/en/docs/claude-code/third-party-integrations) for enterprise deployments with your existing cloud infrastructure.733. **Enterprise platforms**: Configure Claude Code to use [Amazon Bedrock or Google Vertex AI](/en/third-party-integrations) for enterprise deployments with your existing cloud infrastructure.

74 74 

75<Note>75<Note>

76 Claude Code securely stores your credentials. See [Credential Management](/en/docs/claude-code/iam#credential-management) for details.76 Claude Code securely stores your credentials. See [Credential Management](/en/iam#credential-management) for details.

77</Note>77</Note>

78 78 

79## Windows setup79## Windows setup


94 94 

95Claude Code offers multiple installation methods to suit different environments.95Claude Code offers multiple installation methods to suit different environments.

96 96 

97If you encounter any issues during installation, consult the [troubleshooting guide](/en/docs/claude-code/troubleshooting#linux-permission-issues).97If you encounter any issues during installation, consult the [troubleshooting guide](/en/troubleshooting#linux-permission-issues).

98 98 

99<Tip>99<Tip>

100 Run `claude doctor` after installation to check your installation type and version.100 Run `claude doctor` after installation to check your installation type and version.


173 173 

174<Warning>174<Warning>

175 Do NOT use `sudo npm install -g` as this can lead to permission issues and security risks.175 Do NOT use `sudo npm install -g` as this can lead to permission issues and security risks.

176 If you encounter permission errors, see [configure Claude Code](/en/docs/claude-code/troubleshooting#linux-permission-issues) for recommended solutions.176 If you encounter permission errors, see [configure Claude Code](/en/troubleshooting#linux-permission-issues) for recommended solutions.

177</Warning>177</Warning>

178 178 

179### Local installation179### Local installation


186 186 

187By default, Claude Code uses the Claude API.187By default, Claude Code uses the Claude API.

188 188 

189For details on running Claude Code on AWS or GCP, see [third-party integrations](/en/docs/claude-code/third-party-integrations).189For details on running Claude Code on AWS or GCP, see [third-party integrations](/en/third-party-integrations).

190 190 

191## Update Claude Code191## Update Claude Code

192 192 


201 201 

202**Disable auto-updates:**202**Disable auto-updates:**

203 203 

204Set the `DISABLE_AUTOUPDATER` environment variable in your shell or [settings.json file](/en/docs/claude-code/settings):204Set the `DISABLE_AUTOUPDATER` environment variable in your shell or [settings.json file](/en/settings):

205 205 

206```bash theme={null}206```bash theme={null}

207export DISABLE_AUTOUPDATER=1207export DISABLE_AUTOUPDATER=1

skills.md +10 −10

Details

7## Prerequisites7## Prerequisites

8 8 

9* Claude Code version 1.0 or later9* Claude Code version 1.0 or later

10* Basic familiarity with [Claude Code](/en/docs/claude-code/quickstart)10* Basic familiarity with [Claude Code](/en/quickstart)

11 11 

12## What are Agent Skills?12## What are Agent Skills?

13 13 


22* Reduce repetitive prompting22* Reduce repetitive prompting

23* Compose multiple Skills for complex tasks23* Compose multiple Skills for complex tasks

24 24 

25Learn more in the [Agent Skills overview](/en/docs/agents-and-tools/agent-skills/overview).25Learn more in the [Agent Skills overview](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview).

26 26 

27<Note>27<Note>

28 For a deep dive into the architecture and real-world applications of Agent Skills, read our engineering blog: [Equipping agents for the real world with Agent Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills).28 For a deep dive into the architecture and real-world applications of Agent Skills, read our engineering blog: [Equipping agents for the real world with Agent Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills).


64 64 

65### Plugin Skills65### Plugin Skills

66 66 

67Skills can also come from [Claude Code plugins](/en/docs/claude-code/plugins). Plugins may bundle Skills that are automatically available when the plugin is installed. These Skills work the same way as personal and project Skills.67Skills can also come from [Claude Code plugins](/en/plugins). Plugins may bundle Skills that are automatically available when the plugin is installed. These Skills work the same way as personal and project Skills.

68 68 

69## Write SKILL.md69## Write SKILL.md

70 70 


92 92 

93The `description` field is critical for Claude to discover when to use your Skill. It should include both what the Skill does and when Claude should use it.93The `description` field is critical for Claude to discover when to use your Skill. It should include both what the Skill does and when Claude should use it.

94 94 

95See the [best practices guide](/en/docs/agents-and-tools/agent-skills/best-practices) for complete authoring guidance including validation rules.95See the [best practices guide](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices) for complete authoring guidance including validation rules.

96 96 

97## Add supporting files97## Add supporting files

98 98 


261 261 

262## Share Skills with your team262## Share Skills with your team

263 263 

264**Recommended approach**: Distribute Skills through [plugins](/en/docs/claude-code/plugins).264**Recommended approach**: Distribute Skills through [plugins](/en/plugins).

265 265 

266To share Skills via plugin:266To share Skills via plugin:

267 267 


2692. Add the plugin to a marketplace2692. Add the plugin to a marketplace

2703. Team members install the plugin2703. Team members install the plugin

271 271 

272For complete instructions, see [Add Skills to your plugin](/en/docs/claude-code/plugins#add-skills-to-your-plugin).272For complete instructions, see [Add Skills to your plugin](/en/plugins#add-skills-to-your-plugin).

273 273 

274You can also share Skills directly through project repositories:274You can also share Skills directly through project repositories:

275 275 


589## Next steps589## Next steps

590 590 

591<CardGroup cols={2}>591<CardGroup cols={2}>

592 <Card title="Authoring best practices" icon="lightbulb" href="/en/docs/agents-and-tools/agent-skills/best-practices">592 <Card title="Authoring best practices" icon="lightbulb" href="https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices">

593 Write Skills that Claude can use effectively593 Write Skills that Claude can use effectively

594 </Card>594 </Card>

595 595 

596 <Card title="Agent Skills overview" icon="book" href="/en/docs/agents-and-tools/agent-skills/overview">596 <Card title="Agent Skills overview" icon="book" href="https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview">

597 Learn how Skills work across Claude products597 Learn how Skills work across Claude products

598 </Card>598 </Card>

599 599 

600 <Card title="Use Skills in the Agent SDK" icon="cube" href="/en/api/agent-sdk/skills">600 <Card title="Use Skills in the Agent SDK" icon="cube" href="https://docs.claude.com/enhttps://docs.claude.com/en/api/agent-sdk/skills">

601 Use Skills programmatically with TypeScript and Python601 Use Skills programmatically with TypeScript and Python

602 </Card>602 </Card>

603 603 

604 <Card title="Get started with Agent Skills" icon="rocket" href="/en/docs/agents-and-tools/agent-skills/quickstart">604 <Card title="Get started with Agent Skills" icon="rocket" href="https://docs.claude.com/en/docs/agents-and-tools/agent-skills/quickstart">

605 Create your first Skill605 Create your first Skill

606 </Card>606 </Card>

607</CardGroup>607</CardGroup>

slash-commands.md +25 −16

Details

5## Built-in slash commands5## Built-in slash commands

6 6 

7| Command | Purpose |7| Command | Purpose |

8| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------- |8| :------------------------ | :-------------------------------------------------------------------------------------------------------------------------- |

9| `/add-dir` | Add additional working directories |9| `/add-dir` | Add additional working directories |

10| `/agents` | Manage custom AI subagents for specialized tasks |10| `/agents` | Manage custom AI subagents for specialized tasks |

11| `/bashes` | List and manage background tasks |

11| `/bug` | Report bugs (sends conversation to Anthropic) |12| `/bug` | Report bugs (sends conversation to Anthropic) |

12| `/clear` | Clear conversation history |13| `/clear` | Clear conversation history |

13| `/compact [instructions]` | Compact conversation with optional focus instructions |14| `/compact [instructions]` | Compact conversation with optional focus instructions |

14| `/config` | Open the Settings interface (Config tab) |15| `/config` | Open the Settings interface (Config tab) |

15| `/cost` | Show token usage statistics (see [cost tracking guide](/en/docs/claude-code/costs#using-the-cost-command) for subscription-specific details) |16| `/context` | Visualize current context usage as a colored grid |

17| `/cost` | Show token usage statistics (see [cost tracking guide](/en/costs#using-the-cost-command) for subscription-specific details) |

16| `/doctor` | Checks the health of your Claude Code installation |18| `/doctor` | Checks the health of your Claude Code installation |

19| `/exit` | Exit the REPL |

20| `/export [filename]` | Export the current conversation to a file or clipboard |

17| `/help` | Get usage help |21| `/help` | Get usage help |

22| `/hooks` | Manage hook configurations for tool events |

18| `/init` | Initialize project with CLAUDE.md guide |23| `/init` | Initialize project with CLAUDE.md guide |

19| `/login` | Switch Anthropic accounts |24| `/login` | Switch Anthropic accounts |

20| `/logout` | Sign out from your Anthropic account |25| `/logout` | Sign out from your Anthropic account |

21| `/mcp` | Manage MCP server connections and OAuth authentication |26| `/mcp` | Manage MCP server connections and OAuth authentication |

22| `/memory` | Edit CLAUDE.md memory files |27| `/memory` | Edit CLAUDE.md memory files |

23| `/model` | Select or change the AI model |28| `/model` | Select or change the AI model |

24| `/permissions` | View or update [permissions](/en/docs/claude-code/iam#configuring-permissions) |29| `/output-style [style]` | Set the output style directly or from a selection menu |

30| `/permissions` | View or update [permissions](/en/iam#configuring-permissions) |

25| `/pr_comments` | View pull request comments |31| `/pr_comments` | View pull request comments |

32| `/privacy-settings` | View and update your privacy settings |

26| `/review` | Request code review |33| `/review` | Request code review |

27| `/sandbox` | Enable sandboxed bash tool with filesystem and network isolation for safer, more autonomous execution |34| `/sandbox` | Enable sandboxed bash tool with filesystem and network isolation for safer, more autonomous execution |

28| `/rewind` | Rewind the conversation and/or code |35| `/rewind` | Rewind the conversation and/or code |

29| `/status` | Open the Settings interface (Status tab) showing version, model, account, and connectivity |36| `/status` | Open the Settings interface (Status tab) showing version, model, account, and connectivity |

37| `/statusline` | Set up Claude Code's status line UI |

30| `/terminal-setup` | Install Shift+Enter key binding for newlines (iTerm2 and VSCode only) |38| `/terminal-setup` | Install Shift+Enter key binding for newlines (iTerm2 and VSCode only) |

39| `/todos` | List current todo items |

31| `/usage` | Show plan usage limits and rate limit status (subscription plans only) |40| `/usage` | Show plan usage limits and rate limit status (subscription plans only) |

32| `/vim` | Enter vim mode for alternating insert and command modes |41| `/vim` | Enter vim mode for alternating insert and command modes |

33 42 


151 160 

152#### File references161#### File references

153 162 

154Include file contents in commands using the `@` prefix to [reference files](/en/docs/claude-code/common-workflows#reference-files-and-directories).163Include file contents in commands using the `@` prefix to [reference files](/en/common-workflows#reference-files-and-directories).

155 164 

156For example:165For example:

157 166 


167 176 

168#### Thinking mode177#### Thinking mode

169 178 

170Slash commands can trigger extended thinking by including [extended thinking keywords](/en/docs/claude-code/common-workflows#use-extended-thinking).179Slash commands can trigger extended thinking by including [extended thinking keywords](/en/common-workflows#use-extended-thinking).

171 180 

172### Frontmatter181### Frontmatter

173 182 


178| `allowed-tools` | List of tools the command can use | Inherits from the conversation |187| `allowed-tools` | List of tools the command can use | Inherits from the conversation |

179| `argument-hint` | The arguments expected for the slash command. Example: `argument-hint: add [tagId] \| remove [tagId] \| list`. This hint is shown to the user when auto-completing the slash command. | None |188| `argument-hint` | The arguments expected for the slash command. Example: `argument-hint: add [tagId] \| remove [tagId] \| list`. This hint is shown to the user when auto-completing the slash command. | None |

180| `description` | Brief description of the command | Uses the first line from the prompt |189| `description` | Brief description of the command | Uses the first line from the prompt |

181| `model` | Specific model string (see [Models overview](/en/docs/about-claude/models/overview)) | Inherits from the conversation |190| `model` | Specific model string (see [Models overview](https://docs.claude.com/en/docs/about-claude/models/overview)) | Inherits from the conversation |

182| `disable-model-invocation` | Whether to prevent `SlashCommand` tool from calling this command | false |191| `disable-model-invocation` | Whether to prevent `SlashCommand` tool from calling this command | false |

183 192 

184For example:193For example:


208 217 

209## Plugin commands218## Plugin commands

210 219 

211[Plugins](/en/docs/claude-code/plugins) can provide custom slash commands that integrate seamlessly with Claude Code. Plugin commands work exactly like user-defined commands but are distributed through [plugin marketplaces](/en/docs/claude-code/plugin-marketplaces).220[Plugins](/en/plugins) can provide custom slash commands that integrate seamlessly with Claude Code. Plugin commands work exactly like user-defined commands but are distributed through [plugin marketplaces](/en/plugin-marketplaces).

212 221 

213### How plugin commands work222### How plugin commands work

214 223 


311 320 

312### MCP permissions and wildcards321### MCP permissions and wildcards

313 322 

314When configuring [permissions for MCP tools](/en/docs/claude-code/iam#tool-specific-permission-rules), note that **wildcards are not supported**:323When configuring [permissions for MCP tools](/en/iam#tool-specific-permission-rules), note that **wildcards are not supported**:

315 324 

316* ✅ **Correct**: `mcp__github` (approves ALL tools from the github server)325* ✅ **Correct**: `mcp__github` (approves ALL tools from the github server)

317* ✅ **Correct**: `mcp__github__get_issue` (approves specific tool)326* ✅ **Correct**: `mcp__github__get_issue` (approves specific tool)


321 330 

322## `SlashCommand` tool331## `SlashCommand` tool

323 332 

324The `SlashCommand` tool allows Claude to execute [custom slash commands](/en/docs/claude-code/slash-commands#custom-slash-commands) programmatically333The `SlashCommand` tool allows Claude to execute [custom slash commands](/en/slash-commands#custom-slash-commands) programmatically

325during a conversation. This gives Claude the ability to invoke custom commands334during a conversation. This gives Claude the ability to invoke custom commands

326on your behalf when appropriate.335on your behalf when appropriate.

327 336 


478 487 

479Both slash commands and Skills can coexist. Use the approach that fits your needs.488Both slash commands and Skills can coexist. Use the approach that fits your needs.

480 489 

481Learn more about [Agent Skills](/en/docs/claude-code/skills).490Learn more about [Agent Skills](/en/skills).

482 491 

483## See also492## See also

484 493 

485* [Plugins](/en/docs/claude-code/plugins) - Extend Claude Code with custom commands through plugins494* [Plugins](/en/plugins) - Extend Claude Code with custom commands through plugins

486* [Identity and Access Management](/en/docs/claude-code/iam) - Complete guide to permissions, including MCP tool permissions495* [Identity and Access Management](/en/iam) - Complete guide to permissions, including MCP tool permissions

487* [Interactive mode](/en/docs/claude-code/interactive-mode) - Shortcuts, input modes, and interactive features496* [Interactive mode](/en/interactive-mode) - Shortcuts, input modes, and interactive features

488* [CLI reference](/en/docs/claude-code/cli-reference) - Command-line flags and options497* [CLI reference](/en/cli-reference) - Command-line flags and options

489* [Settings](/en/docs/claude-code/settings) - Configuration options498* [Settings](/en/settings) - Configuration options

490* [Memory management](/en/docs/claude-code/memory) - Managing Claude's memory across sessions499* [Memory management](/en/memory) - Managing Claude's memory across sessions

sub-agents.md +11 −11

Details

84 84 

85### Plugin agents85### Plugin agents

86 86 

87[Plugins](/en/docs/claude-code/plugins) can provide custom subagents that integrate seamlessly with Claude Code. Plugin agents work identically to user-defined agents and appear in the `/agents` interface.87[Plugins](/en/plugins) can provide custom subagents that integrate seamlessly with Claude Code. Plugin agents work identically to user-defined agents and appear in the `/agents` interface.

88 88 

89**Plugin agent locations**: Plugins include agents in their `agents/` directory (or custom paths specified in the plugin manifest).89**Plugin agent locations**: Plugins include agents in their `agents/` directory (or custom paths specified in the plugin manifest).

90 90 


95* Can be invoked automatically by Claude when appropriate95* Can be invoked automatically by Claude when appropriate

96* Can be managed (viewed, inspected) through `/agents` interface96* Can be managed (viewed, inspected) through `/agents` interface

97 97 

98See the [plugin components reference](/en/docs/claude-code/plugins-reference#agents) for details on creating plugin agents.98See the [plugin components reference](/en/plugins-reference#agents) for details on creating plugin agents.

99 99 

100### CLI-based configuration100### CLI-based configuration

101 101 


121* Automation scripts that need custom subagents121* Automation scripts that need custom subagents

122* Sharing subagent definitions in documentation or scripts122* Sharing subagent definitions in documentation or scripts

123 123 

124For detailed information about the JSON format and all available options, see the [CLI reference documentation](/en/docs/claude-code/cli-reference#agents-flag-format).124For detailed information about the JSON format and all available options, see the [CLI reference documentation](/en/cli-reference#agents-flag-format).

125 125 

126### File format126### File format

127 127 


146#### Configuration fields146#### Configuration fields

147 147 

148| Field | Required | Description |148| Field | Required | Description |

149| :------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |149| :------------ | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

150| `name` | Yes | Unique identifier using lowercase letters and hyphens |150| `name` | Yes | Unique identifier using lowercase letters and hyphens |

151| `description` | Yes | Natural language description of the subagent's purpose |151| `description` | Yes | Natural language description of the subagent's purpose |

152| `tools` | No | Comma-separated list of specific tools. If omitted, inherits all tools from the main thread |152| `tools` | No | Comma-separated list of specific tools. If omitted, inherits all tools from the main thread |

153| `model` | No | Model to use for this subagent. Can be a model alias (`sonnet`, `opus`, `haiku`) or `'inherit'` to use the main conversation's model. If omitted, defaults to the [configured subagent model](/en/docs/claude-code/model-config) |153| `model` | No | Model to use for this subagent. Can be a model alias (`sonnet`, `opus`, `haiku`) or `'inherit'` to use the main conversation's model. If omitted, defaults to the [configured subagent model](/en/model-config) |

154 154 

155### Model selection155### Model selection

156 156 

157The `model` field allows you to control which [AI model](/en/docs/claude-code/model-config) the subagent uses:157The `model` field allows you to control which [AI model](/en/model-config) the subagent uses:

158 158 

159* **Model alias**: Use one of the available aliases: `sonnet`, `opus`, or `haiku`159* **Model alias**: Use one of the available aliases: `sonnet`, `opus`, or `haiku`

160* **`'inherit'`**: Use the same model as the main conversation (useful for consistency)160* **`'inherit'`**: Use the same model as the main conversation (useful for consistency)


166 166 

167### Available tools167### Available tools

168 168 

169Subagents can be granted access to any of Claude Code's internal tools. See the [tools documentation](/en/docs/claude-code/settings#tools-available-to-claude) for a complete list of available tools.169Subagents can be granted access to any of Claude Code's internal tools. See the [tools documentation](/en/settings#tools-available-to-claude) for a complete list of available tools.

170 170 

171<Tip>171<Tip>

172 **Recommended:** Use the `/agents` command to modify tool access - it provides an interactive interface that lists all available tools, including any connected MCP server tools, making it easier to select the ones you need.172 **Recommended:** Use the `/agents` command to modify tool access - it provides an interactive interface that lists all available tools, including any connected MCP server tools, making it easier to select the ones you need.


473 473 

474## Related documentation474## Related documentation

475 475 

476* [Plugins](/en/docs/claude-code/plugins) - Extend Claude Code with custom agents through plugins476* [Plugins](/en/plugins) - Extend Claude Code with custom agents through plugins

477* [Slash commands](/en/docs/claude-code/slash-commands) - Learn about other built-in commands477* [Slash commands](/en/slash-commands) - Learn about other built-in commands

478* [Settings](/en/docs/claude-code/settings) - Configure Claude Code behavior478* [Settings](/en/settings) - Configure Claude Code behavior

479* [Hooks](/en/docs/claude-code/hooks) - Automate workflows with event handlers479* [Hooks](/en/hooks) - Automate workflows with event handlers

Details

6 6 

7Claude cannot control the theme of your terminal. That's handled by your terminal application. You can match Claude Code's theme to your terminal any time via the `/config` command.7Claude cannot control the theme of your terminal. That's handled by your terminal application. You can match Claude Code's theme to your terminal any time via the `/config` command.

8 8 

9For additional customization of the Claude Code interface itself, you can configure a [custom status line](/en/docs/claude-code/statusline) to display contextual information like the current model, working directory, or git branch at the bottom of your terminal.9For additional customization of the Claude Code interface itself, you can configure a [custom status line](/en/statusline) to display contextual information like the current model, working directory, or git branch at the bottom of your terminal.

10 10 

11### Line breaks11### Line breaks

12 12 


48 48 

49#### Custom notification hooks49#### Custom notification hooks

50 50 

51For advanced notification handling, you can create [notification hooks](/en/docs/claude-code/hooks#notification) to run your own logic.51For advanced notification handling, you can create [notification hooks](/en/hooks#notification) to run your own logic.

52 52 

53### Handling large inputs53### Handling large inputs

54 54 

Details

57## Cloud providers57## Cloud providers

58 58 

59<CardGroup cols={2}>59<CardGroup cols={2}>

60 <Card title="Amazon Bedrock" icon="aws" href="/en/docs/claude-code/amazon-bedrock">60 <Card title="Amazon Bedrock" icon="aws" href="/en/amazon-bedrock">

61 Use Claude models through AWS infrastructure with IAM-based authentication and AWS-native monitoring61 Use Claude models through AWS infrastructure with IAM-based authentication and AWS-native monitoring

62 </Card>62 </Card>

63 63 

64 <Card title="Google Vertex AI" icon="google" href="/en/docs/claude-code/google-vertex-ai">64 <Card title="Google Vertex AI" icon="google" href="/en/google-vertex-ai">

65 Access Claude models via Google Cloud Platform with enterprise-grade security and compliance65 Access Claude models via Google Cloud Platform with enterprise-grade security and compliance

66 </Card>66 </Card>

67</CardGroup>67</CardGroup>


69## Corporate infrastructure69## Corporate infrastructure

70 70 

71<CardGroup cols={2}>71<CardGroup cols={2}>

72 <Card title="Enterprise Network" icon="shield" href="/en/docs/claude-code/network-config">72 <Card title="Enterprise Network" icon="shield" href="/en/network-config">

73 Configure Claude Code to work with your organization's proxy servers and SSL/TLS requirements73 Configure Claude Code to work with your organization's proxy servers and SSL/TLS requirements

74 </Card>74 </Card>

75 75 

76 <Card title="LLM Gateway" icon="server" href="/en/docs/claude-code/llm-gateway">76 <Card title="LLM Gateway" icon="server" href="/en/llm-gateway">

77 Deploy centralized model access with usage tracking, budgeting, and audit logging77 Deploy centralized model access with usage tracking, budgeting, and audit logging

78 </Card>78 </Card>

79</CardGroup>79</CardGroup>


181 181 

182When debugging your deployment:182When debugging your deployment:

183 183 

184* Use the `claude /status` [slash command](/en/docs/claude-code/slash-commands). This command provides observability into any applied authentication, proxy, and URL settings.184* Use the `claude /status` [slash command](/en/slash-commands). This command provides observability into any applied authentication, proxy, and URL settings.

185* Set environment variable `export ANTHROPIC_LOG=debug` to log requests.185* Set environment variable `export ANTHROPIC_LOG=debug` to log requests.

186 186 

187## Best practices for organizations187## Best practices for organizations


193* **Organization-wide**: Deploy to system directories like `/Library/Application Support/ClaudeCode/CLAUDE.md` (macOS) for company-wide standards193* **Organization-wide**: Deploy to system directories like `/Library/Application Support/ClaudeCode/CLAUDE.md` (macOS) for company-wide standards

194* **Repository-level**: Create `CLAUDE.md` files in repository roots containing project architecture, build commands, and contribution guidelines. Check these into source control so all users benefit194* **Repository-level**: Create `CLAUDE.md` files in repository roots containing project architecture, build commands, and contribution guidelines. Check these into source control so all users benefit

195 195 

196 [Learn more](/en/docs/claude-code/memory).196 [Learn more](/en/memory).

197 197 

198### 2. Simplify deployment198### 2. Simplify deployment

199 199 


205 205 

206### 4. Configure security policies206### 4. Configure security policies

207 207 

208Security teams can configure managed permissions for what Claude Code is and is not allowed to do, which cannot be overwritten by local configuration. [Learn more](/en/docs/claude-code/security).208Security teams can configure managed permissions for what Claude Code is and is not allowed to do, which cannot be overwritten by local configuration. [Learn more](/en/security).

209 209 

210### 5. Leverage MCP for integrations210### 5. Leverage MCP for integrations

211 211 

212MCP is a great way to give Claude Code more information, such as connecting to ticket management systems or error logs. We recommend that one central team configures MCP servers and checks a `.mcp.json` configuration into the codebase so that all users benefit. [Learn more](/en/docs/claude-code/mcp).212MCP is a great way to give Claude Code more information, such as connecting to ticket management systems or error logs. We recommend that one central team configures MCP servers and checks a `.mcp.json` configuration into the codebase so that all users benefit. [Learn more](/en/mcp).

213 213 

214At Anthropic, we trust Claude Code to power development across every Anthropic codebase. We hope you enjoy using Claude Code as much as we do!214At Anthropic, we trust Claude Code to power development across every Anthropic codebase. We hope you enjoy using Claude Code as much as we do!

215 215 

216## Next steps216## Next steps

217 217 

218* [Set up Amazon Bedrock](/en/docs/claude-code/amazon-bedrock) for AWS-native deployment218* [Set up Amazon Bedrock](/en/amazon-bedrock) for AWS-native deployment

219* [Configure Google Vertex AI](/en/docs/claude-code/google-vertex-ai) for GCP deployment219* [Configure Google Vertex AI](/en/google-vertex-ai) for GCP deployment

220* [Configure Enterprise Network](/en/docs/claude-code/network-config) for network requirements220* [Configure Enterprise Network](/en/network-config) for network requirements

221* [Deploy LLM Gateway](/en/docs/claude-code/llm-gateway) for enterprise management221* [Deploy LLM Gateway](/en/llm-gateway) for enterprise management

222* [Settings](/en/docs/claude-code/settings) for configuration options and environment variables222* [Settings](/en/settings) for configuration options and environment variables

Details

136### Repeated permission prompts136### Repeated permission prompts

137 137 

138If you find yourself repeatedly approving the same commands, you can allow specific tools138If you find yourself repeatedly approving the same commands, you can allow specific tools

139to run without approval using the `/permissions` command. See [Permissions docs](/en/docs/claude-code/iam#configuring-permissions).139to run without approval using the `/permissions` command. See [Permissions docs](/en/iam#configuring-permissions).

140 140 

141### Authentication issues141### Authentication issues

142 142 


193pacman -S ripgrep193pacman -S ripgrep

194```194```

195 195 

196Then set `USE_BUILTIN_RIPGREP=0` in your [environment](/en/docs/claude-code/settings#environment-variables).196Then set `USE_BUILTIN_RIPGREP=0` in your [environment](/en/settings#environment-variables).

197 197 

198### Slow or incomplete search results on WSL198### Slow or incomplete search results on WSL

199 199 


252 These networking issues only affect WSL2. WSL1 uses the host's network directly and doesn't require these configurations.252 These networking issues only affect WSL2. WSL1 uses the host's network directly and doesn't require these configurations.

253</Note>253</Note>

254 254 

255For additional JetBrains configuration tips, see our [IDE integration guide](/en/docs/claude-code/ide-integrations#jetbrains-plugin-settings).255For additional JetBrains configuration tips, see our [IDE integration guide](/en/vs-code#jetbrains-plugin-settings).

256 256 

257### Reporting Windows IDE integration issues (both native and WSL)257### Reporting Windows IDE integration issues (both native and WSL)

258 258 


302 302 

3031. **Ask Claude to add language tags**: Simply request "Please add appropriate language tags to all code blocks in this markdown file."3031. **Ask Claude to add language tags**: Simply request "Please add appropriate language tags to all code blocks in this markdown file."

304 304 

3052. **Use post-processing hooks**: Set up automatic formatting hooks to detect and add missing language tags. See the [markdown formatting hook example](/en/docs/claude-code/hooks-guide#markdown-formatting-hook) for implementation details.3052. **Use post-processing hooks**: Set up automatic formatting hooks to detect and add missing language tags. See the [markdown formatting hook example](/en/hooks-guide#markdown-formatting-hook) for implementation details.

306 306 

3073. **Manual verification**: After generating markdown files, review them for proper code block formatting and request corrections if needed.3073. **Manual verification**: After generating markdown files, review them for proper code block formatting and request corrections if needed.

308 308 


316 316 

3172. **Use formatting tools**: Set up hooks to run markdown formatters like `prettier` or custom formatting scripts on generated markdown files.3172. **Use formatting tools**: Set up hooks to run markdown formatters like `prettier` or custom formatting scripts on generated markdown files.

318 318 

3193. **Specify formatting preferences**: Include formatting requirements in your prompts or project [memory](/en/docs/claude-code/memory) files.3193. **Specify formatting preferences**: Include formatting requirements in your prompts or project [memory](/en/memory) files.

320 320 

321### Best practices for markdown generation321### Best practices for markdown generation

322 322 

323To minimize formatting issues:323To minimize formatting issues:

324 324 

325* **Be explicit in requests**: Ask for "properly formatted markdown with language-tagged code blocks"325* **Be explicit in requests**: Ask for "properly formatted markdown with language-tagged code blocks"

326* **Use project conventions**: Document your preferred markdown style in [CLAUDE.md](/en/docs/claude-code/memory)326* **Use project conventions**: Document your preferred markdown style in [CLAUDE.md](/en/memory)

327* **Set up validation hooks**: Use post-processing hooks to automatically verify and fix common formatting issues327* **Set up validation hooks**: Use post-processing hooks to automatically verify and fix common formatting issues

328 328 

329## Getting more help329## Getting more help

vs-code.md +21 −9

Details

2 2 

3> Use Claude Code with Visual Studio Code through our native extension or CLI integration3> Use Claude Code with Visual Studio Code through our native extension or CLI integration

4 4 

5<img src="https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=600835067c8b03557a0529978e3f0261" alt="Claude Code VS Code Extension Interface" data-og-width="2500" width="2500" data-og-height="1155" height="1155" data-path="images/vs-code-extension-interface.jpg" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?w=280&fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=c11a25932f84ca58124a368156b476d2 280w, https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?w=560&fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=3642697ed4d8a6c02396c403bf7aae44 560w, https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?w=840&fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=fb3cb16e752060fbeb0f5e8ba775798b 840w, https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?w=1100&fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=1c6073edc8fcfcbc8e237cbf5f25cdc6 1100w, https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?w=1650&fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=152628678fe3301018b79e932706c430 1650w, https://mintcdn.com/anthropic-claude-docs/Xfpgr-ckk38MZnw3/images/vs-code-extension-interface.jpg?w=2500&fit=max&auto=format&n=Xfpgr-ckk38MZnw3&q=85&s=7ac83b2db00366c9a745380571a748ab 2500w" />5<img src="https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=300652d5678c63905e6b0ea9e50835f8" alt="Claude Code VS Code Extension Interface" data-og-width="2500" width="2500" data-og-height="1155" height="1155" data-path="images/vs-code-extension-interface.jpg" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?w=280&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=87630c671517a3d52e9aee627041696e 280w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?w=560&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=716b093879204beec8d952649ef75292 560w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?w=840&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=c1525d1a01513acd9d83d8b5a8fe2fc8 840w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?w=1100&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=1d90021d58bbb51f871efec13af955c3 1100w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?w=1650&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=7babdd25440099886f193cfa99af88ae 1650w, https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?w=2500&fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=08c92eedfb56fe61a61e480fb63784b6 2500w" />

6 6 

7## VS Code Extension (Beta)7## VS Code Extension (Beta)

8 8 


15* **Native IDE experience**: Dedicated Claude Code sidebar panel accessed via the Spark icon15* **Native IDE experience**: Dedicated Claude Code sidebar panel accessed via the Spark icon

16* **Plan mode with editing**: Review and edit Claude's plans before accepting them16* **Plan mode with editing**: Review and edit Claude's plans before accepting them

17* **Auto-accept edits mode**: Automatically apply Claude's changes as they're made17* **Auto-accept edits mode**: Automatically apply Claude's changes as they're made

18* **Extended thinking**: Toggle extended thinking on/off using the Extended Thinking button in the bottom-right corner of the prompt input

18* **File management**: @-mention files or attach files and images using the system file picker19* **File management**: @-mention files or attach files and images using the system file picker

19* **MCP server usage**: Use Model Context Protocol servers configured through the CLI20* **MCP server usage**: Use Model Context Protocol servers configured through the CLI

20* **Conversation history**: Easy access to past conversations21* **Conversation history**: Easy access to past conversations


65 66 

66For detailed setup instructions and additional configuration options, see:67For detailed setup instructions and additional configuration options, see:

67 68 

68* [Claude Code on Amazon Bedrock](/en/docs/claude-code/amazon-bedrock)69* [Claude Code on Amazon Bedrock](/en/amazon-bedrock)

69* [Claude Code on Google Vertex AI](/en/docs/claude-code/google-vertex-ai)70* [Claude Code on Google Vertex AI](/en/google-vertex-ai)

70 71 

71### Not Yet Implemented72### Not Yet Implemented

72 73 

73The following features are not yet available in the VS Code extension:74The following features are not yet available in the VS Code extension:

74 75 

75* **Full MCP server configuration**: You need to [configure MCP servers through the CLI](/en/docs/claude-code/mcp) first, then the extension will use them76* **MCP server and Plugin configuration UI**: Type `/mcp` to open the terminal-based MCP server configuration, or `/plugin` for Plugin configuration. Once configured, MCP servers and Plugins will work in the extension. You can also [configure MCP servers through the CLI](/en/mcp) first, then the extension will use them.

76* **Subagents configuration**: Configure [subagents through the CLI](/en/docs/claude-code/sub-agents) to use them in VS Code77* **Subagents configuration**: Configure [subagents through the CLI](/en/sub-agents) to use them in VS Code

77* **Checkpoints**: Save and restore conversation state at specific points78* **Checkpoints**: Save and restore conversation state at specific points

79* **Conversation rewinding**: The `/rewind` command is coming soon

78* **Advanced shortcuts**:80* **Advanced shortcuts**:

79 * `#` shortcut to add to memory81 * `#` shortcut to add to memory (not supported)

80 * `!` shortcut to run bash commands directly82 * `!` shortcut to run bash commands directly (not supported)

81* **Tab completion**: File path completion with tab key83* **Tab completion**: File path completion with tab key

84* **Model selection UI for older models**: To use older model versions like `claude-sonnet-4-20250514`, open VS Code settings for Claude Code (the `/General Config` command) and insert the model string directly into the 'Selected Model' field

82 85 

83We are working on adding these features in future updates.86We are working on adding these features in future updates.

84 87 


106 109 

107* Ensure you have a compatible version of VS Code (1.85.0 or later)110* Ensure you have a compatible version of VS Code (1.85.0 or later)

108* Check that VS Code has permission to install extensions111* Check that VS Code has permission to install extensions

109* Try installing directly from the marketplace website112* Try installing directly from the Marketplace website

113 

114### Claude Code Never Responds

115 

116If Claude Code is not responding to your prompts:

117 

1181. **Check your internet connection**: Ensure you have a stable internet connection

1192. **Start a new conversation**: Try starting a fresh conversation to see if the issue persists

1203. **Try the CLI**: Run `claude` from the terminal to see if you get more detailed error messages

1214. **File a bug report**: If the problem continues, [file an issue on GitHub](https://github.com/anthropics/claude-code/issues) with details about the error

110 122 

111### Legacy Integration Not Working123### Legacy Integration Not Working

112 124 


120 1. Open command palette with `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)132 1. Open command palette with `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)

121 2. Search for "Shell Command: Install 'code' command in PATH" (or equivalent for your IDE)133 2. Search for "Shell Command: Install 'code' command in PATH" (or equivalent for your IDE)

122 134 

123For additional help, see our [troubleshooting guide](/en/docs/claude-code/troubleshooting).135For additional help, see our [troubleshooting guide](/en/troubleshooting).