An entry is only as true as the day it was written.
Flags move on the server after a release ships. Anthropic's own notes land days later and their documentation later still. Sometimes an entry turns out to be wrong and gets corrected by hand. All of that is recorded against the entry it happened to, and this is the whole of it in the order it happened.
Nothing here replaces an entry. Every line links to the page its release published, still saying what that release said, because a correction is added and dated rather than swapped in.
| When | Entry | What happened |
|---|---|---|
v2.1.248--system-prompt |
Documentation arrivedAnthropic's documentation has since written up --system-prompt, on How Claude Code uses prompt caching.
the line in the docs* In sessions signed in with a claude.ai or Console account, and other sessions that [fetch feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching), the resumed conversation keeps the system prompt it started with by def… |
|
v2.1.242--system-prompt |
Documentation arrivedAnthropic's documentation has since written up --system-prompt, on How Claude Code uses prompt caching.
the line in the docs* In sessions signed in with a claude.ai or Console account, and other sessions that [fetch feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching), the resumed conversation keeps the system prompt it started with by def… |
|
v2.1.242--append-system-prompt |
Documentation arrivedAnthropic's documentation has since written up --append-system-prompt, on How Claude Code uses prompt caching.
the line in the docsThe system prompt is the one layer a resume can treat two ways. It would change after a [Claude Code upgrade](#upgrading-claude-code) or with different [`--append-system-prompt`](/docs/en/cli-reference#system-prompt-flags) text on the resu… |
|
v2.1.234--append-system-prompt |
Documentation arrivedAnthropic's documentation has since written up --append-system-prompt, on How Claude Code uses prompt caching.
the line in the docsThe system prompt is the one layer a resume can treat two ways. It would change after a [Claude Code upgrade](#upgrading-claude-code) or with different [`--append-system-prompt`](/docs/en/cli-reference#system-prompt-flags) text on the resu… |
|
v2.1.248DISABLE_AUTOUPDATER |
Documentation arrivedAnthropic's documentation has since written up DISABLE_AUTOUPDATER, on How Claude Code uses prompt caching.
the line in the docsA new Claude Code version typically updates the system prompt or tool definitions, so the first conversation you start after an upgrade builds its cache from the top. [Auto-update](/docs/en/setup#auto-updates) downloads new versions in the… |
|
v2.1.260/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.252/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.248/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.248/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.232/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.232/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.232/context |
Documentation arrivedAnthropic's documentation has since written up /context, on How Claude Code uses prompt caching.
the line in the docs[Compaction](/docs/en/context-window#what-survives-compaction) replaces your message history with a summary. By design, this invalidates the conversation layer, since the next request has a new, shorter history that doesn't share a prefix … |
|
v2.1.261/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.260/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.259/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.257/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.248/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.248/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.246/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.243/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.232/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.231/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.229/status |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /status after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.260/statusline |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /statusline after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.229/statusline |
Documentation arrivedA small documentation edit on Recommend your plugin from your CLI touched a line naming /statusline after this was published.
the line in the docs* `CLAUDE_CODE_CHILD_SESSION`: set only in subprocesses Claude Code itself spawns, such as tool calls, hook commands, and [status line](/docs/en/statusline) commands, so the tag does not normally reach a human terminal. A long-lived proces… |
|
v2.1.248CLAUDE_CODE_MAX_RETRIES |
Documentation arrivedAnthropic's documentation has since written up CLAUDE_CODE_MAX_RETRIES, on Monitoring.
the line in the docsThe `attempt` attribute on the event records the total number of attempts. `CLAUDE_CODE_MAX_RETRIES` defaults to 10 and is capped at 15. On v2.1.199 or later, you can set `CLAUDE_CODE_RETRY_WATCHDOG` to raise the default and remove the cap. |
|
v2.1.257watch |
Documentation arrivedAnthropic's documentation has since written up watch, on Monitoring.
the line in the docsWhen the request exhausts all retries on a transient error, `attempt` equals one more than that effective limit: 11 by default, and never more than 16 unless the watchdog is set. A lower value indicates a non-retryable error such as a `400… |
|
v2.1.236watch |
Documentation arrivedAnthropic's documentation has since written up watch, on Monitoring.
the line in the docsWhen the request exhausts all retries on a transient error, `attempt` equals one more than that effective limit: 11 by default, and never more than 16 unless the watchdog is set. A lower value indicates a non-retryable error such as a `400… |
|
v2.1.257version |
Documentation arrivedA small documentation edit on Model configuration touched a line naming version after this was published.
the line in the docsFable 5.1 requires Claude Code v2.1.257 or later. If a request for it from an older version fails, see [Claude Code does not support this model](/docs/en/errors#claude-code-does-not-support-this-model). Run `claude update` to upgrade. For … |
|
v2.1.257approve |
Documentation arrivedA small documentation edit on How Claude remembers your project touched a line naming approve after this was published.
the line in the docsClaude Code treats a symlink whose target is outside your working directory like an [external import](#import-additional-files). The linked rules don't load until you approve external imports for the project, and after that only the ones w… |
|
v2.1.229link |
Documentation arrivedA small documentation edit on How Claude remembers your project touched a line naming link after this was published.
the line in the docsThe `.claude/rules/` directory supports symlinks, so you can maintain a shared set of rules and link them into multiple projects. Circular symlinks are detected and handled gracefully. |
|
v2.1.265Pane |
Documentation arrivedA small documentation edit on Customize keyboard shortcuts touched a line naming Pane after this was published.
the line in the docsClaude Code binds these default chords on the `ctrl+x` prefix: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, and `ctrl+x tab` in `Chat`, `ctrl+x ctrl+b` in `Task`, and `ctrl+x b` in `DiffPanel`. The `ctrl+x enter` chor… |
|
v2.1.265Pane |
Documentation arrivedA small documentation edit on Customize keyboard shortcuts touched a line naming Pane after this was published.
the line in the docsClaude Code binds these default chords on the `ctrl+x` prefix: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, and `ctrl+x tab` in `Chat`, `ctrl+x ctrl+b` in `Task`, and `ctrl+x b` in `DiffPanel`. The `ctrl+x enter` chor… |
|
v2.1.265Pane |
Documentation arrivedA small documentation edit on Customize keyboard shortcuts touched a line naming Pane after this was published.
the line in the docsClaude Code binds these default chords on the `ctrl+x` prefix: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, and `ctrl+x tab` in `Chat`, `ctrl+x ctrl+b` in `Task`, and `ctrl+x b` in `DiffPanel`. The `ctrl+x enter` chor… |
|
v2.1.247ctrl+x enter |
Documentation arrivedA small documentation edit on Customize keyboard shortcuts touched a line naming ctrl+x enter after this was published.
the line in the docsClaude Code binds these default chords on the `ctrl+x` prefix: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, and `ctrl+x tab` in `Chat`, `ctrl+x ctrl+b` in `Task`, and `ctrl+x b` in `DiffPanel`. The `ctrl+x enter` chor… |
|
v2.1.260/sandbox |
Documentation arrivedA small documentation edit on Interactive mode touched a line naming /sandbox after this was published.
the line in the docsUnless your session is one of those listed under [strict sandbox mode](/docs/en/sandboxing#the-unsandboxed-retry-escape-hatch), commands you type in shell mode run outside the [sandbox](/docs/en/sandboxing) even when you've enabled sandbox… |
|
v2.1.235enabled |
Documentation arrivedA small documentation edit on Interactive mode touched a line naming enabled after this was published.
the line in the docsUnless your session is one of those listed under [strict sandbox mode](/docs/en/sandboxing#the-unsandboxed-retry-escape-hatch), commands you type in shell mode run outside the [sandbox](/docs/en/sandboxing) even when you've enabled sandbox… |
|
v2.1.233--debug-file |
Documentation arrivedAnthropic's documentation has since written up --debug-file, on Hooks reference.
the line in the docsHook execution details are written to the debug log file. Start Claude Code with `claude --debug-file <path>` to write the log to a known location, or run `claude --debug` and read the log at `~/.claude/debug/<session-id>.txt`. The `--debu… |
|
v2.1.257--debug |
Documentation arrivedAnthropic's documentation has since written up --debug, on Hooks reference.
the line in the docsHook execution details are written to the debug log file. Start Claude Code with `claude --debug-file <path>` to write the log to a known location, or run `claude --debug` and read the log at `~/.claude/debug/<session-id>.txt`. The `--debu… |
|
v2.1.247--debug |
Documentation arrivedAnthropic's documentation has since written up --debug, on Hooks reference.
the line in the docsHook execution details are written to the debug log file. Start Claude Code with `claude --debug-file <path>` to write the log to a known location, or run `claude --debug` and read the log at `~/.claude/debug/<session-id>.txt`. The `--debu… |
|
v2.1.232--debug |
Documentation arrivedAnthropic's documentation has since written up --debug, on Hooks reference.
the line in the docsHook execution details are written to the debug log file. Start Claude Code with `claude --debug-file <path>` to write the log to a known location, or run `claude --debug` and read the log at `~/.claude/debug/<session-id>.txt`. The `--debu… |
|
v2.1.232/debug |
Documentation arrivedAnthropic's documentation has since written up /debug, on Hooks reference.
the line in the docsHook execution details are written to the debug log file. Start Claude Code with `claude --debug-file <path>` to write the log to a known location, or run `claude --debug` and read the log at `~/.claude/debug/<session-id>.txt`. The `--debu… |
|
v2.1.257allowManagedPermissionRulesOnly |
Documentation arrivedAnthropic's documentation has since written up allowManagedPermissionRulesOnly, on Hooks reference.
the line in the docsThe `permission_suggestions` array isn't an exact list of the options you see, because each permission dialog builds its own options. Some dialogs, such as the one for file edits, don't read the array at all and derive their options from t… |
|
v2.1.246claude -p |
Documentation arrivedAnthropic's documentation has since written up claude -p, on Hooks reference.
the line in the docs4. The calling process runs `claude -p --resume <session-id>` with the same permission host. The same tool call fires `PreToolUse` again. |
|
v2.1.246--permission-prompt-tool |
Documentation arrivedAnthropic's documentation has since written up --permission-prompt-tool, on Hooks reference.
the line in the docsThe `AskUserQuestion` tool is the typical case: Claude wants to ask the user something, but there is no terminal to answer in. A `-p` run offers `AskUserQuestion` only when it has a [permission host](/docs/en/headless#turn-off-permission-p… |
|
v2.1.229--permission-prompt-tool |
Documentation arrivedAnthropic's documentation has since written up --permission-prompt-tool, on Hooks reference.
the line in the docsThe `AskUserQuestion` tool is the typical case: Claude wants to ask the user something, but there is no terminal to answer in. A `-p` run offers `AskUserQuestion` only when it has a [permission host](/docs/en/headless#turn-off-permission-p… |
|
v2.1.259ExitPlanMode |
Documentation arrivedAnthropic's documentation has since written up ExitPlanMode, on Hooks reference.
the line in the docsIn [non-interactive mode](/docs/en/headless) with the `-p` flag, Claude Code offers `AskUserQuestion` and `ExitPlanMode` only when the run has a [permission host](/docs/en/headless#turn-off-permission-prompts-in-unattended-runs) to receive… |
|
v2.1.251permissionDecision |
Documentation arrivedAnthropic's documentation has since written up permissionDecision, on Hooks reference.
the line in the docsIn [non-interactive mode](/docs/en/headless) with the `-p` flag, Claude Code offers `AskUserQuestion` and `ExitPlanMode` only when the run has a [permission host](/docs/en/headless#turn-off-permission-prompts-in-unattended-runs) to receive… |
|
v2.1.251CLAUDE_ENV_FILE |
Documentation arrivedAnthropic's documentation has since written up CLAUDE_ENV_FILE, on Hooks reference.
the line in the docsSetup hooks have access to `CLAUDE_ENV_FILE`. Variables written to that file persist into subsequent Bash commands for the session, just as in [SessionStart hooks](#persist-environment-variables). Only `type: "command"` hooks run on `Setup… |
|
v2.1.260/clear |
Documentation arrivedAnthropic's documentation has since written up /clear, on Hooks reference.
the line in the docs* **Later in a running session**: after `/clear` or a compaction, `SessionStart` fires again with the servers already available, and its `mcp_tool` hooks run. |