Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · claude-code

One read of Claude Code CLIclaude-code-20261022T183701Z

11 pages moved out of 228 read.

Pages moved 11 significant first
Pages read 228 in this capture
Captured 18:37 UTC
Corpus hash 0dc79ad89e80 corpus-hash

What this read moved

1-11 of 11

accessibility Changed · +8 / -1 lines

### Project settings can't turn on screen reader mode

from line 20
2020 
2121The first line Claude Code prints confirms the mode: `[Screen Reader Mode: on via flag]`, `[Screen Reader Mode: on via env]`, or `[Screen Reader Mode: on via settings]`.
2222 
23### Project settings can't turn on screen reader mode
24 
25The startup line `Screen reader mode is off: project settings can't turn it on` means the project asked for screen reader mode and nothing else turns it on. Claude Code ignores both the `axScreenReader` key and a `CLAUDE_AX_SCREEN_READER` value under `env` in the project's `.claude/settings.json` and `.claude/settings.local.json`, whatever their value.
26 
27* **To turn the mode on**: start Claude Code with `--ax-screen-reader`, set `CLAUDE_AX_SCREEN_READER` to `1` in your shell, or add `"axScreenReader": true` to your user [settings file](/docs/en/settings.md) and restart Claude Code. You don't need to change the project's files. Once you turn the mode on, the [confirmation line](#turn-on-screen-reader-mode) appears at startup instead.
28* **If you don't use a screen reader**: you don't need to do anything. To stop the line from appearing, add `"axScreenReader": false` to your user settings file, or remove the `axScreenReader` key and the `CLAUDE_AX_SCREEN_READER` variable from the project's settings files.
29 
2330## Turn off screen reader mode
2431 
25Reverse whichever method turned the mode on: start without the flag, unset the environment variable, or set `axScreenReader` to `false`. If you set `CLAUDE_AX_SCREEN_READER` to `0`, Claude Code keeps the mode off even when the setting is `true`.
32Reverse whichever method turned the mode on: start without the flag, unset the environment variable, or set `axScreenReader` to `false` in your user settings file. If you set `CLAUDE_AX_SCREEN_READER` to `0`, Claude Code keeps the mode off even when the setting is `true`.
2633 
2734## Accessibility settings
2835 

claude-projects Changed · +9 / -7 lines

from line 64
6464You create and use projects at [claude.ai/code](https://claude.ai/code), in the Code tab of the desktop app, or in the Claude mobile app for [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) and [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). In the browser and the desktop app there are two ways to start a project:
6565 
6666* **From scratch**, when you know the stream of work you want Claude to run: open the **New project** dialog and name it. [Start a new project from scratch](#start-a-new-project-from-scratch) walks through the dialog.
67* **From a cloud session that's already doing the work**: choose **Continue as project** from that session's menu, and Claude proposes the project's setup from what the session was doing. See [Start from an existing cloud session](#start-from-an-existing-cloud-session).
67* **From a cloud session that's already doing the work**: in that session's sidebar menu, choose **Move to project**, then **Continue as new project**. Claude proposes the project's setup from what the session was doing. See [Start from an existing cloud session](#start-from-an-existing-cloud-session).
6868 
6969Either way, [check the prerequisites](#check-the-prerequisites) first.
7070 
from line 72
7272 
7373Before you create a project, check your plan, your GitHub setup, and what the work needs to reach:
7474 
75* **Plan**: you're on Pro or Max and **Projects** shows in your sidebar.
75* **Plan**: you're on Pro or Max, and **Projects** shows in your sidebar, directly or under **More**. Select **Projects** and check that it offers **New project** or **Get started**.
7676* **GitHub, if the project will work on code**: your code is on github.com rather than GitHub Enterprise Server, GitLab, or Bitbucket, your connected GitHub account has push access to it, and the Claude GitHub App is installed on it. If you connected GitHub with [`/web-setup`](/docs/en/web-quickstart#connect-from-your-terminal), that token lets your other cloud sessions reach a repository but isn't enough for a project's cloud threads, which need the Claude GitHub App. [Set up GitHub access](#set-up-github-access) has the steps.
7777* **Network access, secrets, and tools**: for cloud threads, these come from the project's [cloud environment](#choose-an-environment-for-threads). The default environment already reaches [common package registries](/docs/en/cloud-environments.md#default-allowed-domains), so check this only if the work needs other domains, a secret, or a tool that isn't preinstalled. If the work needs an MCP server, check that it shows as connected in your [claude.ai connectors](https://claude.ai/customize/connectors).
7878 
from line 107
107107 
108108### Start from an existing cloud session
109109 
110If you already have a cloud session doing work that belongs in a project, open the session's menu in the sidebar and choose **Continue as project** or **Move to project**:
110If a cloud session you started yourself is doing work that belongs in a project, open its sidebar menu and choose **Move to project**, then pick from the submenu:
111111 
112* **Continue as project** creates a new project named after the session and opens it. Claude reads the session and posts **Setup recommendations** in the conversation for you to confirm. The original session stays in your session list, and if it was in the middle of a turn it keeps running, so stop it yourself if you don't want both working at once. If you use the **Set up project** banner that can appear above a cloud session's message box instead, the result is the same, except that the session's running turn stops once the project opens.
113* **Move to project** brings the session's work into an existing project. It posts a message in that project's conversation asking Claude to read the session and pick up where it left off, and new work continues in the project's own threads. The original session stays in your session list, unchanged.
112* Choose **Continue as new project** to create a new project from the session. The project opens, and Claude reads the session and posts **Setup recommendations** in the project conversation for you to confirm. The original session stays in your session list. If it was in the middle of a turn it keeps running, so stop it yourself if you don't want both working at once.
113* Choose one of your existing projects to bring the session's work into that project. That project opens, and a message sent on your behalf asks Claude to read the session and pick up where it left off. The original session stays in your session list, unchanged.
114114 
115A **Set up project** banner can also appear above a cloud session's message box. If you use it instead of **Continue as new project**, the result is the same, except that the session's running turn stops once the project opens.
116 
115117A local session doesn't have these options. To continue its work in a project, describe the work in the project conversation, or push its branch, add that repository to the project, and name the branch in the task.
116118 
117119### Set up GitHub access
from line 416
414416Several Claude Code features let more than one session work at the same time, so running work in parallel is not by itself what a project is for. In a project, Claude starts and tracks the sessions instead of you, and each one starts from the same instructions. This is how each neighboring feature connects to a project:
415417 
416418* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) is Claude in your team's Slack channels, on Team and Enterprise plans. Anyone in a channel can give it work, everyone in the channel sees and steers it, and it uses connections an admin set up for that channel. A project is yours alone: you're the only one who sends it work or sees its threads, it uses your own GitHub access and connectors, and it's on Pro and Max. [How Claude Tag differs from Cowork and Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) has the side-by-side.
417* **Cloud sessions**: every thread is a [cloud session](/docs/en/claude-code-on-the-web.md) unless you ask Claude to run it on your machine. Either way, Claude starts and tracks it instead of you. A cloud session you started yourself can become a project or feed one through [**Continue as project** or **Move to project**](#start-from-an-existing-cloud-session).
419* **Cloud sessions**: every thread is a [cloud session](/docs/en/claude-code-on-the-web.md) unless you ask Claude to run it on your machine. Either way, Claude starts and tracks it instead of you. You can also bring the work of a cloud session you started yourself into a project: choose [**Move to project**](#start-from-an-existing-cloud-session) in that session's sidebar menu.
418420* **Scheduled tasks**: when you ask for scheduled work in a project, Claude creates a [cloud scheduled task](/docs/en/routines.md) that runs as threads in that project and appears on its **Scheduled tasks** tab. Scheduled tasks you create outside a project keep working on their own.
419421* **Remote Control**: [Remote Control](/docs/en/remote-control.md) connects claude.ai to a Claude Code session running on your machine. When you ask Claude in a project to run a thread on your computer, the project [uses Remote Control to do it](#run-a-thread-on-your-own-computer).
420422* **Local sessions and agent view**: a session you start yourself in your terminal, IDE, or the desktop app's local environment can't be added to a project. [Agent view](/docs/en/agent-view.md) is a screen for tracking several local sessions side by side, and you still start each one and give it its task yourself.

code-review-pull-requests Changed · +26 / -6 lines

### When a push keeps the earlier result

from line 47
4747 
4848A finding that has a line but wasn't posted as an inline comment appears as an annotation in the **Files changed** tab, on the lines concerned. Important findings show in red, nits in yellow, and pre-existing bugs in gray.
4949 
50The check run concludes as neutral, or as skipped when an automatic review didn't run because a push changed no files. It never concludes as a failure, so a finished review doesn't fail a required check. If you don't see findings, or a review didn't run, see [Troubleshoot Code Review](/docs/en/code-review-troubleshooting.md).
50The check run concludes as neutral, or as skipped after some pushes that change no files and [keep the earlier result](#when-a-push-keeps-the-earlier-result). It never concludes as a failure, so a finished review doesn't fail a required check. If you don't see findings, or a review didn't run, see [Troubleshoot Code Review](/docs/en/code-review-troubleshooting.md).
5151 
52### When a push keeps the earlier result
53 
54If the check run has one of these titles after you push, Code Review kept the result of an earlier review instead of starting a new one:
55 
56* **Code review skipped — no new changes**: no [Important](#severity-levels) finding from the earlier review is still open, so you don't need a new review
57* **Code review not repeated — earlier findings still open**: to start a new review, push a fix for an open Important finding, or [resolve its thread](#respond-to-findings) and push again
58 
59On github.com, Code Review can keep a result when both of these hold:
60 
61* The pull request still adds and removes the same lines, as after an empty commit, a clean merge of the base branch, or a clean rebase
62* Nobody has resolved an Important finding's thread since that review
63 
64To get a review without a code change, comment [`@claude review`](#comment-commands) or click **Re-run** on the check run.
65 
5266### Read the result from a script
5367 
5468To gate a merge or post a summary from your own CI, parse the last line of the Details text with `gh` and jq. That line is an HTML comment that holds the severity counts as JSON:
from line 81
6781gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'
6882```
6983 
84If the commit has had more than one `Claude Code Review` run, such as after a **Re-run**, GitHub lists only the newest.
85 
7086**2. Read the severity counts**
7187 
7288Read the counts from the check run's `output.text` field, which holds the Details text. Replace `CHECK_RUN_ID` with the ID:
from line 94
7894 // error("no severity line")'
7995```
8096 
81This prints a JSON object with a count per severity and its keys in alphabetical order, for example `{"nit": 1, "normal": 2, "pre_existing": 0}`. The counts include findings from earlier reviews of the pull request whose threads are still open.
97This prints a JSON object with a count per severity and its keys in alphabetical order, for example `{"nit": 1, "normal": 2, "pre_existing": 0}`. Except on a check run that [kept an earlier result](#when-a-push-keeps-the-earlier-result), the counts include findings from earlier reviews of the pull request whose threads are still open.
8298 
99Under the title `Code review skipped — no new changes`, the counts leave out nits and pre-existing findings from earlier reviews that are still open. No Important finding from the earlier review is still open then.
100 
83101**3. Act on the result**
84102 
85Have your script handle these cases:
103Have your script handle these cases in order:
86104 
105* **The title starts with `Code review not repeated`**: Code Review [kept an earlier result](#when-a-push-keeps-the-earlier-result) whose Important findings are still open, and the check run has no severity line. Read the title before the counts, with `gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID --jq .output.title`. Fail the job if you want to gate the merge.
106* **The title ends with `no new changes`**: let the job pass without reading the counts
87107* **`normal` is above zero**: fail the job if you want to gate the merge. The `normal` key holds the count of Important findings, so Claude found at least one bug worth fixing before merge. To print only that count, add `| .normal` before the closing single quote.
88108* **The line is missing**: the command prints an error that contains `no severity line` instead of counts, and exits with a non-zero status. Treat that as no verdict rather than as zero findings. A check run for a review that failed, timed out, was canceled, or was superseded by a newer one has no such line, and some completed reviews have none either.
89109 
from line 113
93113 
94114* **Open it or mark it ready**: in a repository set to **Once after PR creation** or **After every push**, a review starts when you open or reopen the pull request, or mark a draft ready for review.
95115* **Comment a command**: post [`@claude review`](#comment-commands) on the pull request.
96* **Push a commit**: a push starts a review in a repository set to **After every push**, or on a pull request you subscribed with `@claude review always`.
97* **Click Re-run**: after a review fails or times out on a pull request that isn't from a fork, [run it again](/docs/en/code-review-troubleshooting.md#retrigger-a-failed-or-timed-out-review) from the check run.
116* **Push a commit**: a push starts a review in a repository set to **After every push**, or on a pull request you subscribed with `@claude review always`. If your pull request still adds and removes the same lines after the push, Code Review can [keep the earlier result](#when-a-push-keeps-the-earlier-result) instead.
117* **Click Re-run**: after a review fails or times out on a pull request that isn't from a fork, [run it again](/docs/en/code-review-troubleshooting.md#retrigger-a-failed-or-timed-out-review) from the check run. On a pull request that isn't from a fork, you can also click **Re-run** after a push that [kept the earlier result](#when-a-push-keeps-the-earlier-result).
98118* **Wait for the automatic retry**: a review whose session was interrupted is retried once automatically. The [check run's summary](/docs/en/code-review-troubleshooting.md#retrigger-a-failed-or-timed-out-review) says when that's happening.
99119 
100120### Comment commands
from line 124
104124| Command | What it does | When to use it |
105125| :- | :- | :- |
106126| `@claude review` | Starts a single review without subscribing the PR to future pushes | You want one review now, such as on a pull request in a repository set to **Manual**, or another review right away in the other modes |
107| `@claude review always` | Starts a review and subscribes the PR to push-triggered reviews going forward | You want every subsequent push to start a fresh review, such as on a high-priority PR in a repository set to **Manual** |
127| `@claude review always` | Starts a review and subscribes the PR to push-triggered reviews going forward | You want subsequent pushes to start reviews, such as on a high-priority PR in a repository set to **Manual** |
108128| `@claude review once` | Same as `@claude review`: starts a single review without subscribing | The same cases as `@claude review` |
109129| `@claude review stop` | Ends the PR's subscription to push-triggered reviews, without starting a review or canceling one that's already running. Claude replies with a comment instead of a check run. | You subscribed a PR with `@claude review always` in a repository set to **Manual** or **Once after PR creation**, and no longer want each push to start a review |
110130| `@claude review off` or `@claude review pause` | Same as `@claude review stop` | The same cases as `@claude review stop` |

routines Changed · +25 / -4 lines

### Permission prompts during a run #### Artifacts in Accept edits mode

from line 46
4646 
4747Create a scheduled task from the web at [claude.ai/code/routines](https://claude.ai/code/routines), from the Desktop app, or from the CLI. All three surfaces write to the same cloud account, so a scheduled task you create in one shows up in the others immediately. In the Desktop app's **Code** tab, click **Scheduled** in the sidebar or in the sidebar's **More** menu, then **New task**, and continue with [Create from the web](#create-from-the-web).
4848 
49Scheduled tasks run autonomously as full Claude Code cloud sessions. You don't choose a permission mode. The session runs shell commands, uses [skills](/docs/en/skills.md), and calls any connectors you include, all without stopping for approval apart from some [artifact actions](#when-a-run-publishes-an-artifact-without-asking). Outside a [project](/docs/en/claude-projects.md#what-threads-pick-up-from-your-repositories)'s threads, those skills include the ones committed to the cloned repository.
49Scheduled tasks run autonomously as full Claude Code cloud sessions. The session runs shell commands, uses [skills](/docs/en/skills.md), and calls any connectors you include. Outside a [project](/docs/en/claude-projects.md#what-threads-pick-up-from-your-repositories)'s threads, those skills include the ones committed to the cloned repository. You don't choose a permission mode when you create the task: see [Permission prompts during a run](#permission-prompts-during-a-run) for when a run stops to wait for you.
5050 
5151What a scheduled task can reach is determined by:
5252 
from line 108
108108 
109109**6. Review connectors**
110110 
111Switch to the **Connectors** tab of **Advanced settings**. All of your connected [MCP connectors](/docs/en/mcp.md) are included by default. Remove any the task doesn't need: Claude can use every tool from an included connector, including writes, without asking for permission during a run.
111Switch to the **Connectors** tab of **Advanced settings**. All of your connected [MCP connectors](/docs/en/mcp.md) are included by default. Remove any the task doesn't need: Claude can use an included connector during a run, including writes. For when a run stops to ask you first, see [Permission prompts during a run](#permission-prompts-during-a-run).
112112 
113113**7. Create the task**
114114 
from line 358
358358 
359359To manage or add connectors outside of that dialog, visit [claude.ai/customize/connectors](https://claude.ai/customize/connectors) or use `/schedule update` in the CLI.
360360 
361### Permission prompts during a run
362 
363> [!NOTE]
364>
365> For a task that runs in your organization's self-hosted environment, see [Permissions and tool approval](/docs/en/self-hosted-environments-configuration.md#permissions-and-tool-approval).
366 
367When a run starts a new session on Anthropic's cloud, that session begins in [auto mode](/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode) unless auto mode is unavailable. In auto mode, a classifier model allows or blocks actions that would otherwise wait for your approval.
368 
369A run still stops and waits for an answer in cases such as these:
370 
371* **Actions that prompt even in auto mode**: for example, an action that matches an [ask rule](/docs/en/permissions.md#manage-permissions). See [How auto mode evaluates actions](/docs/en/permission-modes.md#how-auto-mode-evaluates-actions)
372* **Repeated blocks**: one block doesn't end the run. Once blocks reach auto mode's [repeated-block thresholds](/docs/en/permission-modes.md#repeated-block-thresholds), a permission prompt appears in the run's session and waits until someone answers it
373 
374If auto mode is unavailable, such as when your organization turned it off or the task's model doesn't support it, the run keeps the permission mode it launched in. To answer a waiting prompt, open the run from the task's [detail page](#view-and-interact-with-runs).
375 
376In a [project](/docs/en/claude-projects.md), a run can continue a thread rather than start a new session. That run keeps whatever permission mode the thread is in at the time. When that thread was made, it started in auto mode unless auto mode was unavailable. To answer a prompt waiting in that thread, see [Unblock a thread waiting on approval](/docs/en/claude-projects.md#unblock-a-thread-waiting-on-approval).
377 
361378### When a run publishes an artifact without asking
362379 
380During a run in [auto mode](#permission-prompts-during-a-run), Claude publishes an [artifact](/docs/en/artifacts.md) without asking you once the classifier allows the publish. You're still asked first when, for example, the publish matches an [ask rule](/docs/en/permissions.md#manage-permissions). A new artifact is visible only to you until you [share it](/docs/en/artifacts.md#share-an-artifact). The [Accept edits rules](#artifacts-in-accept-edits-mode) that follow don't apply in auto mode.
381 
382When a scheduled task's job is to keep a page current, give it an artifact you already published.
383 
384#### Artifacts in Accept edits mode
385 
363386When a scheduled task's schedule or **Run now** starts a run, Claude can publish a new [artifact](/docs/en/artifacts.md) without asking. The new artifact is visible only to you until you [share it](/docs/en/artifacts.md#share-an-artifact). If the publish declares runtime capabilities for the page, such as [connector calls](/docs/en/artifacts.md#pull-live-data-with-mcp-connectors) or [file downloads](/docs/en/artifacts.md#offer-a-file-download), Claude asks first.
364387 
365388In those runs, Claude republishes an existing artifact without asking only when all of these hold:
from line 396
373396* The existing page holds no grant that reaches beyond the page, such as [connector calls](/docs/en/artifacts.md#pull-live-data-with-mcp-connectors)
374397 
375398In every other case, including a run that an API or GitHub trigger starts, Claude asks first.
376 
377When a scheduled task's job is to keep a page current, give it an artifact you already published.
378399 
379400### Environments and network access
380401 

settings-reference Changed · +14 / -5 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 48
4848| [`awaySummaryEnabled`](#awaysummaryenabled) | Turn off the [session recap](/docs/en/interactive-mode.md#session-recap) shown when you come back to the terminal | Remote, desktop, and notifications | Any file |
4949| [`awsAuthRefresh`](#awsauthrefresh) | Refresh expired [Bedrock credentials](/docs/en/amazon-bedrock.md#advanced-credential-configuration) in `.aws` with your own command | Authentication and providers | Any file |
5050| [`awsCredentialExport`](#awscredentialexport) | Supply [Bedrock credentials](/docs/en/amazon-bedrock.md#advanced-credential-configuration) as JSON from your own command | Authentication and providers | Any file |
51| [`axScreenReader`](#axscreenreader) | Render [screen-reader friendly output](/docs/en/accessibility.md) | Interface and terminal | Any file |
51| [`axScreenReader`](#axscreenreader) | Render [screen-reader friendly output](/docs/en/accessibility.md) | Interface and terminal | User or managed |
5252| [`bashEditDiffEnabled`](#basheditdiffenabled) | Record the [files that changed while a Bash command ran](/docs/en/hooks.md#bash) in every permission mode | Interface and terminal | User or managed |
5353| [`bashOutputMaxChars`](#bashoutputmaxchars) | Set how much of a successful command's [output](/docs/en/tools-reference.md#output-limits) Claude receives inline | Memory and context | Any file |
5454| [`blockedMarketplaces`](#blockedmarketplaces) | Block [plugin marketplace](/docs/en/plugins/overview.md) sources for your organization | Plugins and skills | Managed |
from line 816
816816* Your `~/.claude/skills/` and `~/.claude/commands/` directories, including [skills synced from claude.ai](/docs/en/skills.md#where-synced-skills-load)
817817* An `--add-dir` directory
818818* [Plugins declared with a `.claude-plugin` manifest](/docs/en/plugins/loading#plugins-shared-through-a-repository) inside `~/.claude/skills/` or the project's `.claude/skills/`
819* Plugins loaded for one session only, whose ids end in [`@inline`](/docs/en/plugins/loading#find-where-a-plugin-came-from), when all of these hold:
820 * The session is a [Code session](/docs/en/desktop.md#environment-configuration) or [Cowork session](/docs/en/managed-settings.md#where-and-when-a-policy-applies), other than a cloud session, for which the Claude Desktop app itself starts Claude Code
821 * Your managed settings set the key, not only an embedding host's [parent settings](/docs/en/managed-settings.md#let-an-embedding-host-add-policy)
822 * The session runs Claude Code v2.1.305 or later
819823 
820Skills from managed settings and bundled skills keep their `allowed-tools`. A skill's `disallowed-tools` still applies. For what a developer sees when Claude Code ignores the field, see [When only managed permission rules apply](/docs/en/skills.md#when-only-managed-permission-rules-apply).
824Skills from managed settings and bundled skills keep their `allowed-tools`. `@inline` plugins outside those Desktop sessions keep theirs too, except one named [`anthropic-skills`](/docs/en/skills#names-reserved-for-synced-skills). A skill's `disallowed-tools` still applies. For what a developer sees when Claude Code ignores the field, see [When only managed permission rules apply](/docs/en/skills.md#when-only-managed-permission-rules-apply).
821825 
822826* **Scope**: [`Managed`](#scopes)
823827* **Type**: Boolean
from line 1960
19561960 
19571961* **Scope**: [`Any file`](#scopes), with [limits on project and local settings](/docs/en/sandboxing.md#repository-settings-under-an-admin-required-sandbox)
19581962* **Type**: Boolean
1959 * `true`: sandboxed commands can connect to every Unix socket
1963 * `true`: sandboxed commands can connect to every Unix socket. On Linux and WSL2 they can also connect to VM sockets, the `AF_VSOCK` address family
19601964 * `false`: the sandbox blocks Unix-socket connections: on macOS except the paths in `allowUnixSockets`, and on Linux and WSL2 through the seccomp filter when it's present
19611965* **Default**: `false`
19621966 
from line 2347
23432347 
23442348 Ignoring this group in project and local settings requires Claude Code v2.1.282 or later.
23452349 * Variables that change how Claude Code starts or syncs, such as `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR`, and `CLAUDE_CODE_PLUGIN_SEED_DIR`.
2350 * The [screen reader mode](/docs/en/accessibility.md) variable `CLAUDE_AX_SCREEN_READER` and the other variables whose names start with `CLAUDE_AX_`, such as [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/en/env-vars#variables).
23462351 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](/docs/en/env-vars#variables), which sets the timer on an unanswered dialog.
23472352 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/en/env-vars#variables), which turns off attachment processing.
23482353 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/en/env-vars#variables), which stops Claude Code from expanding `@` mentions of files and directories.
from line 2359
23542359* [`CLAUDE_CODE_RESTRICTED`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, is ignored from every file.
23552360* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, is ignored from every file. The variable requires Claude Code v2.1.283 or later.
23562361* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT`, and `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, are ignored from every file.
2362* [`CLAUDE_CODE_WARN_DISK_FREE_GIB` and `CLAUDE_CODE_WARN_MEMORY_FREE_GIB`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, are ignored from every file. The variables require Claude Code v2.1.304 or later.
23572363 
23582364### `fileCheckpointingEnabled`
23592365 
from line 2387
23812387Idle compaction is on by default for conversations that meet all of these conditions:
23822388 
23832389* **Session**: you're in an interactive terminal session
2390* **Auto-compaction**: [`autoCompactEnabled`](#autocompactenabled) is on
23842391* **Prompt cache**: the conversation is on the [one-hour prompt cache TTL](/docs/en/prompt-caching.md#which-ttl-each-request-gets)
23852392* **Feature flags**: Claude Code can [fetch feature flags from Anthropic](/docs/en/env-vars.md#features-that-need-feature-flag-fetching)
23862393* **Size**: the conversation's context has reached the token threshold, which you can [change](#change-the-idle-compaction-threshold) from its default of 200,000
from line 2548
25412548 
25422549Render screen-reader friendly output: flat text without decorative borders or animations. Screen-reader mode uses the classic renderer, so the `tui` setting has no effect while it is active; attached [background sessions](/docs/en/agent-view.md) still render fullscreen.
25432550 
2544* **Scope**: [`Any file`](#scopes)
2551* **Scope**: [`User or managed`](#scopes). You can also set the key in a file you pass with `--settings`. Claude Code ignores the key in project and local settings, so neither a repository nor your own `.claude/settings.local.json` can turn screen-reader mode on or off.
25452552* **Type**: Boolean
25462553 * `true`: Claude Code renders flat text without decorative borders or animations, using the classic renderer
25472554 * `false`: Claude Code renders normally
from line 3707
37003707 * `"off"`: Claude doesn't see the skill and `/name` is hidden from autocomplete
37013708* **Default**: unset, so every skill is `"on"`
37023709 
3703This example lists `legacy-context` to Claude by name only and hides `deploy` from Claude and from `/` autocomplete:
3704 
3705```json settings.json theme={null}
3706{
3707 "skillOverrides": {
3708 "legacy-context": "name-only",
3709 "deploy": "off"
3710 }
3711}
3712```
3713 
3714Overrides don't apply to plugin skills, which you manage through `/plugin`.
3715 
3716In managed settings and files passed with `--settings`, a key on a bundled skill's alias, such as `checkup` for `/doctor`, also applies to the skill; see [how alias keys combine with keys on the skill's own name](/docs/en/skills.md#override-skill-visibility-from-settings).
3717 
3718### `syncClaudeAiSkills`
3719 
3720Turn off the download of the [skills enabled for your claude.ai account](/docs/en/skills.md#how-synced-skills-behave). Claude Code downloads them into `~/.claude/skills/synced/` in [terminal sessions where you sign in with your claude.ai account](/docs/en/skills.md#where-synced-skills-load), interactive or non-interactive, and in Cowork and cloud sessions. Set `false` to stop that download and stop loading the skills it already synced. Claude Code honors only `false`: `true` is the same as unset and doesn't turn syncing on where it's otherwise off.
3721 
3722* **Scope**: [`User, local, or managed`](#scopes), and files passed with `--settings`. A repository can't turn it off for you.
3723* **Type**: Boolean
3724 * `false`: Claude Code stops downloading synced skills and stops loading the ones already in `~/.claude/skills/synced/`. In user or managed settings, it also moves them to `~/.claude/skills/.trash/`
3725 * `true`: the same as unset
3726* **Default**: unset, so sessions signed in with your claude.ai account sync your skills
3727 
3728This example keeps a machine from downloading the account's skills in any session:
3729 
3730```json
3710This example lists `legacy-context` to Claude by name only and hides `deploy` from Claude and from `/` autocom

code-review-troubleshooting Changed · +1 / -0 lines

from line 14
1414| **Code review found no issues** | The review finished and found nothing to flag | Nothing |
1515| A title that says issues were found | The review finished with findings | If you don't see them on the diff, see [Find issues that aren't showing as inline comments](#find-issues-that-aren’t-showing-as-inline-comments) |
1616| **Code review skipped — no new changes** | An automatic review didn't run on your latest push | To get a review anyway, comment `@claude review` |
17| **Code review not repeated — earlier findings still open** | An automatic review didn't run on your latest push, and Important findings from the earlier review are still open | Push a fix, or to get a review anyway, comment `@claude review`. See [When a push keeps the earlier result](/docs/en/code-review-pull-requests.md#when-a-push-keeps-the-earlier-result) |
1718| **Code review failed** or **Code review timed out** | The review didn't finish | To run it again, see [Retrigger a failed or timed-out review](#retrigger-a-failed-or-timed-out-review) |
1819| **Code review declined** | The review didn't run | Read the check run's summary. If it names a budget or a spend limit, see [Review didn't run and the PR shows a budget message](#review-didn’t-run-and-the-pr-shows-a-budget-message) |
1920| No check run | No review started | Comment `@claude review`. If no check run appears after that, see [A comment command didn't start a review](#a-comment-command-didn’t-start-a-review) |

desktop-scheduled-tasks Changed · +1 / -1 lines

from line 23
2323| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks.md#limitations) |
2424| Access to local files | No (fresh clone) | Yes | Yes |
2525| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp.md) and connectors | Inherits from session |
26| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |
26| Permission prompts | [Auto mode](/docs/en/routines.md#permission-prompts-during-a-run) by default | Configurable per task | Inherits from session |
2727| Customizable schedule | Yes | Yes | Yes |
2828| Minimum interval | 1 hour | 1 minute when Claude sets it, [1 hour in the forms](/docs/en/desktop-scheduled-tasks.md#schedule-options) | 1 minute |
2929 

managed-settings Changed · +2 / -0 lines

from line 97
9797* **macOS configuration profile**: the `com.anthropic.claudecode` managed preferences domain. Use the same top-level keys as `managed-settings.json`, with nested settings as dictionaries and lists as plist arrays.
9898* **Windows HKLM registry**: the JSON as a `REG_SZ` or `REG_EXPAND_SZ` value named `Settings` under `HKLM\SOFTWARE\Policies\ClaudeCode`.
9999* **File-based**: `managed-settings.json`, an optional `managed-settings.d/` directory, and `managed-mcp.json` in the system directory: `/Library/Application Support/ClaudeCode/` on macOS, `/etc/claude-code/` on Linux and WSL, and `C:\Program Files\ClaudeCode\` on Windows. Claude Code doesn't read the legacy Windows path `C:\ProgramData\ClaudeCode\managed-settings.json`.
100 
101 You can deploy any of these files as a symbolic link, and Claude Code reads the file the link leads to. The policy still applies when the link leads outside the system directory or Claude Code can't confirm that it stays inside. A warning naming the file then appears in `/status` and `claude doctor`. To clear the warning, point the link at a target inside the system directory.
100102* **Windows HKCU registry**: the same `Settings` value under `HKCU\SOFTWARE\Policies\ClaudeCode`.
101103 
102104### Split a file-based policy across teams

mcp Changed · +1 / -1 lines

from line 332
332332 
333333On v2, Claude Code also:
334334 
335* Asks HTTP, stdio, and claude.ai connector servers whether they support the newer revision, and uses it with those that do. It connects to every other server as v1 does.
335* Asks HTTP, stdio, and claude.ai connector servers whether they support the newer revision and uses it with those that do. That includes the connectors of cloud and [Remote Control](/docs/en/remote-control.md) sessions. Claude Code connects to every other server as v1 does.
336336* Receives `list_changed` notifications from servers on the newer revision over a [stream it holds open](#notification-streams-on-the-v2-runtime).
337337* Doesn't register a [channel](#push-messages-with-channels) server that connects on the newer revision, because that revision can't carry channel messages.
338338* Fails an [MCP OAuth sign-in](#authenticate-with-remote-mcp-servers) whose authorization response names an unexpected issuer.

model-config Changed · +1 / -1 lines

from line 950
950950When you pin a model on a third-party provider, its row in the `/model` picker shows the model's name by default if Claude Code recognizes the pinned ID, and the raw ID otherwise:
951951 
952952* **Recognized**: the exact ID of a model Claude Code knows, such as its Anthropic API ID or your provider's or gateway's form of it, with or without the `[1m]` suffix. Pin `us.anthropic.claude-sonnet-4-5-20250929-v1:0` and the row reads `Sonnet 4.5`.
953* **Not recognized**: any other ID, such as an application inference profile ARN or a model version Claude Code doesn't know, unless a [`modelOverrides`](#override-model-ids-per-version) entry maps a model to that exact string. On Microsoft Foundry, deployment names are user-defined, so Claude Code never recognizes a pinned ID there, mapped or not, and the row shows the deployment name by default.
953* **Not recognized**: any other ID, such as an application inference profile ARN or a model version Claude Code doesn't know, unless a [`modelOverrides`](#override-model-ids-per-version) entry maps a model to that ID. On Microsoft Foundry, deployment names are user-defined, so Claude Code never recognizes a pinned ID there, mapped or not, and the row shows the deployment name by default.
954954 
955955When a row shows the model's name, its default description includes the pinned ID so you can still see which ID is pinned.
956956 

scheduled-tasks Changed · +1 / -1 lines

from line 25
2525| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks.md#limitations) |
2626| Access to local files | No (fresh clone) | Yes | Yes |
2727| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp.md) and connectors | Inherits from session |
28| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |
28| Permission prompts | [Auto mode](/docs/en/routines.md#permission-prompts-during-a-run) by default | Configurable per task | Inherits from session |
2929| Customizable schedule | Yes | Yes | Yes |
3030| Minimum interval | 1 hour | 1 minute when Claude sets it, [1 hour in the forms](/docs/en/desktop-scheduled-tasks.md#schedule-options) | 1 minute |
3131 
Feedback