HomeDocs changes
Documentation changes
What the docs quietly changed.
Anthropic's published documentation, fetched on a schedule and diffed against the last copy. Every edit dated, including the ones that never made a release note.
Last poll read all 4 cleanly: Claude Code CLI, Claude Developer Platform, Claude Documentation, Model Context Protocol. A date here is when this site noticed, not when Anthropic edited.
Claude Developer Platform
821pages tracked
767 changed this week · last read 24 Oct 2026
Claude Code CLI
228pages tracked
146 changed this week · last read 24 Oct 2026
Claude Documentation
280pages tracked
69 changed this week · last read 24 Oct 2026
Model Context Protocol
357pages tracked
171 changed this week · last read 23 Oct 2026
100 on this page
ReadSourcePageWhatLines
28 Sep 2026
253 pages
+20413 −20001 lines
claude-code
agent-sdk/user-input
±changed
+2−0
claude-codechanged
agent-sdk/user-input
In TypeScript, skip the always-allow choice for a request whose options carry [`suppressAlwaysAllowRule: true`](/docs/en/agent-sdk/typescript#canusetool). The hint requires Age
+2 −0 lines
Upstream edited 28 Sep 2026 00:43 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/typescript
±changed
+122−36
claude-codechanged
agent-sdk/typescript
Re-exported from `@modelcontextprotocol/sdk/types.js`. All fields are optional hints; clients should not rely on them for security decisions.
Defined in `@modelcontextprotocol/sdk/types.js`. All fields are optional hints; clients should not rely on them for security decisions.
| Property | Type | Description |
| :------------- | :-------------------- | :-------------------------------------------------------------------------- |
| `sessionId` | `string` | Unique session identifier (UUID) |
+122 −36 lines
Upstream edited 28 Sep 2026 00:43 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
sessions
±changed
+52−52
claude-codechanged
sessions
| Command | What it does |
| :---------------------------------- | :--------------------------------------------------------------------------------------------------------------------- |
| `claude --continue` | Reopens the most recent conversation in the current directory |
| `claude --resume` | Opens the [session picker](#use-the-session-picker) |
| `claude --resume <name>` | Resumes the named session directly |
+52 −52 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-code-on-the-web
±changed
+21−21
claude-codechanged
claude-code-on-the-web
| Method | How you connect | Repositories sessions can reach
| :--------------- | :----------------------------------------------------------------------------------------- | :-----------------------------------------------------------------
| **GitHub App** | Authorize the Claude GitHub App during [web onboarding](/docs/en/web-quickstart) | Any public repository, and private repositories that the Clau
| **`/web-setup`** | Run `/web-setup` in your terminal to send your local `gh` CLI token to your Claude account | Any repository your `gh` token can access, whether or not the Clau
| Method | How you connect | Repositories sessions can reach | Best for |
+21 −21 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-view
±changed
+165−165
claude-codechanged
agent-view
| State | Icon shows as | What it means
| :---------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------
| Working | Animated | Claude is actively running tools or generating a response
| Needs input | Yellow | Claude is waiting on something only you can provide: an answer to a question, a permission decision, or another prompt only you can answer, such as
| Idle | Dimmed | The session has nothing to do and is ready for your next prompt
+165 −165 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
sessions
±changed
+1−0
claude-codechanged
sessions
* Background work: a [background subagent](/docs/en/sub-agents#run-subagents-in-foreground-or-background), background Bash command, or [workflow](/docs/en/workflows) that ended wit
+1 −0 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
claude-code-on-the-web
±changed
+1−1
claude-codechanged
claude-code-on-the-web
On macOS, Linux, and WSL, Claude Code leaves uncommitted changes to files named like credentials or keys out of the upload and names the files it left out. This covers `.env` files
On macOS, Linux, and WSL, Claude Code leaves uncommitted changes to files named like credentials or keys out of the upload and names the files it left out. This covers `.env` files
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-view
±changed
+1−1
claude-codechanged
agent-view
A prompt you stashed with [`Ctrl+S`](/docs/en/interactive-mode#general-controls) while attached is kept with the session too. Reopen the session after its process was stopped or re
A prompt you stashed with [`Ctrl+S`](/docs/en/interactive-mode#general-controls) while attached is kept with the session too. Reopen the session after its process was stopped or re
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
sub-agents
±changed
+66−66
claude-codechanged
sub-agents
| Agent | Model | When Claude uses it
| :---------------- | :---------------------------------------------------------------------------------------------- | :-------------------------------------------------------
| claude | None of its own; follows the [model order](#choose-a-model) when Claude spawns it as a subagent | When a task doesn't fit a more specialized agent. A catc
| statusline-setup | Sonnet | When you run `/statusline` to configure your status line
| claude-code-guide | Haiku | When you ask questions about Claude Code features
+66 −66 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
memory
±changed
+46−46
claude-codechanged
memory
| | CLAUDE.md files | Auto memory |
| :------------------- | :------------------------------------------------ | :----------------------------------------------------------------------------------------------- |
| **Who writes it** | You | Claude |
| **What it contains** | Instructions and rules | Learnings and patterns |
| **Scope** | Project, user, or org | Per repository, shared across worktrees |
+46 −46 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
llm-gateway-rollout
±changed
+25−25
claude-codechanged
llm-gateway-rollout
| Credential | Who holds it | Placeholder in checkpoints
| :-------------------------------- | :--------------------------------------------------------------------------------------------------- | :--------------------------------------
| Provider credential | The gateway, which forwards it to the upstream provider | Configured on the gateway; never appear
| Gateway administrative credential | You, if your gateway product issues one for its admin or test interface | `<gateway-key>`
| Developer key | Each developer, issued by the gateway in [Issue developer credentials](#issue-developer-credentials) | `<developer-key>`
+25 −25 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
llm-gateway-connect
±changed
+25−25
claude-codechanged
llm-gateway-connect
| Set the credential in | Use when |
| :------------------------------------------------------ | :-------------------------------------------------------------- |
| `ANTHROPIC_AUTH_TOKEN` | Your gateway team said "bearer token" or "Authorization header" |
| `ANTHROPIC_API_KEY` | Your gateway team said "API key" or "x-api-key" |
| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | The credential rotates or comes from a vault |
+25 −25 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
how-claude-code-works
±changed
+11−11
claude-codechanged
how-claude-code-works
| Category | What Claude can do |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **File operations** | Read files, edit code, create new files, rename and reorganize |
| **Search** | Find files by pattern, search content with regex, explore codebases |
| **Execution** | Run shell commands, start servers, run tests, use git |
+11 −11 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
hooks-guide
±changed
+84−84
claude-codechanged
hooks-guide
| Matcher | Fires when
| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------
| `permission_prompt` | Claude needs you to approve a tool use or a sandboxed command's [network request](/docs/en/sandboxing#network-isolation), and the prompt has waited
| `idle_prompt` | Claude finished responding about 60 seconds ago and you haven't typed since
| `auth_success` | Authentication completes
+84 −84 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
hooks
±changed
+492−492
claude-codechanged
hooks
| Event | When it fires
| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------
| `SessionStart` | When a session begins or resumes
| `Setup` | When you start Claude Code with `--init-only`, or with `--init` or `--maintenance` in `-p` mode. For one-time preparation in CI or scripts
| `UserPromptSubmit` | When you submit a prompt, before Claude processes it
+492 −492 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
glossary
±changed
+6−6
claude-codechanged
glossary
| Old term | Now called | Notes
| ----------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------
| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior
| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web" now names only the browser surf
| Custom commands | [Skills](#skill) | `.claude/commands/` files still work
+6 −6 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-apps-gateway-deploy
±changed
+50−50
claude-codechanged
claude-apps-gateway-deploy
| Table | Contents | Retention |
| ------------------ | ----------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `kv` | Device grants (10-minute TTL) and rate-limit counters | TTL per row |
| `spend` | Per-principal period-to-date spend counters, in cents | `admin.spend_retention_months`, default 13 |
| `spend_limits` | Configured spend caps | Until deleted via the API |
+50 −50 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-apps-gateway-config
±changed
+140−140
claude-codechanged
claude-apps-gateway-config
| Form | Resolves to
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------
| `${VAR}` | The environment variable `VAR`. Boot fails if undefined.
| `${file:/path}` | Contents of the file at that absolute path, trimmed. The reference must be the field's entire value: unlike `${VAR}`, it isn't expanded inside a longer string,
| Form | Resolves to | Use for |
+140 −140 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-apps-gateway
±changed
+31−31
claude-codechanged
claude-apps-gateway
| You need | Details
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------
| Claude Code v2.1.195 or later | The `claude gateway` subcommand and the gateway sign-in flow ship in v2.1.195. Earlier public builds don't include them. Both the machin
| OpenID Connect (OIDC) identity provider | Okta, Microsoft Entra ID, Google Workspace, Keycloak, or Dex, or any other OIDC-compliant IdP such as PingFederate. The gateway runs sta
| PostgreSQL 14 or later | Backs the device sign-in flow, where the browser callback writes and the polling CLI reads, plus rate-limit counters. Any managed Postgr
+31 −31 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
authentication
±changed
+5−5
claude-codechanged
authentication
| Source | Set by
| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------
| Named profile | `ANTHROPIC_PROFILE`
| Federation variables | `ANTHROPIC_FEDERATION_RULE_ID` and `ANTHROPIC_ORGANIZATION_ID`, both set
| Active profile | The [`active_config` file](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) in your configuration directory, or a profile na
+5 −5 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
admin-setup
±changed
+49−49
claude-codechanged
admin-setup
| Decision | What you're choosing | Reference
| :---------------------------------------------------------------------- | :-------------------------------------------------- | :-------------------------------------------------
| [Choose your API provider](#choose-your-api-provider) | Where Claude Code authenticates and how it's billed | [Authentication](/docs/en/authentication), [Amazon
| [Decide how settings reach devices](#decide-how-settings-reach-devices) | How managed policy reaches developer machines | [Server-managed settings](/docs/en/server-managed-
| [Decide what to enforce](#decide-what-to-enforce) | Which tools, commands, and integrations are allowed | [Permissions](/docs/en/permissions), [Sandboxing](
+49 −49 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
sub-agents
±changed
+1−1
claude-codechanged
sub-agents
* **Sibling roster**: a system reminder listing `main` and every other named agent in the session, each a valid `to` value for [`SendMessage`](#resume-subagents). Requires Claude C
* **Sibling roster**: a [system reminder](/docs/en/glossary#system-reminder) listing `main` and every other named agent in the session, each a valid `to` value for [`SendMessage`](
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
settings-reference
±changed
+1−1
claude-codechanged
settings-reference
Either this key or `forceLoginMethod: "gateway"` makes the machine gateway-only, so `/login` opens on the Cloud gateway screen with no login-method picker. See [Administrator polic
Either this key or `forceLoginMethod: "gateway"` makes the machine gateway-only, except for sessions that select a cloud provider with `CLAUDE_CODE_USE_*`. `/login` then opens on t
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
prompt-caching
±changed
+1−1
claude-codechanged
prompt-caching
File contents enter context only when Claude reads them, and reads append to the conversation. Editing a file Claude previously read does not retroactively change the earlier read
File contents enter context only when Claude reads them, and reads append to the conversation. Editing a file Claude previously read does not retroactively change the earlier read
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
memory
±changed
+1−0
claude-codechanged
memory
* Check whether your instruction competes with guidance Claude Code adds on its own. If your CLAUDE.md sets commit or pull request rules, turn off the built-in ones with [`includeG
+1 −0 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
llm-gateway-rollout
±changed
+1−1
claude-codechanged
llm-gateway-rollout
Don't include `forceLoginMethod` or `forceLoginOrgUUID` in managed settings alongside a gateway credential. Either key, with any value, blocks `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_
Don't include `forceLoginMethod`, `forceLoginOrgUUID`, or `forceLoginGatewayUrl` in managed settings alongside a gateway credential. `forceLoginMethod` or `forceLoginOrgUUID`, with
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
llm-gateway-connect
±changed
+1−1
claude-codechanged
llm-gateway-connect
| `This machine's managed settings require a first-party login`
| `This machine's managed settings require a first-party login`, or [`Administrator policy requires a Cloud gateway sign-in`](/docs/en/errors#administrator-policy-requires-a-cloud-
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
llm-gateway
±changed
+1−1
claude-codechanged
llm-gateway
While a [gateway credential variable](/docs/en/llm-gateway-connect#set-the-credential-variable) or `apiKeyHelper` is active, a developer's claude.ai subscription isn't used: the cr
While a [gateway credential variable](/docs/en/llm-gateway-connect#set-the-credential-variable) or `apiKeyHelper` is active, requests carry that credential in place of a developer'
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
how-claude-code-works
±changed
+11−0
claude-codechanged
how-claude-code-works
#### Context Claude Code adds on its own
If Claude follows a rule you didn't write, such as adding a `Co-Authored-By` trailer to a commit, the rule may have come from a [system reminder](/docs/en/glossary#system-reminder)
* Your CLAUDE.md files
+11 −0 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
hooks-guide
±changed
+1−1
claude-codechanged
hooks-guide
* Command hooks communicate through stdout, stderr, and exit codes only. They can't trigger `/` commands or tool calls. Text returned via `additionalContext` is injected as a syste
* Command hooks communicate through stdout, stderr, and exit codes only. They can't trigger `/` commands or tool calls. Text returned via `additionalContext` is injected as a [syst
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
hooks
±changed
+2−2
claude-codechanged
hooks
| `asyncRewake` | no | If `true`, runs in the background and wakes Claude on exit code 2. The hook's stderr, or stdout if stderr is empty, is shown to Claude as a system remi
| `asyncRewake` | no | If `true`, runs in the background and wakes Claude on exit code 2. The hook's stderr, or stdout if stderr is empty, is shown to Claude as a [system rem
The `additionalContext` field passes a string from your hook into Claude's context window. Claude Code wraps the string in a system reminder and inserts it into the conversation at
The `additionalContext` field passes a string from your hook into Claude's context window. Claude Code wraps the string in a [system reminder](/docs/en/glossary#system-reminder) an
+2 −2 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
glossary
±changed
+23−0
claude-codechanged
glossary
### System prompt
The instructions Claude Code sends ahead of your conversation on every request, covering how Claude uses tools, behaves safely, and formats its responses. You can add to the system
+23 −0 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
errors
±changed
+2−2
claude-codechanged
errors
If you also have an `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, or `apiKeyHelper` credential configured and the managed settings set `forceLoginMethod`, Claude Code exits at start
If the machine also holds an Anthropic-issued credential and the managed settings set `forceLoginMethod` or `forceLoginOrgUUID`, Claude Code exits at startup instead. That credenti
* For the startup message, remove the `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, or `apiKeyHelper` setting you configured, then start `claude` and run `/login`
* For the startup message, remove the `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, or `apiKeyHelper` setting you configured. To remove a saved Console API key, run `claude auth log
+2 −2 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
claude-apps-gateway-deploy
±changed
+1−1
claude-codechanged
claude-apps-gateway-deploy
| Startup exits with `Administrator policy requires a Cloud gateway sign-in on this machine`
| Startup exits with `Administrator policy requires a Cloud gateway sign-in on this machine`
+1 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
claude-apps-gateway-config
±changed
+3−1
claude-codechanged
claude-apps-gateway-config
Claude Code honors [`forceLoginGatewayUrl`](/docs/en/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/en/settings-reference#gatewayinternalnetworks), and
Claude Code honors [`forceLoginGatewayUrl`](/docs/en/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/en/settings-reference#gatewayinternalnetworks), and
Leave `forceLoginMethod` and `forceLoginOrgUUID` out of the payload. Claude Code still reads both keys from the payload for its startup credential check, so a developer who keeps a
+3 −1 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
claude-apps-gateway
±changed
+2−2
claude-codechanged
claude-apps-gateway
* **`forceLoginOrgUUID`**: Claude Code honors a parent-supplied value when the highest-priority admin source doesn't set an org UUID. Gateway sign-in doesn't check this key, so it
* **`forceLoginOrgUUID`**: Claude Code honors a parent-supplied value when the highest-priority admin source doesn't set an org UUID. Gateway sign-in doesn't check this key. An org
* **Credentials**: the gateway token is the session's only credential. [Anthropic profiles](/docs/en/authentication#anthropic-profiles-and-federation-credentials) and any earlier c
* **Credentials**: the gateway token is the session's only credential. [Anthropic profiles](/docs/en/authentication#anthropic-profiles-and-federation-credentials) and any earlier c
+2 −2 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
authentication
±changed
+6−4
claude-codechanged
authentication
For Claude Console logins, Claude Code uses `forceLoginOrgUUID` to pre-select the organization on the Console sign-in page when you set it to a single Console organization ID, show
For Claude Console logins, Claude Code uses `forceLoginOrgUUID` to pre-select the organization on the Console sign-in page when you set it to a single Console organization ID, show
In a [gateway](/docs/en/claude-apps-gateway) deployment, also keep `forceLoginMethod` and `forceLoginOrgUUID` out of the [settings the gateway serves](/docs/en/claude-apps-gateway-
* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, or `apiKeyHelper`**: blocked at startup, since organization membership can't be verified for an environment credential
+6 −4 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/modifying-system-prompts
±changed
+106−0
claude-codechanged
agent-sdk/modifying-system-prompts
## Context Claude Code adds outside the system prompt
System reminders are messages Claude Code adds to the conversation during a session to give Claude context, such as the contents of your CLAUDE.md files or a note that a file chang
+106 −0 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
admin-setup
±changed
+20−20
claude-codechanged
admin-setup
| Control | What it does
| :------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------
| [Permission rules](/docs/en/permissions) | Allow, ask, or deny specific tools and commands
| [Permission lockdown](/docs/en/permissions#managed-only-settings) | Make managed settings the [only settings source of permission rules](/docs/en/settings-refe
| [Starting permission mode](/docs/en/permission-modes#which-mode-a-session-starts-in) | Choose the permission mode your developers' terminal sessions start in instead of the built
+20 −20 lines
Upstream edited 28 Sep 2026 00:42 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-docs
plugins/quickstart
±changed
+16−16
claude-docschanged
plugins/quickstart
By the end of this quickstart, you have a working example plugin with one skill and, optionally, one remote MCP connector, tested in Claude Code, validated, and pushed to GitHub, w
By the end of this quickstart, you have a working example plugin with one skill and, optionally, one remote MCP connector, tested in Claude Code, validated, and pushed to GitHub, w
> * If you want to make a plugin from a conversation without writing files, see [Create a plugin with Claude](/docs/plugins/create-with-claude.md)
> * If you want to distribute a plugin only inside your own organization, see [Roll out a plugin to your whole organization](/docs/plugins/org-rollout.md)
> * If you want to look up the folder layout, the manifest fields, or what each surface loads, see [Plugin structure and testing](/docs/plugins/build.md)
+16 −16 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 23 Oct 2026 18:07 UTC
claude-docs
plugins/build
±changed
+17−17
claude-docschanged
plugins/build
[Build your first plugin](/docs/plugins/quickstart.md) walks you through making one end to end.
[Build your first plugin](https://claude.com/docs/plugins/quickstart.md) walks you through making one end to end.
> * If you want a plugin for your own use without writing files, see [Create a plugin with Claude](/docs/plugins/create-with-claude.md), which makes one from a conversation
> * If you want a plugin for your own use without writing files, see [Create a plugin with Claude](https://claude.com/docs/plugins/create-with-claude.md), which makes one from a co
> * If you're deciding which pieces your plugin needs, see [Decide what to include in your plugin](/docs/connectors/building/what-to-build.md)
+17 −17 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 23 Oct 2026 18:07 UTC
claude-docs
plugins/quickstart
±changed
+16−16
claude-docschanged
plugins/quickstart
By the end of this quickstart, you have a working example plugin with one skill and, optionally, one remote MCP connector, tested in Claude Code, validated, and pushed to GitHub, w
By the end of this quickstart, you have a working example plugin with one skill and, optionally, one remote MCP connector, tested in Claude Code, validated, and pushed to GitHub, w
> * If you want to make a plugin from a conversation without writing files, see [Create a plugin with Claude](/docs/plugins/create-with-claude)
> * If you want to distribute a plugin only inside your own organization, see [Roll out a plugin to your whole organization](/docs/plugins/org-rollout)
> * If you want to look up the folder layout, the manifest fields, or what each surface loads, see [Plugin structure and testing](/docs/plugins/build)
+16 −16 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-docs
plugins/build
±changed
+17−17
claude-docschanged
plugins/build
[Build your first plugin](/docs/plugins/quickstart) walks you through making one end to end.
[Build your first plugin](/docs/plugins/quickstart.md) walks you through making one end to end.
> * If you want a plugin for your own use without writing files, see [Create a plugin with Claude](/docs/plugins/create-with-claude), which makes one from a conversation
> * If you want a plugin for your own use without writing files, see [Create a plugin with Claude](/docs/plugins/create-with-claude.md), which makes one from a conversation
> * If you're deciding which pieces your plugin needs, see [Decide what to include in your plugin](/docs/connectors/building/what-to-build)
+17 −17 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-docs
plugins/quickstart
±changed
+91−95
claude-docschanged
plugins/quickstart
<Note>
* If you want to make a plugin from a conversation without writing files, see [Create a plugin with Claude](/docs/plugins/create-with-claude)
* If you want to distribute a plugin only inside your own organization, see [Roll out a plugin to your whole organization](/docs/plugins/org-rollout)
* If you want to look up the folder layout, the manifest fields, or what each surface loads, see [Plugin structure and testing](/docs/plugins/build)
</Note>
+91 −95 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 20 Oct 2026 18:07 UTC
claude-docs
plugins/build
±changed
+143−510
claude-docschanged
plugins/build
export const Piece = ({id, children}) => <div className="pe-piece" data-piece={id}>{children}</div>;
export const PluginExplorer = ({children, variant}) => {
const SKILL_PIECES = [{
id: 'skillmd',
+143 −510 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 20 Oct 2026 18:07 UTC
claude-docs
plugins/pre-submission-checklist
±changed
+49−49
claude-docschanged
plugins/pre-submission-checklist
| What to do
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Submit a folder that contains `.claude-plugin/plugin.json`
| Submit one plugin at a time. In a [marketplace repository](https://code.claude.com/docs/en/plugins/create-marketplace) with several plugins, validate and submit each plugin folde
| Keep every file that a hook, an MCP server command, or a script uses inside the plugin folder, and point every component path in `plugin.json` inside it
+49 −49 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 22:07 UTC
claude-docs
plugins/quickstart
±changed
+1−1
claude-docschanged
plugins/quickstart
The directory requires the manifest, and the example has the fields that every surface and the directory read:
The example has the fields that every surface and the directory read:
+1 −1 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-docs
plugins/pre-submission-checklist
±changed
+11−11
claude-docschanged
plugins/pre-submission-checklist
| What to do
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Submit a folder that contains `.claude-plugin/plugin.json`
| Submit one plugin at a time. In a [marketplace repository](https://code.claude.com/docs/en/plugins/create-marketplace) with several plugins, validate and submit each plugin folde
| Keep every file that a hook, an MCP server command, or a script uses inside the plugin folder, and point every component path in `plugin.json` inside it
+11 −11 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-docs
plugins/build
±changed
+9−9
claude-docschanged
plugins/build
href: '/skills/how-to#create-a-skillmd-file',
linkText: 'Go to Create a SKILL.md file'
href: 'https://agentskills.io/specification',
linkText: 'Go to the Agent Skills specification'
href: '/skills/how-to#add-resources',
+9 −9 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-docs
skills/how-to
±changed
+6−6
claude-docschanged
skills/how-to
* **Live data from another service**: that's what an [MCP connector](/docs/connectors/getting-started.md) provides. A skill can tell Claude how to use a connector, but it can't rea
* **Live data from another service**: that's what an [MCP connector](https://claude.com/docs/connectors/getting-started.md) provides. A skill can tell Claude how to use a connector
Don't put API keys, passwords, or other credentials in a script or anywhere else in the skill: everyone you share the skill with receives its files. When a script needs to reach an
Don't put API keys, passwords, or other credentials in a script or anywhere else in the skill: everyone you share the skill with receives its files. When a script needs to reach an
* **Share or publish one skill**: on Team and Enterprise plans, open the skill from **Customize > Skills** and use the same **Share** and **Publish to org** controls that a plugin
+6 −6 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 23 Oct 2026 18:07 UTC
claude-docs
skills/how-to
±changed
+6−6
claude-docschanged
skills/how-to
* **Live data from another service**: that's what an [MCP connector](/docs/connectors/getting-started) provides. A skill can tell Claude how to use a connector, but it can't reach
* **Live data from another service**: that's what an [MCP connector](/docs/connectors/getting-started.md) provides. A skill can tell Claude how to use a connector, but it can't rea
Don't put API keys, passwords, or other credentials in a script or anywhere else in the skill: everyone you share the skill with receives its files. When a script needs to reach an
Don't put API keys, passwords, or other credentials in a script or anywhere else in the skill: everyone you share the skill with receives its files. When a script needs to reach an
* **Share or publish one skill**: on Team and Enterprise plans, open the skill from **Customize > Skills** and use the same **Share** and **Publish to org** controls that a plugin
+6 −6 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-docs
skills/how-to
±changed
+119−488
claude-docschanged
skills/how-to
export const Piece = ({id, children}) => <div className="pe-piece" data-piece={id}>{children}</div>;
export const PluginExplorer = ({children, variant}) => {
const SKILL_PIECES = [{
id: 'skillmd',
+119 −488 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 20 Oct 2026 18:07 UTC
claude-docs
skills/how-to
±changed
+3−3
claude-docschanged
skills/how-to
| Field | Type | Description
| :------------ | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------
| `name` | string | Lowercase letters, numbers, and hyphens only, up to 64 characters. Must match the skill's directory name
| Field | Type | Description |
| :- | :- | :- |
+3 −3 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 22:07 UTC
claude-docs
skills/how-to
±changed
+20−9
claude-docschanged
skills/how-to
href: '/skills/how-to#create-a-skillmd-file',
linkText: 'Go to Create a SKILL.md file'
href: 'https://agentskills.io/specification',
linkText: 'Go to the Agent Skills specification'
href: '/skills/how-to#add-resources',
+20 −9 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/hosting
±changed
+26−26
claude-codechanged
agent-sdk/hosting
To persist transcripts across hosts, configure a [`SessionStore` adapter](/docs/en/agent-sdk/session-storage). Memory files and other working-directory artifacts need their own sto
For how sessions, resumption, and forking work at the API level, see [Sessions](/docs/en/agent-sdk/sessions.md).
To persist transcripts across hosts, configure a [`SessionStore` adapter](https://code.claude.com/docs/en/agent-sdk/session-storage). Memory files and other working-directory artif
+26 −26 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 23 Oct 2026 19:07 UTC
claude-code
agent-sdk/hosting
±changed
+20−20
claude-codechanged
agent-sdk/hosting
For how sessions, resumption, and forking work at the API level, see [Sessions](/docs/en/agent-sdk/sessions).
For how sessions, resumption, and forking work at the API level, see [Sessions](/docs/en/agent-sdk/sessions.md).
The script prints each message as it arrives, including a result message whose `subtype` is `success` when the task completes within the turn limit. If the task hits the 20-turn li
The script prints each message as it arrives, including a result message whose `subtype` is `success` when the task completes within the turn limit. If the task hits the 20-turn li
For self-hosted options such as Docker, gVisor, and Firecracker, and detailed isolation configuration, see [Isolation Technologies](/docs/en/agent-sdk/secure-deployment#isolation-t
+20 −20 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-code
agent-sdk/hosting
±changed
+139−149
claude-codechanged
agent-sdk/hosting
<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/hosting-subprocess.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=9dac857ca9d3b1410c3734900c386004" c
<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/hosting-subprocess-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=3fdeff3d7f44b2b67762668acfbb25
![Request flow: client to your app, which spawns a claude CLI subprocess over stdio inside the container; the subprocess writes to local disk and calls api.anthropic.com over HTTPS
<CodeGroup>
+139 −149 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
agent-sdk/troubleshooting
±changed
+16−16
claude-codechanged
agent-sdk/troubleshooting
| Symptom
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Skills not found, a skill not being used, `Invalid skill name` error
| MCP server shows `failed` status, tools not being called, connection timeouts, tool output that exceeds the maximum allowed tokens
| Plugin not loading, plugin skills not appearing
+16 −16 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-sdk/streaming-output
±changed
+7−7
claude-codechanged
agent-sdk/streaming-output
| Event Type | Description |
| :-------------------- | :---------------------------------------------- |
| `message_start` | Start of a new message |
| Event Type | Description |
| :- | :- |
+7 −7 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-sdk/permissions
±changed
+13−13
claude-codechanged
agent-sdk/permissions
| Option | Effect
| :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------
| `allowed_tools=["Read", "Grep"]` | `Read` and `Grep` are auto-approved. Other tools not listed here still exist, and calls to them that need approval fall through to the permiss
| `disallowed_tools=["Bash"]` | The `Bash` tool definition is removed from the request. Claude does not see the tool and cannot attempt it.
| Option | Effect |
+13 −13 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-sdk/hosting
±changed
+11−11
claude-codechanged
agent-sdk/hosting
| State | Default location |
| --------------------------- | ------------------------------------------------------------------------------------------------ |
| Session transcripts | `~/.claude/projects/`, or the `projects/` directory under `CLAUDE_CONFIG_DIR` if set |
| `CLAUDE.md` memory files | `~/.claude/CLAUDE.md` for the user tier and the session's working directory for the project tier |
| Working-directory artifacts | The session's working directory |
+11 −11 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-sdk/file-checkpointing
±changed
+10−10
claude-codechanged
agent-sdk/file-checkpointing
| Option | Python | TypeScript | Description |
| ------------------------ | ------------------------------------------- | --------------------------------------------- | ------------------------------------------------ |
| Enable checkpointing | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | Tracks file changes for rewinding |
| Option | Python | TypeScript | Description |
| - | - | - | - |
+10 −10 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-sdk/custom-tools
±changed
+39−39
claude-codechanged
agent-sdk/custom-tools
| What you want to do | Do this
| :------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------
| Define a tool | Use [`@tool`](/docs/en/agent-sdk/python#tool) (Python) or [`tool()`](/docs/en/agent-sdk/typescript#tool) (TypeScript) with a name,
| Register a tool with Claude | Wrap in `create_sdk_mcp_server` / `createSdkMcpServer` and pass to `mcpServers` in `query()`. See [Call a custom tool](#call-a-cust
| Pre-approve a tool | Add to your allowed tools. See [Configure allowed tools](#configure-allowed-tools).
+39 −39 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agent-sdk/troubleshooting
±changed
+1−1
claude-codechanged
agent-sdk/troubleshooting
A result message can end with `subtype: "success"` while `structured_output` is `None` in Python or `undefined` in TypeScript. The run completes, but no validated output exists. On
A result message can end with `subtype: "success"` while `structured_output` is `None` in Python or `undefined` in TypeScript. The run completes, but no validated output exists. On
+1 −1 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/streaming-output
±changed
+1−1
claude-codechanged
agent-sdk/streaming-output
* **Structured output**: the JSON result appears only in the final `ResultMessage.structured_output`, not as streaming deltas. See [structured outputs](/docs/en/agent-sdk/structure
* **Structured output**: with partial messages enabled, the JSON streams as a tool call's unvalidated `input_json_delta` chunks, and only the validated result reaches the final `Re
+1 −1 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/python
±changed
+13−13
claude-codechanged
agent-sdk/python
| Property | Type | Description |
| :-------------- | :------------ | :------------------------------------------------------------------------------ |
| `session_id` | `str` | Unique session identifier |
| `summary` | `str` | Display title: custom title, auto-generated summary, or first prompt |
| `last_modified` | `int` | Last modified time in milliseconds since epoch |
+13 −13 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/permissions
±changed
+1−1
claude-codechanged
agent-sdk/permissions
If you set `allowDangerouslySkipPermissions: true` alongside `permissionMode: 'plan'`, file edits and shell commands that modify files still reach your `canUseTool` callback. The o
In the TypeScript SDK, if you set `allowDangerouslySkipPermissions: true` alongside `permissionMode: 'plan'`, file edits and shell commands that modify files still reach your `canU
+1 −1 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/hosting
±changed
+1−1
claude-codechanged
agent-sdk/hosting
* Point `CLAUDE_CONFIG_DIR` at a per-tenant directory so tenants do not share the `~/.claude.json` global config. When each config directory serves one working directory and you do
* Point `CLAUDE_CONFIG_DIR` at a per-tenant directory so tenants do not share the `~/.claude.json` global config. When each config directory serves one working directory and you do
+1 −1 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/file-checkpointing
±changed
+1−1
claude-codechanged
agent-sdk/file-checkpointing
If you capture the session ID and checkpoint ID, you can also rewind from the CLI. This command requires the `claude` executable, which comes from [installing Claude Code](/doc
If you capture the session ID and checkpoint ID, you can also rewind from the CLI. This command requires the `claude` executable, which comes from [installing Claude Code](/doc
+1 −1 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/examples
±changed
+3−3
claude-codechanged
agent-sdk/examples
This page routes you to complete, runnable Agent SDK projects and guided Claude Cookbook recipes. TypeScript applications live in the [`claude-agent-sdk-demos`](https://github.com/
This page routes you to complete, runnable Agent SDK projects and guided Claude Cookbook recipes. The applications live in the [`claude-agent-sdk-demos`](https://github.com/anthrop
## Explore a TypeScript application
## Explore a demo application
The TypeScript applications in [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) are demos for local development, from an email client to a multi-age
+3 −3 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
agent-sdk/custom-tools
±changed
+9−8
claude-codechanged
agent-sdk/custom-tools
To make a parameter optional: in TypeScript, add `.default()` to the Zod field. In Python, the dict schema treats every key as required, so leave the parameter out of the schema,
To make a parameter optional: in TypeScript, add `.optional()` to the Zod field and apply the default in the handler. In Python, the dict schema treats every key as required, so
.default(12) // .default() makes the parameter optional
.optional() // .optional() lets Claude omit the parameter
const hours = args.hours ?? 12; // Apply the default in the handler
+9 −8 lines
Upstream edited 28 Sep 2026 00:41 UTC Recorded here 28 Sep 2026 01:07 UTC
claude-code
data-usage
±changed
+18−18
claude-codechanged
data-usage
With [Claude-drafted feedback](/docs/en/tools-reference.md#sendfeedback-tool-behavior), Claude can also draft a feedback report and queue it on your machine for you to review. Clau
With [Claude-drafted feedback](https://code.claude.com/docs/en/tools-reference.md#sendfeedback-tool-behavior), Claude can also draft a feedback report and queue it on your machine
* **Yes**: uploads your conversation transcript, any subagent transcripts, and the raw session log file from disk to Anthropic. Known API key and token patterns are redacted before
* **Yes**: uploads your conversation transcript, any subagent transcripts, and the raw session log file from disk to Anthropic. Known API key and token patterns are redacted before
Nothing is uploaded unless you explicitly select **Yes**. Organizations with [zero data retention](/docs/en/zero-data-retention.md), or where product feedback is disabled by organi
+18 −18 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 23 Oct 2026 19:07 UTC
claude-code
data-usage
±changed
+17−17
claude-codechanged
data-usage
With [Claude-drafted feedback](/docs/en/tools-reference#sendfeedback-tool-behavior), Claude can also draft a feedback report and queue it on your machine for you to review. Claude
With [Claude-drafted feedback](/docs/en/tools-reference.md#sendfeedback-tool-behavior), Claude can also draft a feedback report and queue it on your machine for you to review. Clau
Nothing is uploaded unless you explicitly select **Yes**. Organizations with [zero data retention](/docs/en/zero-data-retention), or where product feedback is disabled by organizat
Nothing is uploaded unless you explicitly select **Yes**. Organizations with [zero data retention](/docs/en/zero-data-retention.md), or where product feedback is disabled by organi
To disable these surveys, set `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1`. The survey is also disabled when `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, or `CLAUDE_CODE_DISABLE_NONESSENTIAL_TR
+17 −17 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-code
data-usage
±changed
+6−8
claude-codechanged
data-usage
<img src="https://mintcdn.com/claude-code/YR4DRZyI3CdsXkiT/images/claude-code-data-flow.svg?fit=max&auto=format&n=YR4DRZyI3CdsXkiT&q=85&s=2846ea92cfc2297b8620c31c82b482ad" classNam
<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/claude-code-data-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=4fb6e8c88a9740845217bf2a2b040877" cla
 for no server-side persistence.
| Amazon Bedrock | AES-256 with AWS-managed keys. Customer-managed keys available via AWS KMS.
| Google Cloud's Agent Platform | Google-managed encryption keys. CMEK available.
+13 −13 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
data-usage
±changed
+1−1
claude-codechanged
data-usage
Claude Code sends two kinds of operational telemetry: usage metrics and error reports. You can turn each off individually with the environment variables below, or disable all non-e
Claude Code sends two kinds of operational telemetry: usage metrics and error reports. You can turn each off individually with the environment variables below, or disable all non-e
+1 −1 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 00:37 UTC
claude-code
claude-apps-gateway-on-gcp
±changed
+240−246
claude-codechanged
claude-apps-gateway-on-gcp
<Note>
This page walks through one way to run Claude apps gateway on Google Cloud. The configuration is a working example for customer-managed infrastructure rather than a supported pro
</Note>
> [!NOTE]
>
+240 −246 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
claude-apps-gateway-spend-limits
±changed
+24−24
claude-codechanged
claude-apps-gateway-spend-limits
| Field | Values | Description
| ------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------
| `scope.type` | `user`, `rbac_group`, `organization` | `user` targets one developer by their OpenID Connect (OIDC) `sub`, the stable user ID your identity provider assigns;
| `amount` | Whole-number string of USD cents, or `null` | `null` is unlimited. `"0"` is a zero cap, which blocks every request.
| `period` | `daily`, `weekly`, `monthly` | A scope can hold one cap per period, and each enforces independently: a developer is blocked if over any of them.
+24 −24 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-apps-gateway-on-gcp
±changed
+18−18
claude-codechanged
claude-apps-gateway-on-gcp
| Front end | `trusted_proxies` |
| -------------------------------------------------------- | --------------------------------------------------- |
| Cloud Run reached directly, no load balancer | `[169.254.0.0/16]` |
| Front end | `trusted_proxies` |
| - | - |
+18 −18 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-apps-gateway-on-aws
±changed
+10−10
claude-codechanged
claude-apps-gateway-on-aws
| Symptom | Cause
| ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------
| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | The gateway name resolves to at least
| Every Bedrock request returns 502; log shows `Could not load credentials from any providers` | The task runs on the ECS EC2 launch t
| Bedrock requests return `403 AccessDeniedException` | The account hasn't submitted Anthropi
+10 −10 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-apps-gateway-spend-limits
±changed
+2−0
claude-codechanged
claude-apps-gateway-spend-limits
Fail-open only helps while your load balancer or orchestrator still routes traffic to the gateway. See [Outage behavior](/docs/en/claude-apps-gateway-deploy#outage-behavior) for `s
+2 −0 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 00:37 UTC
claude-code
claude-apps-gateway-on-gcp
±changed
+2−0
claude-codechanged
claude-apps-gateway-on-gcp
# readiness_grace_seconds: 300 # keep passing the readiness probe
# through a Cloud SQL failover
+2 −0 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 00:37 UTC
claude-code
claude-apps-gateway-on-aws
±changed
+5−1
claude-codechanged
claude-apps-gateway-on-aws
# readiness_grace_seconds: 300 # keep passing the health check
# through an RDS failover
The 60-second grace period gives a cold task time to pull the image, connect to the store, and answer its first health check before ECS starts counting failures against the
The 60-second grace period gives a cold task time to pull the image, connect to the store, and answer its first health check before ECS starts counting failures against the
+5 −1 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 00:37 UTC
claude-code
claude-apps-gateway-deploy
±changed
+12−2
claude-codechanged
claude-apps-gateway-deploy
The gateway serves `GET /healthz` as a liveness probe and `GET /readyz` as a readiness probe; `/readyz` verifies the store is reachable. Both are exempt from `access_control.allow_
The gateway serves `GET /healthz` as a liveness probe and `GET /readyz` as a readiness probe. `/readyz` verifies the store is reachable. If you set [`store.readiness_grace_seconds`
Both endpoints are exempt from `access_control.allow_cidrs`, so probes keep working on a locked-down listener.
* **Readiness**: `/readyz` reports not-ready during the outage, so orchestrators that gate traffic on readiness remove every replica from rotation at once. In that topology all tra
+12 −2 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 00:37 UTC
claude-code
claude-apps-gateway-config
±changed
+2−0
claude-codechanged
claude-apps-gateway-config
| `readiness_grace_seconds` | No | How many seconds `/readyz` keeps reporting ready after Postgres stops answering. A whole number from `0` to `3600`, default `0`. See [Outag
# readiness_grace_seconds: 300 # keep passing the readiness check through a database failover
+2 −0 lines
Upstream edited 28 Sep 2026 00:07 UTC Recorded here 28 Sep 2026 00:37 UTC
claude-code
managed-settings
±changed
+62−62
claude-codechanged
managed-settings
| Mechanism | How you deliver it
| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------
| [Server-managed settings](/docs/en/server-managed-settings) | In the claude.ai admin console, or on a self-hosted [Claude apps gateway](/docs/en/claude-apps-gateway)
| MDM or OS-level policy | As a macOS configuration profile or a Windows `HKLM` registry value, through Jamf, Intune, Group Policy, or a similar too
| File-based | As `managed-settings.json` in a system directory on each machine; see [where each mechanism stores the policy](#where-eac
+62 −62 lines
Upstream edited 28 Sep 2026 00:06 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
managed-settings
±changed
+15−1
claude-codechanged
managed-settings
When a managed settings file, MDM profile, registry value, or server-managed payload fails schema validation, Claude Code first skips the individual entries it can repair, such as
If your managed settings file, MDM profile, registry value, or server-managed payload fails schema validation, Claude Code first skips each individual entry it can repair, such as
| `sandbox` | When one value inside the block is invalid, Claude Code doesn't drop the whole block. For what happens to
#### Invalid values inside `sandbox`
+15 −1 lines
Upstream edited 28 Sep 2026 00:06 UTC Recorded here 28 Sep 2026 00:07 UTC
claude-code
memory
±changed
+4−0
claude-codechanged
memory
To have Claude check these files for outdated or conflicting instructions, run `/doctor prompt-audit` in a session. Claude reads your CLAUDE.md, CLAUDE.local.md, and AGENTS.md file
To audit one file or directory instead, pass its path, for example `/doctor prompt-audit .claude/skills/deploy`. The audit runs through the bundled `/claude-api` skill, so it's una
+4 −0 lines
Upstream edited 28 Sep 2026 00:06 UTC Recorded here 28 Sep 2026 00:07 UTC
claude-code
commands
±changed
+116−116
claude-codechanged
commands
No line of the body moved in this read.
+116 −116 lines
Upstream edited 28 Sep 2026 00:06 UTC Recorded here 28 Sep 2026 00:07 UTC
claude-code
permissions
±changed
+90−90
claude-codechanged
permissions
| Tool type | Example | Approval required | "Yes, and don't ask again"
| :---------------- | :--------------- | :------------------------------------------------------------------------------------------------------------ | :--------------------------
| Read-only | File reads, Grep | No, within the [working directory and additional directories](#working-directories) | N/A
| Bash commands | Shell execution | Yes, except a built-in set of [read-only commands](#read-only-commands) | Permanently per repository
| File modification | Edit/write files | Yes | Until session end
+90 −90 lines
Upstream edited 28 Sep 2026 00:01 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
permissions
±changed
+25−6
claude-codechanged
permissions
When Claude accesses a symlink, permission rules check two paths: the symlink itself and the file it resolves to. Allow and deny rules treat that pair differently: allow rules fall
* **Allow rules**: apply only when both the symlink path and its target match. A symlink inside an allowed directory that points outside it still prompts you.
* **Deny rules**: apply when either the symlink path or its target matches. A symlink that points to a denied file is itself denied. For example, with `Read(./project/**)` allowed
#### Symlinks
+25 −6 lines
Upstream edited 28 Sep 2026 00:01 UTC Recorded here 28 Sep 2026 00:07 UTC
claude-code
permission-modes
±changed
+7−1
claude-codechanged
permission-modes
In addition to file edits, `acceptEdits` mode auto-approves common filesystem Bash commands: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, and `sed`. These commands are also auto-ap
In addition to file edits, `acceptEdits` mode auto-approves common filesystem Bash commands: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, and `sed`. These commands are also auto-ap
Each path also goes through the [symlink check](/docs/en/permissions#symlinks), so a write that resolves outside that scope isn't auto-approved either. Paths outside that scope, wr
* A write that the [symlink check](/docs/en/permissions#symlinks) resolves to a protected path prompts you when the path Claude requested isn't itself protected
+7 −1 lines
Upstream edited 28 Sep 2026 00:01 UTC Recorded here 28 Sep 2026 00:07 UTC
claude-code
errors
±changed
+5−1
claude-codechanged
errors
| `Refusing to write <path>: where it leads on disk could not be determined` / `Refusing to read <path>: where it leads on disk could not be determined`
* `it is a symbolic link. Write to the link's target path instead`: a symbolic link sits at the approved write location itself, for example a `CLAUDE.md` that is a symlink to `AGEN
* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code couldn't follow the path to a final location
* `it is a symbolic link. Write to the link's target path instead`: a symbolic link sits at the requested write location itself, for example a `CLAUDE.md` that is a symlink to `AGE
+5 −1 lines
Upstream edited 28 Sep 2026 00:01 UTC Recorded here 28 Sep 2026 00:07 UTC
27 Sep 2026
17 pages
+703 −626 lines
claude-code
plugins/troubleshooting
±changed
+38−38
claude-codechanged
plugins/troubleshooting
| You typed | What Claude Code says | Use instead
| :----------------------------------------- | :--------------------------------------------------------------------------- | :-----------------------------------------------------
| `claude plugin add <source>` | `error: unknown command 'add'` | `claude plugin marketplace add <source>` to add a mark
| `claude plugin install <plugin> --project` | `error: unknown option '--project'` | `claude plugin install <plugin>@<marketplace> --scope
| `/install <plugin>` | `Unknown command: /install` | `/plugin install <plugin>@<marketplace>`
+38 −38 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
plugins/security
±changed
+5−5
claude-codechanged
plugins/security
| Tier | Which marketplaces |
| :---------- | :----------------------------------------------------------------------------------------------- |
| Official | The [official marketplace names](#official-marketplace-names), such as `claude-plugins-official` |
| Community | `claude-community`, `claude-plugins-community`, and `healthcare` |
| Third-party | Every other marketplace |
+5 −5 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
plugins/marketplace-reference
±changed
+108−108
claude-codechanged
plugins/marketplace-reference
| Field | Type | Description
| :----------------------------------------- | :--------------- | :-----------------------------------------------------------------------------------------------------------------
| `name` | string | Marketplace identifier. No spaces, control characters, or bidirectional-formatting characters, no `/` or `\`, no `
| `owner` | object | Maintainer information. `name` is required; `email` and `url` are optional
| `plugins` | array | [Plugin entries](#plugin-entries). Each entry is validated on its own, so one invalid entry doesn't fail the marke
+108 −108 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
plugins/manifest-reference
±changed
+113−113
claude-codechanged
plugins/manifest-reference
| Field | Type | Description
| :----------------------------------- | :------------------------------- | :-------------------------------------------------------------------------------------------------------
| `$schema` | String | JSON Schema URL for editor autocomplete. Claude Code ignores it at load time
| [`name`](#name) | String | Plugin identifier, required. Use kebab-case. Every component is namespaced under it
| [`displayName`](#displayname) | String | Name shown in UI in place of `name`
+113 −113 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
plugins/loading
±changed
+39−39
claude-codechanged
plugins/loading
| ID ends in | How the plugin got there
| :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------
| `@<marketplace>` | You installed it from a marketplace you added
| `@inline` | You started Claude Code with `--plugin-dir` or `--plugin-url`, set [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/en/env-vars#variables), or an Agent SDK app passed the `pl
| `@skills-dir` | You saved a plugin directory that has a `.claude-plugin/plugin.json` under `~/.claude/skills/` or the project's `.claude/skills/`
+39 −39 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
plugins/create
±changed
+7−7
claude-codechanged
plugins/create
| Location | Contents |
| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| Location | Contents |
| :- | :- |
| `skills/` | One `<name>/SKILL.md` directory per skill |
+7 −7 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
plugins/cli-reference
±changed
+166−166
claude-codechanged
plugins/cli-reference
| Flag | Description |
| :----------------------- | :------------------------------------------------------------------------------------------------------ |
| `--description <text>` | Manifest description |
| `--author <name>` | Author name. Defaults to `git config user.name` |
| `--author-email <email>` | Author email. Defaults to `git config user.email` |
+166 −166 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 28 Sep 2026 23:37 UTC
Nothing on this page matches that. Press Enter to search every page of the ledger.