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
812pages tracked
765 changed this week · last read 23 Oct 2026
Claude Code CLI
228pages tracked
147 changed this week · last read 23 Oct 2026
Claude Documentation
280pages tracked
77 changed this week · last read 23 Oct 2026
Model Context Protocol
357pages tracked
171 changed this week · last read 22 Oct 2026
100 on this page
5,591 of the ledger's changes in claude-code. Show every change
ReadSourcePageWhatLines
28 Sep 2026
62 pages
+5356 −4868 lines
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-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
+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
10 pages
+597 −527 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
claude-code
plugins/troubleshooting
±changed
+9−1
claude-codechanged
plugins/troubleshooting
A plugin's hooks don't run. Either the **Errors** tab shows a load failure for them, the hooks load and you see `<Event> hook error` notices in the transcript, or a hook loads with
A plugin's hooks don't run, or one blocks an action. Either the **Errors** tab shows a load failure for them, the hooks load and you see `<Event> hook error` notices or a blocking
If the stderr shows the plugin's path cut off at a space, the hook's shell-form command uses `${CLAUDE_PLUGIN_ROOT}` outside quotes and the install path contains a space. Wrap the
+9 −1 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
plugins/security
±changed
+1−1
claude-codechanged
plugins/security
* **Persistent data**: when that was the last scope the plugin was installed at, uninstalling also deletes the plugin's persistent data directory, unless you pass `--keep-data`.
* **Persistent data**: by default, when that was the last scope the plugin was installed at, uninstalling also deletes the plugin's persistent data directory. For `--keep-data` and
+1 −1 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
plugins/marketplace-reference
±changed
+3−1
claude-codechanged
plugins/marketplace-reference
* **Names that impersonate an official marketplace**: names such as `official-claude-plugins` or `claude-plugins-v2`, and any name containing a non-ASCII character. The error is `M
* **Names that impersonate an official marketplace**: names such as `official-claude-plugins` or `claude-plugins-v2`, and any name containing a non-ASCII character. The error is `M
When a registered marketplace stops loading because its name imitates an official one, `claude plugin list` and `/plugin` report `Claude Code refuses the marketplace name "<name>"`
+3 −1 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
plugins/manifest-reference
±changed
+8−1
claude-codechanged
plugins/manifest-reference
The command also checks each MCP server entry the plugin declares in `.mcp.json`, in a `.json` file that [`mcpServers`](#mcpservers) names, or inline in `plugin.json`. These MCP ch
* **Errors**: an entry Claude Code would drop when it loads the plugin, a `${user_config.KEY}` reference to an option the manifest doesn't declare, and a remote `url` that isn't a
* **Warnings**: an `http://` or `ws://` URL to a non-loopback host, and a header value that looks like a literal credential
+8 −1 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
plugins/loading
±changed
+9−9
claude-codechanged
plugins/loading
| Path | What it holds
| :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------
| `cache/<marketplace>/<plugin>/<version>/` | One directory per installed version of a marketplace plugin. `<plugin>` is the marketplace entry name and `<version>` is
| `data/<plugin-id>/` | The plugin's persistent directory, exposed as `${CLAUDE_PLUGIN_DATA}`. For how `<plugin-id>` is formed, see [Path variabl
| `marketplaces/<name>/` | The clone or download of a marketplace added from GitHub, another Git host, or a URL. A marketplace added from a local `f
+9 −9 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
plugins/create
±changed
+2−0
claude-codechanged
plugins/create
You can also pass a folder that keeps a `.claude-plugin/marketplace.json` beside its plugin folders. As long as that `.claude-plugin/` directory holds no `plugin.json`, the plugin
+2 −0 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
plugins/cli-reference
±changed
+18−2
claude-codechanged
plugins/cli-reference
If the failure line continues with `"formatter" was not uninstalled:`, Claude Code couldn't confirm that the scope's settings no longer switch the plugin on, so the plugin stays in
#### What an uninstall deletes and keeps
When you uninstall a plugin from the last scope it's installed at, Claude Code also deletes the plugin's stored [options and secrets](/docs/en/plugins/manifest-reference#user-confi
+18 −2 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
errors
±changed
+51−0
claude-codechanged
errors
| `Claude Code refuses the marketplace name "<name>"`
| `Marketplace name impersonates an official Anthropic/Claude marketplace`
| `"<plugin>" was not uninstalled: it is still switched on in <file>`
| `"<plugin>" was not uninstalled: <file> is there and could not be read`
<h3 id="claude-code-refuses-the-marketplace-name">
+51 −0 lines
Upstream edited 27 Sep 2026 16:27 UTC Recorded here 27 Sep 2026 16:37 UTC
claude-code
hooks-guide
±changed
+1−1
claude-codechanged
hooks-guide
* `"type": "mcp_tool"`: call a tool on an already-connected MCP server. See [MCP tool hooks](/docs/en/hooks#mcp-tool-hook-fields).
* `"type": "mcp_tool"`: call a tool on a configured MCP server. See [MCP tool hooks](/docs/en/hooks#mcp-tool-hook-fields).
+1 −1 lines
Upstream edited 27 Sep 2026 15:15 UTC Recorded here 27 Sep 2026 15:37 UTC
claude-code
hooks
±changed
+19−35
claude-codechanged
hooks
* **[MCP tool hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): call a tool on an already-connected [MCP server](/docs/en/mcp). The tool's text output is treated like command-h
* **[MCP tool hooks](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): call a tool on a configured [MCP server](/docs/en/mcp). The tool's text output is treated like command-hook stdo
| Field | Required | Description
| :------- | :------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------
| `server` | yes | Name of a configured MCP server. For a [plugin-bundled server](/docs/en/mcp#plugin-provided-mcp-servers), this is the scoped name `plugin:<plugin-name>:<ser
+19 −35 lines
Upstream edited 27 Sep 2026 15:15 UTC Recorded here 27 Sep 2026 15:37 UTC
26 Sep 2026
53 pages
+1717 −1262 lines
claude-code
cross-session-messaging
±changed
+10−10
claude-codechanged
cross-session-messaging
| Where the other session runs | How the message travels |
| :----------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |
| On this machine | Over a per-session socket on macOS and Linux, or a per-session named pipe on native Windows, never through Anthropic servers |
| On another of your machines | Through Anthropic servers, arriving over that machine's [Remote Control](/docs/en/remote-control) connection |
| In the [cloud](/docs/en/claude-code-on-the-web) | Through Anthropic servers, straight to the cloud session |
+10 −10 lines
Upstream edited 26 Sep 2026 16:50 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
cross-session-messaging
±changed
+20−57
claude-codechanged
cross-session-messaging
Claude uses two tools for this: `ListAgents` to discover which agents it can reach, and `SendMessage` to deliver a message to one of them by name. With the same `SendMessage` tool,
Use messaging between independent sessions that you start and steer yourself. Claude Code has a dedicated feature for each of the other ways to run or reach multiple sessions, so u
* To continue one conversation in another terminal, or share its context with a new session, [resume the session](/docs/en/sessions#resume-a-session)
+20 −57 lines
Upstream edited 26 Sep 2026 16:50 UTC Recorded here 26 Sep 2026 17:07 UTC
claude-code
security
±changed
+2−1
claude-codechanged
security
* **Credential protection**: Authentication is handled through a secure proxy that uses a scoped credential inside the sandbox, which is then translated to your actual GitHub authe
* **Credential protection**: GitHub credentials are stored encrypted on Anthropic's servers and never enter the session VM. The VM holds a short-lived credential scoped to that ses
* **Deletion**: You can [delete a session](/docs/en/claude-code-on-the-web#delete-sessions) at any time. See [Cloud execution data flow](/docs/en/data-usage#cloud-execution-data-fl
+2 −1 lines
Upstream edited 26 Sep 2026 05:24 UTC Recorded here 26 Sep 2026 05:37 UTC
claude-code
data-usage
±changed
+2−2
claude-codechanged
data-usage
* **Code and data storage:** Your repository is cloned to an isolated VM. Code and session data are subject to the retention and usage policies for your account type (see Data rete
* **Credentials:** GitHub authentication is handled through a secure proxy; your GitHub credentials never enter the sandbox
* **Code and data storage:** Your repository is cloned into the session's isolated VM. Anthropic stores the session transcript so you can return to the session later. Code and sess
* **Credentials:** GitHub credentials are stored encrypted on Anthropic's servers and never enter the VM. GitHub traffic from the VM goes through an Anthropic proxy that attaches t
+2 −2 lines
Upstream edited 26 Sep 2026 05:24 UTC Recorded here 26 Sep 2026 05:37 UTC
claude-code
claude-code-on-the-web
±changed
+2−0
claude-codechanged
claude-code-on-the-web
In Anthropic-hosted environments, your GitHub credentials stay encrypted on Anthropic's servers and never enter a session's VM. GitHub operations from the VM go through the [GitHub
+2 −0 lines
Upstream edited 26 Sep 2026 05:24 UTC Recorded here 26 Sep 2026 05:37 UTC
claude-code
errors
±changed
+208−16
claude-codechanged
errors
| `Opus is experiencing high load` / `Fable is experiencing high load`
| `Couldn't save your login`
| `Authentication required · Sign in again to continue`
| `Could not refresh your login because another Claude Code process is refreshing it`
| `Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh`
+208 −16 lines
Upstream edited 26 Sep 2026 05:19 UTC Recorded here 26 Sep 2026 05:37 UTC
claude-code
remote-control
±changed
+187−224
claude-codechanged
remote-control
<Note>
Remote Control is available on all plans. On Team and Enterprise, it is off by default until an Owner enables the Remote Control toggle in [Claude Code admin settings](https://cl
</Note>
* **Survive interruptions**: if your laptop sleeps or your network drops, Claude Code reconnects automatically when your machine comes back online. While the connection is rebuildi
+187 −224 lines
Upstream edited 26 Sep 2026 03:22 UTC Recorded here 26 Sep 2026 03:37 UTC
claude-code
errors
±changed
+1−1
claude-codechanged
errors
If the server reports instead that the previous session is gone, you don't see this message. Claude Code starts a new session in its place or shows [`Previous session is unavailabl
If the server reports instead that the previous session is gone, you don't see this message. Claude Code starts a new session in its place or shows [`Previous session is unavailabl
+1 −1 lines
Upstream edited 26 Sep 2026 03:22 UTC Recorded here 26 Sep 2026 03:37 UTC
claude-code
mobile
±changed
+6−6
claude-codechanged
mobile
| Feature | What you connect to | When to use
| :--------------------------------------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------
| [Cloud sessions](/docs/en/claude-code-on-the-web) | A session on cloud infrastructure, Anthropic-managed by default | Your repository is on GitHub and the tas
| [Projects](/docs/en/claude-projects) | A conversation where Claude coordinates parallel threads of work and reports back | You have a stream of related work rather
| [Remote Control](/docs/en/remote-control) | A Claude Code session running on your computer | The work needs your local filesystem, to
+6 −6 lines
Upstream edited 26 Sep 2026 03:05 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
claude-projects
±changed
+44−44
claude-codechanged
claude-projects
| Group | What's in it
| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------
| **Ready for review** | Threads whose pull request is open and awaiting review
| **Waiting on you** | Threads that need your reply or approval, or that failed
| **Working** | Threads still running
+44 −44 lines
Upstream edited 26 Sep 2026 03:05 UTC Recorded here 28 Sep 2026 23:37 UTC
claude-code
agents
±changed
+7−7
claude-codechanged
agents
| Approach | What it gives you
| :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------
| [Subagents](/docs/en/sub-agents) | Delegated workers inside one session that do a side task in their own context and return a summary
| [Agent view](/docs/en/agent-view) | One screen to dispatch and monitor sessions running in the background, opened with `claude agents`. Research preview
| [Agent teams](/docs/en/agent-teams) | Multiple coordinated sessions with a shared task list and inter-agent messaging, managed by a lead. Experimental and disabled by default
+7 −7 lines
Upstream edited 26 Sep 2026 03:05 UTC Recorded here 28 Sep 2026 23:37 UTC
Nothing on this page matches that. Press Enter to search every page of the ledger.