SpyBara
Go Premium

Documentation 2026-07-09 23:58 UTC to 2026-07-10 17:00 UTC

6 files changed +59 −22. View all changes and history on the product overview
2026
Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01
Details

754class ClaudeAgentOptions:754class ClaudeAgentOptions:

755 tools: list[str] | ToolsPreset | None = None755 tools: list[str] | ToolsPreset | None = None

756 allowed_tools: list[str] = field(default_factory=list)756 allowed_tools: list[str] = field(default_factory=list)

757 system_prompt: str | SystemPromptPreset | None = None757 system_prompt: str | SystemPromptPreset | SystemPromptFile | None = None

758 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)758 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)

759 strict_mcp_config: bool = False759 strict_mcp_config: bool = False

760 permission_mode: PermissionMode | None = None760 permission_mode: PermissionMode | None = None


800| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |800| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

801| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Tools configuration. Use `{"type": "preset", "preset": "claude_code"}` for Claude Code's default tools |801| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Tools configuration. Use `{"type": "preset", "preset": "claude_code"}` for Claude Code's default tools |

802| `allowed_tools` | `list[str]` | `[]` | Tools to auto-approve without prompting. This does not restrict Claude to only these tools; unlisted tools fall through to `permission_mode` and `can_use_tool`. Use `disallowed_tools` to block tools. See [Permissions](/en/agent-sdk/permissions#allow-and-deny-rules) |802| `allowed_tools` | `list[str]` | `[]` | Tools to auto-approve without prompting. This does not restrict Claude to only these tools; unlisted tools fall through to `permission_mode` and `can_use_tool`. Use `disallowed_tools` to block tools. See [Permissions](/en/agent-sdk/permissions#allow-and-deny-rules) |

803| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | System prompt configuration. Pass a string for custom prompt, or use `{"type": "preset", "preset": "claude_code"}` for Claude Code's system prompt. Add `"append"` to extend the preset |803| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | System prompt configuration. Pass a string for a custom prompt, `{"type": "preset", "preset": "claude_code"}` for Claude Code's system prompt with optional `"append"`, or `{"type": "file", "path": "..."}` to load a large prompt from disk. See [`SystemPromptPreset`](#systempromptpreset) and [`SystemPromptFile`](#systempromptfile) |

804| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP server configurations or path to config file |804| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | MCP server configurations or path to config file |

805| `strict_mcp_config` | `bool` | `False` | When `True`, use only the servers passed in `mcp_servers` and ignore project `.mcp.json`, user settings, plugin-provided MCP servers, and [claude.ai connectors](/en/mcp#use-mcp-servers-from-claude-ai). Maps to the CLI `--strict-mcp-config` flag |805| `strict_mcp_config` | `bool` | `False` | When `True`, use only the servers passed in `mcp_servers` and ignore project `.mcp.json`, user settings, plugin-provided MCP servers, and [claude.ai connectors](/en/mcp#use-mcp-servers-from-claude-ai). Maps to the CLI `--strict-mcp-config` flag |

806| `permission_mode` | `PermissionMode \| None` | `None` | Permission mode for tool usage |806| `permission_mode` | `PermissionMode \| None` | `None` | Permission mode for tool usage |


896| `append` | No | Additional instructions to append to the preset system prompt |896| `append` | No | Additional instructions to append to the preset system prompt |

897| `exclude_dynamic_sections` | No | Move per-session context such as working directory, the git-repo flag, and auto-memory paths from the system prompt into the first user message. Improves prompt-cache reuse across users and machines. See [Modify system prompts](/en/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |897| `exclude_dynamic_sections` | No | Move per-session context such as working directory, the git-repo flag, and auto-memory paths from the system prompt into the first user message. Improves prompt-cache reuse across users and machines. See [Modify system prompts](/en/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

898 898 

899### `SystemPromptFile`

900 

901Configuration for loading a custom system prompt from a file instead of passing it as a string. The SDK maps this to the CLI [`--system-prompt-file`](/en/cli-reference#system-prompt-flags) flag. Use the file form when the prompt is large: the SDK passes a string `system_prompt` on the CLI subprocess argv, which is subject to OS command-line length limits before the SDK sends any API request. On Linux a single argument longer than roughly 128 KB fails at process spawn with `Argument list too long`. On Windows the whole command line is capped at roughly 32 KB, so the string form fails at a lower threshold.

902 

903```python theme={null}

904class SystemPromptFile(TypedDict):

905 type: Literal["file"]

906 path: str

907```

908 

909| Field | Required | Description |

910| :----- | :------- | :-------------------------------------------- |

911| `type` | Yes | Must be `"file"` to load the prompt from disk |

912| `path` | Yes | Path to a file containing the system prompt |

913 

899### `SettingSource`914### `SettingSource`

900 915 

901Controls which filesystem-based configuration sources the SDK loads settings from.916Controls which filesystem-based configuration sources the SDK loads settings from.

desktop-linux.md +13 −1

Details

21 21 

22## Install22## Install

23 23 

24Install from Anthropic's apt repository so that updates arrive through your system's regular package updates.24Install from Anthropic's apt repository so that updates arrive through your system's regular package updates. Open a terminal and run the commands in each step.

25 25 

26<Steps>26<Steps>

27 <Step title="Add Anthropic's apt repository">27 <Step title="Add Anthropic's apt repository">


101sudo rm /etc/apt/sources.list.d/claude-desktop.list101sudo rm /etc/apt/sources.list.d/claude-desktop.list

102```102```

103 103 

104## Troubleshoot

105 

106### Unable to locate package claude-desktop

107 

108If `sudo apt install claude-desktop` fails with `E: Unable to locate package claude-desktop`, apt didn't find the repository you added. Check the following:

109 

110* Confirm the repository entry was written. `cat /etc/apt/sources.list.d/claude-desktop.list` should show the `deb` line from the [Add Anthropic's apt repository](#install) step. If the file is empty or missing, run that step again.

111* Confirm your architecture is supported. `dpkg --print-architecture` should print `amd64` or `arm64`. The repository doesn't publish packages for other architectures.

112* Run `sudo apt update` again and check its output for errors related to `downloads.claude.ai`. A network or key error there means the repository was added but couldn't be reached or verified.

113 

114If the repository is in place and reachable and the package is still not found, [install from a downloaded file](#install-from-a-downloaded-file) instead.

115 

104## What's not in the Linux beta yet116## What's not in the Linux beta yet

105 117 

106* **Computer Use**: [app and screen control](/en/desktop#let-claude-use-your-computer) isn't available on Linux.118* **Computer Use**: [app and screen control](/en/desktop#let-claude-use-your-computer) isn't available on Linux.

errors.md +23 −13

Details

29| `Auto mode could not evaluate this action and is blocking it for safety` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |29| `Auto mode could not evaluate this action and is blocking it for safety` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

30| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |30| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

31| `Agent terminated early due to an API error` | [Server errors](#agent-terminated-early-due-to-an-api-error) |31| `Agent terminated early due to an API error` | [Server errors](#agent-terminated-early-due-to-an-api-error) |

32| `You've hit your session limit` / `You've hit your weekly limit` | [Usage limits](#you%E2%80%99ve-hit-your-session-limit) |32| `You've hit your session limit` / `You've hit your weekly limit` | [Usage limits](#youve-hit-your-session-limit) |

33| `Usage credits required for 1M context` | [Usage limits](#usage-credits-required-for-1m-context) |33| `Usage credits required for 1M context` | [Usage limits](#usage-credits-required-for-1m-context) |

34| `Server is temporarily limiting requests` | [Usage limits](#server-is-temporarily-limiting-requests) |34| `Server is temporarily limiting requests` | [Usage limits](#server-is-temporarily-limiting-requests) |

35| `Request rejected (429)` | [Usage limits](#request-rejected-429) |35| `Request rejected (429)` | [Usage limits](#request-rejected-429) |


40| `This organization has been disabled` | [Authentication](#this-organization-has-been-disabled) |40| `This organization has been disabled` | [Authentication](#this-organization-has-been-disabled) |

41| `Your organization has disabled API key authentication` | [Authentication](#your-organization-has-disabled-api-key-authentication) |41| `Your organization has disabled API key authentication` | [Authentication](#your-organization-has-disabled-api-key-authentication) |

42| `Your organization has disabled Claude subscription access` | [Authentication](#your-organization-has-disabled-claude-subscription-access) |42| `Your organization has disabled Claude subscription access` | [Authentication](#your-organization-has-disabled-claude-subscription-access) |

43| `Routines are disabled by your organization's policy` | [Authentication](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |43| `Routines are disabled by your organization's policy` | [Authentication](#routines-are-disabled-by-your-organizations-policy) |

44| `Remote Control is only available when using Claude via api.anthropic.com` | [Authentication](#remote-control-requires-the-anthropic-api) |44| `Remote Control is only available when using Claude via api.anthropic.com` | [Authentication](#remote-control-requires-the-anthropic-api) |

45| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |45| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

46| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |46| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |


51| `SSL certificate verification failed` | [Network](#ssl-certificate-errors) |51| `SSL certificate verification failed` | [Network](#ssl-certificate-errors) |

52| `SSL certificate error (...)` during login or startup | [Network](#ssl-certificate-errors) |52| `SSL certificate error (...)` during login or startup | [Network](#ssl-certificate-errors) |

53| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Network](#host-not-allowed-in-a-cloud-session) |53| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Network](#host-not-allowed-in-a-cloud-session) |

54| `Couldn't reconnect to your Remote Control session` | [Network](#couldn%E2%80%99t-reconnect-to-your-remote-control-session) |54| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |

55| `Prompt is too long` | [Request errors](#prompt-is-too-long) |55| `Prompt is too long` | [Request errors](#prompt-is-too-long) |

56| `Error during compaction: Conversation too long` | [Request errors](#error-during-compaction-conversation-too-long) |56| `Error during compaction: Conversation too long` | [Request errors](#error-during-compaction-conversation-too-long) |

57| `Request too large` | [Request errors](#request-too-large) |57| `Request too large` | [Request errors](#request-too-large) |


59| `Unable to resize image` | [Request errors](#unable-to-resize-image) |59| `Unable to resize image` | [Request errors](#unable-to-resize-image) |

60| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |60| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |

61| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |61| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |

62| `There's an issue with the selected model` | [Request errors](#there%E2%80%99s-an-issue-with-the-selected-model) |62| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |

63| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |63| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |

64| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |64| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |

65| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organization%E2%80%99s-settings) |65| `Model ... is restricted by your organization's settings` | [Request errors](#model-is-restricted-by-your-organizations-settings) |

66| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |66| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |

67| `max_tokens must be greater than thinking.budget_tokens` | [Request errors](#thinking-budget-exceeds-output-limit) |67| `max_tokens must be greater than thinking.budget_tokens` | [Request errors](#thinking-budget-exceeds-output-limit) |

68| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |68| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |


251 251 

252These errors mean a quota tied to your account or plan has been reached. They are distinct from [server errors](#server-errors), which affect everyone.252These errors mean a quota tied to your account or plan has been reached. They are distinct from [server errors](#server-errors), which affect everyone.

253 253 

254### You've hit your session limit254<h3 id="youve-hit-your-session-limit">

255 You've hit your session limit

256</h3>

255 257 

256Subscription plans include a rolling usage allowance. When it runs out you see one of these messages:258Subscription plans include a rolling usage allowance. When it runs out you see one of these messages:

257 259 


288 290 

289* Run `/model` and select the variant without the `[1m]` suffix to fall back to the standard context window291* Run `/model` and select the variant without the `[1m]` suffix to fall back to the standard context window

290* Run `/usage-credits` to turn on metered billing for the 1M variant on Pro and Max, or to request it from your admin on Team and Enterprise292* Run `/usage-credits` to turn on metered billing for the 1M variant on Pro and Max, or to request it from your admin on Team and Enterprise

291* If the error persists after `/model`, a 1M model ID may be set elsewhere. See [There's an issue with the selected model](#there%E2%80%99s-an-issue-with-the-selected-model) for the configuration locations to check in priority order.293* If the error persists after `/model`, a 1M model ID may be set elsewhere. See [There's an issue with the selected model](#theres-an-issue-with-the-selected-model) for the configuration locations to check in priority order.

292* To remove 1M variants from the model picker entirely, set [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/en/env-vars)294* To remove 1M variants from the model picker entirely, set [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/en/env-vars)

293 295 

294### Server is temporarily limiting requests296### Server is temporarily limiting requests


447* Authenticate with a Console API key instead of your subscription. See [Claude Console authentication](/en/authentication#claude-console-authentication) for setup.449* Authenticate with a Console API key instead of your subscription. See [Claude Console authentication](/en/authentication#claude-console-authentication) for setup.

448* If you are the admin and do not see an option to enable access, contact [Anthropic support](https://support.claude.com)450* If you are the admin and do not see an option to enable access, contact [Anthropic support](https://support.claude.com)

449 451 

450### Routines are disabled by your organization's policy452<h3 id="routines-are-disabled-by-your-organizations-policy">

453 Routines are disabled by your organization's policy

454</h3>

451 455 

452An Owner in your Team or Enterprise organization has turned off routines at the organization level. The error appears when you try to create or run a routine, including from `/schedule` and the [Routines](/en/routines) UI on claude.ai/code.456An Owner in your Team or Enterprise organization has turned off routines at the organization level. The error appears when you try to create or run a routine, including from `/schedule` and the [Routines](/en/routines) UI on claude.ai/code.

453 457 


623 627 

624See [Network access](/en/claude-code-on-the-web#network-access) for access levels and the default allowlist. Local CLI sessions are not affected by this policy.628See [Network access](/en/claude-code-on-the-web#network-access) for access levels and the default allowlist. Local CLI sessions are not affected by this policy.

625 629 

626### Couldn't reconnect to your Remote Control session630<h3 id="couldnt-reconnect-to-your-remote-control-session">

631 Couldn't reconnect to your Remote Control session

632</h3>

627 633 

628```text theme={null}634```text theme={null}

629Couldn't reconnect to your Remote Control session. Retry, or start a fresh session without --resume.635Couldn't reconnect to your Remote Control session. Retry, or start a fresh session without --resume.


759* Configure your gateway to forward the `anthropic-beta` header. See [feature pass-through](/en/llm-gateway-protocol#feature-pass-through) for what gateways must forward.765* Configure your gateway to forward the `anthropic-beta` header. See [feature pass-through](/en/llm-gateway-protocol#feature-pass-through) for what gateways must forward.

760* As a fallback, set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/en/env-vars) before launching. This disables features that require the beta header so requests succeed through a gateway that cannot forward it.766* As a fallback, set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/en/env-vars) before launching. This disables features that require the beta header so requests succeed through a gateway that cannot forward it.

761 767 

762### There's an issue with the selected model768<h3 id="theres-an-issue-with-the-selected-model">

769 There's an issue with the selected model

770</h3>

763 771 

764The configured model name was not recognized or your account lacks access to it. As of v2.1.160 the trailing hint, shown here in its interactive form, varies by surface.772The configured model name was not recognized or your account lacks access to it. As of v2.1.160 the trailing hint, shown here in its interactive form, varies by surface.

765 773 


778 786 

779### Model is not a recognized model id787### Model is not a recognized model id

780 788 

781The model string you passed to a model switch isn't a model alias, a model ID this Claude Code version knows, or an ID that starts with `claude-`. The usual causes are a typo in the ID, a display name such as `Sonnet 5` where the ID `claude-sonnet-5` is expected, or an alias that only newer Claude Code versions recognize. Claude Code rejects the switch immediately. Before v2.1.200, Claude Code saved the string and failed on the next request with [There's an issue with the selected model](#there%E2%80%99s-an-issue-with-the-selected-model).789The model string you passed to a model switch isn't a model alias, a model ID this Claude Code version knows, or an ID that starts with `claude-`. The usual causes are a typo in the ID, a display name such as `Sonnet 5` where the ID `claude-sonnet-5` is expected, or an alias that only newer Claude Code versions recognize. Claude Code rejects the switch immediately. Before v2.1.200, Claude Code saved the string and failed on the next request with [There's an issue with the selected model](#theres-an-issue-with-the-selected-model).

782 790 

783```text theme={null}791```text theme={null}

784Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?792Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?


792 800 

793* Run `/model` with no argument to open the picker and choose from the models available to your account, then pass the alias or ID shown there801* Run `/model` with no argument to open the picker and choose from the models available to your account, then pass the alias or ID shown there

794* If you used an alias that a newer Claude Code version supports, run `claude update`. A full ID that starts with `claude-` passes this check even when the model is newer than your Claude Code version, so upgrading isn't needed for those.802* If you used an alias that a newer Claude Code version supports, run `claude update`. A full ID that starts with `claude-` passes this check even when the model is newer than your Claude Code version, so upgrading isn't needed for those.

795* A model saved before v2.1.200 isn't repaired by this check. If a stale value keeps coming back, remove it from the locations listed under [There's an issue with the selected model](#there%E2%80%99s-an-issue-with-the-selected-model).803* A model saved before v2.1.200 isn't repaired by this check. If a stale value keeps coming back, remove it from the locations listed under [There's an issue with the selected model](#theres-an-issue-with-the-selected-model).

796* The check runs only on the Anthropic API. On Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/en/claude-platform-on-aws), and behind an [LLM gateway](/en/llm-gateway) or a custom `ANTHROPIC_BASE_URL`, your provider or gateway defines the model names, so Claude Code accepts any string and passes it through.804* The check runs only on the Anthropic API. On Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/en/claude-platform-on-aws), and behind an [LLM gateway](/en/llm-gateway) or a custom `ANTHROPIC_BASE_URL`, your provider or gateway defines the model names, so Claude Code accepts any string and passes it through.

797 805 

798### Claude Opus is not available with the Claude Pro plan806### Claude Opus is not available with the Claude Pro plan


809* If you upgraded your plan recently and still see this, run `/logout` then `/login`. The stored token reflects your plan at the time you signed in, so upgrading on the web does not take effect in an existing session until you re-authenticate.817* If you upgraded your plan recently and still see this, run `/logout` then `/login`. The stored token reflects your plan at the time you signed in, so upgrading on the web does not take effect in an existing session until you re-authenticate.

810* See [claude.com/pricing](https://claude.com/pricing) for which models each plan includes818* See [claude.com/pricing](https://claude.com/pricing) for which models each plan includes

811 819 

812### Model is restricted by your organization's settings820<h3 id="model-is-restricted-by-your-organizations-settings">

821 Model is restricted by your organization's settings

822</h3>

813 823 

814Your organization admin has disabled this model in the claude.ai admin console, or it is excluded by an [`availableModels`](/en/model-config#restrict-model-selection) allowlist in managed settings. When the restricted model was set with `--model`, `ANTHROPIC_MODEL`, or the `model` setting, Claude Code substitutes an allowed model and continues. Typing `/model <name>` for a restricted model is rejected with `Run /model to choose a different model.` and the session keeps its current model.824Your organization admin has disabled this model in the claude.ai admin console, or it is excluded by an [`availableModels`](/en/model-config#restrict-model-selection) allowlist in managed settings. When the restricted model was set with `--model`, `ANTHROPIC_MODEL`, or the `model` setting, Claude Code substitutes an allowed model and continues. Typing `/model <name>` for a restricted model is rejected with `Run /model to choose a different model.` and the session keeps its current model.

815 825 

model-config.md +1 −1

Details

98 98 

99Claude Code rejects an unrecognized string with `Model "<name>" is not a recognized model id.` and the session keeps its current model, instead of saving the string and failing on the next request. See [the error reference](/en/errors#model-is-not-a-recognized-model-id) for recovery steps.99Claude Code rejects an unrecognized string with `Model "<name>" is not a recognized model id.` and the session keeps its current model, instead of saving the string and failing on the next request. See [the error reference](/en/errors#model-is-not-a-recognized-model-id) for recovery steps.

100 100 

101The check runs only on the Anthropic API. On Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/en/claude-platform-on-aws), and behind an [LLM gateway](/en/llm-gateway) or a custom `ANTHROPIC_BASE_URL`, your provider or gateway defines the model names, so Claude Code passes any string through without checking it. The check also doesn't cover the `--model` flag, the `ANTHROPIC_MODEL` environment variable, or the `model` setting; a mistyped value there produces [There's an issue with the selected model](/en/errors#there%E2%80%99s-an-issue-with-the-selected-model) on the first request instead.101The check runs only on the Anthropic API. On Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/en/claude-platform-on-aws), and behind an [LLM gateway](/en/llm-gateway) or a custom `ANTHROPIC_BASE_URL`, your provider or gateway defines the model names, so Claude Code passes any string through without checking it. The check also doesn't cover the `--model` flag, the `ANTHROPIC_MODEL` environment variable, or the `model` setting; a mistyped value there produces [There's an issue with the selected model](/en/errors#theres-an-issue-with-the-selected-model) on the first request instead.

102 102 

103When the requested model has a scheduled retirement date or is automatically remapped to a newer version, Claude Code shows a warning that names the requested model. Interactive sessions show it as a startup notice. From v2.1.182, the same warning is written to stderr in [non-interactive mode](/en/headless) when using the default text output format. The check also covers a `model` set in [subagent frontmatter](/en/sub-agents). The stderr warning is suppressed for `--output-format json` and `stream-json`; read the actual model from the `modelUsage` field of the [result message](/en/headless#get-structured-output) instead.103When the requested model has a scheduled retirement date or is automatically remapped to a newer version, Claude Code shows a warning that names the requested model. Interactive sessions show it as a startup notice. From v2.1.182, the same warning is written to stderr in [non-interactive mode](/en/headless) when using the default text output format. The check also covers a `model` set in [subagent frontmatter](/en/sub-agents). The stderr warning is suppressed for `--output-format json` and `stream-json`; read the actual model from the `modelUsage` field of the [result message](/en/headless#get-structured-output) instead.

104 104 

overview.md +4 −4

Details

10 10 

11## Get started11## Get started

12 12 

13Choose your environment to get started. Most surfaces require a [Claude subscription](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) or [Anthropic Console](https://console.anthropic.com/) account. The Terminal CLI and VS Code also support [third-party providers](/en/third-party-integrations).13Claude Code runs on several surfaces: the terminal, IDE extensions, a desktop app, and the web. Choose one from the tabs below to get started. Most surfaces require a [Claude subscription](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) or [Anthropic Console](https://console.anthropic.com/) account. The Terminal CLI and VS Code also support [third-party providers](/en/third-party-integrations).

14 14 

15<Tabs>15<Tabs>

16 <Tab title="Terminal">16 <Tab title="Terminal">


203 </Accordion>203 </Accordion>

204 204 

205 <Accordion title="Work from anywhere" icon="globe">205 <Accordion title="Work from anywhere" icon="globe">

206 Sessions aren't tied to a single surface. Move work between environments as your context changes:206 Sessions aren't tied to a single surface. Move work between them as your context changes:

207 207 

208 * Step away from your desk and keep working from your phone or any browser with [Remote Control](/en/remote-control)208 * Step away from your desk and keep working from your phone or any browser with [Remote Control](/en/remote-control)

209 * Message [Dispatch](/en/desktop#sessions-from-dispatch) a task from your phone and open the Desktop session it creates209 * Message [Dispatch](/en/desktop#sessions-from-dispatch) a task from your phone and open the Desktop session it creates


215 215 

216## Use Claude Code everywhere216## Use Claude Code everywhere

217 217 

218Each surface connects to the same underlying Claude Code engine, so your CLAUDE.md files, settings, and MCP servers work across all of them.218Each [surface](/en/glossary#surface) connects to the same underlying Claude Code engine, so your CLAUDE.md files, settings, and MCP servers work across all of them.

219 219 

220Beyond the [Terminal](/en/quickstart), [VS Code](/en/vs-code), [JetBrains](/en/jetbrains), [Desktop](/en/desktop), and [Web](/en/claude-code-on-the-web) environments above, Claude Code integrates with CI/CD, chat, and browser workflows:220Beyond the [Terminal](/en/quickstart), [VS Code](/en/vs-code), [JetBrains](/en/jetbrains), [Desktop](/en/desktop), and [Web](/en/claude-code-on-the-web) surfaces above, Claude Code integrates with CI/CD, chat, and browser workflows:

221 221 

222| I want to... | Best option |222| I want to... | Best option |

223| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |223| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |

Details

15| Login loops, OAuth errors, `403 Forbidden`, "organization disabled", Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry credentials | [Troubleshoot installation and login](/en/troubleshoot-install#login-and-authentication) |15| Login loops, OAuth errors, `403 Forbidden`, "organization disabled", Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry credentials | [Troubleshoot installation and login](/en/troubleshoot-install#login-and-authentication) |

16| Settings not applying, hooks not firing, MCP servers not loading | [Debug your configuration](/en/debug-your-config) |16| Settings not applying, hooks not firing, MCP servers not loading | [Debug your configuration](/en/debug-your-config) |

17| `API Error: 5xx`, `529 Overloaded`, `429`, request validation errors | [Error reference](/en/errors) |17| `API Error: 5xx`, `529 Overloaded`, `429`, request validation errors | [Error reference](/en/errors) |

18| `model not found` or `you may not have access to it` | [Error reference](/en/errors#there%E2%80%99s-an-issue-with-the-selected-model) |18| `model not found` or `you may not have access to it` | [Error reference](/en/errors#theres-an-issue-with-the-selected-model) |

19| VS Code extension not connecting or detecting Claude | [VS Code integration](/en/vs-code#fix-common-issues) |19| VS Code extension not connecting or detecting Claude | [VS Code integration](/en/vs-code#fix-common-issues) |

20| JetBrains plugin or IDE not detected | [JetBrains integration](/en/jetbrains#troubleshooting) |20| JetBrains plugin or IDE not detected | [JetBrains integration](/en/jetbrains#troubleshooting) |

21| High CPU or memory, slow responses, hangs, search not finding files | [Performance and stability](#performance-and-stability) below |21| High CPU or memory, slow responses, hangs, search not finding files | [Performance and stability](#performance-and-stability) below |