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
145 changed this week · last read 24 Oct 2026
Claude Documentation
280pages tracked
65 changed this week · last read 23 Oct 2026
Model Context Protocol
357pages tracked
171 changed this week · last read 23 Oct 2026
100 on this page
ReadSourcePageWhatLines
10 Oct 2026
78 pages
+1530 −2018 lines
claude-code
analytics
±changed
+1−1
claude-codechanged
analytics
Contribution metrics support GitHub Cloud and GitHub Enterprise Server.
Contribution metrics cover repositories hosted on github.com. For repositories on [GitHub Enterprise Server](/docs/en/github-enterprise-server), the analytics dashboard shows usage
+1 −1 lines
Upstream edited 10 Oct 2026 18:26 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
plugins/loading
±changed
+8−12
claude-codechanged
plugins/loading
<Note>
These cases are covered on other pages:
* **Install, enable, disable, and update steps**: see [Install and manage plugins](/docs/en/plugins/install)
* **You have a specific error message**: see [Troubleshoot plugins](/docs/en/plugins/troubleshooting)
+8 −12 lines
Upstream edited 10 Oct 2026 18:25 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
plugins/loading
±changed
+5−1
claude-codechanged
plugins/loading
A project-scope skills-directory plugin loads only from the `.claude/skills/` of the session's [primary working directory](/docs/en/permissions#working-directories), and only after
If a plugin in your repository's `.claude/skills/` doesn't load, check where you started the session and whether you trusted the folder:
* **In a subdirectory**: a plugin at the repository root doesn't load. Claude Code reads the `.claude/skills/` of the session's [primary working directory](/docs/en/permissions#wor
* **From the desktop app, in a worktree**: the plugin loads from the main checkout's `.claude/skills/` rather than the worktree's. See [What worktrees share with the main checkout]
+5 −1 lines
Upstream edited 10 Oct 2026 18:25 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
sandboxing
±changed
+1−0
claude-codechanged
sandboxing
* [Monitor tool](/docs/en/tools-reference#monitor-tool) commands aren't approved automatically, though they still run in the sandbox. To skip the prompt, add an [allow rule](/docs/
+1 −0 lines
Upstream edited 10 Oct 2026 18:18 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
settings-reference
±changed
+23−2
claude-codechanged
settings-reference
facetOrder={{ scope: ["Any file", "User, local, or managed", "User or managed", "Managed", "Global config"] }}
facetOrder={{ scope: ["Any file", "User, local, or managed", "User or managed", "User", "Managed", "Global config"] }}
| [`worktree.location`](#worktree-location) | Choose where [Desktop SSH sessions](/docs/en/desktop#ssh-sessions) create their worktrees on a remote machine | Agents, sessions, and
### `worktree.location`
+23 −2 lines
Upstream edited 10 Oct 2026 18:17 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
monitoring-usage
±changed
+33−3
claude-codechanged
monitoring-usage
### Attribute telemetry to Desktop SSH sessions
To see which remote machine a [Desktop SSH session](/docs/en/desktop#ssh-sessions) ran on, name each machine in a custom attribute. Metrics and events don't name the machine a sess
On each remote machine, add [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support) to the `env` block that turns telemetry on, in the [managed settings file the session rea
+33 −3 lines
Upstream edited 10 Oct 2026 18:17 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
desktop
±changed
+27−3
claude-codechanged
desktop
Worktrees are stored in `<project-root>/.claude/worktrees/` by default. You can change this to a custom directory in Settings → Claude Code under "Worktree location". You can also
Worktrees are stored in `<project-root>/.claude/worktrees/` by default. You can change this to a custom directory:
* **Local sessions**: set **Worktree location** in **Settings > Claude Code**
* **SSH sessions**: set **Worktree folder** on the [SSH connection](#choose-where-ssh-session-worktrees-go)
+27 −3 lines
Upstream edited 10 Oct 2026 18:17 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
agent-sdk/typescript
±changed
+3−1
claude-codechanged
agent-sdk/typescript
* An MCP tool whose `structuredContent` serializes to more than 1,048,576 characters of JSON: Claude Code leaves `structuredContent` off `tool_use_result` and sets `structuredConte
* An MCP tool whose `structuredContent` serializes to more than 1,048,576 characters of JSON: Claude Code leaves `structuredContent` off `tool_use_result` and sets `structuredConte
* Tools from [in-process SDK servers](/docs/en/agent-sdk/custom-tools) are exempt and deliver the object whole.
* A tool whose `tools/list` entry declares an [MCP Apps `ui://` resource](#mcpserverstatus) has a limit of 8,388,608 characters on Claude Code v2.1.295 or later, and versions bef
+3 −1 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
plugins/host-marketplace
±changed
+52−52
claude-codechanged
plugins/host-marketplace
> * **You haven't written the catalog file yet**: start with [Create a marketplace](/docs/en/plugins/create-marketplace.md)
> * **You're an admin requiring, restricting, or pre-installing marketplaces across your organization's machines**: read [Manage plugins for your organization](/docs/en/plugins/org
> * **You haven't written the catalog file yet**: start with [Create a marketplace](https://code.claude.com/docs/en/plugins/create-marketplace.md)
> * **You're an admin requiring, restricting, or pre-installing marketplaces across your organization's machines**: read [Manage plugins for your organization](https://code.claude.
To pin a branch or tag of a GitHub or git-URL marketplace, tell users to append `#<ref>`, as in `your-org/your-marketplace#stable`. The [plugin commands reference](/docs/en/plugins
+52 −52 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 23 Oct 2026 19:07 UTC
claude-code
plugins/host-marketplace
±changed
+35−35
claude-codechanged
plugins/host-marketplace
> * **You haven't written the catalog file yet**: start with [Create a marketplace](/docs/en/plugins/create-marketplace)
> * **You're an admin requiring, restricting, or pre-installing marketplaces across your organization's machines**: read [Manage plugins for your organization](/docs/en/plugins/org
> * **You haven't written the catalog file yet**: start with [Create a marketplace](/docs/en/plugins/create-marketplace.md)
> * **You're an admin requiring, restricting, or pre-installing marketplaces across your organization's machines**: read [Manage plugins for your organization](/docs/en/plugins/org
To pin a branch or tag of a GitHub or git-URL marketplace, tell users to append `#<ref>`, as in `your-org/your-marketplace#stable`. The [plugin commands reference](/docs/en/plugins
+35 −35 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-code
plugins/host-marketplace
±changed
+8−12
claude-codechanged
plugins/host-marketplace
<Note>
These cases are covered on other pages:
* **You haven't written the catalog file yet**: start with [Create a marketplace](/docs/en/plugins/create-marketplace)
* **You're an admin requiring, restricting, or pre-installing marketplaces across your organization's machines**: read [Manage plugins for your organization](/docs/en/plugins/org
+8 −12 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
plugins/troubleshooting
±changed
+1−1
claude-codechanged
plugins/troubleshooting
`claude plugin marketplace add` prints the message after `Failed to add marketplace:`. When a settings file declares the marketplace under [`extraKnownMarketplaces`](/docs/en/setti
If a settings file declares the marketplace under [`extraKnownMarketplaces`](/docs/en/settings-reference#extraknownmarketplaces), Claude Code's attempt to add it at startup fails t
+1 −1 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
plugins/mods/troubleshoot
±changed
+4−4
claude-codechanged
plugins/mods/troubleshoot
| `another plugin of that name loads first` | Two plugins share a name, and [one plugin per name loads a hooks module](/docs/en/plugins/loading#hooks-when-two-enabled-plugins-share
| `another plugin of that name loads first` | Another enabled plugin has the same name as your mod and [holds the name](/docs/en/plugins/loading#hooks-when-two-enabled-plugins-shar
A `$.agent.register` call rejects with your mod's name followed by `$.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)`.
A hook that doesn't catch the rejection fails, and Claude Code [skips it](#hook-skipped). To have the copy that stays loaded register the agent, make the call in your [`session.sta
+4 −4 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
plugins/mods/reference
±changed
+1−1
claude-codechanged
plugins/mods/reference
A namespace you add in an `engine.create` hook can make `$` calls of its own when another mod calls its methods. While the hook that called your method is still running, those call
When another mod's hook calls a method on a namespace you added in `engine.create`, your method's `$` calls run in that hook's context until every hook on that event returns. For e
+1 −1 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
plugins/host-marketplace
±changed
+3−6
claude-codechanged
plugins/host-marketplace
* **A public git repository**: Claude Code clones a public `url` or `git-subdir` source over HTTPS without credentials when the entry gives an `https://` URL. For a `github` source
Tell users without a GitHub SSH key to set `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` even though some of them can install without it:
* Without it, `claude plugin install` run from the shell can still install a plugin with a `github` source. When SSH to github.com is refused for a missing key or an untrusted host
+3 −6 lines
Upstream edited 10 Oct 2026 18:15 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
routines
±changed
+2−2
claude-codechanged
routines
Add one or more GitHub repositories for Claude to work in. Each repository is cloned at the start of a run, starting from the default branch. Claude creates `claude/`-prefixed
Add one or more GitHub repositories for Claude to work in. Each repository is cloned at the start of a run. Claude creates `claude/`-prefixed branches for its changes.
Each repository you add is cloned on every run. Claude starts from the repository's default branch unless your prompt specifies otherwise.
Each repository you add is cloned on every run. Claude starts from the repository's default branch unless your prompt specifies otherwise. If a [GitHub pull request event](#add-a-g
+2 −2 lines
Upstream edited 10 Oct 2026 18:10 UTC Recorded here 10 Oct 2026 18:37 UTC
claude-code
claude-tag
±changed
+4−4
claude-codechanged
claude-tag
No line of the body moved in this read.
+4 −4 lines
Recorded here 10 Oct 2026 18:07 UTC
claude-code
plugins/mods/admin
±changed
+6−1
claude-codechanged
plugins/mods/admin
* **Network policy covers `$.http.fetch`.** If your organization turns off web fetching, or nonessential network traffic is turned off for the session, Claude Code refuses a networ
* **Network policy covers `$.http.fetch`.**
* **Your organization's policy doesn't allow WebFetch**: Claude Code also refuses every mod's `$.http.fetch` request. See [WebFetch availability](/docs/en/tools-reference#webfetc
* **You set [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/en/env-vars)**: a mod that you or your users install can still make these requests. The variable stops only the [mo
+6 −1 lines
Upstream edited 10 Oct 2026 18:06 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
permissions
±changed
+2−2
claude-codechanged
permissions
* `WebFetch(domain:example.com)` matches requests to `example.com`
* `WebFetch(domain:example.com)` matches requests to `example.com` only. To also cover subdomains such as `api.example.com`, add a `WebFetch(domain:*.example.com)` rule
To move the session to a different primary working directory, rather than [adding a directory](#working-directories) alongside the current one, run `/cd <path>`. Claude Code keeps
To move the session to a different primary working directory, rather than [adding a directory](#working-directories) alongside the current one, run `/cd <path>`. Claude Code keeps
+2 −2 lines
Upstream edited 10 Oct 2026 18:06 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
troubleshoot-install
±changed
+316−348
claude-codechanged
troubleshoot-install
<Tip>
If you'd rather skip the terminal entirely, the [Claude Code Desktop app](/docs/en/desktop-quickstart) lets you install and use Claude Code through a graphical interface. Downloa
</Tip>
> [!TIP]
>
+316 −348 lines
Upstream edited 10 Oct 2026 18:05 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
troubleshoot-install
±changed
+1−1
claude-codechanged
troubleshoot-install
* **Anthropic Console users**: confirm your account has the "Claude Code" or "Developer" role. Admins assign this in the Anthropic Console under Settings → Members.
* **Anthropic Console users**: confirm your account has the "Claude Code" or "Developer" role. Admins assign this on the Console's Members page at [platform.claude.com/settings/mem
+1 −1 lines
Upstream edited 10 Oct 2026 18:05 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
authentication
±changed
+1−1
claude-codechanged
authentication
* Bulk invite users from within the Console: Settings -> Members -> Invite
* Bulk invite users from the Console's Members page at [platform.claude.com/settings/members](https://platform.claude.com/settings/members): click **Invite**
+1 −1 lines
Upstream edited 10 Oct 2026 18:05 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
workflows
±changed
+1−1
claude-codechanged
workflows
When your organization's [`availableModels` allowlist](/docs/en/model-config#restrict-model-selection) blocks a model the script requests for an agent, that agent runs on a substit
When your organization's [`availableModels` allowlist](/docs/en/model-config#restrict-model-selection) blocks a model the script requests for an agent, that agent runs on a substit
+1 −1 lines
Upstream edited 10 Oct 2026 18:04 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
routines
±changed
+1−1
claude-codechanged
routines
Routines need GitHub access to clone repositories. When you create a routine from the CLI with `/schedule`, Claude checks whether your account has GitHub access for the repository
Routines need GitHub access to clone repositories. When you create a routine from the CLI with `/schedule`, Claude checks whether your account has GitHub access for the repository
+1 −1 lines
Upstream edited 10 Oct 2026 18:02 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
agent-sdk/sessions
±changed
+24−24
claude-codechanged
agent-sdk/sessions
> Sessions persist the **conversation**, not the filesystem. To snapshot and revert file changes the agent made, use [file checkpointing](/docs/en/agent-sdk/file-checkpointing.md).
> Sessions persist the **conversation**, not the filesystem. To snapshot and revert file changes the agent made, use [file checkpointing](https://code.claude.com/docs/en/agent-sdk/
How much session handling you need depends on your application's shape. Session management comes into play when you send multiple prompts that should share context. Within a single
How much session handling you need depends on your application's shape. Session management comes into play when you send multiple prompts that should share context. Within a single
| Stateless task, don't want anything written to disk | Set [`persistSession: false`](/docs/en/agent-sdk/typescript#options) (TypeScript only). The session exists only in memory fo
+24 −24 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 23 Oct 2026 19:07 UTC
claude-code
agent-sdk/sessions
±changed
+11−11
claude-codechanged
agent-sdk/sessions
> Sessions persist the **conversation**, not the filesystem. To snapshot and revert file changes the agent made, use [file checkpointing](/docs/en/agent-sdk/file-checkpointing).
> Sessions persist the **conversation**, not the filesystem. To snapshot and revert file changes the agent made, use [file checkpointing](/docs/en/agent-sdk/file-checkpointing.md).
How much session handling you need depends on your application's shape. Session management comes into play when you send multiple prompts that should share context. Within a single
How much session handling you need depends on your application's shape. Session management comes into play when you send multiple prompts that should share context. Within a single
See the [Python SDK reference](/docs/en/agent-sdk/python#choosing-between-query-and-claudesdkclient) for details on when to use `ClaudeSDKClient` vs the standalone `query()` functi
+11 −11 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-code
agent-sdk/sessions
±changed
+220−226
claude-codechanged
agent-sdk/sessions
<Note>
Sessions persist the **conversation**, not the filesystem. To snapshot and revert file changes the agent made, use [file checkpointing](/docs/en/agent-sdk/file-checkpointing).
</Note>
> [!NOTE]
>
+220 −226 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
sessions
±changed
+34−42
claude-codechanged
sessions
A session is a saved conversation tied to a project directory. Claude Code stores it locally as you work, so you can resume where you left off, branch to try a different approach,
A [session](/docs/en/glossary#session) is a saved conversation tied to a project directory. Claude Code stores it locally as you work, so you can resume where you left off, branch
| `claude --continue` | Reopens the most recent conversation in the current directory |
| `claude --continue` | Reopens the most recent session in the current directory |
| `claude --resume <transcript-path>` | Resumes the conversation stored in the `.jsonl` [transcript file](#where-transcripts-are-stored) at that absolute path |
+34 −42 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
headless
±changed
+2−2
claude-codechanged
headless
Use `--continue` to continue the most recent conversation, or `--resume` with a session ID to continue a specific conversation. On Claude Code v2.1.257 or later, when you pass `--c
Use `--continue` to continue the most recent conversation, or `--resume` with a session ID to continue a specific conversation. On Claude Code v2.1.257 or later, when you pass `--c
You can run the two commands from different directories: Claude Code [finds the session by its ID](/docs/en/sessions#resume-a-session) in any project on this machine. Before v2.1.2
You can run the two commands from different directories: Claude Code [finds the session by its ID](/docs/en/sessions#where-the-session-picker-looks) in any project on this machine.
+2 −2 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
errors
±changed
+1−1
claude-codechanged
errors
Claude Code exits with code 1 after showing the message. Claude Code [searches the current project first, then every other project on this machine](/docs/en/sessions#resume-a-sessi
Claude Code exits with code 1 after showing the message. Claude Code [searches the current project first, then every other project on this machine](/docs/en/sessions#where-the-sess
+1 −1 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
cross-session-messaging
±changed
+1−1
claude-codechanged
cross-session-messaging
When you rename a session, or start or resume an interactive one, with a name another live session on this machine already uses, Claude Code leaves the name with the session that a
Unless this session is connected to Remote Control, Claude Code shows each local session's working directory in the `/list-agents` output, so you can tell same-named sessions apart
+1 −1 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
agent-sdk/sessions
±changed
+2−2
claude-codechanged
agent-sdk/sessions
* **Cross-directory lookup**: Claude Code searches beyond the current project directory to find the ID; see [Resume a session](/docs/en/sessions#resume-a-session) for the exact l
* **Cross-directory lookup**: Claude Code searches beyond the current project directory to find the ID; see [Resume a session](/docs/en/sessions#where-the-session-picker-looks) f
Claude Code searches beyond the current project directory to find the ID; see [Resume a session](/docs/en/sessions#resume-a-session) for the exact lookup order and how duplicate
Claude Code searches beyond the current project directory to find the ID; see [Resume a session](/docs/en/sessions#where-the-session-picker-looks) for the exact lookup order and
+2 −2 lines
Upstream edited 10 Oct 2026 18:00 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
settings-reference
±changed
+2−2
claude-codechanged
settings-reference
* Each case warns; whether an entry is degraded or stripped, the remaining valid entries are still enforced, and a wholly invalid `credentials` value is dropped while the rest of `
* Each case warns; whether an entry is degraded or stripped, the remaining valid entries are still enforced.
If a managed source sets an empty array, or a value Claude Code can't parse, Claude Code blocks every login with a misconfiguration message.
If a managed source sets an empty array, or a value that isn't a string or an array of strings, users who sign in with an Anthropic account can't start Claude Code or complete a lo
+2 −2 lines
Upstream edited 10 Oct 2026 17:53 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
sub-agents
±changed
+1−1
claude-codechanged
sub-agents
* **Git status**: a snapshot Claude Code reads from your repository when the subagent starts. Absent outside a Git repository or whenever the snapshot is turned off; see [`includeG
* **Git status**: a snapshot Claude Code reads from your repository when the subagent starts. For a subagent in [its own worktree](/docs/en/worktrees#isolate-subagents-with-worktre
+1 −1 lines
Upstream edited 10 Oct 2026 17:52 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
skills
±changed
+5−3
claude-codechanged
skills
In a session running in a linked [git worktree](/docs/en/worktrees), Claude Code searches parent directories only up to the worktree root. On Claude Code v2.1.277 or later, when th
Skills in a `.claude/skills/` directory below where you started don't load at startup. They load the first time Claude reads or edits a file in that subdirectory and stay available
In a session running in a linked [git worktree](/docs/en/worktrees) that you created with `--worktree` or `git worktree add`, Claude Code searches parent directories only up to the
+5 −3 lines
Upstream edited 10 Oct 2026 17:52 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
interactive-mode
±changed
+2−0
claude-codechanged
interactive-mode
If you take back queued text while `←` [waits to background the session](/docs/en/agent-view#switch-sessions-without-leaving-the-terminal), the text stays in the input box and Clau
+2 −0 lines
Upstream edited 10 Oct 2026 17:52 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
agent-view
±changed
+13−11
claude-codechanged
agent-view
`Ctrl+C` keeps its standard interrupt behavior while attached: it cancels a running response or `!` shell command rather than detaching. Pressing `Ctrl+C` twice on an empty prompt
Detaching never stops a background session: `←`, `Ctrl+Z`, `/exit`, and double `Ctrl+C` or double `Ctrl+D` all leave it running. To end a session from inside it, run `/stop`.
`Ctrl+C` keeps its standard interrupt behavior while attached: it cancels a running response or `!` shell command rather than detaching. Pressing `Ctrl+C` twice on an empty prompt
+13 −11 lines
Upstream edited 10 Oct 2026 17:52 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
plugins/mods/reference
±changed
+2−0
claude-codechanged
plugins/mods/reference
When Claude resumes a subagent with the [`SendMessage`](/docs/en/sub-agents#resume-subagents) tool, your `agent.spawn` hook doesn't run again. To refuse the `SendMessage` calls tha
+2 −0 lines
Upstream edited 10 Oct 2026 17:52 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
hooks
±changed
+3−1
claude-codechanged
hooks
Handlers run in the current directory with Claude Code's environment. If the current directory no longer exists, for example a worktree or temp directory that another shell deleted
Handlers run in the current directory with Claude Code's environment. If the current directory no longer exists, for example a worktree or temp directory that another shell deleted
For a worktree session that you start from the desktop app, see [What worktrees share with the main checkout](/docs/en/worktrees#what-worktrees-share-with-the-main-checkout) for
+3 −1 lines
Upstream edited 10 Oct 2026 17:51 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
worktrees
±changed
+3−1
claude-codechanged
worktrees
All of these apply whether you create the worktree with `--worktree`, with `git worktree add`, or through the [desktop app](/docs/en/desktop#work-in-parallel-with-sessions).
All of these apply whether you create the worktree with `--worktree` or with `git worktree add`.
In a worktree session that you start from the [desktop app](/docs/en/desktop#work-in-parallel-with-sessions), Claude Code reads project configuration such as settings, hooks, skill
+3 −1 lines
Upstream edited 10 Oct 2026 17:51 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
plugins/loading
±changed
+1−1
claude-codechanged
plugins/loading
A project-scope skills-directory plugin loads only from the `.claude/skills/` of the session's [primary working directory](/docs/en/permissions#working-directories), and only after
A project-scope skills-directory plugin loads only from the `.claude/skills/` of the session's [primary working directory](/docs/en/permissions#working-directories), and only after
+1 −1 lines
Upstream edited 10 Oct 2026 17:51 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
desktop
±changed
+1−1
claude-codechanged
desktop
To include gitignored files like `.env` in new worktrees, create a [`.worktreeinclude` file](/docs/en/worktrees#copy-gitignored-files-into-worktrees) in your project root.
To include gitignored files like `.env` in new worktrees, create a [`.worktreeinclude` file](/docs/en/worktrees#copy-gitignored-files-into-worktrees) in your project root. See [Wha
+1 −1 lines
Upstream edited 10 Oct 2026 17:51 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
code-review
±changed
+5−5
claude-codechanged
code-review
| Cost weekly | Weekly spend on Code Review |
| Code Review cost | Code Review spend so far this month |
| Repository breakdown | Per-repo counts of PRs reviewed and comments resolved |
Dashboard cost figures are estimates for monitoring activity. For invoice-accurate spend, refer to your Anthropic bill.
+5 −5 lines
Upstream edited 10 Oct 2026 17:49 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
network-config
±changed
+2−2
claude-codechanged
network-config
The supervisor is one process shared by every terminal. It inherits the environment of whichever shell starts it first, and an OS-installed supervisor receives no shell environment
The supervisor is one process shared by every terminal. It inherits the environment of whichever shell starts it first. If you export a proxy, CA path, or mTLS variable only in you
An already-running supervisor keeps the launch configuration it started with. After deploying the launcher setting, run [`claude daemon stop --any`](/docs/en/agent-view#the-super
An already-running supervisor keeps the launch configuration it started with. After deploying the launcher setting, run [`claude daemon stop --any`](/docs/en/agent-view#the-super
+2 −2 lines
Upstream edited 10 Oct 2026 17:48 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
corporate-launcher
±changed
+3−4
claude-codechanged
corporate-launcher
`CLAUDE_CODE_PROCESS_WRAPPER` starts every process Claude Code launches from its own binary through your launcher: the background service, every session it hosts in [agent view](/d
`CLAUDE_CODE_PROCESS_WRAPPER` starts every process Claude Code launches from its own binary through your launcher: the [background service](/docs/en/agent-view#the-supervisor-proce
* An [installed background service](/docs/en/agent-view#the-supervisor-process) whose unit was written before the launcher was configured: `launchd` or `systemd` starts that proces
A running background service and any open `claude` sessions read the variable once at startup, so they keep launching unwrapped processes until restarted. Run `claude daemon st
A running background service and any open `claude` sessions read the variable once at startup, so they keep launching unwrapped processes until restarted. Run `claude daemon st
+3 −4 lines
Upstream edited 10 Oct 2026 17:48 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
tools-reference
±changed
+6−4
claude-codechanged
tools-reference
Viewing a file with Bash also satisfies the read-before-edit requirement when the command is `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`
Claude can also edit a file without a separate Read after it views the file with a Bash command such as `cat` or `grep`. Those commands are `cat`, `nl`, `bat`, `batcat`, `head`, `t
Edit and [NotebookEdit](#notebookedit-tool-behavior) refuse to change a file whose bytes don't decode as UTF-8, and write nothing, because saving it back as UTF-8 would turn every
Write doesn't share this refusal. On a file Edit would refuse, Write replaces the whole file with the new content and saves it as UTF-8, so the file's original encoding is lost. Wr
+6 −4 lines
Upstream edited 10 Oct 2026 17:45 UTC Recorded here 10 Oct 2026 18:07 UTC
claude-code
claude-tag
±changed
+1−1
claude-codechanged
claude-tag
No line of the body moved in this read.
+1 −1 lines
Recorded here 10 Oct 2026 17:37 UTC
claude-code
agent-sdk/session-storage
±changed
+20−20
claude-codechanged
agent-sdk/session-storage
Because `projectKey` encodes the working directory, resume or continue from the store from a working directory matching the original run's. In TypeScript, if you set [`CLAUDE_CODE_
Because `projectKey` encodes the working directory, resume or continue from the store from a working directory matching the original run's. In TypeScript, if you set [`CLAUDE_CODE_
If you don't want a fresh session to leave a transcript on local disk, set `CLAUDE_CONFIG_DIR` to a temp directory in `options.env`. A run resumed from the store already deletes it
If you don't want a fresh session to leave a transcript on local disk, set `CLAUDE_CONFIG_DIR` to a temp directory in `options.env`. A run resumed from the store already deletes it
* **TypeScript**: credentials, `.claude.json`, and your user `settings.json`. From `settings.json` it strips the keys that misbehave under a temporary config directory: `enabledPlu
+20 −20 lines
Upstream edited 10 Oct 2026 17:34 UTC Recorded here 23 Oct 2026 19:07 UTC
claude-code
agent-sdk/session-storage
±changed
+4−4
claude-codechanged
agent-sdk/session-storage
Local transcripts under `CLAUDE_CONFIG_DIR` are swept independently by the `cleanupPeriodDays` setting, following the [retention sweep rules](/docs/en/claude-directory#cleaned-up-a
Local transcripts under `CLAUDE_CONFIG_DIR` are swept independently by the `cleanupPeriodDays` setting, following the [retention sweep rules](/docs/en/claude-directory.md#cleaned-u
In the Python SDK, set `session_store` in [`ClaudeAgentOptions`](/docs/en/agent-sdk/python#claudeagentoptions) to run `query()` against a store. The remaining operations each have
In the Python SDK, set `session_store` in [`ClaudeAgentOptions`](/docs/en/agent-sdk/python#claudeagentoptions) to run `query()` against a store. The remaining operations each have
* [Work with sessions](/docs/en/agent-sdk/sessions): Continue, resume, and fork without a custom store
+4 −4 lines
Upstream edited 10 Oct 2026 17:34 UTC Recorded here 22 Oct 2026 18:07 UTC
claude-code
agent-sdk/session-storage
±changed
+130−134
claude-codechanged
agent-sdk/session-storage
<CodeGroup>
```typescript TypeScript theme={null}
// Exported from @anthropic-ai/claude-agent-sdk as
// SessionStore, SessionKey, SessionStoreEntry, SessionSummaryEntry.
+130 −134 lines
Upstream edited 10 Oct 2026 17:34 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
agent-sdk/typescript
±changed
+28−0
claude-codechanged
agent-sdk/typescript
### `forkSession()`
Copies a session's transcript into a new session so you can take the conversation in another direction while the original stays unchanged. To branch from an earlier point in the co
+28 −0 lines
Upstream edited 10 Oct 2026 17:34 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
agent-sdk/session-storage
±changed
+1−1
claude-codechanged
agent-sdk/session-storage
* [`forkSession()`](/docs/en/agent-sdk/typescript)
* [`forkSession()`](/docs/en/agent-sdk/typescript#forksession)
+1 −1 lines
Upstream edited 10 Oct 2026 17:34 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
agent-sdk/python
±changed
+45−0
claude-codechanged
agent-sdk/python
```
### `fork_session()`
Copies a session's transcript into a new session so you can take the conversation in another direction while the original stays unchanged. To branch from an earlier point in the co
+45 −0 lines
Upstream edited 10 Oct 2026 17:34 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
mcp
±changed
+3−3
claude-codechanged
mcp
As of v2.1.196, `claude mcp list` and `claude mcp get` read `.mcp.json` approvals only from settings files that aren't checked into the repository until you trust the workspace by
`claude mcp list` and `claude mcp get` read `.mcp.json` approvals only from settings files that aren't checked into the repository until you trust the workspace by running `claude`
In non-interactive mode there's no `/mcp` panel, so Claude Code can't run the OAuth flow for you. As of v2.1.196, when a configured server needs authentication during a `claude -p`
In non-interactive mode there's no `/mcp` panel, so Claude Code can't run the OAuth flow for you. When a configured server needs authentication during a `claude -p` or Agent SDK ru
As of v2.1.196, when `oauth.scopes` isn't set, Claude Code requests the scope provided by the server's `WWW-Authenticate` header or its protected resource metadata, and sends no `s
+3 −3 lines
Upstream edited 10 Oct 2026 17:26 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
llm-gateway-connect
±changed
+1−1
claude-codechanged
llm-gateway-connect
[Remote Control](/docs/en/remote-control) and [voice dictation](/docs/en/voice-dictation) both rely on a claude.ai identity: Remote Control to pair a live session with your account
[Remote Control](/docs/en/remote-control) and [voice dictation](/docs/en/voice-dictation) both rely on a claude.ai identity: Remote Control to pair a live session with your account
+1 −1 lines
Upstream edited 10 Oct 2026 17:26 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
sub-agents
±changed
+1−3
claude-codechanged
sub-agents
An alias in `CLAUDE_CODE_SUBAGENT_MODEL` always resolves to the version the alias points to, even when it names the main conversation's family.
An alias in `CLAUDE_CODE_SUBAGENT_MODEL` always resolves to the version the alias points to, even when it names the main conversation's family. Setting the variable to `inherit` is
Setting the variable to `inherit` is the same as leaving it unset. Before v2.1.196, that value forced subagents onto the main conversation's model and ignored the other sources.
+1 −3 lines
Upstream edited 10 Oct 2026 17:26 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
skills
±changed
+1−3
claude-codechanged
skills
| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevent
| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevent
The `${CLAUDE_PROJECT_DIR}` substitution requires Claude Code v2.1.196 or later.
+1 −3 lines
Upstream edited 10 Oct 2026 17:26 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
settings-reference
±changed
+1−1
claude-codechanged
settings-reference
Turn off the [Artifact](/docs/en/artifacts) tool, which publishes session output as a private web page on claude.ai. When you turn the **Artifacts** row off in `/config`, Claude Co
Turn off the [Artifact](/docs/en/artifacts) tool, which publishes session output as a private web page on claude.ai. When you turn the **Artifacts** row off in `/config`, Claude Co
+1 −1 lines
Upstream edited 10 Oct 2026 17:26 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
plugins/dependencies
±changed
+1−1
claude-codechanged
plugins/dependencies
For a plugin the marketplace references by a relative path, a marketplace you added as a local folder path also resolves constraints against that folder's git tags, when the folder
For a plugin the marketplace references by a relative path, a marketplace you added as a local folder path also resolves constraints against that folder's git tags, when the folder
+1 −1 lines
Upstream edited 10 Oct 2026 17:26 UTC Recorded here 10 Oct 2026 17:37 UTC
claude-code
claude-tag
±changed
+1−1
claude-codechanged
claude-tag
No line of the body moved in this read.
+1 −1 lines
Recorded here 10 Oct 2026 17:07 UTC
claude-code
tools-reference
±changed
+3−1
claude-codechanged
tools-reference
The same main-session working-directory reset behavior described under the Bash tool section applies to PowerShell commands, including the `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR
PowerShell commands follow the [same main-session working-directory reset behavior](#what-persists-between-commands) as Bash commands, including the `CLAUDE_BASH_MAINTAIN_PROJECT_W
PowerShell commands also receive the variables hooks persist through `CLAUDE_ENV_FILE`, under the conditions in [Persisted variables in PowerShell commands](/docs/en/hooks#persiste
+3 −1 lines
Upstream edited 10 Oct 2026 16:42 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
hooks-guide
±changed
+12−8
claude-codechanged
hooks-guide
* `"allow"`: skip the interactive permission prompt. Deny and ask rules, including enterprise managed deny lists, still apply, as do prompts for MCP tools marked [`requiresUserInte
* `"allow"`: skip the interactive permission prompt. Deny and ask rules, including enterprise managed deny lists, still apply, as do prompts for reads from [network paths](/docs/en
The reverse is not true: a hook returning `"allow"` doesn't bypass deny rules from settings, and it can't suppress the prompt for MCP tools marked [`requiresUserInteraction`](/docs
The reverse is not true: a hook returning `"allow"` doesn't bypass deny rules from settings, and it can't suppress the prompt for reads from [network paths](/docs/en/permissions#ne
* **Extra output before the JSON**: something else writes to stdout first, usually an unconditional `echo` in your shell profile, so the output no longer starts with `{` and Claude
+12 −8 lines
Upstream edited 10 Oct 2026 16:42 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
hooks
±changed
+35−12
claude-codechanged
hooks
When running with `--agent` or inside a subagent, two additional fields are included:
`agent_id` and `agent_type` tell your script which agent a hook fired in, such as a subagent, an [in-process teammate](/docs/en/agent-teams#choose-a-display-mode), or the agent you
| `agent_id` | Unique identifier for the subagent. Present only when the hook fires inside a subagent call. Use this to distinguish subagent hook calls from main-thread calls. |
| `agent_id` | Unique identifier for the subagent or in-process teammate the hook fires in. |
Whether Claude Code reads your stdout as [JSON output](#json-output) or as plain text depends on how it starts and ends, ignoring surrounding whitespace:
+35 −12 lines
Upstream edited 10 Oct 2026 16:42 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
vs-code
±changed
+2−1
claude-codechanged
vs-code
When the conversation you resume ended in plan mode, Claude Code restores plan mode. Requires Claude Code v2.1.246 or later. Claude Code doesn't restore it in two cases:
When the conversation you resume ended in plan mode, Claude Code restores plan mode. Requires Claude Code v2.1.246 or later. Claude Code doesn't restore it in these cases:
* A [deny rule](/docs/en/permissions#manage-permissions) removes the [`ExitPlanMode`](/docs/en/tools-reference) tool
+2 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
sub-agents
±changed
+1−1
claude-codechanged
sub-agents
| `dontAsk` | Auto-deny permission prompts. Explicitly allowed tools still work; `AskUserQuestion`, MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a
| `dontAsk` | Auto-deny permission prompts. Explicitly allowed tools still work; `AskUserQuestion`, MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a
+1 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
settings-reference
±changed
+1−1
claude-codechanged
settings-reference
* `"dontAsk"`: Claude Code auto-denies every call that would otherwise prompt; reads, other actions that need no approval, and pre-approved tools still run
* `"dontAsk"`: Claude Code auto-denies every call that would otherwise prompt; file reads inside your working directories, other actions that need no approval, and pre-approved t
+1 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
sessions
±changed
+5−1
claude-codechanged
sessions
* Session picker at launch: a session you select from the [session picker](#use-the-session-picker), whether you opened it with `claude --resume` alone, `claude --from-pr`, or a na
* Session picker at launch: a session you select from the [session picker](#use-the-session-picker), whether you opened it with `claude --resume` alone, `claude --from-pr`, or a na
If a [deny rule](/docs/en/permissions#manage-permissions) removes the [`ExitPlanMode`](/docs/en/tools-reference) tool, Claude can't present a plan for approval, so Claude Code does
| `plan` | Terminal, when a deny rule removes `ExitPlanMode` | The permission mode a new session would start in |
+5 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
plugins/mods/admin
±changed
+1−1
claude-codechanged
plugins/mods/admin
* **Other permission checks can be overridden.** A user's mod that approves tool calls can approve a call that an `ask` rule would prompt for, or that a `PreToolUse` hook outside m
* **Other permission checks can be overridden.** A user's mod that approves tool calls can approve a call that an `ask` rule would prompt for, or that a `PreToolUse` hook outside m
+1 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
permissions
±changed
+35−6
claude-codechanged
permissions
Sometimes a permission prompt offers only a one-time approval, with no "don't ask again" option and no option to allow the action for the rest of the session. Claude Code offers th
Sometimes a permission prompt offers only a one-time approval, with no "don't ask again" option and no option to allow the action for the rest of the session. Claude Code offers th
| `dontAsk` | Auto-denies every call that would otherwise prompt; file reads in your working directories and other actions that need no approval still run, as do tools pre-approved
| `dontAsk` | Auto-denies every call that would otherwise prompt; file reads in your working directories and other actions that need no approval still run, as do tools pre-approved
Bash rules match the whole command text, with `*` standing in for any text. [Wildcard patterns](#wildcard-patterns) shows which commands each rule shape matches and where to put th
+35 −6 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
permission-modes
±changed
+16−7
claude-codechanged
permission-modes
| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | Reads and pre-approved tools; anything that would prompt is denied | Locked-down CI and scripts |
| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | File reads inside your working directories and pre-approved tools; anything that would prompt is denied | Locked-d
While [`permissions.blockReadsOutsideWorkingDirectories`](/docs/en/settings-reference#permissions-blockreadsoutsideworkingdirectories) is off, file reads run without a prompt in au
While [`permissions.blockReadsOutsideWorkingDirectories`](/docs/en/settings-reference#permissions-blockreadsoutsideworkingdirectories) is off, file reads other than [reads from net
* Writes to [protected paths](#protected-paths) route to the classifier even when an allow rule matches
+16 −7 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
headless
±changed
+2−2
claude-codechanged
headless
Use `--allowedTools` to let Claude use certain tools without prompting. Listing `Read` and `Edit` lets Claude read and edit files without asking for permission. Listing `Bash` does
Use `--allowedTools` to let Claude use certain tools without prompting. Listing `Read` and `Edit` lets Claude read and edit files without asking for permission, apart from reads fr
* **`dontAsk`**: Claude Code denies every call that would otherwise prompt, which is useful for locked-down CI runs. Actions that need no approval in Manual mode still run, such as
* **`dontAsk`**: Claude Code denies every call that would otherwise prompt, which is useful for locked-down CI runs. Actions that need no approval in Manual mode still run, such as
+2 −2 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
errors
±changed
+4−1
claude-codechanged
errors
| `Not run · auto mode's check had no usable answer` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |
In an interactive session, a dim `Not run · auto mode's check had no usable answer` row appears under the tool call instead of this message. Press `Ctrl+O` to read the message in t
* Automount paths such as `/net/<host>`, unless you launched Claude Code from a directory under that host's automount
* Automount paths such as `/net/<host>`, unless you launched Claude Code from a directory under that host's automount. Reads under that automount still go through the [network path
+4 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
auto-mode-config
±changed
+3−1
claude-codechanged
auto-mode-config
The text beneath the call tells you whether there is anything to fix. Text that reports a problem with the classifier itself, such as a model that `is temporarily unavailable` or a
The text beneath the call tells you whether there is anything to fix. A dim `Not run · auto mode's check had no usable answer` row, or text that reports a problem with the classifi
Otherwise, a line reading `Denied by auto mode classifier` with a reason such as `[Production Deploy]` or `Blocked by classifier` means the classifier judged the call unsafe, so pi
+3 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
agent-view
±changed
+3−3
claude-codechanged
agent-view
Directories you added during the session with [`/add-dir`](/docs/en/permissions#additional-directories-grant-file-access-not-configuration) also carry through. Carrying `--allow-da
Directories you added during the session with [`/add-dir`](/docs/en/permissions#additional-directories-grant-file-access-not-configuration) also carry through. Carrying `--allow-da
Claude Code refuses `claude --bg --permission-mode bypassPermissions` until you've accepted the bypass disclaimer by running `claude --dangerously-skip-permissions` once interactiv
A background session started in `bypassPermissions` mode needs your [acceptance of the bypass disclaimer](/docs/en/permission-modes#skip-all-checks-with-bypasspermissions-mode) on
The permission mode, model, and effort you chose for a background session, along with the [configuration flags it carries](#what-carries-over-when-you-background), all persist when
+3 −3 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
agent-sdk/typescript
±changed
+1−1
claude-codechanged
agent-sdk/typescript
| `allowedTools` | `string[]` | `[]` | Tools to auto-approve without prompting. This does not restrict Claude to only these tools. If you name one of the [task-tracking tools](/doc
| `allowedTools` | `string[]` | `[]` | Tools to auto-approve without prompting, apart from reads from [network paths](/docs/en/permissions#network-paths). This does not restrict Cl
+1 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
agent-sdk/python
±changed
+1−1
claude-codechanged
agent-sdk/python
| `allowed_tools` | `list[str]` | `[]` | Tools to auto-approve without prompting. This does not restrict Claude to only these tools. If you name one of the [task-tracking tools](/d
| `allowed_tools` | `list[str]` | `[]` | Tools to auto-approve without prompting, apart from reads from [network paths](/docs/en/permissions#network-paths). This does not restrict
+1 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
agent-sdk/permissions
±changed
+8−6
claude-codechanged
agent-sdk/permissions
An allow rule doesn't approve a read from a [network path](/docs/en/permissions#network-paths).
* Each bare `allowedTools` entry such as `"Read"`, which auto-approves that whole tool before the callback is consulted, apart from the [actions no mode auto-approves](/docs/en/per
* Each bare `allowedTools` entry such as `"Read"`, which auto-approves that whole tool before the callback is consulted, apart from the [actions no mode auto-approves](/docs/en/per
| `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 permissi
+8 −6 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
agent-sdk/hooks
±changed
+1−1
claude-codechanged
agent-sdk/hooks
By default, the agent may prompt for permission before using certain tools. This example auto-approves read-only filesystem tools (Read, Glob, Grep) by returning `permissionDecisio
By default, the agent may prompt for permission before using certain tools. This example auto-approves read-only filesystem tools (Read, Glob, Grep) by returning `permissionDecisio
+1 −1 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
agent-sdk/agent-loop
±changed
+2−2
claude-codechanged
agent-sdk/agent-loop
* **`allowed_tools` / `allowedTools`** auto-approves listed tools. A read-only agent with `["Read", "Glob", "Grep"]` in its allowed tools list runs those tools without prompting. T
* **`allowed_tools` / `allowedTools`** auto-approves listed tools. A read-only agent with `["Read", "Glob", "Grep"]` in its allowed tools list runs those tools without prompting, a
| `"dontAsk"` | Never prompts. Tools pre-approved by [permission rules](/docs/en/settings-reference#permission-settings) run, and so do calls that need no approval in `default` mod
| `"dontAsk"` | Never prompts. Tools pre-approved by [permission rules](/docs/en/settings-reference#permission-settings) run, and so do calls that need no approval in `default` mod
+2 −2 lines
Upstream edited 10 Oct 2026 16:37 UTC Recorded here 10 Oct 2026 17:07 UTC
claude-code
claude-tag
±changed
+2−2
claude-codechanged
claude-tag
No line of the body moved in this read.
+2 −2 lines
Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/troubleshooting
±changed
+22−1
claude-codechanged
plugins/troubleshooting
<h3 id="claude-code-reserves-this-name">
`Cannot add marketplace "<name>": Claude Code reserves this name and cannot register a marketplace under it`
</h3>
+22 −1 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/mods/troubleshoot
±changed
+7−1
claude-codechanged
plugins/mods/troubleshoot
| `another plugin of that name loads first` | Two plugins share a name. The managed one, or the one loaded first, is used. |
| `another plugin of that name loads first` | Two plugins share a name, and [one plugin per name loads a hooks module](/docs/en/plugins/loading#hooks-when-two-enabled-plugins-share
### `$.agent.register refused: the hooks module that made the call is no longer loaded`
A `$.agent.register` call rejects with your mod's name followed by `$.agent.register refused: the hooks module that made the call is no longer loaded (it was reloaded or removed)`.
+7 −1 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/mods/reference
±changed
+6−0
claude-codechanged
plugins/mods/reference
A namespace you add in an `engine.create` hook can make `$` calls of its own when another mod calls its methods. While the hook that called your method is still running, those call
| A `$.http.fetch` request body | 4 MiB, counted in characters. A call with a larger body rejects. |
| A `$.http.fetch` response body | 4 MiB. `text` holds the first 4 MiB and the rest isn't read. When the `Content-Length` header declares more, the call rejects instead, with a rea
| One `$.http.fetch` call, redirects and body included | 30 seconds |
+6 −0 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/mods/api
±changed
+4−3
claude-codechanged
plugins/mods/api
Files and processes have a few rules of their own:
* **Paths**: a relative path resolves against the session's working directory
Files, processes, and requests have a few rules of their own:
+4 −3 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/marketplace-reference
±changed
+1−0
claude-codechanged
plugins/marketplace-reference
* **Member names that every JavaScript object has**: `constructor`, `hasOwnProperty`, `isPrototypeOf`, `propertyIsEnumerable`, `toLocaleString`, `toString`, and `valueOf`. `claude
+1 −0 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/loading
±changed
+10−0
claude-codechanged
plugins/loading
<h3 id="hooks-when-two-enabled-plugins-share-a-name">
Hooks when two enabled plugins share a name
</h3>
When you install and enable two plugins with the same manifest name from different marketplaces, both appear as enabled in `/plugin`, but the hooks of one of them are left out. One
+10 −0 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/host-marketplace
±changed
+5−0
claude-codechanged
plugins/host-marketplace
Tell users without a GitHub SSH key to set `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1` even though some of them can install without it:
* Without it, `claude plugin install` run from the shell can still install a plugin with a `github` source. When SSH to github.com is refused for a missing key or an untrusted host
* An install started inside a session and a plugin update also stay on SSH, and fail on a machine with no GitHub SSH key.
+5 −0 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
plugins/components
±changed
+2−0
claude-codechanged
plugins/components
When another enabled plugin has the same name, one of the two registers its `hooks/hooks.json` hooks and the other's are left out. See [Hooks when two enabled plugins share a name]
+2 −0 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
errors
±changed
+21−0
claude-codechanged
errors
| `Cannot add marketplace "<name>": Claude Code reserves this name and cannot register a marketplace under it` | [Plugin troubleshooting](/docs/en/plugins/troubleshooting#claude-co
| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Tool errors](#file-is-not-valid-utf-8) |
<h3 id="file-is-not-valid-utf-8">
File is not valid UTF-8
</h3>
+21 −0 lines
Upstream edited 10 Oct 2026 16:33 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
tools-reference
±changed
+24−11
claude-codechanged
tools-reference
Three checks must pass for an edit to apply. Before any of them, a path matched by a [`Read` deny rule](/docs/en/permissions#tool-specific-permission-rules) is refused, including c
* **Read-before-edit**: Claude reads the file in the current conversation before editing it, and a read cut short with a [`PARTIAL view` notice](#read-tool-behavior) doesn't count.
These checks must pass for an edit to apply. Before any of them, a path matched by a [`Read` deny rule](/docs/en/permissions#tool-specific-permission-rules) is refused, including c
+24 −11 lines
Upstream edited 10 Oct 2026 16:27 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
terminal-config
±changed
+11−0
claude-codechanged
terminal-config
## See session status in your terminal
If your terminal implements the OSC 7501 Program Status Protocol, it can show whether each interactive Claude Code session is working, waiting on you, or done, which helps when you
+11 −0 lines
Upstream edited 10 Oct 2026 16:27 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
settings-reference
±changed
+3−3
claude-codechanged
settings-reference
| [`copyFullResponse`](#copyfullresponse) | Make [`/copy`](/docs/en/commands) copy the full response without showing the code block picker | Global config settings | Global config
| [`copyFullResponse`](#copyfullresponse) | Make [`/copy`](/docs/en/commands) copy the full response without showing the picker | Global config settings | Global config |
Make [`/copy`](/docs/en/commands) copy the full response every time, without the picker it otherwise shows when the response contains code blocks. Selecting **Always copy full resp
Make [`/copy`](/docs/en/commands) copy the full response every time, without showing the picker. Selecting **Always copy full response** in that picker sets this key to `true`. App
* `false`: when the response contains code blocks, `/copy` shows a picker where you choose one code block or the full response
+3 −3 lines
Upstream edited 10 Oct 2026 16:27 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
interactive-mode
±changed
+1−1
claude-codechanged
interactive-mode
| `Ctrl+C` | Interrupt, or clear input | Interrupts a running operation. If nothing is running, the first press clears the prompt input and a second press exits Claude Code |
| `Ctrl+C` | Interrupt, or clear input | Interrupts a running operation. If nothing is running, the first press clears the prompt input and a second press exits Claude Code. Press
+1 −1 lines
Upstream edited 10 Oct 2026 16:27 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
checkpointing
±changed
+2−2
claude-codechanged
checkpointing
When a message you [queue while Claude works](/docs/en/interactive-mode#queue-messages-while-claude-works) reaches Claude within the running turn, it joins that turn instead of sta
In the rewind menu, a message you [typed while Claude was still working](/docs/en/interactive-mode#queue-messages-while-claude-works) can be marked **No code restore**. Claude read
To undo the edits Claude made after such a message, rewind to the prompt that started the turn. That rewinds the whole turn, including the work Claude did before your message arriv
You don't need to do anything about the message itself. To undo the file changes from that part of the session, select the prompt that started the turn and choose **Restore code**
+2 −2 lines
Upstream edited 10 Oct 2026 16:27 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
agent-view
±changed
+2−0
claude-codechanged
agent-view
An attached session doesn't [report its status to your terminal](/docs/en/terminal-config#see-session-status-in-your-terminal).
+2 −0 lines
Upstream edited 10 Oct 2026 16:27 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
self-hosted-environments-configuration
±changed
+5−3
claude-codechanged
self-hosted-environments-configuration
# before v2.1.280 so does core.sshCommand; if the hook holds credentials
# the session didn't, see the note below the script.
# before v2.1.280 so does core.sshCommand; see the note below the script
# before you give this push a credential.
The hook pushes with whatever git credentials are available in its own environment on the runner host. Under the [no-credentials-in-the-image posture](/docs/en/self-hosted-environm
+5 −3 lines
Upstream edited 10 Oct 2026 16:23 UTC Recorded here 10 Oct 2026 16:37 UTC
claude-code
claude-tag
±changed
+2−2
claude-codechanged
claude-tag
No line of the body moved in this read.
+2 −2 lines
Recorded here 10 Oct 2026 16:07 UTC
claude-code
self-hosted-environments-deploy
±changed
+2−0
claude-codechanged
self-hosted-environments-deploy
* **Credentials for the session's repositories only**: Anthropic supplies git credentials for the repositories that are part of the session, not for other repositories on the same
* **Branch pushes only**: a push that deletes a branch fails, and so does a push to any other kind of ref, such as a tag. For which branches a push can update, see [GitHub proxy](/
+2 −0 lines
Upstream edited 10 Oct 2026 16:03 UTC Recorded here 10 Oct 2026 16:07 UTC
claude-code
claude-apps-gateway-deploy
±changed
+15−15
claude-codechanged
claude-apps-gateway-deploy
<Info>
**Plan your gateway's network first.** At sign-in, Claude Code refuses a Claude apps gateway whose hostname resolves to a public IP address, even one the internet can't reach.
A Claude apps gateway can push settings to users' machines, including hooks that run shell commands. The check helps keep users from accidentally signing in to a malicious gatewa
+15 −15 lines
Upstream edited 10 Oct 2026 15:50 UTC Recorded here 20 Oct 2026 18:37 UTC
claude-code
settings-reference
±changed
+5−5
claude-codechanged
settings-reference
| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Set the [gateway URL](/docs/en/claude-apps-gateway#set-the-gateway-url) the login screen connects to | Authentication and provid
| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Set the [gateway URL](/docs/en/claude-apps-gateway#set-the-gateway-url) the login screen connects to | Authentication and provid
* **Scope**: [`Any file`](#scopes). Claude Code honors `"gateway"` only from a managed source on the machine: `managed-settings.json`, the macOS plist or Windows HKLM registry, or
* **Scope**: [`Any file`](#scopes). Claude Code honors `"gateway"` from the same sources as [`forceLoginGatewayUrl`](#forcelogingatewayurl) and treats it as unset everywhere else.
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
+5 −5 lines
Upstream edited 10 Oct 2026 15:50 UTC Recorded here 10 Oct 2026 16:07 UTC
Nothing on this page matches that. Press Enter to search every page of the ledger.