SpyBara
Go Premium

Documentation 2026-10-07 23:59 UTC to 2026-10-08 18:01 UTC

58 files changed +1,184 −858. View all changes and history on the product overview
2026
Thu 8 19:01 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

126 126 

127输出样式是一个 markdown 文件,包含用于元数据的 [frontmatter](/docs/zh-CN/output-styles#frontmatter),后跟提示内容。将其保存到 `~/.claude/output-styles/` 以获得在每个项目中可用的用户级样式,或保存到你的存储库中的 `.claude/output-styles/` 以获得可以提交并与你的团队共享的项目级样式。127输出样式是一个 markdown 文件,包含用于元数据的 [frontmatter](/docs/zh-CN/output-styles#frontmatter),后跟提示内容。将其保存到 `~/.claude/output-styles/` 以获得在每个项目中可用的用户级样式,或保存到你的存储库中的 `.claude/output-styles/` 以获得可以提交并与你的团队共享的项目级样式。

128 128 

129自定义输出样式会排除 `claude_code` 预设的软件工程指令,并使用你自己的。要保留它们并在其上分层你的指令,请在 frontmatter 中设置 `keep-coding-instructions: true`。这些指令仅在 Claude Code 的完整系统提示中,因此该设置在较短系统提示的会话中无效,你可以使用 [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/zh-CN/env-vars#variables) 固定打开或关闭。当你的代理仍在进行软件工程工作时保留它们。当你完全替换角色时排除它们。129自定义输出样式会省略 `claude_code` 预设的软件工程指令,转而使用您自己的指令。要保留这些指令并在其上叠加您的指令,请在 frontmatter 中设置 `keep-coding-instructions: true`。这些指令仅存在于 Claude Code 的完整系统提示词中,因此在使用较短系统提示词的会话中,该设置不起作用;将 [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/zh-CN/env-vars#variables) 设置为 `0` 即可在任何模型上选择完整提示词。当您的 Agent 仍在执行软件工程工作时,请保留它们。当您要完全替换角色时,请省略它们。

130 130 

131下面的示例定义了一个代码审查角色,它保留编码指令,因为审查代码仍然受益于 Claude Code 的安全和代码质量指导。将其保存为 `~/.claude/output-styles/code-reviewer.md` 以使其在项目中可用:131下面的示例定义了一个代码审查角色,它保留编码指令,因为审查代码仍然受益于 Claude Code 的安全和代码质量指导。将其保存为 `~/.claude/output-styles/code-reviewer.md` 以使其在项目中可用:

132 132 


547| **管理** | 在文件系统上 | CLI + 文件 | 在代码中 | 在代码中 |547| **管理** | 在文件系统上 | CLI + 文件 | 在代码中 | 在代码中 |

548| **默认工具** | 保留 | 保留 | 保留 | 丢失(除非包含) |548| **默认工具** | 保留 | 保留 | 保留 | 丢失(除非包含) |

549| **内置安全** | 维护 | 维护 | 维护 | 必须添加 |549| **内置安全** | 维护 | 维护 | 维护 | 必须添加 |

550| **自定义级别** | 仅添加 | 替换或扩展默认 | 仅添加 | 完全控制 |550| **自定义级别** | 仅添加 | 添加;可省略编码指令 | 仅添加 | 完全控制 |

551| **版本控制** | 与项目一起 | 是 | 与代码一起 | 与代码一起 |551| **版本控制** | 与项目一起 | 是 | 与代码一起 | 与代码一起 |

552| **范围** | 项目特定 | 用户或项目 | 代码会话 | 代码会话 |552| **范围** | 项目特定 | 用户或项目 | 代码会话 | 代码会话 |

553 553 

agent-sdk/python.md +169 −168

Details

2768 工具输入/输出类型2768 工具输入/输出类型

2769</h2>2769</h2>

2770 2770 

2771内置 Claude Code 工具的输入/输出 schema 文档。虽然 Python SDK 不将这些导出为类型,但它们代表消息中工具输入和输出的结构。2771内置 Claude Code 工具的输入/输出 schema 文档。虽然 Python SDK 不会将这些作为类型导出,但它们代表了消息中工具输入和输出的结构。

2772 2772 

2773每个显示的输出是您从该工具的 [`UserMessage.tool_use_result`](#usermessage) 读取的值。键名完全按照 Claude Code 发出的方式出现。标注了 `| None` 并带有"present when"或"optional"注释的键在不适用时会被省略。2773下面展示的每个输出都是您从该工具的 [`UserMessage.tool_use_result`](#usermessage) 中读取的值。键名与 Claude Code 发出的完全一致。标注了 `| None` 并带有"present when"或"optional"注释的键,在不适用时会被省略。

2774 2774 

2775<h3 id="agent">2775<h3 id="agent">

2776 Agent2776 Agent

2777</h3>2777</h3>

2778 2778 

2779**工具名称:** `Agent`。之前的名称 `Task` 仍然被接受作为别名,初始化 [`SystemMessage`](#systemmessage) 中的 `tools` 列表为了向后兼容将此工具报告为 `Task`。2779**工具名称:** `Agent`。先前的名称 `Task` 仍作为别名被接受,并且为了向后兼容,init [`SystemMessage`](#systemmessage) 中的 `tools` 列表会将此工具报告为 `Task`。

2780 2780 

2781**输入:**2781**输入:**

2782 2782 

2783```python theme={null}2783```python theme={null}

2784{2784{

2785 "description": str, # 任务的简短描述(3-5 个单词)2785 "description": str, # 任务的简短描述(3-5 个词)

2786 "prompt": str, # Agent 要执行的任务2786 "prompt": str, # 要由 Agent 执行的任务

2787 "subagent_type": str | None, # 要使用的专门 Agent 的类型2787 "subagent_type": str | None, # 要使用的专用 Agent 类型

2788 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # 此 Agent 的模型覆盖2788 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # 此 Agent 的模型覆盖

2789 "run_in_background": bool | None, # Agent 默认在后台运行;设置为 False 以同步运行2789 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # 此 Agent 的推理强度

2790 "name": str | None, # 生成的 Agent 的名称2790 "run_in_background": bool | None, # Agent 默认在后台运行;设置为 False 可同步运行

2791 "team_name": str | None, # 已弃用;被忽略2791 "name": str | None, # 所生成 Agent 的名称

2792 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # 已弃用;被忽略。子代理继承规则决定子代理的权限模式2792 "team_name": str | None, # 已弃用;会被忽略

2793 "isolation": "worktree" | "remote" | None, # Agent 更改的隔离模式2793 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # 已弃用;会被忽略。子代理的权限模式由子代理继承规则决定

2794 "isolation": "worktree" | "remote" | None, # Agent 所做更改的隔离模式

2794}2795}

2795```2796```

2796 2797 

2797启动一个新 Agent 来自主处理复杂的多步骤任务。2798启动一个新的 Agent 来自主处理复杂的多步骤任务。

2798 2799 

2799**输出(状态:`"completed"`):**2800**输出(status:`"completed"`):**

2800 2801 

2801```python theme={null}2802```python theme={null}

2802{2803{

2803 "status": "completed",2804 "status": "completed",

2804 "agentId": str, # 运行的 Agent 的 ID2805 "agentId": str, # 运行的 Agent 的 ID

2805 "agentType": str | None, # 处理任务的子代理类型2806 "agentType": str | None, # 处理该任务的子代理类型

2806 "content": [ # 结果内容块2807 "content": [ # 结果内容块

2807 {2808 {

2808 "type": "text",2809 "type": "text",


2810 "citations": list | None,2811 "citations": list | None,

2811 }2812 }

2812 ],2813 ],

2813 "resolvedModel": str | None, # 子代理启动时的模型2814 "resolvedModel": str | None, # 子代理启动时使用的模型

2814 "modelsUsed": list[str] | None, # 按顺序使用的模型,连续重复被折叠2815 "modelsUsed": list[str] | None, # 按顺序使用的模型,连续重复项已合并

2815 "totalToolUseCount": int, # Agent 进行的工具调用次数2816 "totalToolUseCount": int, # Agent 进行的工具调用次数

2816 "totalDurationMs": int, # 执行持续时间(毫秒)2817 "totalDurationMs": int, # 执行时长(毫秒)

2817 "totalTokens": int, # 来自最终 API 请求的 token 计数,不是整个运行2818 "totalTokens": int, # 来自最后一次 API 请求的 token 数,而非整个运行过程

2818 "usage": { # token 使用统计2819 "usage": { # token 使用统计

2819 "input_tokens": int,2820 "input_tokens": int,

2820 "output_tokens": int,2821 "output_tokens": int,


2829 "output_tokens_details": {"thinking_tokens": int | None} | None,2830 "output_tokens_details": {"thinking_tokens": int | None} | None,

2830 "fallback_credit": Any | None,2831 "fallback_credit": Any | None,

2831 },2832 },

2832 "toolStats": { # 运行的聚合工具活动2833 "toolStats": { # 本次运行的工具活动汇总

2833 "readCount": int,2834 "readCount": int,

2834 "searchCount": int,2835 "searchCount": int,

2835 "bashCount": int,2836 "bashCount": int,


2840 "frameCount": int | None,2841 "frameCount": int | None,

2841 } | None,2842 } | None,

2842 "prompt": str, # Agent 运行的提示词2843 "prompt": str, # Agent 运行的提示词

2843 "worktreePath": str | None, # 当 Claude Code 保留子代理的 worktree 时出现2844 "worktreePath": str | None, # 当 Claude Code 保留了子代理的 worktree 时存在

2844 "worktreeBranch": str | None, # 当 Claude Code 使用 git 创建该 worktree 时出现2845 "worktreeBranch": str | None, # 当 Claude Code 使用 git 创建了该 worktree 时存在

2845}2846}

2846```2847```

2847 2848 

2848**输出(状态:`"async_launched"`):**2849**输出(status:`"async_launched"`):**

2849 2850 

2850```python theme={null}2851```python theme={null}

2851{2852{

2852 "status": "async_launched",2853 "status": "async_launched",

2853 "isAsync": bool | None, # 后台启动时为 True2854 "isAsync": bool | None, # 后台启动时为 True

2854 "agentId": str, # 启动的 Agent 的 ID2855 "agentId": str, # 已启动 Agent 的 ID

2855 "description": str, # 任务描述2856 "description": str, # 任务描述

2856 "resolvedModel": str | None, # 后台转换时使用的模型2857 "resolvedModel": str | None, # 转入后台时正在使用的模型

2857 "modelsUsed": list[str] | None, # 后台转换前使用的模型,按顺序,连续重复被折叠2858 "modelsUsed": list[str] | None, # 转入后台之前按顺序使用的模型,连续重复项已合并

2858 "prompt": str, # Agent 运行的提示词2859 "prompt": str, # Agent 运行的提示词

2859 "outputFile": str, # Agent 输出被写入的文件路径2860 "outputFile": str, # 写入 Agent 输出的文件路径

2860 "canReadOutputFile": bool | None, # 输出文件是否可以直接读取2861 "canReadOutputFile": bool | None, # 是否可以直接读取输出文件

2861}2862}

2862```2863```

2863 2864 

2864**输出(状态:`"remote_launched"`):**2865**输出(status:`"remote_launched"`):**

2865 2866 

2866```python theme={null}2867```python theme={null}

2867{2868{

2868 "status": "remote_launched",2869 "status": "remote_launched",

2869 "taskId": str, # 分派任务的 ID2870 "taskId": str, # 已派发任务的 ID

2870 "sessionUrl": str, # 云端会话的链接2871 "sessionUrl": str, # 指向云端会话的链接

2871 "description": str, # 任务描述2872 "description": str, # 任务描述

2872 "prompt": str, # Agent 运行的提示词2873 "prompt": str, # Agent 运行的提示词

2873 "outputFile": str, # Agent 输出被写入的文件路径2874 "outputFile": str, # 写入 Agent 输出的文件路径

2874}2875}

2875```2876```

2876 2877 

2877返回来自子代理的结果。输出在 `status` 字段上进行区分:`"completed"` 用于完成的任务,`"async_launched"` 用于后台任务,`"remote_launched"` 用于 Claude Code 分派到云端会话的任务,其中 `sessionUrl` 链接到该会话,`taskId` 标识它。如果 Claude Code [保留了子代理的隔离 worktree](/docs/zh-CN/worktrees#isolate-subagents-with-worktrees),`completed` 变体上的 `worktreePath` 是找到它的位置,`worktreeBranch` 是当 Claude Code 使用 git 创建 worktree 时的分支。2878返回子代理的结果。输出通过 `status` 字段进行区分:`"completed"` 表示已完成的任务,`"async_launched"` 表示后台任务,`"remote_launched"` 表示 Claude Code 派发到云端会话的任务,其中 `sessionUrl` 链接到该会话,`taskId` 用于标识该会话。如果 Claude Code [保留了子代理的隔离 worktree](/docs/zh-CN/worktrees#isolate-subagents-with-worktrees),`completed` 变体上的 `worktreePath` 就是该 worktree 的位置;当 Claude Code 使用 git 创建该 worktree 时,`worktreeBranch` 是其分支。

2878 2879 

2879在 `completed` 变体上,`resolvedModel` 命名子代理启动时的模型,当应用 [`availableModels`](/docs/zh-CN/model-config#restrict-model-selection) 或其他覆盖时,它可能与请求的 `model` 输入不同。此字段需要 Claude Code v2.1.174 或更高版本。在 `async_launched` 变体上,`resolvedModel` 命名 Agent 移到后台时使用的模型,因此在后台转换之前发生的交换会反映在那里。两个变体上的 `modelsUsed` 字段按顺序列出使用的模型,连续重复被折叠;仅当模型在运行中被交换时才设置。`modelsUsed` 和后台转换时的 `resolvedModel` 行为需要 Claude Code v2.1.212 或更高版本。2880在 `completed` 变体上,`resolvedModel` 指明子代理启动时使用的模型;当 [`availableModels`](/docs/zh-CN/model-config#restrict-model-selection) 或其他覆盖生效时,它可能与请求的 `model` 输入不同。此字段需要 Claude Code v2.1.174 或更高版本。在 `async_launched` 变体上,`resolvedModel` 指明 Agent 转入后台时正在使用的模型,因此在转入后台之前发生的模型切换会反映在其中。两种变体上的 `modelsUsed` 字段按顺序列出所使用的模型,连续重复项已合并;仅当运行中途切换了模型时才会设置该字段。`modelsUsed` 以及转入后台时的 `resolvedModel` 行为需要 Claude Code v2.1.212 或更高版本。

2880 2881 

2881Claude Code 从子代理的最终 API 请求而不是整个运行中填充 `usage` 和 `totalTokens`。当存在时,`usage` 中 `output_tokens_details` 下的 `thinking_tokens` 是该请求的输出 token 中属于思考 token 的数量。`output_tokens_details` 键需要 Python SDK v0.2.136 或更高版本,它捆绑了 Claude Code v2.1.228。`fallback_credit` 键需要 Python SDK v0.2.162 或更高版本,它捆绑了 Claude Code v2.1.285。2882Claude Code 根据子代理的最后一次 API 请求(而非整个运行过程)填充 `usage` 和 `totalTokens`。如果存在,`usage` 中 `output_tokens_details` 下的 `thinking_tokens` 表示该请求的输出 token 中属于思考 token 的数量。`output_tokens_details` 键需要 Python SDK v0.2.136 或更高版本,该版本捆绑了 Claude Code v2.1.228。`fallback_credit` 键需要 Python SDK v0.2.162 或更高版本,该版本捆绑了 Claude Code v2.1.285。

2882 2883 

2883<h3 id="askuserquestion">2884<h3 id="askuserquestion">

2884 AskUserQuestion2885 AskUserQuestion


2886 2887 

2887**工具名称:** `AskUserQuestion`2888**工具名称:** `AskUserQuestion`

2888 2889 

2889在执行期间向用户提出澄清问题。见 [处理批准和用户输入](/docs/zh-CN/agent-sdk/user-input#handle-clarifying-questions) 了解使用详情。2890在执行过程中向用户提出澄清问题。有关用法详情,请参阅[处理批准和用户输入](/docs/zh-CN/agent-sdk/user-input#handle-clarifying-questions)。

2890 2891 

2891**输入:**2892**输入:**

2892 2893 


2895 "questions": [ # 要向用户提出的问题(1-4 个问题)2896 "questions": [ # 要向用户提出的问题(1-4 个问题)

2896 {2897 {

2897 "question": str, # 要向用户提出的完整问题2898 "question": str, # 要向用户提出的完整问题

2898 "header": str, # 显示为芯片/标签的非常简短的标签(最多 12 个字符)2899 "header": str, # 以标签/徽标形式显示的极短标签(最多 12 个字符)

2899 "options": [ # 可用的选择(2-4 个选项)2900 "options": [ # 可用选项(2-4 个选项)

2900 {2901 {

2901 "label": str, # 此选项的显示文本(1-5 个单词)2902 "label": str, # 此选项的显示文本(1-5 个词)

2902 "description": str, # 此选项含义的说明2903 "description": str, # 对此选项含义的说明

2903 "preview": str | None, # 当选项被聚焦时呈现的预览内容2904 "preview": str | None, # 选项获得焦点时渲染的预览内容

2904 }2905 }

2905 ],2906 ],

2906 "multiSelect": bool, # 设置为 true 以允许多个选择2907 "multiSelect": bool, # 设置为 true 以允许多选

2907 }2908 }

2908 ],2909 ],

2909 "answers": dict[str, str] | None,2910 "answers": dict[str, str] | None,

2910 # 由权限系统填充的用户答案。多选2911 # 由权限系统填充的用户答案。多选答案是

2911 # 答案是所选标签的逗号连接字符串;2912 # 所选标签以逗号连接而成的字符串;输入时也接受

2912 # 输入时接受标签列表并强制转换为该形式2913 # 标签列表,并会被转换为该形式

2913 "annotations": dict[str, dict] | None,2914 "annotations": dict[str, dict] | None,

2914 # 来自用户的按问题文本键入的每个问题注释。2915 # 用户针对每个问题的注释,以问题文本为键。

2915 # 每个值可以携带"preview"(所选选项的预览2916 # 每个值可以包含 "preview"(所选选项的预览

2916 # 内容)和"notes"(关于选择的自由文本注释)2917 # 内容)和 "notes"(关于所选内容的自由文本备注)

2917 "metadata": dict | None, # 分析元数据,例如 {"source": "remember"};不向用户显示2918 "metadata": dict | None, # 分析元数据,例如 {"source": "remember"};不会向用户显示

2918}2919}

2919```2920```

2920 2921 


2922 2923 

2923```python theme={null}2924```python theme={null}

2924{2925{

2925 "questions": [ # 被提出的问题2926 "questions": [ # 已提出的问题

2926 {2927 {

2927 "question": str,2928 "question": str,

2928 "header": str,2929 "header": str,


2933 "answers": dict[str, str], # 将问题文本映射到答案字符串2934 "answers": dict[str, str], # 将问题文本映射到答案字符串

2934 # 多选答案以逗号分隔2935 # 多选答案以逗号分隔

2935 "response": str | None,2936 "response": str | None,

2936 # 用户输入的自由形式回复而不是回答问题;当设置时,2937 # 用户未回答问题而是直接输入的自由回复;设置后,

2937 # Claude 收到"用户回复:..."而不是答案列表2938 # Claude 收到的是 "The user responded: ..." 而不是答案列表

2938 "annotations": dict[str, dict] | None, # 来自用户选择的每个问题"preview"和"notes"2939 "annotations": dict[str, dict] | None, # 用户所选内容中针对每个问题的 "preview" 和 "notes"

2939 "afkTimeoutMs": int | None, # 在用户不活动这么多毫秒后对话框自动解决时设置;用户回答时不存在2940 "afkTimeoutMs": int | None, # 当对话框因用户在这么多毫秒内无操作而自动结束时设置;用户作答时不存在

2940}2941}

2941```2942```

2942 2943 


2946 2947 

2947**工具名称:** `Bash`2948**工具名称:** `Bash`

2948 2949 

2949关于设置前台上限的内容,见 [超时和输出限制](/docs/zh-CN/tools-reference#timeout-and-output-limits)。关于后台时间限制,见 [后台命令的时间限制](/docs/zh-CN/tools-reference#time-limit-for-background-commands)。2950有关前台上限由什么决定,请参阅[超时和输出限制](/docs/zh-CN/tools-reference#timeout-and-output-limits)。有关后台时间限制,请参阅[后台命令的时间限制](/docs/zh-CN/tools-reference#time-limit-for-background-commands)。

2950 2951 

2951**输入:**2952**输入:**

2952 2953 

2953```python theme={null}2954```python theme={null}

2954{2955{

2955 "command": str, # 要执行的命令2956 "command": str, # 要执行的命令

2956 "timeout": int | None, # 毫秒。前台:默认上限为 600000,更高的值被限制。使用 run_in_background(Claude Code v2.1.285 或更高版本):后台时间限制,省略时为 1800000,上限为 7200000,除非提高2957 "timeout": int | None, # 毫秒。前台:默认上限为 600000,更高的值会被截断。使用 run_in_background 时(Claude Code v2.1.285 或更高版本):后台时间限制,省略时为 1800000,除非调高,否则上限为 7200000

2957 "description": str | None, # 清晰、简洁的描述(5-10 个单词)2958 "description": str | None, # 清晰、简洁的描述(5-10 个词)

2958 "run_in_background": bool | None, # 设置为 true 以在后台运行2959 "run_in_background": bool | None, # 设置为 true 以在后台运行

2959}2960}

2960```2961```


2963 2964 

2964```python theme={null}2965```python theme={null}

2965{2966{

2966 "stdout": str, # 命令的输出;stdout 和 stderr 合并到这个一个交错流中2967 "stdout": str, # 命令的输出;stdout 和 stderr 合并到这一个交错的流中

2967 "stderr": str, # 工具本身添加的通知,不是命令的 stderr2968 "stderr": str, # 工具本身添加的通知,而非命令的 stderr

2968 "interrupted": bool, # 命令是否被中断2969 "interrupted": bool, # 命令是否被中断

2969 "isImage": bool | None, # stdout 是否包含图像数据2970 "isImage": bool | None, # stdout 是否包含图像数据

2970 "backgroundTaskId": str | None, # 如果命令在后台运行,后台任务的 ID2971 "backgroundTaskId": str | None, # 命令在后台运行时的后台任务 ID

2971}2972}

2972```2973```

2973 2974 


2977 2978 

2978**工具名称:** `Monitor`2979**工具名称:** `Monitor`

2979 2980 

2980运行后台源并将每个事件传递给 Claude,以便它可以做出反应而无需轮询:`command` 运行脚本并每个 stdout 行发出一个事件,`ws` 打开 WebSocket 并每个文本帧发出一个事件。恰好提供 `command` 或 `ws` 中的一个。2981运行一个后台来源,并将每个事件传递给 Claude,使其无需轮询即可做出响应:`command` 运行一个脚本,每行 stdout 产生一个事件;`ws` 打开一个 WebSocket,每个文本帧产生一个事件。`command` 和 `ws` 必须且只能提供其中一个。

2981 2982 

2982当 Monitor 运行命令时,它遵循与 Bash 相同的权限规则;WebSocket 监视会单独提示批准。`ws` 源需要 Claude Code v2.1.195 或更高版本。见 [Monitor 工具参考](/docs/zh-CN/tools-reference#monitor-tool) 了解行为和提供商可用性。2983当 Monitor 运行命令时,它遵循与 Bash 相同的权限规则;WebSocket 监视会单独请求批准。`ws` 来源需要 Claude Code v2.1.195 或更高版本。有关行为和提供商可用性,请参阅 [Monitor 工具参考](/docs/zh-CN/tools-reference#monitor-tool)。

2983 2984 

2984**输入:**2985**输入:**

2985 2986 

2986```python theme={null}2987```python theme={null}

2987{2988{

2988 "command": str | None, # Shell 脚本;每个 stdout 行是一个事件,退出结束监视2989 "command": str | None, # Shell 脚本;每行 stdout 是一个事件,退出即结束监视

2989 "ws": dict | None, # WebSocket 源:{"url": str, "protocols": list[str] | None};每个文本帧是一个事件2990 "ws": dict | None, # WebSocket 来源:{"url": str, "protocols": list[str] | None};每个文本帧是一个事件

2990 "description": str, # 在通知中显示的简短描述2991 "description": str, # 在通知中显示的简短描述

2991 "timeout_ms": int | None, # 截止时间(毫秒)(默认 300000,最大 3600000;有效截止时间最多为 1800000)2992 "timeout_ms": int | None, # 截止时间(毫秒)(默认 300000,最大 3600000;实际生效的截止时间最多为 1800000)

2992}2993}

2993```2994```

2994 2995 


2997```python theme={null}2998```python theme={null}

2998{2999{

2999 "taskId": str, # 后台监视任务的 ID3000 "taskId": str, # 后台监视任务的 ID

3000 "timeoutMs": int, # 监视的有效截止时间(毫秒)3001 "timeoutMs": int, # 监视实际生效的截止时间(毫秒)

3001 "persistent": bool | None, # False:每个监视都有一个截止时间3002 "persistent": bool | None, # False:每个监视都有截止时间

3002}3003}

3003```3004```

3004 3005 


3014{3015{

3015 "file_path": str, # 要修改的文件的绝对路径3016 "file_path": str, # 要修改的文件的绝对路径

3016 "old_string": str, # 要替换的文本3017 "old_string": str, # 要替换的文本

3017 "new_string": str, # 替换为的文本3018 "new_string": str, # 用于替换的文本

3018 "replace_all": bool | None, # 替换所有出现(默认 False)3019 "replace_all": bool | None, # 替换所有匹配项(默认 False)

3019}3020}

3020```3021```

3021 3022 


3025{3026{

3026 "filePath": str, # 被编辑的文件3027 "filePath": str, # 被编辑的文件

3027 "oldString": str, # 被替换的文本3028 "oldString": str, # 被替换的文本

3028 "newString": str, # 替换它的文本3029 "newString": str, # 替换后的文本

3029 "originalFile": str | None, # 编辑前的文件内容3030 "originalFile": str | None, # 编辑前的文件内容

3030 "structuredPatch": [ # 更改的 diff hunks3031 "structuredPatch": [ # 此次更改的 diff 块

3031 {3032 {

3032 "oldStart": int,3033 "oldStart": int,

3033 "oldLines": int,3034 "oldLines": int,


3036 "lines": list[str],3037 "lines": list[str],

3037 }3038 }

3038 ],3039 ],

3039 "userModified": bool, # 用户是否在接受前更改了建议的编辑3040 "userModified": bool, # 用户在接受之前是否修改了提议的编辑

3040 "replaceAll": bool, # 是否替换了所有出现3041 "replaceAll": bool, # 是否替换了所有匹配项

3041 "gitDiff": { # 文件的可选 git diff 摘要3042 "gitDiff": { # 可选的文件 git diff 摘要

3042 "filename": str,3043 "filename": str,

3043 "status": "modified" | "added",3044 "status": "modified" | "added",

3044 "additions": int,3045 "additions": int,

3045 "deletions": int,3046 "deletions": int,

3046 "changes": int,3047 "changes": int,

3047 "patch": str,3048 "patch": str,

3048 "repository": str | None, # 可用时的 GitHub owner/repo3049 "repository": str | None, # 可用时为 GitHub owner/repo

3049 } | None,3050 } | None,

3050}3051}

3051```3052```


3066}3067}

3067```3068```

3068 3069 

3069输出根据 Claude 读取的内容采用以下形状之一。检查 `type` 键来区分它们。3070根据 Claude 读取的内容,输出采用以下形状之一。请检查 `type` 键来区分它们。

3070 3071 

3071**输出(type: `"text"`):**3072**输出(type:`"text"`):**

3072 3073 

3073```python theme={null}3074```python theme={null}

3074{3075{


3077 "filePath": str, # 被读取的文件3078 "filePath": str, # 被读取的文件

3078 "content": str, # 返回的内容3079 "content": str, # 返回的内容

3079 "numLines": int, # 返回内容中的行数3080 "numLines": int, # 返回内容中的行数

3080 "startLine": int, # 内容开始的行号3081 "startLine": int, # 内容起始的行号

3081 "totalLines": int, # 文件中的总行数3082 "totalLines": int, # 文件的总行数

3082 "truncatedByTokenCap": bool | None, # 当整个文件读取超过 token 上限且内容是第一页时出现且为 True3083 "truncatedByTokenCap": bool | None, # 当整个文件的读取超出 token 上限且 content 为第一页时存在,值为 True

3083 },3084 },

3084}3085}

3085```3086```

3086 3087 

3087**输出(type: `"image"`):**3088**输出(type:`"image"`):**

3088 3089 

3089```python theme={null}3090```python theme={null}

3090{3091{


3093 "base64": str, # Base64 编码的图像数据3094 "base64": str, # Base64 编码的图像数据

3094 "type": "image/jpeg" | "image/png" | "image/gif" | "image/webp", # 图像 MIME 类型3095 "type": "image/jpeg" | "image/png" | "image/gif" | "image/webp", # 图像 MIME 类型

3095 "originalSize": int, # 原始文件大小(字节)3096 "originalSize": int, # 原始文件大小(字节)

3096 "dimensions": { # 坐标映射的可选大小信息3097 "dimensions": { # 用于坐标映射的可选尺寸信息

3097 "originalWidth": int | None, # 可选;原始宽度(像素)3098 "originalWidth": int | None, # 可选;原始宽度(像素)

3098 "originalHeight": int | None, # 可选;原始高度(像素)3099 "originalHeight": int | None, # 可选;原始高度(像素)

3099 "displayWidth": int | None, # 可选;调整大小后的宽度3100 "displayWidth": int | None, # 可选;调整大小后的宽度


3103}3104}

3104```3105```

3105 3106 

3106**输出(type: `"notebook"`):**3107**输出(type:`"notebook"`):**

3107 3108 

3108```python theme={null}3109```python theme={null}

3109{3110{

3110 "type": "notebook",3111 "type": "notebook",

3111 "file": {3112 "file": {

3112 "filePath": str, # 被读取的笔记本3113 "filePath": str, # 被读取的 notebook

3113 "cells": list, # 笔记本单元格3114 "cells": list, # Notebook 单元格

3114 },3115 },

3115}3116}

3116```3117```

3117 3118 

3118**输出(type: `"pdf"`):**3119**输出(type:`"pdf"`):**

3119 3120 

3120```python theme={null}3121```python theme={null}

3121{3122{


3128}3129}

3129```3130```

3130 3131 

3131**输出(type: `"parts"`):**3132**输出(type:`"parts"`):**

3132 3133 

3133```python theme={null}3134```python theme={null}

3134{3135{


3137 "filePath": str, # 被读取的 PDF3138 "filePath": str, # 被读取的 PDF

3138 "originalSize": int, # 文件大小(字节)3139 "originalSize": int, # 文件大小(字节)

3139 "count": int, # 提取为图像的页数3140 "count": int, # 提取为图像的页数

3140 "outputDir": str, # 包含提取的页面图像的目录3141 "outputDir": str, # 包含所提取页面图像的目录

3141 },3142 },

3142 "firstPage": int | None, # 可选的第一个提取页面的文档页码3143 "firstPage": int | None, # 可选;第一个提取页面在文档中的页码

3143}3144}

3144```3145```

3145 3146 

3146**输出(type: `"file_unchanged"`):**3147**输出(type:`"file_unchanged"`):**

3147 3148 

3148```python theme={null}3149```python theme={null}

3149{3150{

3150 "type": "file_unchanged", # 文件自 Claude 在此会话中上次读取以来未更改,因此不重复内容3151 "type": "file_unchanged", # 自 Claude 在此会话中上次读取以来文件未发生变化,因此不会重复返回内容

3151 "file": {3152 "file": {

3152 "filePath": str,3153 "filePath": str,

3153 },3154 },

3154 "source": "seeded" | None, # 当较早的副本来自在启动时加载的 CLAUDE.md 或记忆文件而不是 Read 调用时出现3155 "source": "seeded" | None, # 当之前的副本来自启动时加载的 CLAUDE.md 或记忆文件(而非 Read 调用)时存在

3155}3156}

3156```3157```

3157 3158 


3174 3175 

3175```python theme={null}3176```python theme={null}

3176{3177{

3177 "type": "create" | "update", # 写入是创建了新文件还是覆盖了现有文件3178 "type": "create" | "update", # 此次写入是创建了新文件还是覆盖了现有文件

3178 "filePath": str, # 被写入的文件3179 "filePath": str, # 被写入的文件

3179 "content": str, # 被写入的内容3180 "content": str, # 写入的内容

3180 "structuredPatch": [ # Diff hunks;对于新文件、未更改或 Claude Code 跳过 diff 时为空3181 "structuredPatch": [ # diff 块;对于新文件、内容无变化或 Claude Code 跳过 diff 时为空

3181 {3182 {

3182 "oldStart": int,3183 "oldStart": int,

3183 "oldLines": int,3184 "oldLines": int,


3186 "lines": list[str],3187 "lines": list[str],

3187 }3188 }

3188 ],3189 ],

3189 "originalFile": str | None, # 之前的内容;对于新文件或之前的内容太大而无法包含时为 None3190 "originalFile": str | None, # 之前的内容;对于新文件或之前的内容过大而无法包含时为 None

3190 "gitDiff": { # 文件的可选 git diff 摘要3191 "gitDiff": { # 可选的文件 git diff 摘要

3191 "filename": str,3192 "filename": str,

3192 "status": "modified" | "added",3193 "status": "modified" | "added",

3193 "additions": int,3194 "additions": int,

3194 "deletions": int,3195 "deletions": int,

3195 "changes": int,3196 "changes": int,

3196 "patch": str,3197 "patch": str,

3197 "repository": str | None, # 可用时的 GitHub owner/repo3198 "repository": str | None, # 可用时为 GitHub owner/repo

3198 } | None,3199 } | None,

3199 "userModified": bool | None, # 可选;用户是否在接受前编辑了建议的内容3200 "userModified": bool | None, # 可选;用户在接受之前是否编辑了提议的内容

3200}3201}

3201```3202```

3202 3203 


3219 3220 

3220```python theme={null}3221```python theme={null}

3221{3222{

3222 "durationMs": int, # 运行搜索所花费的时间(毫秒)3223 "durationMs": int, # 运行搜索所用的时间(毫秒)

3223 "numFiles": int, # 返回的路径数,任何截断后3224 "numFiles": int, # 截断后返回的路径数量

3224 "filenames": list[str], # 匹配的文件路径3225 "filenames": list[str], # 匹配的文件路径

3225 "truncated": bool, # 结果是否在 100 文件限制处被截断3226 "truncated": bool, # 结果是否因 100 个文件的限制而被截断

3226 "totalMatches": int | None, # 可选的截断前匹配文件的总数;当 countIsComplete 为 False 时为下界3227 "totalMatches": int | None, # 可选;截断前匹配文件的总数;当 countIsComplete 为 False 时为下限值

3227 "countIsComplete": bool | None, # 可选;totalMatches 是否精确3228 "countIsComplete": bool | None, # 可选;totalMatches 是否精确

3228}3229}

3229```3230```


3247 "output_mode": str | None, # "content"、"files_with_matches" 或 "count"3248 "output_mode": str | None, # "content"、"files_with_matches" 或 "count"

3248 "-i": bool | None, # 不区分大小写的搜索3249 "-i": bool | None, # 不区分大小写的搜索

3249 "-n": bool | None, # 显示行号3250 "-n": bool | None, # 显示行号

3250 "-B": int | None, # 每个匹配前显示的行数3251 "-B": int | None, # 每个匹配项之前显示的行数

3251 "-A": int | None, # 每个匹配后显示的行数3252 "-A": int | None, # 每个匹配项之后显示的行数

3252 "-C": int | None, # 每个匹配前后显示的行数3253 "-C": int | None, # 前后显示的行数

3253 "context": int | None, # 每个匹配前后显示的行数;-C 是别名3254 "context": int | None, # 前后显示的行数;-C 是其别名

3254 "-o": bool | None, # 仅打印每行的匹配部分3255 "-o": bool | None, # 仅打印每行中匹配的部分

3255 "head_limit": int | None, # 将输出限制为前 N 行/条目3256 "head_limit": int | None, # 将输出限制为前 N 行/条目

3256 "offset": int | None, # 在应用 head_limit 前跳过前 N 行/条目3257 "offset": int | None, # 在应用 head_limit 之前跳过前 N 行/条目

3257 "multiline": bool | None, # 启用多行模式3258 "multiline": bool | None, # 启用多行模式

3258}3259}

3259```3260```


3262 3263 

3263```python theme={null}3264```python theme={null}

3264{3265{

3265 "mode": "content" | "files_with_matches" | "count" | None, # 使用的输出模式3266 "mode": "content" | "files_with_matches" | "count" | None, # 所使用的输出模式

3266 "numFiles": int, # 结果中的文件数;在 content 模式中始终为 03267 "numFiles": int, # 结果中的文件数;在 content 模式下始终为 0

3267 "filenames": list[str], # files_with_matches 模式中的匹配文件;在其他模式中为空3268 "filenames": list[str], # files_with_matches 模式下的匹配文件;其他模式下为空

3268 "content": str | None, # content 模式中的匹配行,或 count 模式中的每个文件计数3269 "content": str | None, # content 模式下的匹配行,或 count 模式下每个文件的计数

3269 "numLines": int | None, # content 中的行数,在 content 模式中出现3270 "numLines": int | None, # content 中的行数,在 content 模式下存在

3270 "numMatches": int | None, # 总匹配计数,在 count 模式中出现3271 "numMatches": int | None, # 匹配总数,在 count 模式下存在

3271 "totalFiles": int | None, # 可选的 head_limit 和 offset 前的总数,在 files_with_matches 模式中3272 "totalFiles": int | None, # 可选;应用 head_limit 和 offset 之前的总数,在 files_with_matches 模式下

3272 "totalLines": int | None, # 可选的 head_limit 和 offset 前的总数,在 content 模式中3273 "totalLines": int | None, # 可选;应用 head_limit 和 offset 之前的总数,在 content 模式下

3273 "appliedLimit": int | None, # 当 head_limit 截断结果时出现3274 "appliedLimit": int | None, # 当 head_limit 截断了结果时存在

3274 "appliedOffset": int | None, # 当应用了 offset 时出现3275 "appliedOffset": int | None, # 当应用了 offset 时存在

3275}3276}

3276```3277```

3277 3278 

3278Grep 在每个输出模式中返回此 dict 形状。哪些可选键存在取决于 `output_mode`。3279Grep 在每种输出模式下都返回这种 dict 形状。存在哪些可选键取决于 `output_mode`。

3279 3280 

3280`totalFiles` 需要 Claude Code v2.1.208 或更高版本。`totalLines` 需要 Claude Code v2.1.210 或更高版本。3281`totalFiles` 需要 Claude Code v2.1.208 或更高版本。`totalLines` 需要 Claude Code v2.1.210 或更高版本。

3281 3282 


3289 3290 

3290```python theme={null}3291```python theme={null}

3291{3292{

3292 "notebook_path": str, # Jupyter 笔记本的绝对路径3293 "notebook_path": str, # Jupyter notebook 的绝对路径

3293 "cell_id": str | None, # 要编辑的单元格的 ID3294 "cell_id": str | None, # 要编辑的单元格的 ID

3294 "new_source": str, # 单元格的新源代码3295 "new_source": str, # 单元格的新源代码

3295 "cell_type": "code" | "markdown" | None, # 单元格的类型3296 "cell_type": "code" | "markdown" | None, # 单元格的类型


3302```python theme={null}3303```python theme={null}

3303{3304{

3304 "new_source": str, # 写入单元格的源代码3305 "new_source": str, # 写入单元格的源代码

3305 "old_source": str | None, # 之前的单元格源代码,对于 replace 和 delete 出现3306 "old_source": str | None, # 之前的单元格源代码,replace 和 delete 时存在

3306 "cell_id": str | None, # 编辑的单元格的 ID,当可用时3307 "cell_id": str | None, # 被编辑单元格的 ID(如果可用)

3307 "cell_type": "code" | "markdown", # 单元格类型3308 "cell_type": "code" | "markdown", # 单元格类型

3308 "language": str, # 笔记本的编程语言3309 "language": str, # notebook 的编程语言

3309 "edit_mode": str, # 使用的编辑模式3310 "edit_mode": str, # 所使用的编辑模式

3310 "error": str | None, # 操作失败时的错误消息3311 "error": str | None, # 操作失败时的错误消息

3311 "notebook_path": str, # 笔记本文件3312 "notebook_path": str, # notebook 文件

3312 "original_file": str, # 编辑前的笔记本内容3313 "original_file": str, # 编辑前的 notebook 内容

3313 "updated_file": str, # 编辑后的笔记本内容3314 "updated_file": str, # 编辑后的 notebook 内容

3314}3315}

3315```3316```

3316 3317 


3325```python theme={null}3326```python theme={null}

3326{3327{

3327 "url": str, # 要从中获取内容的 URL3328 "url": str, # 要从中获取内容的 URL

3328 "prompt": str, # 在获取的内容上运行的提示词3329 "prompt": str, # 要在获取的内容上运行的提示词

3329}3330}

3330```3331```

3331 3332 


3333 3334 

3334```python theme={null}3335```python theme={null}

3335{3336{

3336 "bytes": int, # 获取的内容大小(字节)3337 "bytes": int, # 获取内容的大小(字节)

3337 "code": int, # HTTP 响应代码3338 "code": int, # HTTP 响应码

3338 "codeText": str, # HTTP 响应代码文本3339 "codeText": str, # HTTP 响应码文本

3339 "result": str, # 通过将提示词应用于内容得到的处理结果3340 "result": str, # 将提示词应用于内容后得到的处理结果

3340 "durationMs": int, # 获取和处理内容的时间(毫秒)3341 "durationMs": int, # 获取和处理内容所用的时间(毫秒)

3341 "url": str, # 被获取的 URL3342 "url": str, # 被获取的 URL

3342}3343}

3343```3344```


3353```python theme={null}3354```python theme={null}

3354{3355{

3355 "query": str, # 要使用的搜索查询3356 "query": str, # 要使用的搜索查询

3356 "allowed_domains": list[str] | None, # 仅包含来自这些域的结果3357 "allowed_domains": list[str] | None, # 仅包含来自这些域名的结果

3357 "blocked_domains": list[str] | None, # 永远不包含来自这些域的结果3358 "blocked_domains": list[str] | None, # 绝不包含来自这些域名的结果

3358}3359}

3359```3360```

3360 3361 


3364{3365{

3365 "query": str, # 搜索查询3366 "query": str, # 搜索查询

3366 "results": list[str | {"tool_use_id": str, "content": list[{"title": str, "url": str}]}],3367 "results": list[str | {"tool_use_id": str, "content": list[{"title": str, "url": str}]}],

3367 "durationSeconds": float, # 搜索持续时间(秒)3368 "durationSeconds": float, # 搜索时长(秒)

3368}3369}

3369```3370```

3370 3371 


3387 3388 

3388 此默认集合适用于 Claude Code v2.1.268 及更高版本,TypeScript Agent SDK 从 v0.3.268 开始捆绑此版本。3389 此默认集合适用于 Claude Code v2.1.268 及更高版本,TypeScript Agent SDK 从 v0.3.268 开始捆绑此版本。

3389 3390 

3390 见 [模型可用性](/docs/zh-CN/agent-sdk/todo-tracking#model-availability) 以选择加入。3391 请参阅[模型可用性](/docs/zh-CN/agent-sdk/todo-tracking#model-availability)以选择启用。

3391</Note>3392</Note>

3392 3393 

3393**输入:**3394**输入:**


3398 {3399 {

3399 "content": str, # 任务描述3400 "content": str, # 任务描述

3400 "status": "pending" | "in_progress" | "completed", # 任务状态3401 "status": "pending" | "in_progress" | "completed", # 任务状态

3401 "activeForm": str, # 描述的活跃形式3402 "activeForm": str, # 描述的进行时形式

3402 }3403 }

3403 ]3404 ]

3404}3405}


3438 "subject": str, # 简短的任务标题3439 "subject": str, # 简短的任务标题

3439 "description": str, # 详细的任务正文3440 "description": str, # 详细的任务正文

3440 "activeForm": str | None, # 进行中时显示的现在时标签3441 "activeForm": str | None, # 进行中时显示的现在时标签

3441 "metadata": dict | None, # 任意调用者元数据3442 "metadata": dict | None, # 任意调用方元数据

3442}3443}

3443```3444```

3444 3445 


3446 3447 

3447```python theme={null}3448```python theme={null}

3448{3449{

3449 "task": {"id": str, "subject": str}, # 创建的任务及其分配的 ID3450 "task": {"id": str, "subject": str}, # 已创建的任务及其分配的 ID

3450}3451}

3451```3452```

3452 3453 


3460 3461 

3461```python theme={null}3462```python theme={null}

3462{3463{

3463 "taskId": str, # 要修补的任务的 ID3464 "taskId": str, # 要修改的任务的 ID

3464 "status": Literal["pending", "in_progress", "completed", "deleted"] | None,3465 "status": Literal["pending", "in_progress", "completed", "deleted"] | None,

3465 "subject": str | None,3466 "subject": str | None,

3466 "description": str | None,3467 "description": str | None,

3467 "activeForm": str | None,3468 "activeForm": str | None,

3468 "addBlocks": list[str] | None, # 此任务现在阻止的任务 ID3469 "addBlocks": list[str] | None, # 此任务现在阻塞的任务 ID

3469 "addBlockedBy": list[str] | None, # 现在阻止此任务的任务 ID3470 "addBlockedBy": list[str] | None, # 现在阻塞此任务的任务 ID

3470 "owner": str | None,3471 "owner": str | None,

3471 "metadata": dict | None,3472 "metadata": dict | None,

3472}3473}


3478{3479{

3479 "success": bool,3480 "success": bool,

3480 "taskId": str,3481 "taskId": str,

3481 "updatedFields": list[str], # 更改的字段名称3482 "updatedFields": list[str], # 发生变化的字段名称

3482 "error": str | None,3483 "error": str | None,

3483 "statusChange": {"from": str, "to": str} | None,3484 "statusChange": {"from": str, "to": str} | None,

3484}3485}


3509 "status": Literal["pending", "in_progress", "completed"],3510 "status": Literal["pending", "in_progress", "completed"],

3510 "blocks": list[str],3511 "blocks": list[str],

3511 "blockedBy": list[str],3512 "blockedBy": list[str],

3512 } | None, # 当 ID 未找到时为 None3513 } | None, # 未找到该 ID 时为 None

3513}3514}

3514```3515```

3515 3516 


3545 TaskOutput3546 TaskOutput

3546</h3>3547</h3>

3547 3548 

3548在 Claude Code v2.1.277 中移除。之前检索来自运行中或已完成的后台任务的输出,`BashOutput` 被接受作为别名;Claude 改用 `Read` 在后台任务的输出文件上读取。3549已在 Claude Code v2.1.277 中移除。此前用于从正在运行或已完成的后台任务中检索输出,并接受 `BashOutput` 作为别名;现在 Claude 改用 `Read` 读取后台任务的输出文件。

3549 3550 

3550`disallowed_tools` 条目或仍然命名任一名称的拒绝规则被忽略而不发出警告。3551仍然引用这两个名称之一的 `disallowed_tools` 条目或拒绝规则会被忽略,且不会发出警告。

3551 3552 

3552<h3 id="taskstop">3553<h3 id="taskstop">

3553 TaskStop3554 TaskStop

3554</h3>3555</h3>

3555 3556 

3556**工具名称:** `TaskStop`。之前的名称 `KillShell` 和 `KillBash` 仍然被接受作为别名。3557**工具名称:** `TaskStop`。先前的名称 `KillShell` 和 `KillBash` 仍作为别名被接受。

3557 3558 

3558**输入:**3559**输入:**

3559 3560 

3560```python theme={null}3561```python theme={null}

3561{3562{

3562 "task_id": str | None, # 要停止的后台任务的 ID3563 "task_id": str | None, # 要停止的后台任务的 ID

3563 "shell_id": str | None, # 已弃用:改用 task_id3564 "shell_id": str | None, # 已弃用:请改用 task_id

3564}3565}

3565```3566```

3566 3567 


3568 3569 

3569```python theme={null}3570```python theme={null}

3570{3571{

3571 "message": str, # 关于操作的状态消息3572 "message": str, # 关于该操作的状态消息

3572 "task_id": str, # 被停止的任务的 ID3573 "task_id": str, # 已停止任务的 ID

3573 "task_type": str, # 被停止的任务的类型3574 "task_type": str, # 已停止任务的类型

3574 "command": str | None, # 被停止的任务的命令或描述3575 "command": str | None, # 已停止任务的命令或描述

3575}3576}

3576```3577```

3577 3578 


3585 3586 

3586```python theme={null}3587```python theme={null}

3587{3588{

3588 "plan": str # 要提交给用户批准的计划3589 "plan": str # 要呈给用户过目以获得批准的计划

3589}3590}

3590```3591```

3591 3592 


3594```python theme={null}3595```python theme={null}

3595{3596{

3596 "plan": str | None, # 呈现给用户的计划3597 "plan": str | None, # 呈现给用户的计划

3597 "isAgent": bool, # 当子代理调用工具时为 True3598 "isAgent": bool, # 当子代理调用该工具时为 True

3598 "filePath": str | None, # 当计划被保存到文件时出现3599 "filePath": str | None, # 当计划已保存到文件时存在

3599 "hasTaskTool": bool | None, # 可选;Agent 工具是否在当前上下文中可用3600 "hasTaskTool": bool | None, # 可选;Agent 工具在当前上下文中是否可用

3600 "planWasEdited": bool | None, # 当用户在批准前编辑了计划时出现且为 True3601 "planWasEdited": bool | None, # 当用户在批准之前编辑了计划时存在,值为 True

3601 "awaitingLeaderApproval": bool | None, # 当队友将计划发送给团队负责人以获得批准时出现且为 True3602 "awaitingLeaderApproval": bool | None, # 当队友将计划发送给团队负责人批准时存在,值为 True

3602 "requestId": str | None, # 该批准请求的可选 ID3603 "requestId": str | None, # 可选;该批准请求的 ID

3603}3604}

3604```3605```

3605 3606 


3613 3614 

3614```python theme={null}3615```python theme={null}

3615{3616{

3616 "server": str | None # 可选的服务器名称以按其过滤资源3617 "server": str | None # 可选;用于过滤资源的服务器名称

3617}3618}

3618```3619```

3619 3620 

3620结果是一个列表而不是 dict,所以 `tool_use_result` 为此工具保存一个 `list`。3621结果是一个列表而不是 dict,因此对于此工具,`tool_use_result` 包含一个 `list`。

3621 3622 

3622**输出:**3623**输出:**

3623 3624 


3626 {3627 {

3627 "uri": str, # 资源 URI3628 "uri": str, # 资源 URI

3628 "name": str, # 资源名称3629 "name": str, # 资源名称

3629 "mimeType": str | None, # 可选 MIME 类型3630 "mimeType": str | None, # 可选的 MIME 类型

3630 "description": str | None, # 可选描述3631 "description": str | None, # 可选的描述

3631 "server": str, # 提供此资源的服务器3632 "server": str, # 提供此资源的服务器

3632 }3633 }

3633]3634]


3655 "contents": [3656 "contents": [

3656 {3657 {

3657 "uri": str, # 资源 URI3658 "uri": str, # 资源 URI

3658 "mimeType": str | None, # 可选 MIME 类型3659 "mimeType": str | None, # 可选的 MIME 类型

3659 "text": str | None, # 文本内容,或关于二进制内容的注释3660 "text": str | None, # 文本内容,或关于二进制内容的说明

3660 "blobSavedTo": str | None, # 当 Claude Code 将二进制内容保存到磁盘时出现;保存文件的路径3661 "blobSavedTo": str | None, # 当 Claude Code 将二进制内容保存到磁盘时存在;为所保存文件的路径

3661 }3662 }

3662 ],3663 ],

3663 "error": str | None, # 当服务器无法读取资源时出现3664 "error": str | None, # 当服务器无法读取该资源时存在

3664}3665}

3665```3666```

3666 3667 

agent-teams.md +2 −0

Details

1593. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/zh-CN/model-config#environment-variables),当它设置为除 `inherit` 之外的任何值时。1593. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/zh-CN/model-config#environment-variables),当它设置为除 `inherit` 之外的任何值时。

1604. 负责人的当前模型。1604. 负责人的当前模型。

161 161 

162如果已安装的 [mod](/docs/zh-CN/plugins/mods/overview) 在其 [`agent.spawn`](/docs/zh-CN/plugins/mods/reference#subagents) hook 中设置了模型,Claude Code 会使用该模型代替第一个来源。

163 

162如果你设置 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](/docs/zh-CN/sub-agents#run-every-subagent-on-one-model),前两个来源不适用。当 Claude Code 设置为除 `inherit` 之外的任何值时,Claude Code 从 `CLAUDE_CODE_SUBAGENT_MODEL` 为每个队友选择模型,否则从负责人的当前模型选择。需要 Claude Code v2.1.257 或更高版本。164如果你设置 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`](/docs/zh-CN/sub-agents#run-every-subagent-on-one-model),前两个来源不适用。当 Claude Code 设置为除 `inherit` 之外的任何值时,Claude Code 从 `CLAUDE_CODE_SUBAGENT_MODEL` 为每个队友选择模型,否则从负责人的当前模型选择。需要 Claude Code v2.1.257 或更高版本。

163 165 

164在 v2.1.251 之前,`CLAUDE_CODE_SUBAGENT_MODEL` 在此顺序中排在第一位。166在 v2.1.251 之前,`CLAUDE_CODE_SUBAGENT_MODEL` 在此顺序中排在第一位。

agent-view.md +8 −5

Details

226 226 

227在窥视面板中输入回复并按 `Enter` 将其发送到该会话。在回复前加上 `!` 可改为发送 Bash 命令。回复的处理方式取决于会话以及您发送的内容:227在窥视面板中输入回复并按 `Enter` 将其发送到该会话。在回复前加上 `!` 可改为发送 Bash 命令。回复的处理方式取决于会话以及您发送的内容:

228 228 

229* 正在工作的会话:回复会加入会话的[消息队列](/docs/zh-CN/interactive-mode#queue-messages-while-claude-works)而不是打断回复,并[在排队输入生效时](/docs/zh-CN/interactive-mode#when-claude-code-sends-what-you-queued)生效。[命令](/docs/zh-CN/commands)会等待当前轮次结束,即使是在会话自身的提示符处输入后会立即运行的命令229* 正在工作的会话:`/model`、`/effort`、`/rename` 和 `/usage` 会立即运行。其他回复会加入会话的[消息队列](/docs/zh-CN/interactive-mode#queue-messages-while-claude-works)而不是打断回复,并[在排队输入生效时](/docs/zh-CN/interactive-mode#when-claude-code-sends-what-you-queued)生效。其他[命令](/docs/zh-CN/commands)会等待当前轮次结束,即使是在会话自身的提示符处输入后会立即运行的命令

230* 恰好为 `/stop` 的回复:立即停止会话,而不是发送给会话,无论会话正在工作还是在等待您230* 恰好为 `/stop` 的回复:立即停止会话,而不是发送给会话,无论会话正在工作还是在等待您

231* [shell 作业](#run-a-shell-command):回复(包括 `/stop`)会作为键入的输入发送到该命令的终端231* [shell 作业](#run-a-shell-command):回复(包括 `/stop`)会作为键入的输入发送到该命令的终端

232 232 


288 288 

289在您用方向键或鼠标移动选择后,您按下 `←` 时所在的行仍会保持粗体、不暗淡的名称,便于您辨认自己来自哪个会话。289在您用方向键或鼠标移动选择后,您按下 `←` 时所在的行仍会保持粗体、不暗淡的名称,便于您辨认自己来自哪个会话。

290 290 

291如果按 `←` 时有工具正在运行,Claude Code 会最多等待约十秒让其完成后再转入后台,Claude 会在后台会话中继续回复。再按一次 `←` 可立即转入后台而不等待。当进行中的工作无法转移到后台会话时,Claude Code 会先显示 `Background this session?` 对话框,与 [`/background`](#from-inside-a-session) 相同。291如果按 `←` 时有工具正在运行,Claude Code 会等待其完成后再转入后台,Claude 会在后台会话中继续回复。再按一次 `←` 可立即转入后台而不等待。当进行中的工作无法转移到后台会话时,Claude Code 会先显示 `Background this session?` 对话框,与 [`/background`](#from-inside-a-session) 相同。

292 292 

293当 Claude 在对话中启动的[前台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background)仍在运行时,十秒限制不适用。Claude Code 会继续等待以便转移它们的工作,并在等待期间显示 `Still backgrounding after the current tool` 通知。再按一次 `←` 可不等待直接转入后台,这会从头重新启动这些子代理。Claude Code 不会等待[动态工作流](/docs/zh-CN/workflows)正在运行的子代理。当工作流有子代理正在运行时,Claude Code 会改为显示 `Background this session?` 对话框。293大约十秒后,Claude Code 会不再等待,直接将会话转入后台,但以下情况等除外:

294 294 

295当提示输入框中有未发送的文本时,Claude Code 不会将会话转入后台,因为这些文本会留在终端的输入框中,不会移到后台会话。如果您在 Claude Code 等待转入后台期间在输入框中输入内容,它会取消切换并显示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`295* **前台子代理仍在运行**:Claude Code 会继续等待,以便 Claude 启动的[前台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background)的工作能够转移,并显示 `Still backgrounding after the current tool`。再按一次 `←` 可不等待直接转入后台,这会从头重新启动这些子代理。

296* **有权限提示或问题在等待您的回答**:当权限提示或 Claude 提出的问题处于等待状态时,Claude Code 会继续等待并显示 `Still backgrounding after the current tool — a question is waiting for your answer.`

297* **您在提示输入框中输入内容**:Claude Code 会取消切换,因为未发送的文本会留在终端的输入框中,不会移到后台会话。它会显示 `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`

296 298 

297即使对话还没有任何消息,按 `←` 也会创建该会话的行,因此 `→` 仍可返回该会话。299即使对话还没有任何消息,按 `←` 也会创建该会话的行,因此 `→` 仍可返回该会话。

298 300 


876 878 

877每个会话都是监督进程下的独立 Claude Code 进程,该进程发生的情况取决于会话的状态:879每个会话都是监督进程下的独立 Claude Code 进程,该进程发生的情况取决于会话的状态:

878 880 

879* **工作中、暂停在权限提示或其他对话框上,或已连接**:进程继续运行。运行中的子代理、工作流或监视器计为工作中。881* **工作中、暂停在权限提示或其他对话框上,或已连接**:进程继续运行。运行中的子代理、工作流或监视器计为工作中,待执行的[会话范围定时任务](/docs/zh-CN/scheduled-tasks)(例如 `/loop` 唤醒)也同样计为工作中。

880* **已完成或等待您的下一条消息,且未连接约一小时**:监督进程停止该进程以释放资源。以向您提问结束其轮次的会话计为等待您的下一条消息。对话保存在磁盘上,下次您连接或回复时,会话从中断处恢复。使用 `Ctrl+T` 固定会话以保持其进程运行。882* **已完成或等待您的下一条消息,且未连接约一小时**:监督进程停止该进程以释放资源。以向您提问结束其轮次的会话计为等待您的下一条消息。对话保存在磁盘上,下次您连接或回复时,会话从中断处恢复。使用 `Ctrl+T` 固定会话以保持其进程运行。

881* **在监督进程运行时意外退出**:监督进程重新启动该进程。如果通过 `kill` 等方式结束您自己使用 `←` 或 `/background` 后台化的会话,该会话会被标记为已停止,而不是重新启动。对于以关闭结束的会话,请参阅[会话在关闭后显示为失败或已停止](#sessions-show-as-failed-after-shutdown)。883* **在监督进程运行时意外退出**:监督进程重新启动该进程。如果通过 `kill` 等方式结束您自己使用 `←` 或 `/background` 后台化的会话,该会话会被标记为已停止,而不是重新启动。对于以关闭结束的会话,请参阅[会话在关闭后显示为失败或已停止](#sessions-show-as-failed-after-shutdown)。

882* **自动更新后**:监督进程重新启动自身到新版本,并在后台移动空闲会话。工作中、等待您或已连接的会话不会被中断。884* **自动更新后**:监督进程重新启动自身到新版本,并在后台移动空闲会话。工作中、等待您或已连接的会话不会被中断。


1093| 版本 | 更改 |1095| 版本 | 更改 |

1094| - | - |1096| - | - |

1095| v2.1.290 | [`claude attach` 和 `claude logs`](#manage-sessions-from-the-shell) 可以使用正在运行的会话名称的一部分来代替 ID。 |1097| v2.1.290 | [`claude attach` 和 `claude logs`](#manage-sessions-from-the-shell) 可以使用正在运行的会话名称的一部分来代替 ID。 |

1098| v2.1.290 | `/model`、`/effort`、`/rename` 和 `/usage` 作为[窥视回复](#peek-and-reply)发送给正在工作的会话时会立即运行。 |

1096| v2.1.288 | `Ctrl+F` 按名称查找会话,`Alt+↑` / `Alt+↓` 在组标题之间跳转。这两者以及 `Ctrl+R` 都可以[重新绑定](/docs/zh-CN/keybindings#agents-actions)。 |1099| v2.1.288 | `Ctrl+F` 按名称查找会话,`Alt+↑` / `Alt+↓` 在组标题之间跳转。这两者以及 `Ctrl+R` 都可以[重新绑定](/docs/zh-CN/keybindings#agents-actions)。 |

1097| v2.1.287 | [`n:<text>` 筛选器](#filter-sessions)按名称或第一个提示词查找会话。当任何筛选器处于活动状态时,您折叠的组会展开以显示其匹配项,并且第一个匹配项被选中,因此 `Enter` 会打开它。 |1100| v2.1.287 | [`n:<text>` 筛选器](#filter-sessions)按名称或第一个提示词查找会话。当任何筛选器处于活动状态时,您折叠的组会展开以显示其匹配项,并且第一个匹配项被选中,因此 `Enter` 会打开它。 |

1098| v2.1.287 | 作为[窥视回复](#peek-and-reply)发送的命令会在会话当前轮次结束时运行,包括在会话自身的输入框中一键入就立即运行的命令。内容恰好为 `/stop` 的回复会立即停止会话。 |1101| v2.1.287 | 作为[窥视回复](#peek-and-reply)发送的命令会在会话当前轮次结束时运行,包括在会话自身的输入框中一键入就立即运行的命令。内容恰好为 `/stop` 的回复会立即停止会话。 |

amazon-bedrock.md +45 −10

Details

136 2. 配置 AWS 凭证136 2. 配置 AWS 凭证

137</h3>137</h3>

138 138 

139Claude Code 使用默认 AWS SDK 凭证链。使用以下方法之一设置您的凭证:139Claude Code 使用默认 AWS SDK 凭据链。如果机器已经向该链提供凭据,例如 Amazon EC2 实例配置文件或 Amazon ECS 任务凭据,请直接跳到[第 3 步](#3-configure-claude-code)。

140 140 

141**选项 A:AWS CLI 配置**141AWS [不建议在开发专用软件或处理真实数据时使用 IAM 用户的访问密钥](https://docs.aws.amazon.com/cli/latest/userguide/cli-authentication-user.html)。使用以下方法之一设置您的凭据:

142 

143* [`aws configure`](#use-aws-configure):将 IAM 用户的访问密钥保存到 `~/.aws` 目录中的配置文件

144* [访问密钥环境变量](#export-an-access-key):仅在当前 shell 中设置访问密钥,或带会话令牌的临时凭据

145* [SSO 配置文件](#use-an-sso-profile):在浏览器中通过 IAM Identity Center 登录并获取临时凭据。如果您通过 IAM Identity Center 访问 AWS 账户,请使用此方法。

146* [AWS 管理控制台凭据](#use-aws-management-console-credentials):在浏览器中使用您的 AWS 管理控制台凭据登录并获取临时凭据。如果您以根用户、IAM 用户身份或通过 IAM 联合身份访问 AWS 账户,AWS [推荐此方法](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html)。

147* [Amazon Bedrock API 密钥](#use-an-amazon-bedrock-api-key):使用仅适用于 Amazon Bedrock 的持有者令牌进行身份验证,而不是使用 AWS 凭据

148 

149<h4 id="use-aws-configure">

150 使用 `aws configure`

151</h4>

152 

153运行 `aws configure`,并在提示时输入您的访问密钥 ID、秘密访问密钥和默认区域:

142 154 

143```bash theme={null}155```bash theme={null}

144aws configure156aws configure

145```157```

146 158 

147**选项 B:环境变量(访问密钥)**159AWS CLI 会将密钥保存到 `~/.aws/credentials` 中的 `default` 配置文件,凭据链会从那里读取它。

160 

161<h4 id="export-an-access-key">

162 导出访问密钥

163</h4>

164 

165将您的访问密钥导出为环境变量。`AWS_SESSION_TOKEN` 仅在使用临时凭据时需要,因此如果您的访问密钥属于 IAM 用户,请省略该行:

148 166 

149```bash theme={null}167```bash theme={null}

150export AWS_ACCESS_KEY_ID=your-access-key-id168export AWS_ACCESS_KEY_ID=your-access-key-id


152export AWS_SESSION_TOKEN=your-session-token170export AWS_SESSION_TOKEN=your-session-token

153```171```

154 172 

155**选项 C:环境变量(SSO 配置文件)**173<h4 id="use-an-sso-profile">

174 使用 SSO 配置文件

175</h4>

156 176 

157在运行这些命令之前,将 `your-profile-name` 替换为您的 AWS 配置文件的名称。177如果您还没有配置文件,请使用 `aws configure sso` 创建一个。然后登录 IAM Identity Center 并设置 `AWS_PROFILE`,使凭据链使用该配置文件。在运行这些命令之前,将 `your-profile-name` 替换为您的 AWS 配置文件的名称。

158 178 

159```bash theme={null}179```bash theme={null}

160aws sso login --profile=your-profile-name180aws sso login --profile=your-profile-name


164 184 

165Claude Code 从配置文件的 `sso_region` 命名的 IAM Identity Center 区域请求角色凭证,这不需要与您运行 Amazon Bedrock 的区域匹配。在 v2.1.207 中,Amazon Bedrock 区域覆盖了 `sso_region`,因此 IAM Identity Center 实例在不同区域的配置文件无法使用 `Session token not found or invalid` 错误进行身份验证。185Claude Code 从配置文件的 `sso_region` 命名的 IAM Identity Center 区域请求角色凭证,这不需要与您运行 Amazon Bedrock 的区域匹配。在 v2.1.207 中,Amazon Bedrock 区域覆盖了 `sso_region`,因此 IAM Identity Center 实例在不同区域的配置文件无法使用 `Session token not found or invalid` 错误进行身份验证。

166 186 

167**选项 D:AWS 管理控制台凭证**187<h4 id="use-aws-management-console-credentials">

188 使用 AWS 管理控制台凭据

189</h4>

190 

191`aws login` 命令需要 AWS CLI 2.32.0 或更高版本。有关您的身份所需的 IAM 策略,请参阅 [AWS 关于 `aws login` 的说明](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html)。

192 

193运行以下命令,在浏览器中使用您的 AWS 管理控制台凭据登录:

168 194 

169```bash theme={null}195```bash theme={null}

170aws login196aws login

171```197```

172 198 

173[了解更多](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html)关于 `aws login`。199会话最长有效 12 小时,之后需要再次运行 `aws login`。

200 

201<h4 id="use-an-amazon-bedrock-api-key">

202 使用 Amazon Bedrock API 密钥

203</h4>

204 

205Amazon Bedrock API 密钥是一种持有者令牌,可代替 AWS 凭据对您的请求进行身份验证。AWS 提供[两种类型的密钥](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html):

206 

207* **短期密钥**:最长有效 12 小时。对于生产环境,AWS 更推荐使用短期密钥而非长期密钥。

208* **长期密钥**:在您设置的到期日期之前一直有效。AWS 仅建议将其用于探索。

174 209 

175**选项 E:Amazon Bedrock API 密钥**210将密钥导出为 `AWS_BEARER_TOKEN_BEDROCK`:

176 211 

177```bash theme={null}212```bash theme={null}

178export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key213export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

179```214```

180 215 

181Amazon Bedrock API 密钥提供了一种更简单的身份验证方法,无需完整的 AWS 凭证。[了解更多关于 Amazon Bedrock API 密钥](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)。216设置 `AWS_BEARER_TOKEN_BEDROCK` 后,Claude Code 会使用该密钥进行身份验证,并且不会解析凭据链,即使存在其他 AWS 凭据也是如此。[了解更多关于 Amazon Bedrock API 密钥](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)。

182 217 

183<h4 id="credential-caching-and-resolution-timeout">218<h4 id="credential-caching-and-resolution-timeout">

184 凭证缓存和解析超时219 凭证缓存和解析超时


186 221 

187Claude Code 解析 AWS 默认凭证提供程序链一次,并将解析的凭证保存在内存中。它重复使用这些凭证,直到它们过期前五分钟,或在没有过期时间时使用一小时,因此 SSO 支持的配置文件大约每个凭证生命周期从 IAM Identity Center 请求一次凭证。来自 API 的凭证错误会清除缓存,重试会解析新凭证。需要 Claude Code v2.1.207 或更高版本。222Claude Code 解析 AWS 默认凭证提供程序链一次,并将解析的凭证保存在内存中。它重复使用这些凭证,直到它们过期前五分钟,或在没有过期时间时使用一小时,因此 SSO 支持的配置文件大约每个凭证生命周期从 IAM Identity Center 请求一次凭证。来自 API 的凭证错误会清除缓存,重试会解析新凭证。需要 Claude Code v2.1.207 或更高版本。

188 223 

189缓存涵盖上述所有凭证选项,除了 Amazon Bedrock API 密钥,它不使用提供程序链。要在每个请求上解析链,请改为设置 [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/zh-CN/env-vars)。224缓存涵盖此步骤开头列出的所有凭据方法,但 Amazon Bedrock API 密钥除外,它不使用提供程序链。要在每个请求上解析链,请改为设置 [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/zh-CN/env-vars)。

190 225 

191填充缓存的解析在 60 秒后超时。如果链中的某个步骤停滞,例如等待无法接收的输入的 `credential_process` 帮助程序,请求会失败并显示 [`AWS default-chain credential resolve timed out`](/docs/zh-CN/errors#aws-default-chain-credential-resolve-timed-out)。如果您的链运行合法需要更长时间的交互式登录,例如通过 `aws-vault` 等包装器进行基于浏览器的 SSO 和 MFA,请使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-CN/env-vars) 以毫秒为单位提高限制。设置 `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` 后,每个 API 请求解析链时不受此限制。226填充缓存的解析在 60 秒后超时。如果链中的某个步骤停滞,例如等待无法接收的输入的 `credential_process` 帮助程序,请求会失败并显示 [`AWS default-chain credential resolve timed out`](/docs/zh-CN/errors#aws-default-chain-credential-resolve-timed-out)。如果您的链运行合法需要更长时间的交互式登录,例如通过 `aws-vault` 等包装器进行基于浏览器的 SSO 和 MFA,请使用 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/zh-CN/env-vars) 以毫秒为单位提高限制。设置 `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1` 后,每个 API 请求解析链时不受此限制。

192 227 

Details

303 在您拥有的公共地址空间上允许网关303 在您拥有的公共地址空间上允许网关

304</h3>304</h3>

305 305 

306某些组织从他们拥有的公共 IPv4 块对其内部网络进行编号,例如运营商自己的地址空间或遗留的 `/8`,因此他们的网关不能有私有地址。在 `gatewayInternalNetworks` 托管设置中列出这些块。当开发人员的机器从同一块内的地址连接到它时,`/login` 然后接受列出块内的网关。这需要开发人员机器上的 Claude Code v2.1.268 或更高版本;早期版本忽略该密钥并应用私有地址规则。306某些组织从他们拥有的公共 IPv4 块对其内部网络进行编号,例如运营商自己的地址空间或遗留的 `/8`,因此他们的网关没有私有地址。在 `gatewayInternalNetworks` 托管设置中列出这些块。当开发人员的机器从同一块内的地址连接到它时,`/login` 然后接受列出块内的网关。这需要开发人员机器上的 Claude Code v2.1.268 或更高版本;早期版本忽略该设置项并应用私有地址规则。

307 307 

308<Warning>308<Warning>

309 `gatewayInternalNetworks` 用于恰好从公共地址空间编号的内部网络。它不会使将网关暴露到互联网变得安全:受信任的网关可以推送在开发人员机器上运行命令的设置。309 `gatewayInternalNetworks` 用于恰好从公共地址空间编号的内部网络。它不会使将网关暴露到互联网变得安全:受信任的网关可以推送在开发人员机器上运行命令的设置。

Details

6 6 

7> 向身份提供商注册网关,构建容器,在 Kubernetes 或 Cloud Run 上部署,并运维它:健康检查、密钥轮换、升级和安全。7> 向身份提供商注册网关,构建容器,在 Kubernetes 或 Cloud Run 上部署,并运维它:健康检查、密钥轮换、升级和安全。

8 8 

9<Info>

10 **请先规划网关的网络。** 登录时,如果 Claude 应用网关的主机名解析为公共 IP 地址,Claude Code 会拒绝连接,即使该地址无法从互联网访问也是如此。

11 

12 Claude 应用网关可以向用户的机器推送设置,包括运行 shell 命令的 hook。此检查有助于防止用户意外登录到公共互联网上的恶意网关。也请不要让您自己的网关暴露在互联网上。

13 

14 在选择网关的运行位置之前,请先选择网关的地址。通常这是一个私有地址,用户可以在内部网络上或通过 VPN 访问。如果您的内部网络使用公共 IPv4 地址段,您可以列出一个同时包含网关和用户机器的地址段。Claude Code 会将该匹配视为网关位于您内部网络上的标志。请参阅 [为网关选择地址](#choose-an-address-for-the-gateway)。如果以上两种方式都不适合您的网络,请联系您的 Anthropic 客户团队。

15</Info>

16 

9本页面涵盖运行 [Claude 应用网关](/docs/zh-CN/claude-apps-gateway) 的运维方面:在身份提供商 (IdP) 中注册 OAuth 客户端、将网关部署为容器,以及日常运行。关于网关在启动时读取的 `gateway.yaml` 文件中的每个选项,请参阅 [配置参考](/docs/zh-CN/claude-apps-gateway-config)。17本页面涵盖运行 [Claude 应用网关](/docs/zh-CN/claude-apps-gateway) 的运维方面:在身份提供商 (IdP) 中注册 OAuth 客户端、将网关部署为容器,以及日常运行。关于网关在启动时读取的 `gateway.yaml` 文件中的每个选项,请参阅 [配置参考](/docs/zh-CN/claude-apps-gateway-config)。

10 18 

11生产部署按顺序遵循四个步骤,下面的部分与之相对应。前两个是您做出选择的地方;后两个是在运行后参考的材料。19生产部署按顺序遵循四个步骤,下面的部分与之相对应。前两个是您做出选择的地方;后两个是在运行后参考的材料。


17 25 

18如果在此过程中登录或启动失败,请直接转到 [故障排除](#troubleshooting),该部分按您看到的错误进行索引。26如果在此过程中登录或启动失败,请直接转到 [故障排除](#troubleshooting),该部分按您看到的错误进行索引。

19 27 

20<Note>

21 **在您的私有网络上部署。** Claude Code 仅连接到地址为私有的网关。这是一个安全防护,因为受信任的网关可以推送在开发者机器上运行命令的设置。将网关放在内部负载均衡器或 VPN 后面,并为其分配一个仅解析为私有 IP 的主机名。如果您的内部网络是从您的组织拥有的公共 IPv4 空间编号的,请参阅 [允许网关在您拥有的公共地址空间上运行](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)。

22</Note>

23 

24<h2 id="identity-provider-setup">28<h2 id="identity-provider-setup">

25 身份提供商设置29 身份提供商设置

26</h2>30</h2>


51 部署55 部署

52</h2>56</h2>

53 57 

54网关是一个单一的无状态 Linux 二进制文件,通过 Postgres 进行协调,因此按照您在环境中部署任何其他无状态服务的方式部署它。将其保持在您的网络内,您的开发者和 IdP 可以通过 HTTPS 到达它,并将其视为任何持有生产凭证的服务。58网关是一个单一的无状态 Linux 二进制文件,通过 Postgres 进行协调,因此按照您在环境中部署任何其他无状态服务的方式部署它。将其保持在您的网络内,您的开发者和 IdP 可以通过 HTTPS 到达它,并将其视为任何持有生产凭据的服务。

55 59 

56除了运行位置外,还有一些决策塑造部署:60除了运行位置外,还有一些决策塑造部署:

57 61 


71 75 

72默认值(如 ALB 的 60 秒)足以保持安静的流打开。[AWS 工作示例](/docs/zh-CN/claude-apps-gateway-on-aws#troubleshooting) 无论如何将其提高到一小时,其故障排除行涵盖早于 v2.1.229 的网关,这些网关在现在获得 ping 的上游上的安静期间没有发送任何内容。76默认值(如 ALB 的 60 秒)足以保持安静的流打开。[AWS 工作示例](/docs/zh-CN/claude-apps-gateway-on-aws#troubleshooting) 无论如何将其提高到一小时,其故障排除行涵盖早于 v2.1.229 的网关,这些网关在现在获得 ping 的上游上的安静期间没有发送任何内容。

73 77 

78<h3 id="choose-an-address-for-the-gateway">

79 为网关选择地址

80</h3>

81 

82Claude Code 通过以下两种方式之一接受网关的地址:

83 

84* **私有地址**:将网关置于内部负载均衡器或 VPN 之后,并使用仅解析为私有地址(如 RFC 1918 或 CGNAT `100.64.0.0/10`)的主机名。用户的机器可以使用任何地址。[私有网络前提条件](/docs/zh-CN/claude-apps-gateway#prerequisites) 列出了可接受的地址范围。

85* **声明的地址块**:如果您的内部网络使用贵组织拥有的公共 IPv4 地址空间,请在 `gatewayInternalNetworks` 托管设置中列出该地址块。网关和用户的机器都必须位于该地址块内。请参阅 [允许网关使用您拥有的公共地址空间](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)。

86 

87如果没有单个地址块能同时包含两者,请改为给网关分配私有地址。

88 

74<h3 id="container-image">89<h3 id="container-image">

75 容器镜像90 容器镜像

76</h3>91</h3>


375 故障排除390 故障排除

376</h2>391</h2>

377 392 

378如有问题和反馈,请使用 [Claude Code 支持](https://support.claude.com/en/collections/14445694-claude-code),或在 [Claude Code GitHub 仓库](https://github.com/anthropics/claude-code/issues)上提交问题。报告问题时,请包括:393如有问题和反馈,请使用 [Claude Code 支持](https://support.claude.com/en/collections/14445694-claude-code),或在 [Claude Code GitHub 仓库](https://github.com/anthropics/claude-code/issues)上提交问题。您也可以联系您的 Anthropic 客户团队。报告问题时,请包括:

379 394 

380* **网关问题**:相关时间窗口内网关的 stderr、您的 `gateway.yaml`(已隐藏密钥)、网关版本(显示在 `/` 的登陆页面和 `/managed/settings` 的 `x-cc-gateway-version` 响应头中),以及最近的更改395* **网关问题**:相关时间窗口内网关的 stderr、您的 `gateway.yaml`(已隐藏密钥)、网关版本(显示在 `/` 的登陆页面和 `/managed/settings` 的 `x-cc-gateway-version` 响应头中),以及最近的更改

381* **登录问题**:开发者运行 `claude --debug-file ./claude-debug.txt`、重现问题,然后发送该文件以及同一时间窗口内网关的审计日志396* **登录问题**:开发者运行 `claude --debug-file ./claude-debug.txt`、重现问题,然后发送该文件以及同一时间窗口内网关的审计日志


394| CLI `/login`:`The gateway is limiting sign-in attempts right now`,或在较旧版本上 `Request failed with status code 429`。`/device` 页面可能向尚未尝试过的开发者显示 `Too many attempts` | 达到了每 IP 登录速率限制。要么 `listen.trusted_proxies` 不覆盖负载均衡器,所以每个开发者共享其地址,要么许多开发者共享一个 NAT 或 VPN 出口地址。具有 `result: rate_limited` 的审计事件显示相同的一个或几个 `client_ip` 值。 | 首先将 `listen.trusted_proxies` 设置为负载均衡器的源范围,然后如果开发者仍然共享地址,提高 `rate_limits`。请参阅[大规模推出](#large-rollouts)。 |409| CLI `/login`:`The gateway is limiting sign-in attempts right now`,或在较旧版本上 `Request failed with status code 429`。`/device` 页面可能向尚未尝试过的开发者显示 `Too many attempts` | 达到了每 IP 登录速率限制。要么 `listen.trusted_proxies` 不覆盖负载均衡器,所以每个开发者共享其地址,要么许多开发者共享一个 NAT 或 VPN 出口地址。具有 `result: rate_limited` 的审计事件显示相同的一个或几个 `client_ip` 值。 | 首先将 `listen.trusted_proxies` 设置为负载均衡器的源范围,然后如果开发者仍然共享地址,提高 `rate_limits`。请参阅[大规模推出](#large-rollouts)。 |

395| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 网关主机名解析为至少一个公网 IP 地址。Claude Code 检查每个解析的地址,要求每个都是私网。常见原因是双栈名称,其中一个族解析为公网地址,包括 AWS 内部双栈负载均衡器,它们返回公网范围的 AAAA 地址。 | 让网关名称在开发者机器上仅解析为私网地址。对于双栈名称,删除公网范围的记录或提供单独的仅内部 DNS 名称。请参阅[私网前提条件](/docs/zh-CN/claude-apps-gateway#prerequisites)。如果地址是您的组织拥有并在内部使用的公网空间,请[声明该块](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)。 |410| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 网关主机名解析为至少一个公网 IP 地址。Claude Code 检查每个解析的地址,要求每个都是私网。常见原因是双栈名称,其中一个族解析为公网地址,包括 AWS 内部双栈负载均衡器,它们返回公网范围的 AAAA 地址。 | 让网关名称在开发者机器上仅解析为私网地址。对于双栈名称,删除公网范围的记录或提供单独的仅内部 DNS 名称。请参阅[私网前提条件](/docs/zh-CN/claude-apps-gateway#prerequisites)。如果地址是您的组织拥有并在内部使用的公网空间,请[声明该块](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)。 |

396| CLI `/login`:`Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` 或 `HTTP_PROXY` 适用于网关主机,且代理的主机名解析为公网地址。主机名仅解析为私网地址的代理是允许的,不会触发此错误 | 在开发者的机器上将网关主机添加到 `NO_PROXY`,以便连接是直接的,或使用主机名解析为私网地址的代理。消息会命名要添加的确切 `NO_PROXY` 条目 |411| CLI `/login`:`Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` 或 `HTTP_PROXY` 适用于网关主机,且代理的主机名解析为公网地址。主机名仅解析为私网地址的代理是允许的,不会触发此错误 | 在开发者的机器上将网关主机添加到 `NO_PROXY`,以便连接是直接的,或使用主机名解析为私网地址的代理。消息会命名要添加的确切 `NO_PROXY` 条目 |

397| CLI `/login`:`Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | 网关在 [`gatewayInternalNetworks`](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 中声明的块上,开发者的机器从该块外的地址到达它:VPN 地址池、容器或 WSL2 NAT 段,或不是您的网络 | 让开发者从您的网络上的主机 OS 运行 `/login`。如果显示的地址也是您的组织自己的公网空间,将网关的条目替换为覆盖两者的块,最多 `/8`;第二个重叠条目会被拒绝 |412| CLI `/login`:`Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | 网关在 [`gatewayInternalNetworks`](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 中声明的块上,开发者的机器从该块外的地址到达它:VPN 地址池、容器或 WSL2 NAT 段,或不是您的网络 | 让开发者从您的网络上的主机 OS 运行 `/login`。如果显示的地址也是您的组织自己的公网空间,将网关的条目替换为覆盖两者的块,最多 `/8`;第二个重叠条目会被拒绝。如果没有能覆盖两者的块,请参阅[为网关选择地址](#choose-an-address-for-the-gateway) |

398| CLI `/login`:`Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | 网关的名称解析为 [`gatewayInternalNetworks`](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 中声明的块外的地址:第二个站点,或双栈名称上的 IPv6 记录。在声明的块下,每条记录都必须在该单个 IPv4 块内,包括私网和 IPv6 地址 | 在开发者机器上仅为网关名称发布块内的记录,或提供单独的仅内部名称 |413| CLI `/login`:`Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | 网关的名称解析为 [`gatewayInternalNetworks`](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 中声明的块外的地址:第二个站点,或双栈名称上的 IPv6 记录。在声明的块下,每条记录都必须在该单个 IPv4 块内,包括私网和 IPv6 地址 | 在开发者机器上仅为网关名称发布块内的记录,或提供单独的仅内部名称 |

399| CLI `/login`:`<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 适用于声明块上的网关 | 在开发者的机器上,添加消息命名的 `NO_PROXY` 条目 |414| CLI `/login`:`<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | `HTTPS_PROXY` 或 `HTTP_PROXY` 适用于声明块上的网关 | 在开发者的机器上,添加消息命名的 `NO_PROXY` 条目 |

400| CLI `/login`:消息以 `gatewayInternalNetworks in managed settings` 开头 | 该值违反了[验证规则](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)之一,消息会命名哪一个。在您修复它之前,Claude Code 拒绝机器上的每个新网关 `/login`,包括私网上的网关;现有登录保持工作 | 在您部署的托管设置源中,更正消息命名的条目,然后重新运行 `/login` |415| CLI `/login`:消息以 `gatewayInternalNetworks in managed settings` 开头 | 该值违反了[验证规则](/docs/zh-CN/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)之一,消息会命名哪一个。在您修复它之前,Claude Code 拒绝机器上的每个新网关 `/login`,包括私网上的网关;现有登录保持工作 | 在您部署的托管设置源中,更正消息命名的条目,然后重新运行 `/login` |

Details

411 安全和隔离411 安全和隔离

412</h2>412</h2>

413 413 

414每个云会话通过多个层与你的机器和其他会话分离:414每个云端会话通过多个层与您的机器和其他会话分离:

415 415 

416* **隔离的虚拟机**:每个会话在隔离的、Anthropic 管理的 VM 中运行。你的组织路由到[自托管环境](/docs/zh-CN/self-hosted-environments)的会话改为在你自己的基础设施上运行,其中隔离是你的部署的责任416* **隔离的虚拟机**:每个会话在隔离的、Anthropic 管理的 VM 中运行。您的组织路由到[自托管环境](/docs/zh-CN/self-hosted-environments)的会话改为在您自己的基础设施上运行,其中隔离是您的部署的责任

417* <span id="default-allowed-domains" />**网络访问控制**:在 Anthropic 托管的环境中,网络访问默认受限,可以禁用。请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)了解访问级别、[默认允许的域](/docs/zh-CN/cloud-environments#default-allowed-domains)和不通过允许列表的流量。在自托管环境中,你在自己的网络边界处限制会话出口。当在禁用网络访问的情况下运行时,Claude Code 仍然可以与 Anthropic API 通信,这可能允许数据从 VM 中退出。417* <span id="default-allowed-domains" />**网络访问控制**:在 Anthropic 托管的环境中,网络访问默认受限,可以禁用。请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)了解访问级别、[默认允许的域](/docs/zh-CN/cloud-environments#default-allowed-domains)和不通过允许列表的流量。在自托管环境中,您在自己的网络边界处限制会话出口。当在禁用网络访问的情况下运行时,Claude Code 仍然可以与 Anthropic API 通信,这可能允许数据从 VM 中退出。

418* **凭证保护**:在 Anthropic 托管的环境中,git 凭证和签名密钥保持在沙箱外,代理使用作用域凭证代表会话进行身份验证。在自托管环境中,你的部署提供 git 凭证;请参阅[配置 git](/docs/zh-CN/self-hosted-environments-deploy#configure-git)418* **凭据保护**:在 Anthropic 托管的环境中,git 凭据和签名密钥保持在沙箱外,代理使用作用域凭据代表会话进行身份验证。在自托管环境中,您的部署提供 git 凭据;请参阅[配置 git](/docs/zh-CN/self-hosted-environments-deploy#configure-git)

419* **网络密钥**:在 Pro 和 Max 计划的 Anthropic 托管环境中,您[添加到云环境](/docs/zh-CN/cloud-environments#add-api-credentials)的密钥以相同的方式保持在沙箱外,在请求离开会话后附加到匹配的请求。自托管环境没有网络密钥,Team 和 Enterprise 计划目前也还没有419* **网络密钥**:在 Pro 和 Max 计划的 Anthropic 托管环境中,您[添加到云环境](/docs/zh-CN/cloud-environments#add-network-secrets)的密钥以相同的方式保持在沙箱外,在请求离开会话后附加到匹配的请求。自托管环境没有网络密钥,Team 和 Enterprise 计划目前也还没有

420* **安全分析**:代码在会话的隔离环境内分析和修改,然后创建 PR420* **安全分析**:代码在会话的隔离环境内分析和修改,然后创建 PR

421 421 

422<h2 id="troubleshooting">422<h2 id="troubleshooting">

Details

217 1. 配置 AWS 凭证217 1. 配置 AWS 凭证

218</h3>218</h3>

219 219 

220Claude Code 支持两种 AWS 上的 Claude Platform 身份验证方法。选择适合您的团队如何管理访问的方法。220Claude Code 支持两种 AWS 上的 Claude Platform 身份验证方法。请根据您的团队管理访问的方式选择合适的方法:

221 221 

222**选项 A:使用 SigV4 的 AWS 凭证**222* [使用 SigV4 的 AWS 凭据](#use-aws-credentials-with-sigv4):以 IAM 主体身份进行身份验证,凭据来自标准 AWS 凭据链

223* [工作区 API 密钥](#use-a-workspace-api-key):使用您在 AWS Console 中生成的长期有效密钥进行身份验证

224 

225<h4 id="use-aws-credentials-with-sigv4">

226 使用 SigV4 的 AWS 凭据

227</h4>

223 228 

224Claude Code 使用标准 AWS 凭证链使用 SigV4 对请求进行签名:环境变量、`~/.aws/credentials` 中的共享凭证、IAM 角色、AWS SSO 会话以及 AWS SDK 支持的任何其他来源。229Claude Code 使用标准 AWS 凭证链使用 SigV4 对请求进行签名:环境变量、`~/.aws/credentials` 中的共享凭证、IAM 角色、AWS SSO 会话以及 AWS SDK 支持的任何其他来源。

225 230 


244 249 

245配置了 `awsAuthRefresh` 后,运行 `/login`,选择 **3rd-party platform**,然后在 **Using 3rd-party platforms** 下选择 **Claude Platform on AWS · refresh credentials**。Claude Code 运行配置的命令并重新读取您的 AWS 凭证,无需重启。250配置了 `awsAuthRefresh` 后,运行 `/login`,选择 **3rd-party platform**,然后在 **Using 3rd-party platforms** 下选择 **Claude Platform on AWS · refresh credentials**。Claude Code 运行配置的命令并重新读取您的 AWS 凭证,无需重启。

246 251 

247**选项 B:工作区 API 密钥**252<h4 id="use-a-workspace-api-key">

253 使用工作区 API 密钥

254</h4>

248 255 

249工作区 API 密钥是一个长期有效的密钥,当您不想管理联合 AWS 凭证时很有用。在 AWS Console 中的 **Claude Platform on AWS → API keys** 下生成一个,并将其设置为 `ANTHROPIC_AWS_API_KEY`:256工作区 API 密钥是一个长期有效的密钥,当您不想管理联合 AWS 凭证时很有用。在 AWS Console 中的 **Claude Platform on AWS → API keys** 下生成一个,并将其设置为 `ANTHROPIC_AWS_API_KEY`:

250 257 

Details

398 398 

399每个新云线程都在项目的[云环境](/docs/zh-CN/cloud-environments)中启动。环境决定线程可以访问哪些域、它们拥有哪些环境变量、哪些网络密钥会被添加到它们的请求中,以及设置脚本在 Claude 启动之前安装什么。在您于 **Project settings > Environment** 中选择环境之前,云线程使用默认的 Anthropic 托管环境。399每个新云线程都在项目的[云环境](/docs/zh-CN/cloud-environments)中启动。环境决定线程可以访问哪些域、它们拥有哪些环境变量、哪些网络密钥会被添加到它们的请求中,以及设置脚本在 Claude 启动之前安装什么。在您于 **Project settings > Environment** 中选择环境之前,云线程使用默认的 Anthropic 托管环境。

400 400 

401如果云线程需要访问内部 API 或私有包注册表,或需要您的机器通常持有的令牌,请更改环境而不是项目:请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)、[添加网络密钥](/docs/zh-CN/cloud-environments#add-api-credentials)和[设置脚本](/docs/zh-CN/cloud-environments#setup-scripts)。401如果云线程需要访问内部 API 或私有包注册表,或需要您的机器通常持有的令牌,请更改环境而不是项目:请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)、[添加网络密钥](/docs/zh-CN/cloud-environments#add-network-secrets)和[设置脚本](/docs/zh-CN/cloud-environments#setup-scripts)。

402 402 

403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

404 将 skill、插件、连接器和工具引入线程404 将 skill、插件、连接器和工具引入线程

Details

4 4 

5# 配置云环境5# 配置云环境

6 6 

7> 为 Claude Code 云会话配置云环境:网络访问级别、环境变量、设置脚本和环境缓存。7> 为 Claude Code 云端会话配置云环境:网络访问级别、环境变量、设置脚本和环境缓存。

8 8 

9<Note>9<Note>

10 云环境适用于[云会话](/docs/zh-CN/claude-code-on-the-web),这些会话在 Pro、Max 和 Team 计划上可用,以及具有[高级席位或 Chat + Claude Code 席位](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan)的 Enterprise 用户。10 云环境适用于[云端会话](/docs/zh-CN/claude-code-on-the-web),这些会话在 Pro、Max 和 Team 计划上可用,以及具有[高级席位或 Chat + Claude Code 席位](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan)的 Enterprise 用户。

11</Note>11</Note>

12 12 

13每个[云端会话](/docs/zh-CN/claude-code-on-the-web)都在云环境中运行。您可以配置环境以允许或拒绝[网络访问](#access-levels)、为会话[设置环境变量](#set-environment-variables)、在 Pro 和 Max 计划上存储会话使用但无法看到的[网络密钥](#add-api-credentials),以及在 Claude 开始工作前运行[设置脚本](#setup-scripts)。13每个[云端会话](/docs/zh-CN/claude-code-on-the-web)都在云环境中运行。您可以配置环境以允许或拒绝[网络访问](#access-levels)、为会话[设置环境变量](#set-environment-variables)、在 Pro 和 Max 计划上存储会话使用但无法看到的[网络密钥](#add-network-secrets),以及在 Claude 开始工作前运行[设置脚本](#setup-scripts)。

14 14 

15相同的环境适用于您启动云会话的任何地方:[Desktop 应用](/docs/zh-CN/desktop)、[Claude 移动应用](/docs/zh-CN/mobile)、浏览器中的 [claude.ai/code](https://claude.ai/code)、终端中搭配 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud)、[例程](/docs/zh-CN/routines)和 [Claude Tag](https://claude.com/docs/claude-tag/overview)。这些界面中的每一个也可以路由到[自托管环境](/docs/zh-CN/self-hosted-environments)。[可用性和限制](/docs/zh-CN/self-hosted-environments#availability-and-limitations)涵盖了当 Claude Tag 会话在其中运行时 Claude 还不能使用的内容。15相同的环境适用于您启动云端会话的任何地方:[Desktop 应用](/docs/zh-CN/desktop)、[Claude 移动应用](/docs/zh-CN/mobile)、浏览器中的 [claude.ai/code](https://claude.ai/code)、终端中搭配 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud)、[Routine](/docs/zh-CN/routines) 和 [Claude Tag](https://claude.com/docs/claude-tag/overview)。这些使用入口中的每一个也可以路由到[自托管环境](/docs/zh-CN/self-hosted-environments)。[可用性和限制](/docs/zh-CN/self-hosted-environments#availability-and-limitations)涵盖了当 Claude Tag 会话在其中运行时 Claude 还不能使用的内容。

16 16 

17<Info>17<Info>

18 [Remote Control](/docs/zh-CN/remote-control) 会话将网页和移动界面连接到您自己机器上的会话,该会话使用您机器的网络和文件,而不是云环境。Claude Tag 频道会话仅使用组织级别的环境,即[共享环境](#organization-shared-environments)或[自托管环境](/docs/zh-CN/self-hosted-environments)。18 [Remote Control](/docs/zh-CN/remote-control) 会话将网页和移动界面连接到您自己机器上的会话,该会话使用您机器的网络和文件,而不是云环境。Claude Tag 频道会话仅使用组织级别的环境,即[共享环境](#organization-shared-environments)或[自托管环境](/docs/zh-CN/self-hosted-environments)。


41当默认环境不够用时,请配置环境:当 Claude 需要访问[默认允许列表](#default-allowed-domains)之外的域、需要为其会话设置环境变量,或需要在开始工作前安装依赖项时。41当默认环境不够用时,请配置环境:当 Claude 需要访问[默认允许列表](#default-allowed-domains)之外的域、需要为其会话设置环境变量,或需要在开始工作前安装依赖项时。

42 42 

43<h2 id="configure-your-environment">43<h2 id="configure-your-environment">

44 配置你的环境44 配置您的环境

45</h2>45</h2>

46 46 

47在环境选择器中创建、编辑和归档环境,你可以在[网页快速入门](/docs/zh-CN/web-quickstart)后从[claude.ai/code](https://claude.ai/code)访问它,或从[桌面应用](/docs/zh-CN/desktop#cloud-sessions)的提示框中访问。你创建的环境是你账户的个人环境;由所有者创建的[共享环境](#organization-shared-environments)会出现在同一个选择器中。查看[已安装的工具](#installed-tools)了解无需任何配置即可使用的工具。47在环境选择器中创建、编辑和归档环境。完成[网页快速入门](/docs/zh-CN/web-quickstart)后,您可以在 [claude.ai/code](https://claude.ai/code) 访问该选择器,也可以从[桌面应用](/docs/zh-CN/desktop#cloud-sessions)的输入框中访问。您创建的环境是您账户的个人环境;由所有者创建的[共享环境](#organization-shared-environments)会出现在同一个选择器中。查看[已安装的工具](#installed-tools),了解无需任何配置即可使用的工具。

48 48 

49<Steps>49<Steps>

50 <Step title="打开环境选择器">50 <Step title="打开环境选择器">

51 在[claude.ai/code](https://claude.ai/code)上,选择显示当前环境名称的云图标,它位于消息框上方的行中。选择器没有设置页面或直接URL。51 在 [claude.ai/code](https://claude.ai/code) 上,选择显示当前环境名称的云图标,它位于消息框上方的行中。选择器没有设置页面或直接 URL。

52 52 

53 <Frame>53 <Frame>

54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="环境选择器在claude.ai/code的消息框上方打开。显示环境名称Default的云按钮位于消息框上方的行中。打开的菜单列出了一个带有Download和Desktop only标签的Local行、一个Cloud部分,其中Default环境被选中并显示一个复选标记,悬停时显示一个设置齿轮图标、一个Add cloud environment选项,以及一个带有设置说明的Remote Control部分。" width="1672" height="682" data-path="images/cloud-environment-selector.png" />54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="环境选择器在 claude.ai/code 的消息框上方打开。显示环境名称 Default 的云按钮位于消息框上方的行中。打开的菜单列出了一个带有 Download 和 Desktop only 标签的 Local 行、一个 Cloud 部分(其中 Default 环境被选中并显示复选标记,悬停时显示设置齿轮图标)、一个 Add cloud environment 选项,以及一个带有设置说明的 Remote Control 部分。" width="1672" height="682" data-path="images/cloud-environment-selector.png" />

55 </Frame>55 </Frame>

56 </Step>56 </Step>

57 57 

58 <Step title="添加或编辑环境">58 <Step title="添加或编辑环境">

59 选择**Cloud**来列出你的环境。然后选择**Add cloud environment**,或悬停在现有环境上并选择右侧出现的设置图标。59 选择 **Cloud** 来列出您的环境。然后选择 **Add cloud environment**,或悬停在现有环境上并选择右侧出现的设置图标。

60 60 

61 对话框包括名称、网络访问级别、环境变量和设置脚本。当您在 Pro 或 Max 计划上编辑现有的云环境时,对话框还包括[网络机密](#add-api-credentials)。61 对话框包括名称、网络访问级别、环境变量和设置脚本。当您在 Pro 或 Max 计划上编辑现有的云环境时,对话框还包括[网络机密](#add-network-secrets)。

62 62 

63 <Frame>63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="New cloud environment对话框。一个Name字段,占位符为Default,一个Network access选择器设置为Trusted,带有网络策略和访问级别的链接,一个Environment variables框显示.env格式占位符文本,并注明值对使用该环境的任何人都可见,一个Setup script框描述为在新会话启动时运行的Bash脚本,在Claude Code启动之前,以及Cancel和Create environment按钮。" width="874" height="1372" data-path="images/cloud-environment-dialog.png" />64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="New cloud environment 对话框。一个占位符为 Default 的 Name 字段;一个设置为 Trusted 的 Network access 选择器,带有网络策略和访问级别的链接;一个 Environment variables 框,显示 .env 格式的占位符文本,并注明值对使用该环境的任何人都可见;一个 Setup script 框,描述为在新会话启动时、Claude Code 启动之前运行的 Bash 脚本;以及 Cancel 和 Create environment 按钮。" width="874" height="1372" data-path="images/cloud-environment-dialog.png" />

65 </Frame>65 </Frame>

66 </Step>66 </Step>

67</Steps>67</Steps>


70 设置环境变量70 设置环境变量

71</h3>71</h3>

72 72 

73环境变量使用`.env`格式,每行一个`KEY=value`对。普通值不需要引号,如果你用匹配的一对引号引用一个值,引号不会成为该值的一部分。引用跨越多行或包含`#`的值:在未引用的值中,`#`开始注释,该行的其余部分被丢弃。73环境变量使用 `.env` 格式,每行一个 `KEY=value` 对。普通值不需要引号,如果您用匹配的一对引号引用一个值,引号不会成为该值的一部分。跨越多行或包含 `#` 的值需要加引号:在未加引号的值中,`#` 会开始注释,该行的其余部分会被丢弃。

74 74 

75以下示例定义了三个变量。75以下示例定义了三个变量。

76 76 


80DATABASE_URL=postgres://localhost:5432/myapp80DATABASE_URL=postgres://localhost:5432/myapp

81```81```

82 82 

83会话在创建时将环境的值读入普通环境变量中,Claude运行的任何命令都可以读取这些变量,除了`OTEL_*`变量。Claude Code使用这些变量进行自己的[遥测导出](/docs/zh-CN/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag),不会将它们传递给它运行的命令。83会话会将环境的值读入普通环境变量中,Claude 运行的任何命令都可以读取这些变量,`OTEL_*` 变量除外。Claude Code 使用这些变量进行自己的[遥测导出](/docs/zh-CN/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag),不会将它们传递给它运行的命令。

84 84 

85在Anthropic托管的环境中,会话在创建时读取环境的值,以及之后每次Claude Code在会话的VM中启动时读取,这发生在两种情况下:85在 Anthropic 托管的环境中,会话在创建时读取环境的值,之后每次 Claude Code 在会话的 VM 中启动时也会再次读取,这发生在两种情况下:

86 86 

87* **VM在空闲后被恢复**:在几分钟没有活动后,会话的VM会暂停,其文件被保存。你的下一条消息会恢复同一个VM并再次启动Claude Code。87* **VM 在空闲后被恢复**:在几分钟没有活动后,会话的 VM 会暂停,其文件会被保存。您的下一条消息会恢复同一个 VM 并再次启动 Claude Code。

88* **VM被回收并被重建**:如果暂停的VM已经被[回收](/docs/zh-CN/claude-code-on-the-web#environment-expired),重新打开会话会配置一个新的VM。88* **VM 被回收并被重建**:如果暂停的 VM 已经被[回收](/docs/zh-CN/claude-code-on-the-web#environment-expired),重新打开会话会配置一个新的 VM。

89 89 

90编辑、添加或删除变量后,Anthropic托管环境中的现有会话会保持它最后读取的值,直到其VM下次被恢复或重建,然后使用你的更改。其VM在会话空闲后会自动暂停,你无法自己暂停它。要立即使用新值,请要求Claude在它运行的命令上设置它,例如`LOG_LEVEL=trace npm test`,或启动一个新会话。90编辑、添加或删除变量后,Anthropic 托管环境中的现有会话会保持它最后读取的值,直到其 VM 下次被恢复或重建,此后才使用您的更改。会话空闲后其 VM 会自动暂停,您无法手动暂停它。要立即使用新值,请要求 Claude 在它运行的命令上设置该值,例如 `LOG_LEVEL=trace npm test`,或启动一个新会话。

91 91 

92云会话在启动时也会自己设置一些变量。对于[`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-CN/claude-code-on-the-web#manage-context),会话设置的值会覆盖你在这里添加的值,所以在这里添加该键没有效果。92云端会话在启动时也会自行设置一些变量。对于 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-CN/claude-code-on-the-web#manage-context),会话设置的值会覆盖您在这里添加的值,因此在这里添加该键没有效果。

93 93 

94使用该环境的任何人都可以读取这些值。在 Pro 和 Max 计划上,对于 Agent 代理可以附加到请求中的密钥,请改用[网络机密](#add-api-credentials)。[永远不会获得机密的请求](#requests-that-never-get-the-credential)在该处列出。94使用该环境的任何人都可以读取这些值。在 Pro 和 Max 计划上,对于 Agent 代理可以附加到请求中的密钥,请改用[网络机密](#add-network-secrets)。[永远不会获得机密的请求](#requests-that-never-get-the-credential)在该处列出。

95 95 

96<h3 id="add-api-credentials">96<span id="add-api-credentials" />

97 

98<h3 id="add-network-secrets">

97 添加网络机密99 添加网络机密

98</h3>100</h3>

99 101 


107 109 

108以下要求决定您是否可以添加机密,以及添加后 Agent 代理是否可以使用它:110以下要求决定您是否可以添加机密,以及添加后 Agent 代理是否可以使用它:

109 111 

110* **Role**:你的claude.ai组织中的组织管理员角色112* **Role**:您的 claude.ai 组织中的组织管理员角色

111 * 在Team和Enterprise上,所有者持有它,管理员没有113 * 在 Team 和 Enterprise 上,所有者持有该角色,管理员(Admin)不持有

112 * 在Pro和Max上,你在自己的组织中持有它114 * 在 Pro 和 Max 上,您在自己的组织中持有该角色

113* **Environment type**:一个已存在的 Anthropic 托管云环境。[自托管环境](/docs/zh-CN/self-hosted-environments)没有网络机密115* **Environment type**:一个已存在的 Anthropic 托管云环境。[自托管环境](/docs/zh-CN/self-hosted-environments)没有网络机密

114* **API reachability**:API接受来自互联网的连接,因为请求来自Anthropic的网络116* **API reachability**:API 接受来自互联网的连接,因为请求从 Anthropic 的网络发出

115* **Encryption keys**:如果您的组织使用客户管理的加密密钥,则无法保存网络机密117* **Encryption keys**:如果您的组织使用客户管理的加密密钥,则无法保存网络机密

116 118 

117<h4 id="add-a-credential">119<h4 id="add-a-credential">


155Agent 代理永远不会将您添加的机密附加到以下请求:157Agent 代理永远不会将您添加的机密附加到以下请求:

156 158 

157* **GitHub**:[GitHub 代理](#github-proxy)会代为对发往 GitHub 的请求进行身份验证,因此您无需为其设置网络机密159* **GitHub**:[GitHub 代理](#github-proxy)会代为对发往 GitHub 的请求进行身份验证,因此您无需为其设置网络机密

158* **Anthropic API和公共包注册表**:`api.anthropic.com`、`registry.npmjs.org`、`jsr.io`、`npm.jsr.io`、`pypi.org`、`files.pythonhosted.org`、`index.crates.io`和`proxy.golang.org`160* **Anthropic API 和公共包注册表**:`api.anthropic.com`、`registry.npmjs.org`、`jsr.io`、`npm.jsr.io`、`pypi.org`、`files.pythonhosted.org`、`index.crates.io` 和 `proxy.golang.org`

159* **Setup script请求**:Claude Code在启动时连接到代理,在[setup script](#setup-scripts)运行后161* **设置脚本请求**:Claude Code 在启动时才连接到 Agent 代理,此时[设置脚本](#setup-scripts)已经运行完毕

160* **Claude Code的遥测导出**:Claude Code自己发送其[遥测导出](/docs/zh-CN/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag),而不是通过它运行的命令,该请求不会通过代理162* **Claude Code 的遥测导出**:Claude Code 自行发送其[遥测导出](/docs/zh-CN/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag),而不是通过它运行的命令发送,该请求不会经过 Agent 代理

161 163 

162<h3 id="select-an-environment-from-the-cli">164<h3 id="select-an-environment-from-the-cli">

163 从CLI选择环境165 从 CLI 选择环境

164</h3>166</h3>

165 167 

166在你的终端中运行`/remote-env`来为你从CLI创建的云会话(例如[`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud))选择默认环境。该命令打开你现有环境的选择器并将你的选择保存到你的[用户设置](/docs/zh-CN/settings#where-settings-live)中的`remote.defaultEnvironmentId`键,所以它适用于你机器上的每个项目,直到你更改它,除非在更高优先级的[设置层](/docs/zh-CN/settings#settings-precedence)(例如仓库的项目设置)上设置了相同的键。168在终端中运行 `/remote-env`,为您从 CLI 创建的云端会话(例如 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud))选择默认环境。该命令会打开现有环境的选择器,并将您的选择保存到[用户设置](/docs/zh-CN/settings#where-settings-live)中的 `remote.defaultEnvironmentId` 键,因此它适用于您机器上的每个项目,直到您更改它为止,除非在更高优先级的[设置层级](/docs/zh-CN/settings#settings-precedence)(例如仓库的项目设置)中设置了相同的键。

167 169 

168[自托管环境](/docs/zh-CN/self-hosted-environments)ID的形式为`ccpool_...`,遵循更严格的源规则。查看[`remote.defaultEnvironmentId`](/docs/zh-CN/settings-reference#remote-defaultenvironmentid)了解Claude Code遵守它的设置层。170[自托管环境](/docs/zh-CN/self-hosted-environments) ID 的形式为 `ccpool_...`,遵循更严格的来源规则。查看 [`remote.defaultEnvironmentId`](/docs/zh-CN/settings-reference#remote-defaultenvironmentid),了解 Claude Code 会从哪些设置层级采用该值。

169 171 

170`/remote-env`仅设置默认值:它不启动会话,也不能添加或编辑环境。从[环境选择器](#configure-your-environment)管理它们。172`/remote-env` 仅设置默认值:它不会启动会话,也不能添加或编辑环境。请从[环境选择器](#configure-your-environment)管理环境。

171 173 

172<h3 id="archive-an-environment">174<h3 id="archive-an-environment">

173 归档环境175 归档环境

174</h3>176</h3>

175 177 

176要归档你自己的环境之一,请打开它进行编辑并选择**Archive**。所有者从管理设置中的**Cloud environments**页面归档[共享环境](#organization-shared-environments)。你不能删除环境,只能归档它。178要归档您自己的某个环境,请打开它进行编辑并选择 **Archive**。所有者从管理设置中的 **Cloud environments** 页面归档[共享环境](#organization-shared-environments)。您无法删除环境,只能归档它。

177 179 

178归档影响新会话,不影响运行中的会话:180归档影响新会话,不影响运行中的会话:

179 181 

180* 已经在环境中运行的会话继续工作。182* 已经在环境中运行的会话会继续工作。

181* 环境从选择器和`/remote-env`中消失,所以你无法为新会话选择它。183* 环境会从选择器和 `/remote-env` 中消失,因此您无法为新会话选择它。

182* 环境中的网络机密在其正在运行的会话中仍保持附加状态。请在归档前删除不再需要的机密。184* 环境中的网络机密在其正在运行的会话中仍保持附加状态。请在归档前删除不再需要的机密。

183* 没有新会话可以在任何表面上的归档环境中启动。如果该环境是你保存的[CLI默认值](#select-an-environment-from-the-cli),当你的列表有一个时,Claude Code会在Anthropic托管的环境中启动CLI云会话,否则在你列表中不是[Remote Control bridge环境](#the-default-environment)的第一个环境中启动。任何显式配置了该环境的东西,例如[routine](/docs/zh-CN/routines#environments-and-network-access),无法在其中启动新会话。将其指向另一个环境。185* 在任何使用入口上都无法在已归档的环境中启动新会话。如果该环境是您保存的 [CLI 默认值](#select-an-environment-from-the-cli),当您的列表中有 Anthropic 托管的环境时,Claude Code 会在该环境中启动 CLI 云端会话,否则会在列表中第一个不是 [Remote Control bridge 环境](#the-default-environment)的环境中启动。任何显式配置了该环境的内容,例如 [Routine](/docs/zh-CN/routines#environments-and-network-access),都无法在其中启动新会话。请将其指向另一个环境。

184 186 

185<h3 id="organization-shared-environments">187<h3 id="organization-shared-environments">

186 组织共享环境188 组织共享环境

187</h3>189</h3>

188 190 

189在Team和Enterprise计划上,所有者可以创建与组织的每个成员共享的云环境。同一角色管理**Cloud environments**管理页面上的其他所有内容,包括[自托管环境](/docs/zh-CN/self-hosted-environments);管理员角色无法打开该页面。可以打开它的完整角色列表是[管理服务器管理的设置](/docs/zh-CN/server-managed-settings#access-control)的角色列表。191在 Team 和 Enterprise 计划上,所有者可以创建与组织每个成员共享的云环境。同一角色管理 **Cloud environments** 管理页面上的其他所有内容,包括[自托管环境](/docs/zh-CN/self-hosted-environments);管理员(Admin)角色无法打开该页面。可以打开该页面的完整角色列表与[管理服务器托管设置](/docs/zh-CN/server-managed-settings#access-control)的角色列表相同。

190 192 

191共享环境出现在每个成员的[环境选择器](#configure-your-environment)中,在**Organization**标题下,位于成员自己的环境之后(在**Personal**下),所以团队可以标准化一个配置,而不是每个成员重新创建它。在那里选择共享环境的设置图标会为每个成员(包括所有者)打开其配置的只读摘要。193共享环境出现在每个成员的[环境选择器](#configure-your-environment)中的 **Organization** 标题下,位于成员自己在 **Personal** 下的环境之后,因此团队可以统一使用一套配置,而无需每个成员各自重新创建。在那里选择共享环境的设置图标,会为每个成员(包括所有者)打开其配置的只读摘要。

192 194 

193所有者通过以下两种方式之一使环境对组织可用:195所有者可以通过以下两种方式之一使环境对组织可用:

194 196 

195* **创建共享环境**:使用[admin settings](https://claude.ai/admin-settings)中的**Cloud environments**页面,这也是所有者编辑和归档共享环境的地方。每个都有一个名称、一个[网络访问级别](#access-levels)、`.env`格式的[环境变量](#set-environment-variables)和一个[setup script](#setup-scripts)。197* **创建共享环境**:使用[管理设置](https://claude.ai/admin-settings)中的 **Cloud environments** 页面,所有者也在该页面编辑和归档共享环境。每个共享环境都有一个名称、一个[网络访问级别](#access-levels)、`.env` 格式的[环境变量](#set-environment-variables)和一个[设置脚本](#setup-scripts)。

196* **共享个人环境**:在环境选择器中打开你自己的环境之一进行编辑,然后从**Who can use it**行共享它。环境保持其ID,所以已经使用它的会话和routine不受影响,每个成员都可以看到它并在其中启动会话。198* **共享个人环境**:在环境选择器中打开您自己的某个环境进行编辑,然后从 **Who can use it** 行共享它。环境会保留其 ID,因此已经使用它的会话和 Routine 不受影响,每个成员随后都可以看到它并在其中启动会话。

197 199 

198所有者在[claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)单独选择组织的[默认环境](#the-default-environment)。200所有者在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 单独选择组织的[默认环境](#the-default-environment)。

199 201 

200每个成员在共享环境中的会话都会读取其变量,因此请勿在其中包含机密信息。[网络机密](#add-api-credentials)可以为会话提供其无法读取的密钥,但目前尚不适用于 Team 或 Enterprise 计划。202每个成员在共享环境中的会话都会读取其变量,因此请勿在其中包含机密信息。[网络机密](#add-network-secrets)可以为会话提供其无法读取的密钥,但目前尚不适用于 Team 或 Enterprise 计划。

201 203 

202<h3 id="set-the-environment-a-claude-tag-channel-uses">204<h3 id="set-the-environment-a-claude-tag-channel-uses">

203 设置Claude Tag频道使用的环境205 设置 Claude Tag 频道使用的环境

204</h3>206</h3>

205 207 

206在[Claude Tag](https://claude.com/docs/claude-tag/overview)频道中,Claude作为你组织的共享身份工作,而不是任何成员,所以频道会话仅使用组织级别的环境,要么是共享环境,要么是[自托管环境](/docs/zh-CN/self-hosted-environments)。要给频道一个不是[预安装](#installed-tools)的工具链,例如.NET,所有者可以从**Cloud environments**管理页面创建一个[共享环境](#organization-shared-environments),带有一个[setup script](#setup-scripts)来安装它。通过以下两种方式之一将频道指向一个环境:208在 [Claude Tag](https://claude.com/docs/claude-tag/overview) 频道中,Claude 以您组织的共享身份工作,而不是以任何成员的身份工作,因此频道会话仅使用组织级别的环境,即共享环境或[自托管环境](/docs/zh-CN/self-hosted-environments)。要为频道提供未[预安装](#installed-tools)的工具链(例如 .NET),所有者可以从 **Cloud environments** 管理页面创建一个[共享环境](#organization-shared-environments),并使用[设置脚本](#setup-scripts)安装该工具链。通过以下两种方式之一将频道指向某个环境:

207 209 

208* 在[claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)将共享或自托管环境设置为组织的[默认环境](#the-default-environment)。210* 在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 将共享环境或自托管环境设置为组织的[默认环境](#the-default-environment)。

209* 在Claude Tag管理设置中[将一个固定到频道](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)。211* 在 Claude Tag 管理设置中[将某个环境固定到频道](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)。

210 212 

211<h2 id="network-access">213<h2 id="network-access">

212 网络访问214 网络访问


214 216 

215每个环境都设置一个网络访问级别,控制其会话可以进行的出站连接。默认级别 **Trusted** 允许包注册表和其他[允许列表中的域](#default-allowed-domains);**Custom** 采用您自己的域列表。217每个环境都设置一个网络访问级别,控制其会话可以进行的出站连接。默认级别 **Trusted** 允许包注册表和其他[允许列表中的域](#default-allowed-domains);**Custom** 采用您自己的域列表。

216 218 

217要更改环境的网络访问,[打开它进行编辑](#configure-your-environment)并在对话框中使用 **Network access** 选择器。[共享环境](#organization-shared-environments)在那里以只读方式打开,因此 Owner 改为从[管理设置](https://claude.ai/admin-settings)中的 **Cloud environments** 页面更改其网络访问。打开选择器的云图标出现在[Default 环境](#the-default-environment)下列出的应用界面上,以及[例程编辑器](/docs/zh-CN/routines#environments-and-network-access)中;个人环境在您的 claude.ai 账户设置中没有单独的页面。219要更改环境的网络访问,[打开它进行编辑](#configure-your-environment)并在对话框中使用 **Network access** 选择器。[共享环境](#organization-shared-environments)在那里以只读方式打开,因此 Owner 改为从[管理设置](https://claude.ai/admin-settings)中的 **Cloud environments** 页面更改其网络访问。打开选择器的云图标出现在[Default 环境](#the-default-environment)下列出的应用使用入口上,以及 [Routine 编辑器](/docs/zh-CN/routines#environments-and-network-access)中;个人环境在您的 claude.ai 账户设置中没有单独的页面。

218 220 

219当您更改 Anthropic 托管环境的网络访问时,其现有会话在约一分钟内遵循新设置,用于通过会话的[网络允许列表](#access-levels)的请求。您无需启动新会话。221当您更改 Anthropic 托管环境的网络访问时,其现有会话在约一分钟内遵循新设置,用于通过会话的[网络允许列表](#access-levels)的请求。您无需启动新会话。

220 222 

221<Note>223<Note>

222 您在会话或例程上启用的 MCP 连接器无需将其主机添加到 **Allowed domains**,因为连接器流量通过 Anthropic 的服务器而不是会话的网络传输。这依赖于[安全性和隔离](/docs/zh-CN/claude-code-on-the-web#security-and-isolation)下提到的同一条通往 Anthropic 的通道。关闭任何您不需要的连接器,以限制 Claude 可以访问的工具。224 您在会话或 Routine 上启用的 MCP 连接器无需将其主机添加到 **Allowed domains**,因为连接器流量通过 Anthropic 的服务器而不是会话的网络传输。这依赖于[安全性和隔离](/docs/zh-CN/claude-code-on-the-web#security-and-isolation)下提到的同一条通往 Anthropic 的通道。关闭任何您不需要的连接器,以限制 Claude 可以访问的工具。

223</Note>225</Note>

224 226 

225<h3 id="access-levels">227<h3 id="access-levels">


239 241 

240* GitHub,通过其[单独的代理](#github-proxy)242* GitHub,通过其[单独的代理](#github-proxy)

241* 您启用的 [MCP 连接器](#network-access),其流量通过 Anthropic 的服务器传输243* 您启用的 [MCP 连接器](#network-access),其流量通过 Anthropic 的服务器传输

242* 您在环境的[网络密钥](#add-api-credentials)上列出的主机,除了[永远不会获得该密钥的主机](#requests-that-never-get-the-credential)244* 您在环境的[网络密钥](#add-network-secrets)上列出的主机,除了[永远不会获得该密钥的主机](#requests-that-never-get-the-credential)

243* Anthropic API,用于 Claude Code 自己的请求,即使在 **None** 下也是如此,如[安全性和隔离](/docs/zh-CN/claude-code-on-the-web#security-and-isolation)下所述245* Anthropic API,用于 Claude Code 自己的请求,即使在 **None** 下也是如此,如[安全性和隔离](/docs/zh-CN/claude-code-on-the-web#security-and-isolation)下所述

244 246 

245<h3 id="allow-specific-domains">247<h3 id="allow-specific-domains">


254registry.example.com256registry.example.com

255```257```

256 258 

257此环境中的会话现在可以访问 `api.example.com`、`internal.example.com` 的任何子域和 `registry.example.com`,但无法通过会话的网络访问其他域。[GitHub 流量](#github-proxy)、[MCP 连接器流量](#network-access)和对环境[网络密钥](#add-api-credentials)的主机的请求(除了[永远不会获得该密钥的主机](#requests-that-never-get-the-credential))不经过此允许列表。前导 `*.` 匹配每个子域。要同时保留 [Trusted 域](#default-allowed-domains),请勾选 **Also include default list of common package managers**;不勾选则只允许您列出的内容。259此环境中的会话现在可以访问 `api.example.com`、`internal.example.com` 的任何子域和 `registry.example.com`,但无法通过会话的网络访问其他域。[GitHub 流量](#github-proxy)、[MCP 连接器流量](#network-access)和对环境[网络密钥](#add-network-secrets)的主机的请求(除了[永远不会获得该密钥的主机](#requests-that-never-get-the-credential))不经过此允许列表。前导 `*.` 匹配每个子域。要同时保留 [Trusted 域](#default-allowed-domains),请勾选 **Also include default list of common package managers**;不勾选则只允许您列出的内容。

258 260 

259如果您的组织使用[工件](/docs/zh-CN/artifacts#availability),会话读取工件时不需要在列表中包含 `*.frame.claudeusercontent.com`。当列表中没有该主机时,Claude Code 通过会话与 Anthropic 的连接读取工件内容。在两种情况下保留允许列表中的主机:261如果您的组织使用 [Artifact](/docs/zh-CN/artifacts#availability),会话读取 Artifact 时不需要在列表中包含 `*.frame.claudeusercontent.com`。当列表中没有该主机时,Claude Code 通过会话与 Anthropic 的连接读取 Artifact 内容。在两种情况下保留允许列表中的主机:

260 262 

261* **此环境中的会话打开另一个组织的公开工件**:Claude Code 直接从主机获取这些工件,因此将其添加到此列表。263* **此环境中的会话打开另一个组织的公开 Artifact**:Claude Code 直接从主机获取这些 Artifact,因此将其添加到此列表。

262* **您正在配置本地 CLI 或自托管运行器**:在该允许列表中保留主机。请参阅[网络访问要求](/docs/zh-CN/network-config#network-access-requirements)和自托管[网络要求](/docs/zh-CN/self-hosted-environments-deploy#network-requirements)。264* **您正在配置本地 CLI 或自托管运行器**:在该允许列表中保留主机。请参阅[网络访问要求](/docs/zh-CN/network-config#network-access-requirements)和自托管[网络要求](/docs/zh-CN/self-hosted-environments-deploy#network-requirements)。

263 265 

264每个环境都有自己的允许域列表;没有组织级别的允许列表可供管理员推送到每个成员的环境。[服务器管理的设置](/docs/zh-CN/server-managed-settings)也不会将域添加到环境的网络允许列表。要为团队提供一个标准列表,Owner 可以创建一个具有 **Custom** 网络访问和该列表的[组织共享环境](#organization-shared-environments)。266每个环境都有自己的允许域列表;没有组织级别的允许列表可供管理员推送到每个成员的环境。[服务器管理的设置](/docs/zh-CN/server-managed-settings)也不会将域添加到环境的网络允许列表。要为团队提供一个标准列表,Owner 可以创建一个具有 **Custom** 网络访问和该列表的[组织共享环境](#organization-shared-environments)。


267 GitHub 代理269 GitHub 代理

268</h3>270</h3>

269 271 

270在 Anthropic 托管的环境中,所有 GitHub 操作都经过专用代理,使您的真实 GitHub 凭证保留在会话的 VM 之外,独立于环境的[访问级别](#access-levels)。自托管环境中的会话使用您的部署提供的凭证进行 git 操作身份验证;[配置 git](/docs/zh-CN/self-hosted-environments-deploy#configure-git)涵盖了选项,包括按会话生成的凭证和选择加入此同一代理。代理提供:272在 Anthropic 托管的环境中,所有 GitHub 操作都经过专用代理,使您的真实 GitHub 凭据保留在会话的 VM 之外,独立于环境的[访问级别](#access-levels)。自托管环境中的会话使用您的部署提供的凭据进行 git 操作身份验证;[配置 git](/docs/zh-CN/self-hosted-environments-deploy#configure-git)涵盖了选项,包括按会话生成的凭据和选择加入此同一代理。代理提供:

271 273 

272* **Git 凭证**:VM 内的 git 客户端使用范围受限的凭证,代理验证并将其交换为您的实际 GitHub 令牌。274* **Git 凭据**:VM 内的 git 客户端使用范围受限的凭据,代理验证并将其交换为您的实际 GitHub 令牌。

273* **API 请求**:来自内置 GitHub 工具的请求,以及来自 [`proxy-injected` 占位符](#work-with-github-issues-and-pull-requests)下的 `gh` 的请求,会在替换为您的真实凭证后发出。275* **API 请求**:来自内置 GitHub 工具的请求,以及来自 [`proxy-injected` 占位符](#work-with-github-issues-and-pull-requests)下的 `gh` 的请求,会在替换为您的真实凭据后发出。

274* **推送限制**:代理会拒绝分支删除,以及推送分支以外的任何内容(例如标签)。它不限制推送可以更新哪些分支。如需限制,请在 GitHub 上使用分支保护规则或规则集。276* **推送限制**:代理会拒绝分支删除,以及推送分支以外的任何内容(例如标签)。它不限制推送可以更新哪些分支。如需限制,请在 GitHub 上使用分支保护规则或规则集。

275* **仓库范围**:代理为附加到会话的仓库处理 GitHub API 请求。针对其他仓库的 API 请求会收到 403,其消息以 `GitHub access to` 开头并包含 `is not enabled for this session`。277* **仓库范围**:代理为附加到会话的仓库处理 GitHub API 请求。针对其他仓库的 API 请求会收到 403,其消息以 `GitHub access to` 开头并包含 `is not enabled for this session`。

276* **GraphQL 限制**:代理会拒绝发往 GitHub GraphQL 端点的请求,返回 403,其消息以 `GitHub GraphQL is not available from Claude Code sessions` 开头,并指明 REST 回退方式 `gh api repos/{owner}/{repo}/...`。使用 GraphQL 的 `gh` 子命令(例如 `gh pr` 和 `gh issue`)也会收到相同的 403。无论您提供的凭据如何,限制都适用于通过代理的每个请求,因此您设置的 `GH_TOKEN` 会收到相同的 403。Claude 无法通过代理访问仅存在于 GraphQL 中的 GitHub API,例如 Projects v2。278* **GraphQL 限制**:代理会拒绝发往 GitHub GraphQL 端点的请求,返回 403,其消息以 `GitHub GraphQL is not available from Claude Code sessions` 开头,并指明 REST 回退方式 `gh api repos/{owner}/{repo}/...`。使用 GraphQL 的 `gh` 子命令(例如 `gh pr` 和 `gh issue`)也会收到相同的 403。无论您提供的凭据如何,限制都适用于通过代理的每个请求,因此您设置的 `GH_TOKEN` 会收到相同的 403。Claude 无法通过代理访问仅存在于 GraphQL 中的 GitHub API,例如 Projects v2。

277 279 

278来自公开存储库的已提交文件通过 `raw.githubusercontent.com` 到达,改由[安全代理](#security-proxy)处理。该域在默认 [Trusted 列表](#default-allowed-domains)中,因此除非环境的[访问级别](#access-levels)排除它,否则这些文件保持可访问。280来自公开仓库的已提交文件通过 `raw.githubusercontent.com` 到达,改由[安全代理](#security-proxy)处理。该域在默认 [Trusted 列表](#default-allowed-domains)中,因此除非环境的[访问级别](#access-levels)排除它,否则这些文件保持可访问。

279 281 

280<h3 id="security-proxy">282<h3 id="security-proxy">

281 安全代理283 安全代理

282</h3>284</h3>

283 285 

284Anthropic 托管环境中的云会话在 HTTP/HTTPS 网络代理后面运行,用于安全和滥用防范目的;在[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#default-deny-egress)中,出站流量通过您自己的网络边界离开。来自 Anthropic 托管会话的所有出站互联网流量都经过此代理,它提供:286Anthropic 托管环境中的云端会话在 HTTP/HTTPS 网络代理后面运行,用于安全和滥用防范目的;在[自托管环境](/docs/zh-CN/self-hosted-environments-deploy#default-deny-egress)中,出站流量通过您自己的网络边界离开。来自 Anthropic 托管会话的所有出站互联网流量都经过此代理,它提供:

285 287 

286* 防范恶意请求288* 防范恶意请求

287* 速率限制和滥用防范289* 速率限制和滥用防范


316| 仅在您的用户设置中启用的插件 | 否 | 用户作用域的 `enabledPlugins` 位于您机器上的 `~/.claude/settings.json` |318| 仅在您的用户设置中启用的插件 | 否 | 用户作用域的 `enabledPlugins` 位于您机器上的 `~/.claude/settings.json` |

317| 您使用 `claude mcp add` 在默认本地作用域或用户作用域添加的 MCP 服务器 | 否 | 这些写入您机器上的 `~/.claude.json`,而不是仓库。请使用 `claude mcp add --scope project` 添加服务器,它会写入仓库的 [`.mcp.json`](/docs/zh-CN/mcp#project-scope),并提交该文件。具有一个仓库的会话会加载它 |319| 您使用 `claude mcp add` 在默认本地作用域或用户作用域添加的 MCP 服务器 | 否 | 这些写入您机器上的 `~/.claude.json`,而不是仓库。请使用 `claude mcp add --scope project` 添加服务器,它会写入仓库的 [`.mcp.json`](/docs/zh-CN/mcp#project-scope),并提交该文件。具有一个仓库的会话会加载它 |

318| 您的仓库的 `.claude/settings.json` `env` 块中的传输变量,例如 `NODE_EXTRA_CA_CERTS` 和 [mTLS 客户端证书变量](/docs/zh-CN/network-config#mtls-authentication) | 否 | 托管环境管理会话的 API 连接,因此 Claude Code 忽略这些键,并在会话的调试日志中记录每个被忽略的键 |320| 您的仓库的 `.claude/settings.json` `env` 块中的传输变量,例如 `NODE_EXTRA_CA_CERTS` 和 [mTLS 客户端证书变量](/docs/zh-CN/network-config#mtls-authentication) | 否 | 托管环境管理会话的 API 连接,因此 Claude Code 忽略这些键,并在会话的调试日志中记录每个被忽略的键 |

319| Claude 调用的服务的 API 密钥和令牌 | 在 Pro 和 Max 计划中,作为[网络密钥](#add-api-credentials) | 您在环境中添加一次密钥,Agent 代理会将其附加到发往您列出的主机的请求。Agent 代理[无法附加](#requests-that-never-get-the-credential)的密钥,或 Team 或 Enterprise 计划中的任何密钥,保留在环境变量中 |321| Claude 调用的服务的 API 密钥和令牌 | 在 Pro 和 Max 计划中,作为[网络密钥](#add-network-secrets) | 您在环境中添加一次密钥,Agent 代理会将其附加到发往您列出的主机的请求。Agent 代理[无法附加](#requests-that-never-get-the-credential)的密钥,或 Team 或 Enterprise 计划中的任何密钥,保留在环境变量中 |

320| 交互式身份验证,例如 AWS SSO | 否 | 不支持。SSO 需要基于浏览器的登录,无法在云端会话中执行 |322| 交互式身份验证,例如 AWS SSO | 否 | 不支持。SSO 需要基于浏览器的登录,无法在云端会话中执行 |

321 323 

322要在云端会话中提供您自己的配置,请将其提交到仓库。324要在云端会话中提供您自己的配置,请将其提交到仓库。

323 325 

324任何使用环境的人都可以读取其环境变量和设置脚本。对话框在**环境变量**下的注释说明了这一点,并警告不要在那里放置密钥。在 Pro 和 Max 计划中,请改为将 Agent 代理可以附加的密钥存储为[网络密钥](#add-api-credentials)。326任何使用环境的人都可以读取其环境变量和设置脚本。对话框在**环境变量**下的注释说明了这一点,并警告不要在那里放置密钥。在 Pro 和 Max 计划中,请改为将 Agent 代理可以附加的密钥存储为[网络密钥](#add-network-secrets)。

325 327 

326<h4 id="add-personal-preferences-without-committing-to-the-repo">328<h4 id="add-personal-preferences-without-committing-to-the-repo">

327 添加个人偏好而无需提交到仓库329 添加个人偏好而无需提交到仓库

commands.md +1 −1

Details

87| `/design-sync [hint]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 转换您仓库中的 React 设计系统并将其上传到 [Claude Design](https://claude.ai/design),使其生成的设计使用您的真实组件。可选择为设计系统命名,例如 `/design-sync Acme DS`。首次同步会验证每个组件,在大型仓库上可能需要几个小时。可在 Anthropic API 上使用。它需要 claude.ai,而 CLI 在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上,或通过 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway#availability-and-limitations) 使用时不会连接 claude.ai,因此该命令在这些情况下不可用 |87| `/design-sync [hint]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 转换您仓库中的 React 设计系统并将其上传到 [Claude Design](https://claude.ai/design),使其生成的设计使用您的真实组件。可选择为设计系统命名,例如 `/design-sync Acme DS`。首次同步会验证每个组件,在大型仓库上可能需要几个小时。可在 Anthropic API 上使用。它需要 claude.ai,而 CLI 在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 或 Claude Platform on AWS 上,或通过 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway#availability-and-limitations) 使用时不会连接 claude.ai,因此该命令在这些情况下不可用 |

88| `/desktop` | 在 Claude Code Desktop 应用中继续当前会话。需要 macOS 或 x64 Windows 以及 Claude 订阅。别名:`/app` |88| `/desktop` | 在 Claude Code Desktop 应用中继续当前会话。需要 macOS 或 x64 Windows 以及 Claude 订阅。别名:`/app` |

89| `/diff` | 审查工作树中的更改,包括 Claude 到目前为止所做的编辑。请参阅[使用 /diff 审查更改](/docs/zh-CN/interactive-mode#review-changes-with-%2Fdiff) |89| `/diff` | 审查工作树中的更改,包括 Claude 到目前为止所做的编辑。请参阅[使用 /diff 审查更改](/docs/zh-CN/interactive-mode#review-changes-with-%2Fdiff) |

90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 运行设置检查,诊断问题并可以修复它们。检查安装健康状况,包括重复或残留的安装、`PATH` 问题以及无法解析的设置文件。找出未使用的 skill、MCP 服务器和插件,并与其上下文开销进行对比,标记运行缓慢的 [hook](/docs/zh-CN/hooks),并检查您的[发布渠道](/docs/zh-CN/setup#configure-release-channel)上是否有较新版本。将本地 `CLAUDE.md` 文件与已签入的文件进行去重,通过删除 Claude 可以从代码库推导出的内容来精简已签入的 [`CLAUDE.md`](/docs/zh-CN/memory#my-claude-md-is-too-large) 文件,并将剩余的始终加载的指导迁移到按需加载的 [skill](/docs/zh-CN/skills) 和嵌套 `CLAUDE.md` 文件中。还会提议将[自动模式](/docs/zh-CN/permissions#permission-modes)设为默认模式,并[预先批准](/docs/zh-CN/permissions)经常被拒绝的只读命令。先报告发现的问题,并在更改任何内容之前请求确认。在终端中,`claude doctor` 会输出只读的安装诊断信息而不启动会话。别名:`/checkup`。运行 `/doctor prompt-audit` 可让 Claude [审计您的 `CLAUDE.md` 文件、skill 和其他配置](/docs/zh-CN/memory#audit-your-instruction-files),查找过时或相互冲突的指令,而不是运行设置检查。`prompt-audit` 子命令需要 Claude Code v2.1.283 或更高版本。`CLAUDE.md` 精简检查需要 Claude Code v2.1.206 或更高版本。在 v2.1.205 之前,`/doctor` 会打开只读诊断屏幕,按 `f` 会将报告发送给 Claude |90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/zh-CN/skills#bundled-skills)。** 运行设置检查,诊断安装、设置、扩展和 `CLAUDE.md` 方面的问题,并提出修复建议,Claude 会在您确认后应用这些修复。有关检查涵盖的内容,或要改用 `prompt-audit` 审计您的指令,请参阅[使用 `/doctor` 检查您的设置](/docs/zh-CN/skills#check-your-setup-with-/doctor)。`prompt-audit` 子命令需要 Claude Code v2.1.283 或更高版本。别名:`/checkup` |

91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | 设置 [effort 级别](/docs/zh-CN/model-config#adjust-effort-level):`low` 到 `xhigh`、`max` 或 `auto`;`status` 会输出当前级别。`ultracode` 或 `ultracode on` 会以当前级别为会话开启 [ultracode](/docs/zh-CN/workflows#let-claude-decide-with-ultracode),`ultracode off` 会将其关闭;[`ultracode`](/docs/zh-CN/settings-reference#ultracode) 键会持久保存。`max` 仅对当前会话有效。`on` 和 `off` 参数以及保持当前级别需要 Claude Code v2.1.284 或更高版本。在 v2.1.284 之前,`/effort ultracode` 会将会话设置为 `xhigh`,而 `/effort ultracode off` 会失败并报告 `Invalid argument`。在 Claude 回复时运行此命令,一旦您确认[缓存警告](/docs/zh-CN/prompt-caching#changing-effort-level)(如果 Claude Code 显示了该警告),Claude Code 就会将新级别应用于该轮次中的下一个请求。在 v2.1.242 之前,Claude Code 会根据从 Anthropic 获取的功能标志来决定是在轮次中途运行该命令,还是将其排队直到轮次结束,并且在不[获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)的会话中(例如在[第三方提供商](/docs/zh-CN/third-party-integrations)上)始终将其排队。可在 `-p` 中使用 |91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | 设置 [effort 级别](/docs/zh-CN/model-config#adjust-effort-level):`low` 到 `xhigh`、`max` 或 `auto`;`status` 会输出当前级别。`ultracode` 或 `ultracode on` 会以当前级别为会话开启 [ultracode](/docs/zh-CN/workflows#let-claude-decide-with-ultracode),`ultracode off` 会将其关闭;[`ultracode`](/docs/zh-CN/settings-reference#ultracode) 键会持久保存。`max` 仅对当前会话有效。`on` 和 `off` 参数以及保持当前级别需要 Claude Code v2.1.284 或更高版本。在 v2.1.284 之前,`/effort ultracode` 会将会话设置为 `xhigh`,而 `/effort ultracode off` 会失败并报告 `Invalid argument`。在 Claude 回复时运行此命令,一旦您确认[缓存警告](/docs/zh-CN/prompt-caching#changing-effort-level)(如果 Claude Code 显示了该警告),Claude Code 就会将新级别应用于该轮次中的下一个请求。在 v2.1.242 之前,Claude Code 会根据从 Anthropic 获取的功能标志来决定是在轮次中途运行该命令,还是将其排队直到轮次结束,并且在不[获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)的会话中(例如在[第三方提供商](/docs/zh-CN/third-party-integrations)上)始终将其排队。可在 `-p` 中使用 |

92| `/exit` | 退出 CLI。在已附加的[后台会话](/docs/zh-CN/agent-view#attach-to-a-session)中,此操作会分离,会话继续运行。别名:`/quit` |92| `/exit` | 退出 CLI。在已附加的[后台会话](/docs/zh-CN/agent-view#attach-to-a-session)中,此操作会分离,会话继续运行。别名:`/quit` |

93| `/export [filename]` | 将当前对话导出为纯文本。提供文件名时,直接写入该文件。不提供时,打开对话框以复制到剪贴板或保存到文件 |93| `/export [filename]` | 将当前对话导出为纯文本。提供文件名时,直接写入该文件。不提供时,打开对话框以复制到剪贴板或保存到文件 |

Details

391 Explain the logic in @src/utils/auth.js391 Explain the logic in @src/utils/auth.js

392 ```392 ```

393 393 

394 这在对话中包含文件的完整内容。394 当文件符合 [Read 工具](/docs/zh-CN/tools-reference#read-tool-behavior)的 token 限制(默认为 25,000 个 token)时,这会将文件内容包含在对话中。大于 256KB 的文本文件不会被包含。

395 </Step>395 </Step>

396 396 

397 <Step title="引用目录">397 <Step title="引用目录">

Details

128* **在大约三秒内到达 `exec`,每次启动器运行。** 冷后台调度在第一个输出字节之前连续运行启动器两次,因此请懒惰地或从缓存中执行单点登录交换等缓慢工作。128* **在大约三秒内到达 `exec`,每次启动器运行。** 冷后台调度在第一个输出字节之前连续运行启动器两次,因此请懒惰地或从缓存中执行单点登录交换等缓慢工作。

129* **容忍从内部调用自己。** Claude Code 将启动器应用于每个嵌套的自生成,因此获取独占资源的启动器必须检测它是否已持有它。129* **容忍从内部调用自己。** Claude Code 将启动器应用于每个嵌套的自生成,因此获取独占资源的启动器必须检测它是否已持有它。

130* **不要在 Claude Code 启动前写入终端。** 在 `exec` 前打印的任何内容都会在会话在初始化前死亡时报告为崩溃原因。130* **不要在 Claude Code 启动前写入终端。** 在 `exec` 前打印的任何内容都会在会话在初始化前死亡时报告为崩溃原因。

131* **不要依赖参数的书写方式。** 标志的值可能作为独立参数传入(`--flag value`),也可能与标志连在一起(`--flag=value`)。标志使用哪种形式可能会在不同版本之间发生变化。

131 132 

132<h3 id="format-of-the-launcher-value">133<h3 id="format-of-the-launcher-value">

133 启动器值的格式134 启动器值的格式

desktop.md +120 −82

Details

63 使用提示框63 使用提示框

64</h3>64</h3>

65 65 

66输入你想让 Claude 做的事情,然后按 **Enter** 发送。Claude 会读取你的项目文件,进行更改,并根据你的[权限模式](#choose-a-permission-mode)运行命令。你可以随时重定向 Claude:点击停止按钮立即中断,或输入更正并按 **Enter** 发送,无需停止正在运行的操作。Claude 会在当前操作完成后立即读取更正,并在下一步之前进行调整。66输入您想让 Claude 做的事情,然后按 **Enter** 发送。Claude 会读取您的项目文件,进行更改,并根据您的[权限模式](#choose-a-permission-mode)运行命令。您可以随时重定向 Claude:点击停止按钮立即中断,或输入更正并按 **Enter** 发送,无需停止正在运行的操作。Claude 会在当前操作完成后立即读取更正,并在下一步之前进行调整。

67 67 

68提示框旁边的 **+** 按钮让你可以访问文件附件、[skills](#use-skills)、[connectors](#connect-external-tools) 和 [plugins](#install-plugins)。68提示框旁边的 **+** 按钮让您可以访问文件附件、[skill](#use-skills)、[连接器](#connect-external-tools) 和[插件](#install-plugins)。

69 

70<h3 id="accept-a-suggested-prompt">

71 接受建议的提示词

72</h3>

73 

74Claude 回复后,Code 选项卡可能会在空的输入框中以灰色文本显示建议的下一条提示词。Claude Code 通过一个简短的后台请求,根据您的对话[生成每条建议](/docs/zh-CN/interactive-mode#prompt-suggestions),该请求会计入您套餐的用量限制或您的 API 费用。

75 

76* **使用建议**:按 **Tab** 或 **右箭头** 将其放入输入框,根据需要进行编辑,然后按 **Enter** 发送。在接受建议之前按 **Enter** 不会发送它。

77* **编写自己的提示词**:直接开始输入。建议仅在输入框为空且没有附加文件时显示。

78 

79前往 **Settings > Claude Code**,在 **Sessions** 下关闭 **Prompt suggestions**,即可从每个会话下次启动或恢复时起停止显示建议。

69 80 

70<h3 id="add-files-and-context-to-prompts">81<h3 id="add-files-and-context-to-prompts">

71 向提示添加文件和上下文82 向提示添加文件和上下文


73 84 

74提示框支持两种方式来引入外部上下文:85提示框支持两种方式来引入外部上下文:

75 86 

76* **@mention 文件**:输入 `@` 后跟文件名,将文件添加到对话上下文。Claude 随后可以读取和引用该文件。@mention 在云或 WSL 会话中不可用。87* **@mention 文件**:输入 `@` 后跟文件名,将文件添加到对话上下文。Claude 随后可以读取和引用该文件。@mention 在云端或 WSL 会话中不可用。

77* **附加文件**:使用附件按钮将图像、PDF 和其他文件附加到你的提示,或直接将文件拖放到提示中。这对于共享错误的屏幕截图、设计模型或参考文档很有用。88* **附加文件**:使用附件按钮将图像、PDF 和其他文件附加到您的提示,或直接将文件拖放到提示中。这对于共享错误的屏幕截图、设计模型或参考文档很有用。

78 89 

79<h3 id="choose-a-permission-mode">90<h3 id="choose-a-permission-mode">

80 选择权限模式91 选择权限模式

81</h3>92</h3>

82 93 

83权限模式控制 Claude 在会话期间的自主程度:它是否在编辑文件、运行命令或两者之前询问。你可以随时使用发送按钮旁边的模式选择器切换权限模式。要自己批准每项更改,请切换到 Manual。94权限模式控制 Claude 在会话期间的自主程度:它是否在编辑文件、运行命令或两者之前询问。您可以随时使用发送按钮旁边的模式选择器切换权限模式。要自己批准每项更改,请切换到 Manual。

84 95 

85要为新的本地会话设置默认模式,请将 `permissions.defaultMode` 添加到你的[设置文件](/docs/zh-CN/settings#where-settings-live)。桌面应用读取与 CLI 相同的设置文件。你在选择器中选择的模式会被记住(按文件夹),并对该文件夹优先于 `defaultMode`,除了 Plan,它仅适用于当前会话。96要为新的本地会话设置默认模式,请将 `permissions.defaultMode` 添加到您的[设置文件](/docs/zh-CN/settings#where-settings-live)。桌面应用读取与 CLI 相同的设置文件。您在选择器中选择的模式会被记住(按文件夹),并对该文件夹优先于 `defaultMode`,除了 Plan,它仅适用于当前会话。

86 97 

87| 模式 | 设置键 | 行为 |98| 模式 | 设置键 | 行为 |

88| - | - | - |99| - | - | - |

89| **Manual** | `default` | Claude 在编辑文件或运行命令之前询问。你会看到差异,可以接受或拒绝每项更改。 |100| **Manual** | `default` | Claude 在编辑文件或运行命令之前询问。您会看到 diff,可以接受或拒绝每项更改。 |

90| **Accept edits** | `acceptEdits` | Claude 自动接受文件编辑和常见的文件系统命令,如 `mkdir`、`touch` 和 `mv`,但在运行其他终端命令之前仍会询问。当你信任文件更改并希望更快迭代时,请使用此选项。 |101| **Accept edits** | `acceptEdits` | Claude 自动接受文件编辑和常见的文件系统命令,如 `mkdir`、`touch` 和 `mv`,但在运行其他终端命令之前仍会询问。当您信任文件更改并希望更快迭代时,请使用此选项。 |

91| **Plan** | `plan` | Claude 读取文件并运行命令进行探索,然后提出计划而不编辑你的源代码。适合复杂任务,你想先审查方法。 |102| **Plan** | `plan` | Claude 读取文件并运行命令进行探索,然后提出计划而不编辑您的源代码。适合复杂任务,您想先审查方法。 |

92| **Auto** | `auto` | Claude 运行时不需要常规提示;在执行 shell 命令和网络请求等操作之前,后台分类器会检查它们是否与你的请求一致。当 [auto mode 可用](#auto-mode-availability)时出现;没有单独的设置切换。 |103| **Auto** | `auto` | Claude 运行时不需要常规提示;在执行 shell 命令和网络请求等操作之前,后台分类器会检查它们是否与您的请求一致。当[自动模式可用](#auto-mode-availability)时出现;没有单独的设置切换。 |

93| **Bypass permissions** | `bypassPermissions` | Claude 运行时不需要权限提示,除了[任何模式都不会自动批准的操作](/docs/zh-CN/permission-modes#actions-no-mode-auto-approves)、当 Claude [在外部网站上操作](#browse-external-sites)时的安全分类器,或桌面操作(Claude 总是首先询问),例如[归档会话](#work-across-sessions)。等同于 CLI 中的 `--dangerously-skip-permissions`。在 Pro 和 Max 计划上,在你的设置 → Claude Code 中启用它,在"允许绕过权限模式"下;在 Team 和 Enterprise 计划上没有设置切换,组织策略控制它。仅在沙箱容器或虚拟机中使用。 |104| **Bypass permissions** | `bypassPermissions` | Claude 运行时不需要权限提示,除了[任何模式都不会自动批准的操作](/docs/zh-CN/permission-modes#actions-no-mode-auto-approves)、当 Claude [在外部网站上操作](#browse-external-sites)时的安全分类器,或桌面操作(Claude 总是首先询问),例如[归档会话](#work-across-sessions)。等同于 CLI 中的 `--dangerously-skip-permissions`。在 Pro 和 Max 计划上,在您的设置 → Claude Code 中启用它,在"Allow bypass permissions mode"下;在 Team 和 Enterprise 计划上没有设置切换,由组织策略控制它。仅在沙箱容器或虚拟机中使用。 |

94 105 

95代码选项卡的早期版本将这些模式标记为 Ask permissions、Auto accept edits 和 Plan mode。106Code 选项卡的早期版本将这些模式标记为 Ask permissions、Auto accept edits 和 Plan mode。

96 107 

97`dontAsk` 权限模式仅在 [CLI](/docs/zh-CN/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) 中可用。108`dontAsk` 权限模式仅在 [CLI](/docs/zh-CN/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) 中可用。

98 109 

99<Tip title="最佳实践">110<Tip title="最佳实践">

100 在 Plan 中开始复杂任务,以便 Claude 在进行更改之前制定方法。一旦你批准计划,切换到 Accept edits 或 Manual 来执行它。有关此工作流的更多信息,请参阅[先探索,然后计划,然后编码](/docs/zh-CN/best-practices#explore-first-then-plan-then-code)。111 在 Plan 中开始复杂任务,以便 Claude 在进行更改之前制定方法。一旦您批准计划,切换到 Accept edits 或 Manual 来执行它。有关此工作流的更多信息,请参阅[先探索,然后计划,然后编码](/docs/zh-CN/best-practices#explore-first-then-plan-then-code)。

101</Tip>112</Tip>

102 113 

103云会话支持 Accept edits、Plan 和 Auto。Accept edits 对应于 `default` 模式:云会话预先批准文件编辑,因此选择器显示 Accept edits 而不是 Manual。Bypass permissions 在云会话中不可用,包括[自托管环境](/docs/zh-CN/self-hosted-environments)中的会话。114云端会话支持 Accept edits、Plan 和 Auto。Accept edits 对应于 `default` 模式:云端会话预先批准文件编辑,因此选择器显示 Accept edits 而不是 Manual。Bypass permissions 在云端会话中不可用,包括[自托管环境](/docs/zh-CN/self-hosted-environments)中的会话。

104 115 

105Enterprise 管理员可以限制哪些权限模式可用。有关详细信息,请参阅[企业配置](#enterprise-configuration)。116Enterprise 管理员可以限制哪些权限模式可用。有关详细信息,请参阅[企业配置](#enterprise-configuration)。

106 117 


113在将 Desktop 路由到 Google Cloud 的 Agent Platform 的 Enterprise 部署中,自动模式也默认可用;有关支持的模型,请参阅 [Bedrock、Agent Platform 或 Foundry 上的自动模式](/docs/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)。124在将 Desktop 路由到 Google Cloud 的 Agent Platform 的 Enterprise 部署中,自动模式也默认可用;有关支持的模型,请参阅 [Bedrock、Agent Platform 或 Foundry 上的自动模式](/docs/zh-CN/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry)。

114 125 

115<h3 id="preview-your-app">126<h3 id="preview-your-app">

116 预览你的应用127 预览您的应用

117</h3>128</h3>

118 129 

119Claude 可以启动开发服务器并在浏览器窗格中打开它以验证其更改。这适用于前端 Web 应用以及后端服务器:Claude 可以测试 API 端点、查看服务器日志,并迭代它发现的问题。在大多数情况下,Claude 在编辑项目文件后自动启动服务器。你也可以随时要求 Claude 进行预览。默认情况下,Claude [自动验证](#auto-verify-changes)每次编辑后的更改。130Claude 可以启动开发服务器并在浏览器窗格中打开它以验证其更改。这适用于前端 Web 应用以及后端服务器:Claude 可以测试 API 端点、查看服务器日志,并迭代它发现的问题。在大多数情况下,Claude 在编辑项目文件后自动启动服务器。您也可以随时要求 Claude 进行预览。默认情况下,Claude [自动验证](#auto-verify-changes)每次编辑后的更改。

120 131 

121浏览器窗格也可以打开项目中的静态 HTML 文件、PDF、图像和视频。在聊天中点击 HTML、PDF、图像或视频路径以在那里打开它。132浏览器窗格也可以打开项目中的静态 HTML 文件、PDF、图像和视频。在聊天中点击 HTML、PDF、图像或视频路径以在那里打开它。

122 133 

123从浏览器窗格,你可以:134从浏览器窗格,您可以:

124 135 

125* 直接在浏览器窗格中与运行的应用交互136* 直接在浏览器窗格中与运行的应用交互

126* 观看 Claude 自动验证其自己的更改:它拍摄屏幕截图、检查 DOM、点击元素、填充表单,并修复它发现的问题137* 观看 Claude 自动验证其自己的更改:它拍摄屏幕截图、检查 DOM、点击元素、填充表单,并修复它发现的问题

127* 从浏览器窗格标题栏中的 **Dev servers** 菜单启动或停止服务器,或一次停止所有服务器138* 从浏览器窗格标题栏中的 **Dev servers** 菜单启动或停止服务器,或一次停止所有服务器

128* 通过浏览器窗格 **⋮** 菜单中的 **Keep cookies**,选择浏览器在您退出应用后是否保留 cookie,这样您就不必在开发期间重新登录139* 通过浏览器窗格 **⋮** 菜单中的 **Keep cookies**,选择浏览器在您退出应用后是否保留 cookie,这样您就不必在开发期间重新登录

129 140 

130Claude 根据你的项目创建初始服务器配置。如果你的应用使用自定义开发命令,编辑 `.claude/launch.json` 以匹配你的设置。有关完整参考,请参阅[配置预览服务器](#configure-preview-servers)。141Claude 根据您的项目创建初始服务器配置。如果您的应用使用自定义开发命令,编辑 `.claude/launch.json` 以匹配您的设置。有关完整参考,请参阅[配置预览服务器](#configure-preview-servers)。

131 142 

132要清除浏览器保存的数据,请在浏览器窗格的 **⋮** 菜单中选择 **Clear browsing data**。要完全关闭浏览器,请在 **Settings > Claude Code** 中关闭 **Browser tools**。143要清除浏览器保存的数据,请在浏览器窗格的 **⋮** 菜单中选择 **Clear browsing data**。要完全关闭浏览器,请在 **Settings > Claude Code** 中关闭 **Browser tools**。

133 144 


139 150 

140您第一次点击聊天中的外部链接时,会出现一个对话框,询问链接是在浏览器窗格中打开还是在您的默认浏览器中打开。要在之后更改您的选择,请使用浏览器窗格 **⋮** 菜单中的 **Open links in built-in browser**。在 macOS 上 **Cmd** 点击或在 Windows 上 **Ctrl** 点击会直接在您的默认浏览器中打开链接。151您第一次点击聊天中的外部链接时,会出现一个对话框,询问链接是在浏览器窗格中打开还是在您的默认浏览器中打开。要在之后更改您的选择,请使用浏览器窗格 **⋮** 菜单中的 **Open links in built-in browser**。在 macOS 上 **Cmd** 点击或在 Windows 上 **Ctrl** 点击会直接在您的默认浏览器中打开链接。

141 152 

142Claude 可以使用与[验证你的应用](#preview-your-app)相同的工具读取和交互外部页面,并进行两项额外的安全检查:153Claude 可以使用与[验证您的应用](#preview-your-app)相同的工具读取和交互外部页面,并进行两项额外的安全检查:

143 154 

144* 安全分类器在每个权限模式中审查 Claude 在外部页面上的写入操作,例如点击和输入。这些与 [auto mode](#choose-a-permission-mode) 使用的分类器相同,当它们标记操作时,无论模式如何,你都会获得权限提示。155* 安全分类器在每个权限模式中审查 Claude 在外部页面上的写入操作,例如点击和输入。这些与[自动模式](#choose-a-permission-mode)使用的分类器相同,当它们标记操作时,无论模式如何,您都会收到权限提示。

145* 在 Auto 和 Bypass permissions 以外的权限模式中,在 Claude 导航到新网站之前也会应用域名允许列表检查。156* 在 Auto 和 Bypass permissions 以外的权限模式中,在 Claude 导航到新网站之前也会应用域名允许列表检查。

146 157 

147<h4 id="approve-claude’s-actions-on-a-site">158<h4 id="approve-claude’s-actions-on-a-site">

148 批准 Claude 在网站上的操作159 批准 Claude 在网站上的操作

149</h4>160</h4>

150 161 

151Claude 第一次在外部网站上操作时,会出现权限卡,Claude 等待你的选择:**允许一次**、**始终允许**或**拒绝**。**允许一次**批准操作而不保存任何内容。**始终允许**在你的设备上保存该网站的批准,你可以在设置中撤销它。每个网站都需要自己的批准,包括子域。你的本地开发服务器和项目文件不需要批准,因此[自动验证](#auto-verify-changes)继续工作而不需要提示。162Claude 第一次在外部网站上操作时,会出现权限卡,Claude 等待您的选择:**Allow once**、**Always allow** 或 **Deny**。**Allow once** 批准操作而不保存任何内容。**Always allow** 在您的设备上保存该网站的批准,您可以在设置中撤销它。每个网站都需要自己的批准,包括子域。您的本地开发服务器和项目文件不需要批准,因此[自动验证](#auto-verify-changes)继续工作而不需要提示。

152 163 

153即使在批准的网站上,Claude 也不会在没有你的输入的情况下购买物品、创建账户或绕过 CAPTCHA。在浏览器窗格中浏览使用与 [Claude in Chrome extension](/docs/zh-CN/chrome) 相同的安全模型。有关 Claude 如何处理敏感网站和风险操作的信息,请参阅[安全使用 Chrome 中的 Claude](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely)。164即使在批准的网站上,Claude 也不会在没有您的输入的情况下购买物品、创建账户或绕过 CAPTCHA。在浏览器窗格中浏览使用与 [Claude in Chrome extension](/docs/zh-CN/chrome) 相同的安全模型。有关 Claude 如何处理敏感网站和风险操作的信息,请参阅[安全使用 Chrome 中的 Claude](https://support.claude.com/en/articles/12902428-using-claude-in-chrome-safely)。

154 165 

155<h4 id="choose-between-the-browser-and-the-chrome-extension">166<h4 id="choose-between-the-browser-and-the-chrome-extension">

156 在浏览器和 Chrome 扩展之间选择167 在浏览器和 Chrome 扩展之间选择

157</h4>168</h4>

158 169 

159浏览器窗格使用干净的浏览器配置文件,与你的个人浏览器分开,没有你保存的登录或历史记录。将其用于构建和测试你的应用以及不需要你的身份的网站。当你想让 Claude 在你的登录会话中充当你时,请改用 [Claude in Chrome extension](/docs/zh-CN/chrome),它共享你的浏览器的登录状态。170浏览器窗格使用干净的浏览器配置文件,与您的个人浏览器分开,没有您保存的登录或历史记录。将其用于构建和测试您的应用以及不需要您的身份的网站。当您想让 Claude 在您的登录会话中以您的身份操作时,请改用 [Claude in Chrome extension](/docs/zh-CN/chrome),它共享您的浏览器的登录状态。

160 171 

161<h4 id="restrict-external-browsing-for-your-organization">172<h4 id="restrict-external-browsing-for-your-organization">

162 为你的组织限制外部浏览173 为您的组织限制外部浏览

163</h4>174</h4>

164 175 

165浏览器遵循与 Claude in Chrome 扩展相同的[网站允许列表和阻止列表控制](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)。如果你的组织已经为扩展配置了这些列表,浏览器会自动尊重它们。管理员也可以使用 [`browserExternalPageTools` 托管设置](#managed-settings)关闭 Claude 在外部页面上的工具。禁用工具后,用户仍然可以导航到外部网站;Claude 的工具无法读取或操作它们。176浏览器遵循与 Claude in Chrome 扩展相同的[网站允许列表和阻止列表控制](https://support.claude.com/en/articles/13065128-claude-in-chrome-admin-controls)。如果您的组织已经为扩展配置了这些列表,浏览器会自动遵循它们。管理员也可以使用 [`browserExternalPageTools` 托管设置](#managed-settings)关闭 Claude 在外部页面上的工具。禁用工具后,用户仍然可以访问外部网站;Claude 的工具无法读取或操作它们。

166 177 

167要完全关闭外部浏览,请将 [`disableBrowserExternalNavigation` 托管设置](#managed-settings)设置为 `true`。这会阻止浏览器中的所有外部导航,包括你的组织允许列表上的网站;localhost 开发服务器和文件预览继续工作。使用 `browserExternalPageTools` 让用户继续浏览外部网站而不使用 Claude 的工具,使用 `disableBrowserExternalNavigation` 为用户和 Claude 阻止外部网站。178要完全关闭外部浏览,请将 [`disableBrowserExternalNavigation` 托管设置](#managed-settings)设置为 `true`。这会阻止浏览器中的所有外部导航,包括您的组织允许列表上的网站;localhost 开发服务器和文件预览继续工作。使用 `browserExternalPageTools` 让用户继续浏览外部网站而不使用 Claude 的工具,使用 `disableBrowserExternalNavigation` 为用户和 Claude 阻止外部网站。

168 179 

169<h3 id="review-changes-with-diff-view">180<h3 id="review-changes-with-diff-view">

170 使用差异视图审查更改181 使用 diff 视图审查更改

171</h3>182</h3>

172 183 

173Claude 对你的代码进行更改后,差异视图让你在创建拉取请求之前逐个文件审查修改。184Claude 对您的代码进行更改后,diff 视图让您在创建 Pull Request 之前逐个文件审查修改。

174 185 

175当 Claude 更改文件时,会出现一个差异统计指示器,显示添加和删除的行数,例如 `+12 -1`。点击此指示器打开差异查看器,它在左侧显示文件列表,在右侧显示每个文件的更改。186当 Claude 更改文件时,会出现一个 diff 统计指示器,显示添加和删除的行数,例如 `+12 -1`。点击此指示器打开 diff 查看器,它在左侧显示文件列表,在右侧显示每个文件的更改。

176 187 

177要对特定行进行评论,点击差异中的任何行以打开评论框。输入你的反馈并按 **Enter** 添加评论。在多行添加评论后,一次提交所有评论:188要对特定行进行评论,点击 diff 中的任何行以打开评论框。输入您的反馈并按 **Enter** 添加评论。在多行添加评论后,一次提交所有评论:

178 189 

179* **macOS**:按 **Cmd+Enter**190* **macOS**:按 **Cmd+Enter**

180* **Windows**:按 **Ctrl+Enter**191* **Windows**:按 **Ctrl+Enter**

181 192 

182Claude 读取你的评论并进行请求的更改,这些更改显示为你可以审查的新差异。193Claude 读取您的评论并进行请求的更改,这些更改显示为您可以审查的新 diff。

183 194 

184<h3 id="review-your-code">195<h3 id="review-your-code">

185 审查你的代码196 审查您的代码

186</h3>197</h3>

187 198 

188要让 Claude 在您提交之前审查您的更改,请在[输入框](#use-the-prompt-box)中输入 `/code-review`。审查完成后,结果会出现在对话中。199要让 Claude 在您提交之前审查您的更改,请在[输入框](#use-the-prompt-box)中输入 `/code-review`。审查完成后,结果会出现在对话中。


195在任何会话中,您也可以在输入框中要求 Claude 修复审查发现的问题。有关 `/code-review` 检查的内容及其接受的参数,请参阅[在本地审查 diff](/docs/zh-CN/code-review#review-a-diff-locally)。206在任何会话中,您也可以在输入框中要求 Claude 修复审查发现的问题。有关 `/code-review` 检查的内容及其接受的参数,请参阅[在本地审查 diff](/docs/zh-CN/code-review#review-a-diff-locally)。

196 207 

197<h3 id="monitor-pull-request-status">208<h3 id="monitor-pull-request-status">

198 监控拉取请求状态209 监控 Pull Request 状态

199</h3>210</h3>

200 211 

201打开拉取请求后,CI 状态栏会出现在会话中。Claude Code 使用 GitHub CLI 轮询检查结果并显示失败。212打开 Pull Request 后,CI 状态栏会出现在会话中。Claude Code 使用 GitHub CLI 轮询检查结果并显示失败。

202 213 

203* **Auto-fix CI & address comments**:启用后,Claude 会通过读取失败输出并迭代来自动尝试修复失败的 CI 检查。在本地会话中,当评论作者是仓库所有者、组织成员、协作者或 GitHub App 时,Claude 还会处理除您之外的其他人留下的新审查评论。214* **Auto-fix CI & address comments**:启用后,Claude 会通过读取失败输出并迭代来自动尝试修复失败的 CI 检查。在本地会话中,当评论作者是仓库所有者、组织成员、协作者或 GitHub App 时,Claude 还会处理除您之外的其他人留下的新审查评论。

204* **Auto-merge when ready**:启用后,Claude 在所有检查通过后合并 PR。合并方法是 squash。请先在您的 [GitHub 仓库设置](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)中启用自动合并;没有它,Claude 无法合并 PR。215* **Auto-merge when ready**:启用后,Claude 在所有检查通过后合并 PR。合并方法是 squash。请先在您的 [GitHub 仓库设置](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)中启用自动合并;没有它,Claude 无法合并 PR。


206要启用这些选项,请点击状态栏中的 **CI**。要在 PR 合并或关闭后自动归档会话,请在 **Settings > Claude Code** 中打开[自动归档](#work-in-parallel-with-sessions)。217要启用这些选项,请点击状态栏中的 **CI**。要在 PR 合并或关闭后自动归档会话,请在 **Settings > Claude Code** 中打开[自动归档](#work-in-parallel-with-sessions)。

207 218 

208<Note>219<Note>

209 PR 监控需要在你的机器上安装并认证 [GitHub CLI (`gh`)](https://cli.github.com/)。如果未安装 `gh`,Desktop 会在你第一次尝试创建 PR 时提示你安装它。220 PR 监控需要在您的机器上安装并认证 [GitHub CLI (`gh`)](https://cli.github.com/)。如果未安装 `gh`,Desktop 会在您第一次尝试创建 PR 时提示您安装它。

210</Note>221</Note>

211 222 

212<h2 id="arrange-your-workspace">223<h2 id="arrange-your-workspace">


231 打开和编辑文件242 打开和编辑文件

232</h3>243</h3>

233 244 

234点击聊天或 diff 查看器中的文件路径在文件窗格中打开它。HTML、PDF、图像和视频路径改为在[浏览器窗格](#preview-your-app)中打开。进行现场编辑并点击 **Save** 来写回。如果文件自你打开它以来在磁盘上更改,窗格会警告你并让你覆盖或丢弃。点击 **Discard** 来恢复你的编辑,或点击窗格标题中的路径来复制绝对路径。245点击聊天或 diff 查看器中的文件路径在文件窗格中打开它。HTML、PDF、图像和视频路径改为在[浏览器窗格](#preview-your-app)中打开。进行现场编辑并点击 **Save** 来写回。如果文件自您打开它以来在磁盘上更改,窗格会警告您并让您覆盖或丢弃。点击 **Discard** 来恢复您的编辑,或点击窗格标题中的路径来复制绝对路径。

235 246 

236文件窗格在本地和 SSH 会话中可用。对于云会话,要求 Claude 进行更改。247文件窗格在本地和 SSH 会话中可用。对于云端会话,要求 Claude 进行更改。

237 248 

238<h3 id="open-files-in-other-apps">249<h3 id="open-files-in-other-apps">

239 在其他应用中打开文件250 在其他应用中打开文件


241 252 

242右键点击聊天、diff 查看器或文件窗格中的任何文件路径来打开上下文菜单:253右键点击聊天、diff 查看器或文件窗格中的任何文件路径来打开上下文菜单:

243 254 

244* **Attach as context**:将文件添加到你的下一个提示255* **Attach as context**:将文件添加到您的下一个提示词

245* **Open in**:在已安装的编辑器(如 VS Code、Cursor 或 Zed)中打开文件256* **Open in**:在已安装的编辑器(如 VS Code、Cursor 或 Zed)中打开文件

246* **Show in Finder**(macOS)、**Show in Explorer**(Windows):打开包含文件夹257* **Show in Finder**(macOS)、**Show in Explorer**(Windows):打开包含文件夹

247* **Copy path**:将绝对路径复制到你的剪贴板258* **Copy path**:将绝对路径复制到您的剪贴板

248 259 

249<h3 id="switch-view-modes">260<h3 id="switch-view-modes">

250 切换视图模式261 切换视图模式


254 265 

255| 模式 | 显示内容 |266| 模式 | 显示内容 |

256| - | - |267| - | - |

257| **Normal** | 工具调用折叠成摘要,带有完整文本响应 |268| **Normal** | 工具调用折叠成摘要,带有完整文本回复 |

258| **Thinking** | 工具调用折叠成摘要,加上 Claude 的思考 |269| **Thinking** | 工具调用折叠成摘要,加上 Claude 的思考 |

259| **Verbose** | Claude 采取的每个工具调用、文件读取和中间步骤,加上 Claude 的思考 |270| **Verbose** | Claude 采取的每个工具调用、文件读取和中间步骤,加上 Claude 的思考 |

260 271 

261使用 Thinking 来跟踪 Claude 的推理,工具调用仍然折叠。在调试 Claude 为什么采取特定操作时使用 Verbose。Claude Desktop 1.46388.1 之前的版本也列出了 Summary 模式,仍然设置为 Summary 的会话在你更新后会以 Normal 打开。272使用 Thinking 来跟踪 Claude 的推理,工具调用仍然折叠。在调试 Claude 为什么采取特定操作时使用 Verbose。Claude Desktop 1.46388.1 之前的版本也列出了 Summary 模式,仍然设置为 Summary 的会话在您更新后会以 Normal 打开。

262 273 

263<h3 id="keyboard-shortcuts">274<h3 id="keyboard-shortcuts">

264 快捷键275 快捷键


273| `Cmd` `W` | 关闭会话 |284| `Cmd` `W` | 关闭会话 |

274| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | 下一个或上一个会话 |285| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | 下一个或上一个会话 |

275| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | 下一个或上一个会话 |286| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | 下一个或上一个会话 |

276| `Esc` | 停止 Claude 的响应 |287| `Esc` | 停止 Claude 的回复 |

288| `Tab` / `Right arrow` | 在空输入框中[接受建议的提示词](#accept-a-suggested-prompt) |

277| `Cmd` `Shift` `D` | 切换 diff 窗格 |289| `Cmd` `Shift` `D` | 切换 diff 窗格 |

278| `Cmd` `Shift` `B` | 切换浏览器窗格 |290| `Cmd` `Shift` `B` | 切换浏览器窗格 |

279| `Cmd` `Shift` `S` | 在浏览器中选择元素 |291| `Cmd` `Shift` `S` | 在浏览器中选择元素 |


286| `Cmd` `Shift` `E` | 打开工作量菜单 |298| `Cmd` `Shift` `E` | 打开工作量菜单 |

287| `1`–`9` | 在打开的菜单中选择项目 |299| `1`–`9` | 在打开的菜单中选择项目 |

288 300 

289这些快捷键仅适用于 Code 选项卡。基于终端的[交互模式快捷键](/docs/zh-CN/interactive-mode#keyboard-shortcuts)(如 `Shift+Tab` 来循环权限模式)在 Desktop 中不适用。301这些快捷键适用于 Code 选项卡。在 Desktop 中,`Shift+Tab` 不会像在终端的[交互模式](/docs/zh-CN/interactive-mode#keyboard-shortcuts)中那样循环切换权限模式。

290 302 

291<h3 id="check-usage">303<h3 id="check-usage">

292 检查使用情况304 检查使用情况

293</h3>305</h3>

294 306 

295点击模型选择器旁的使用环形图来查看你当前的上下文窗口使用情况和你的计划在该期间的使用情况。上下文使用是按会话的;计划使用在所有 Claude Code 表面上共享。307点击模型选择器旁的使用环形图来查看您当前的上下文窗口使用情况和您的计划在该期间的使用情况。上下文使用是按会话的;计划使用在所有 Claude Code 使用入口上共享。

296 308 

297<h2 id="let-claude-use-your-computer">309<h2 id="let-claude-use-your-computer">

298 让 Claude 使用你的计算机310 让 Claude 使用你的计算机


458* 选择 **Cloud** 可将会话作为[云端会话](/docs/zh-CN/claude-code-on-the-web)继续,您的对话会以摘要形式带过去。在您确认之前,对话框会说明您的文件是否也会一并移动,以及云端会话就绪后此会话是否会被存档。通过 [SSH](#ssh-sessions) 或在 [WSL](/docs/zh-CN/desktop-wsl) 中运行的会话无法以这种方式移动。470* 选择 **Cloud** 可将会话作为[云端会话](/docs/zh-CN/claude-code-on-the-web)继续,您的对话会以摘要形式带过去。在您确认之前,对话框会说明您的文件是否也会一并移动,以及云端会话就绪后此会话是否会被存档。通过 [SSH](#ssh-sessions) 或在 [WSL](/docs/zh-CN/desktop-wsl) 中运行的会话无法以这种方式移动。

459* 选择已安装的编辑器或文件管理器,可在其中打开该会话在磁盘上的文件夹。471* 选择已安装的编辑器或文件管理器,可在其中打开该会话在磁盘上的文件夹。

460 472 

473<h3 id="control-which-sessions-appear-on-your-other-devices">

474 控制哪些会话显示在您的其他设备上

475</h3>

476 

477本地会话在 [Remote Control](/docs/zh-CN/remote-control) 将其连接后,会显示在您的其他设备上。已连接的会话会出现在 [claude.ai/code](https://claude.ai/code) 的会话列表中,以及登录了您 claude.ai 账户的设备上的 Claude 应用中。

478 

479本地会话会在您为其打开 Remote Control 时连接,或在启动时自动连接:

480 

481* **您为该会话打开它**:使用该会话的 **Remote Control** 开关,或在其输入框中输入 `/remote-control`。

482* **在启动时连接**:当 **Settings > Claude Code** 中的 **Connect new sessions to Remote Control** 处于打开状态时,新会话会自动连接。如果您从未更改过该设置,Desktop 会遵循您的用户设置或托管设置中的 [`remoteControlAtStartup`](/docs/zh-CN/settings-reference#remotecontrolatstartup),其次是您组织的默认值。

483 

484要查看会话是否已连接,请查看工具栏中会话标题前的笔记本电脑图标。会话已连接或正在连接时,该图标会高亮显示。点击它可打开该会话的 **Remote Control** 开关。

485 

486要让会话不出现在您的其他设备上,请在所需的级别关闭 Remote Control:

487 

488* **单个会话**:关闭其 **Remote Control** 开关。在启动时已自动连接的会话中,输入 `/remote-control` 会保持 Remote Control 打开,并显示 `Remote Control is already on. This session connected automatically when it started.`。点击该行上的 **Turn off** 即可断开连接。

489* **此计算机上的新 Desktop 会话**:在 **Settings > Claude Code** 中关闭 **Connect new sessions to Remote Control**。如果它已显示为关闭,请先将其打开再关闭,以便 Desktop 保存您的选择。保存后,它优先于 `remoteControlAtStartup` 和默认值。

490* **此计算机上的任何会话,包括 CLI**:在 `~/.claude/settings.json` 中将 [`disableRemoteControl`](/docs/zh-CN/settings-reference#disableremotecontrol) 设置为 `true`,以阻止会话连接。保存该文件时已连接的会话会保持连接,直到您为其关闭 Remote Control。

491 

492要隐藏已显示在您其他设备上的会话,请在 Desktop 中将其存档。Desktop 也会存档该会话的 Remote Control 副本,使其从这些设备上的默认会话列表中移除。要在那里查看或删除它,请参阅[存档会话](/docs/zh-CN/claude-code-on-the-web#archive-sessions)。

493 

461<h3 id="sessions-from-dispatch">494<h3 id="sessions-from-dispatch">

462 来自 Dispatch 的会话495 来自 Dispatch 的会话

463</h3>496</h3>


836 为你的团队预配置 SSH 连接869 为你的团队预配置 SSH 连接

837</h4>870</h4>

838 871 

839管理员可以通过将 `sshConfigs` 添加到[托管设置](/docs/zh-CN/managed-settings)文件来向团队成员分发 SSH 连接。以这种方式定义的连接会自动出现在每个用户的环境下拉菜单中,并显示为托管的,因此用户可以选择它们,但不能在应用中编辑或删除它们。872管理员可以通过在[托管设置](/docs/zh-CN/managed-settings)中设置 `sshConfigs` 来向团队成员分发 SSH 连接。以这种方式定义的连接会自动出现在每个用户的环境下拉菜单中,并显示为托管的,因此用户可以选择它们,但不能在应用中编辑或删除它们。

840 873 

841以下示例预配置了一个单个连接:874以下示例预配置了一个单个连接:

842 875 


860 限制用户可以连接的 SSH 主机893 限制用户可以连接的 SSH 主机

861</h4>894</h4>

862 895 

863管理员可以通过将 `sshHostAllowlist` 添加到[托管设置](/docs/zh-CN/managed-settings)文件来限制 Desktop 的 SSH 会话到一组已批准的主机。设置后,用户只能连接到其解析的主机名与其中一个模式匹配的主机。将其设置为空数组以完全禁用 SSH 会话。896管理员可以通过在[托管设置](/docs/zh-CN/managed-settings)中设置 `sshHostAllowlist` 来将 Desktop 的 SSH 会话限制为一组已批准的主机。设置后,用户只能连接到其解析的主机名与其中一个模式匹配的主机。将其设置为空数组可禁用 SSH 会话。[`sshHostAllowlist` 参考条目](/docs/zh-CN/settings-reference#sshhostallowlist)说明了空数组如何与其他托管来源中的列表组合。

864 897 

865以下示例允许连接到 `devboxes.example.com` 下的任何主机以及单个命名的堡垒主机:898以下示例允许连接到 `devboxes.example.com` 下的任何主机以及单个命名的堡垒主机:

866 899 


870}903}

871```904```

872 905 

906<Warning>

907 如果您的组织提供[服务器托管设置](/docs/zh-CN/server-managed-settings),请在那里设置 `sshHostAllowlist`。默认情况下,Desktop 仅从[提供策略键的最高优先级托管来源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)读取该键。如果该来源未设置该键,Desktop 会忽略较低优先级的 MDM 策略或托管设置文件中的列表,并将该键视为[未设置](/docs/zh-CN/settings-reference#sshhostallowlist)。Desktop 不会显示任何警告。

908 

909 同时,请在每个用户的机器上保留相同的列表,放在该机器上最高优先级的 MDM 策略或托管设置文件中。Desktop 在启动时获取服务器托管设置,并且不保留缓存副本,因此在获取成功之前,适用的是该机器上的列表。

910</Warning>

911 

873模式不区分大小写。`*` 匹配任何主机,`*.example.com` 匹配 `example.com` 和任何子域。其他任何内容都是精确匹配。检查针对通过 `ssh -G` 进行 `~/.ssh/config` 解析后的主机名运行,因此允许 `Host` 别名和 `ProxyCommand`/`ProxyJump` 条目,只要解析的 `HostName` 匹配。912模式不区分大小写。`*` 匹配任何主机,`*.example.com` 匹配 `example.com` 和任何子域。其他任何内容都是精确匹配。检查针对通过 `ssh -G` 进行 `~/.ssh/config` 解析后的主机名运行,因此允许 `Host` 别名和 `ProxyCommand`/`ProxyJump` 条目,只要解析的 `HostName` 匹配。

874 913 

875`sshHostAllowlist` 仅从托管设置中读取;用户或项目设置中的值被忽略。只有 Claude Desktop 应用遵守此设置;Claude Code CLI 和 IDE 扩展不读取它,它也不限制通过 Bash 工具运行的 `ssh` 命令。它管理 Desktop 应用连接到的主机,而不是网络出口,因此如果你需要硬边界,请将其与你的组织的网络或零信任控制配对。914`sshHostAllowlist` 仅从托管设置中读取;用户或项目设置中的值被忽略。只有 Claude Desktop 应用遵守此设置;Claude Code CLI 和 IDE 扩展不读取它,它也不限制通过 Bash 工具运行的 `ssh` 命令。它管理 Desktop 应用连接到的主机,而不是网络出口,因此如果你需要硬边界,请将其与你的组织的网络或零信任控制配对。


895<Note>934<Note>

896 Cowork 下的 OpenTelemetry 表单位于管理员控制台的[数据和隐私设置](https://claude.ai/admin-settings/data-privacy-controls)中的**监控**下,仅适用于 Cowork 会话。在此机器上的 Cowork 会话中,桌面应用将该收集器作为 `OTEL_*` 环境变量传递给 Claude Code,因此该表单生效,尽管该会话中的 Claude Code [从不获取管理员控制台设置](#managed-settings)。935 Cowork 下的 OpenTelemetry 表单位于管理员控制台的[数据和隐私设置](https://claude.ai/admin-settings/data-privacy-controls)中的**监控**下,仅适用于 Cowork 会话。在此机器上的 Cowork 会话中,桌面应用将该收集器作为 `OTEL_*` 环境变量传递给 Claude Code,因此该表单生效,尽管该会话中的 Claude Code [从不获取管理员控制台设置](#managed-settings)。

897 936 

898 要从 Code 选项卡会话导出遥测,请在 Claude Code 托管设置的 `env` 块中设置 `CLAUDE_CODE_ENABLE_TELEMETRY` 和 `OTEL_*` 变量,如[监控的管理员配置](/docs/zh-CN/monitoring-usage#administrator-configuration)中所示。本地、云端和 SSH 会话各自从不同来源读取[托管设置](#managed-settings)。有关云端会话可以到达的主机,请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)。有关 Code 选项卡会话报告的 `service.name`,请参阅[服务信息](/docs/zh-CN/monitoring-usage#service-information)。937 要从 Code 选项卡会话导出遥测,请在 Claude Code 托管设置的 `env` 块中设置 `CLAUDE_CODE_ENABLE_TELEMETRY` 和 `OTEL_*` 变量,如[监控的管理员配置](/docs/zh-CN/monitoring-usage#administrator-configuration)中所示。本地、云端和 SSH 会话各自[从不同来源读取托管设置](#managed-settings)。有关云端会话可以到达的主机,请参阅[网络访问](/docs/zh-CN/cloud-environments#network-access)。有关 Code 选项卡会话报告的 `service.name`,请参阅[服务信息](/docs/zh-CN/monitoring-usage#service-information)。

899</Note>938</Note>

900 939 

901<h3 id="managed-settings">940<h3 id="managed-settings">


913| `disableMobileSimulatorTools` | 设置为 `true` 以阻止 Claude 在 [iOS Simulator 窗格](/docs/zh-CN/desktop-ios-simulator#turn-off-simulator-access)中控制和捕获设备的工具。该窗格仍可用于用户自己的点击;仅删除 Claude 的访问权限。该值必须是 JSON 布尔值 `true`;字符串 `"true"` 被忽略。 |952| `disableMobileSimulatorTools` | 设置为 `true` 以阻止 Claude 在 [iOS Simulator 窗格](/docs/zh-CN/desktop-ios-simulator#turn-off-simulator-access)中控制和捕获设备的工具。该窗格仍可用于用户自己的点击;仅删除 Claude 的访问权限。该值必须是 JSON 布尔值 `true`;字符串 `"true"` 被忽略。 |

914| `disableBrowserExternalNavigation` | 设置为 `true` 以完全关闭[浏览器窗格](#browse-external-sites)中的外部浏览。用户和 Claude 都无法导航到外部网站,localhost 开发服务器预览不受影响。该值必须是 JSON 布尔值 `true`;字符串 `"true"` 被忽略。 |953| `disableBrowserExternalNavigation` | 设置为 `true` 以完全关闭[浏览器窗格](#browse-external-sites)中的外部浏览。用户和 Claude 都无法导航到外部网站,localhost 开发服务器预览不受影响。该值必须是 JSON 布尔值 `true`;字符串 `"true"` 被忽略。 |

915| `sshConfigs` | 预配置[SSH 连接](#pre-configure-ssh-connections-for-your-team),在环境下拉菜单中显示。用户无法编辑或删除托管连接。 |954| `sshConfigs` | 预配置[SSH 连接](#pre-configure-ssh-connections-for-your-team),在环境下拉菜单中显示。用户无法编辑或删除托管连接。 |

916| `sshHostAllowlist` | 限制 [SSH 会话](#restrict-which-ssh-hosts-users-can-connect-to)连接到已解析主机名与这些模式之一匹配的主机。空数组禁用 SSH 会话。仅从托管设置中读取。 |955| `sshHostAllowlist` | 限制 [SSH 会话](#restrict-which-ssh-hosts-users-can-connect-to)连接到已解析主机名与这些模式之一匹配的主机。仅从托管设置中读取。 |

917| `disableDesktopLocalSessions` | 设置为 `true` 以关闭[在设备上运行的 Code 会话](#local-sessions-on-managed-devices),仅保留到其他主机的 SSH 会话和云端会话可用。该值必须是 JSON 布尔值 `true`。仅从托管设置中读取。需要 Claude Desktop v1.37937.0 或更高版本。 |956| `disableDesktopLocalSessions` | 设置为 `true` 以关闭[在设备上运行的 Code 会话](#local-sessions-on-managed-devices),仅保留到其他主机的 SSH 会话和云端会话可用。该值必须是 JSON 布尔值 `true`。仅从托管设置中读取。需要 Claude Desktop v1.37937.0 或更高版本。 |

918| `disableSshSavedPasswords` | 设置为 `true` 以阻止 Desktop 提供记住 SSH 密码的选项,并阻止其使用或显示之前保存的密码。启用此设置不会删除这些密码。仅从托管设置中读取。需要 Claude Desktop v1.49585.0 或更高版本。 |957| `disableSshSavedPasswords` | 设置为 `true` 以阻止 Desktop 提供记住 SSH 密码的选项,并阻止其使用或显示之前保存的密码。启用此设置不会删除这些密码。仅从托管设置中读取。需要 Claude Desktop v1.49585.0 或更高版本。 |

919| `managedMcpServers` | 将 MCP 服务器配置推送到所有用户。仅在第三方 (3P) Desktop 部署中可用。在每个条目中,设置 `"http"`、`"sse"` 或 `"stdio"` 的传输、连接详细信息,以及可选的 `toolPolicy` 映射,该映射限制该服务器中用户可以调用的工具。通过托管设置文件、MDM 或 Claude apps gateway 策略的 [`desktop` 块](/docs/zh-CN/claude-apps-gateway-config#claude-desktop-overlay)提供它,因为 3P 部署不接收管理员控制台设置。要通过网关提供它,您需要网关服务器上的 Claude Code v2.1.232 或更高版本。这是桌面应用自己的键;Claude Code 读取自己的[同名托管设置](/docs/zh-CN/managed-mcp#provide-servers-through-managed-settings),具有不同的条目形状。 |958| `managedMcpServers` | 将 MCP 服务器配置推送到所有用户。仅在第三方 (3P) Desktop 部署中可用。在每个条目中,设置 `"http"`、`"sse"` 或 `"stdio"` 的传输、连接详细信息,以及可选的 `toolPolicy` 映射,该映射限制该服务器中用户可以调用的工具。通过托管设置文件、MDM 或 Claude apps gateway 策略的 [`desktop` 块](/docs/zh-CN/claude-apps-gateway-config#claude-desktop-overlay)提供它,因为 3P 部署不接收管理员控制台设置。要通过网关提供它,您需要网关服务器上的 Claude Code v2.1.232 或更高版本。这是桌面应用自己的键;Claude Code 读取自己的[同名托管设置](/docs/zh-CN/managed-mcp#provide-servers-through-managed-settings),具有不同的条目形状。 |


922 961 

923* **此机器上的本地会话**:部署到磁盘的托管设置文件适用。通过管理员控制台远程推送的托管设置也在会话使用[符合条件的登录或密钥](/docs/zh-CN/server-managed-settings#platform-availability)向 Anthropic 的 API 进行身份验证时到达这些会话,遵循与终端 CLI 相同的[设置优先级](/docs/zh-CN/settings#settings-precedence)。962* **此机器上的本地会话**:部署到磁盘的托管设置文件适用。通过管理员控制台远程推送的托管设置也在会话使用[符合条件的登录或密钥](/docs/zh-CN/server-managed-settings#platform-availability)向 Anthropic 的 API 进行身份验证时到达这些会话,遵循与终端 CLI 相同的[设置优先级](/docs/zh-CN/settings#settings-precedence)。

924* **[云端会话](#cloud-sessions)**:接收[服务器管理的设置](/docs/zh-CN/server-managed-settings);设备部署的文件无法到达它们,因为它们在 Anthropic 管理的虚拟机上运行。路由到[自托管环境](/docs/zh-CN/self-hosted-environments)的会话也读取运行程序镜像中的托管设置文件。[Claude Code 如何组合托管源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)说明该文件何时适用。963* **[云端会话](#cloud-sessions)**:接收[服务器管理的设置](/docs/zh-CN/server-managed-settings);设备部署的文件无法到达它们,因为它们在 Anthropic 管理的虚拟机上运行。路由到[自托管环境](/docs/zh-CN/self-hosted-environments)的会话也读取运行程序镜像中的托管设置文件。[Claude Code 如何组合托管源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)说明该文件何时适用。

925* **[SSH 会话](#ssh-sessions)**:会话从远程主机读取托管设置文件。Desktop 本身从本地机器的托管设置中读取 `sshConfigs`、`sshHostAllowlist`、`disableSshSavedPasswords` 和 `disableDesktopLocalSessions`。964* **[SSH 会话](#ssh-sessions)**:会话从远程主机读取托管设置文件。Desktop 本身在本地机器上读取 `sshConfigs`、`sshHostAllowlist`、`disableSshSavedPasswords` 和 `disableDesktopLocalSessions`。如果您提供多个托管源,它[默认只从其中一个](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)读取。

926* **[Cowork](https://claude.com/docs/cowork/overview) 会话**:在此机器上的 Cowork 会话中,Claude Code 永远不会获取管理员控制台设置,即使用户使用 Team 或 Enterprise 帐户登录,并读取部署到机器的策略,除非您的 Claude Desktop 配置设置了 `requireCoworkFullVmSandbox`。远程 Cowork 会话两者都不接收。请参阅[策略应用的位置和时间](/docs/zh-CN/managed-settings#where-and-when-a-policy-applies)了解哪些设备文件到达 Cowork,以及[MCP 权限规则](/docs/zh-CN/permissions#mcp)了解 `Bash` 和 `WebFetch` 规则如何应用于 Cowork 的工具。965* **[Cowork](https://claude.com/docs/cowork/overview) 会话**:在此机器上的 Cowork 会话中,Claude Code 永远不会获取管理员控制台设置,即使用户使用 Team 或 Enterprise 帐户登录,并读取部署到机器的策略,除非您的 Claude Desktop 配置设置了 `requireCoworkFullVmSandbox`。远程 Cowork 会话两者都不接收。请参阅[策略应用的位置和时间](/docs/zh-CN/managed-settings#where-and-when-a-policy-applies)了解哪些设备文件到达 Cowork,以及[MCP 权限规则](/docs/zh-CN/permissions#mcp)了解 `Bash` 和 `WebFetch` 规则如何应用于 Cowork 的工具。

927 966 

928在本地和 SSH 会话中,桌面应用直接将每个用户连接的 claude.ai 连接器传递给 Claude Code。无论您使用哪个设置源或文件位置,都没有 MCP 设置或 `managed-mcp.json` 到达这些连接器。要在这些会话中阻止连接器的工具,请使用您的组织的[连接器工具控制](/docs/zh-CN/mcp#organization-controls-on-connector-tools)。[连接器如何到达 Claude Code](/docs/zh-CN/mcp#how-connectors-reach-claude-code)显示在每种会话中哪些设置管理连接器。967在本地和 SSH 会话中,桌面应用直接将每个用户连接的 claude.ai 连接器传递给 Claude Code。无论您使用哪个设置源或文件位置,都没有 MCP 设置或 `managed-mcp.json` 到达这些连接器。要在这些会话中阻止连接器的工具,请使用您的组织的[连接器工具控制](/docs/zh-CN/mcp#organization-controls-on-connector-tools)。[连接器如何到达 Claude Code](/docs/zh-CN/mcp#how-connectors-reach-claude-code)显示在每种会话中哪些设置管理连接器。


975assets-proxy.anthropic.com1014assets-proxy.anthropic.com

976claude.ai1015claude.ai

977a.claude.ai1016a.claude.ai

978a-cdn.claude.ai

979assets.claude.ai1017assets.claude.ai

980downloads.claude.ai1018downloads.claude.ai

981*.livepreview.claude.ai1019*.livepreview.claude.ai


1023 来自 CLI?1061 来自 CLI?

1024</h2>1062</h2>

1025 1063 

1026如果你已经使用 Claude Code CLI,Desktop 运行相同的底层引擎,具有图形界面。你可以在同一机器上同时运行两者,甚至在同一项目上。每个维护单独的会话列表,你可以将 CLI 会话带入 Desktop。它们通过 CLAUDE.md 文件共享配置和项目内存。1064如果您已经使用 Claude Code CLI,Desktop 运行相同的底层引擎,具有图形界面。您可以在同一机器上同时运行两者,甚至在同一项目上。每个维护单独的会话列表,您可以将 CLI 会话带入 Desktop。它们通过 CLAUDE.md 文件共享配置和项目记忆。

1027 1065 

1028要将 CLI 会话移动到 Desktop,在终端中运行 `/desktop`。Claude 保存你的会话并在桌面应用中打开它,然后退出 CLI。此命令在 macOS 和 x64 Windows 上可用,当你使用 Claude 订阅登录时。它不适用于 API 密钥身份验证或 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。1066要将 CLI 会话移动到 Desktop,在终端中运行 `/desktop`。Claude 保存您的会话并在桌面应用中打开它,然后退出 CLI。当您使用 Claude 订阅登录时,此命令在 macOS 和 x64 Windows 上可用。它不适用于 API 密钥身份验证或 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。

1029 1067 

1030从你的 shell,[`claude --desktop`](/docs/zh-CN/cli-reference#cli-flags) 直接打开 Desktop,无需启动终端会话。它需要 Claude Code v2.1.285 或更高版本,并具有与 `/desktop` 相同的平台和登录要求。没有其他参数时,它在当前目录中打开 Desktop。要在 Desktop 中打开现有的 CLI 会话,添加 `--continue` 以获取此目录中最近的对话,或使用 `--resume` 和 `/status` 显示的会话 ID:1068从您的 shell,[`claude --desktop`](/docs/zh-CN/cli-reference#cli-flags) 直接打开 Desktop,无需启动终端会话。它需要 Claude Code v2.1.285 或更高版本,并具有与 `/desktop` 相同的平台和登录要求。没有其他参数时,它在当前目录中打开 Desktop。要在 Desktop 中打开现有的 CLI 会话,添加 `--continue` 以获取此目录中最近的对话,或使用 `--resume` 和 `/status` 显示的会话 ID:

1031 1069 

1032```bash theme={null}1070```bash theme={null}

1033claude --desktop --resume <session-id>1071claude --desktop --resume <session-id>


1035 1073 

1036Claude Code 打印 `Opening session <session-id> in Claude Desktop`,会话在应用中打开,命令退出。会话名称不能代替 ID。Claude Code 不会移动在另一个终端中打开或仍在后台运行的会话。如果未安装 Claude Desktop,命令会打印下载链接并退出。1074Claude Code 打印 `Opening session <session-id> in Claude Desktop`,会话在应用中打开,命令退出。会话名称不能代替 ID。Claude Code 不会移动在另一个终端中打开或仍在后台运行的会话。如果未安装 Claude Desktop,命令会打印下载链接并退出。

1037 1075 

1038你也可以从 Desktop 内部使用 `/resume` 选择 CLI 会话。此命令在本地会话中可用,不在 SSH、WSL 或云会话中可用。1076您也可以从 Desktop 内部使用 `/resume` 选择 CLI 会话。此命令在本地会话中可用,不在 SSH、WSL 或云端会话中可用。

1039 1077 

1040要在 Desktop 中继续终端会话:1078要在 Desktop 中继续终端会话:

1041 1079 

10421. 在终端中关闭会话。10801. 在终端中关闭会话。

10432. 在 Desktop 提示框中,输入 `/resume`。Desktop 列出你从 CLI 在此计算机上启动的会话。按标题、文件夹或分支搜索,并预览每个会话的停止位置。10812. 在 Desktop 输入框中,输入 `/resume`。Desktop 列出您从 CLI 在此计算机上启动的会话。按标题、文件夹或分支搜索,并预览每个会话的停止位置。

10443. 选择会话。它在应用中继续,具有完整的对话和上下文。10823. 选择会话。它在应用中继续,具有完整的对话和上下文。

1045 1083 

1046Desktop 继续相同的会话而不是副本,所以之后在终端中 `claude --resume` 仍然可以找到它。1084Desktop 继续相同的会话而不是副本,所以之后在终端中 `claude --resume` 仍然可以找到它。

1047 1085 

1048<Tip>1086<Tip>

1049 何时使用 Desktop vs CLI:当你想要管理一个窗口中的并行会话、并排排列窗格或可视化审查更改时,使用 Desktop。当你需要脚本、自动化或更喜欢终端工作流时,使用 CLI。1087 何时使用 Desktop vs CLI:当您想要在一个窗口中管理并行会话、并排排列窗格或可视化审查更改时,使用 Desktop。当您需要脚本、自动化或更喜欢终端工作流时,使用 CLI。

1050</Tip>1088</Tip>

1051 1089 

1052<h3 id="cli-flag-equivalents">1090<h3 id="cli-flag-equivalents">


1058| CLI | Desktop 等效项 |1096| CLI | Desktop 等效项 |

1059| - | - |1097| - | - |

1060| `--model sonnet` | 发送按钮旁的模型下拉菜单 |1098| `--model sonnet` | 发送按钮旁的模型下拉菜单 |

1061| `--resume`, `--continue` | 点击侧边栏中的会话,或在提示框中输入 `/resume` 来选择你从 CLI 启动的会话 |1099| `--resume`, `--continue` | 点击侧边栏中的会话,或在输入框中输入 `/resume` 来选择您从 CLI 启动的会话 |

1062| `--permission-mode` | 发送按钮旁的模式选择器 |1100| `--permission-mode` | 发送按钮旁的模式选择器 |

1063| `--dangerously-skip-permissions` | 绕过权限模式。在 Pro 和 Max 计划上,在设置 → Claude Code → "允许绕过权限模式"中启用它;在 Team 和 Enterprise 计划上,组织策略控制它 |1101| `--dangerously-skip-permissions` | 绕过权限模式。在 Pro 和 Max 套餐上,在设置 → Claude Code → "允许绕过权限模式"中启用它;在 Team 和 Enterprise 套餐上,由组织策略控制 |

1064| `--add-dir` | 在云会话中使用 **+** 按钮添加多个存储库 |1102| `--add-dir` | 在云端会话中使用 **+** 按钮添加多个存储库 |

1065| `--allowedTools`, `--disallowedTools` | 无每个会话的等效项。[设置文件](/docs/zh-CN/settings)中的权限规则仍然适用。 |1103| `--allowedTools`, `--disallowedTools` | 无每个会话的等效项。[设置文件](/docs/zh-CN/settings)中的权限规则仍然适用。 |

1066| `--verbose` | [Verbose 视图模式](#switch-view-modes) |1104| `--verbose` | [Verbose 视图模式](#switch-view-modes) |

1067| `--print`, `--output-format` | 不可用。Desktop 仅是交互式的。 |1105| `--print`, `--output-format` | 不可用。Desktop 仅是交互式的。 |


1072 共享配置1110 共享配置

1073</h3>1111</h3>

1074 1112 

1075Desktop 和 CLI 读取相同的配置文件,因此你的设置会转移:1113Desktop 和 CLI 读取相同的配置文件,因此您的设置会沿用:

1076 1114 

1077* **[CLAUDE.md](/docs/zh-CN/memory)** 和 `CLAUDE.local.md` 文件在你的项目中被两者使用1115* 项目中的 **[CLAUDE.md](/docs/zh-CN/memory)** 和 `CLAUDE.local.md` 文件由两者共同使用

1078* **[MCP servers](/docs/zh-CN/mcp)** 在 `~/.claude.json` 或 `.mcp.json` 中配置在两者中工作1116* 在 `~/.claude.json` 或 `.mcp.json` 中配置的 **[MCP 服务器](/docs/zh-CN/mcp)** 在两者中均可使用

1079* **[Hooks](/docs/zh-CN/hooks)** 和 **[skills](/docs/zh-CN/skills)** 在设置中定义适用于两者1117* 在设置中定义的 **[hook](/docs/zh-CN/hooks)** 和 **[skill](/docs/zh-CN/skills)** 适用于两者

1080* **[Settings](/docs/zh-CN/settings)** 在 `~/.claude.json` 和 `~/.claude/settings.json` 中是共享的。权限规则、允许的工具和 `settings.json` 中的其他设置适用于 Desktop 会话。1118* `~/.claude.json` 和 `~/.claude/settings.json` 中的 **[设置](/docs/zh-CN/settings)** 是共享的。权限规则、允许的工具和 `settings.json` 中的其他设置适用于 Desktop 会话。

1081* **Models**:相同的[模型](/docs/zh-CN/model-config#available-models)在两者中都可用。在 Desktop 中,从发送按钮旁的下拉菜单中选择模型。你可以在会话期间从相同的下拉菜单更改模型。1119* **模型**:相同的[模型](/docs/zh-CN/model-config#available-models)在两者中都可用。在 Desktop 中,从发送按钮旁的下拉菜单中选择模型。您可以在会话期间从相同的下拉菜单更改模型。

1082 1120 

1083<h4 id="mcp-servers-from-the-claude-desktop-chat-app">1121<h4 id="mcp-servers-from-the-claude-desktop-chat-app">

1084 来自 Claude Desktop 聊天应用的 MCP servers1122 来自 Claude Desktop 聊天应用的 MCP 服务器

1085</h4>1123</h4>

1086 1124 

1087Desktop 应用从 `claude_desktop_config.json` 将 MCP servers 加载到本地 Code 选项卡会话中,以及来自 `~/.claude.json` 和 `.mcp.json` 的服务器。在 `claude_desktop_config.json` 中定义的服务器在 Desktop 聊天表面和本地 Code 选项卡会话中都可用。1125Desktop 应用会将 `claude_desktop_config.json` 中的 MCP 服务器加载到本地 Code 选项卡会话中,与来自 `~/.claude.json` 和 `.mcp.json` 的服务器一起使用。在 `claude_desktop_config.json` 中定义的服务器在 Desktop 聊天使用入口和本地 Code 选项卡会话中都可用。

1088 1126 

1089如果你在 `claude_desktop_config.json` 和 `~/.claude.json` 或 `.mcp.json` 中定义相同的服务器名称,本地会话中的 Code 选项卡连接一次并使用 `claude_desktop_config.json` 定义。1127如果您在 `claude_desktop_config.json` 和 `~/.claude.json` 或 `.mcp.json` 中定义相同的服务器名称,本地会话中的 Code 选项卡只连接一次并使用 `claude_desktop_config.json` 中的定义。

1090 1128 

1091该应用还将来自 `~/.claude.json` 的 stdio 服务器重新传递到本地会话中的嵌入式 CLI。当 `~/.claude.json`(用户范围)和 `.mcp.json` 的顶级定义相同的 stdio 服务器名称时,Code 选项卡使用 `~/.claude.json` 定义,偏离 CLI [范围层次结构](/docs/zh-CN/mcp#scope-hierarchy-and-precedence)。1129该应用还将来自 `~/.claude.json` 的 stdio 服务器重新传递到本地会话中的嵌入式 CLI。当 `~/.claude.json` 的顶层(用户作用域)和 `.mcp.json` 定义相同的 stdio 服务器名称时,Code 选项卡使用 `~/.claude.json` 中的定义,这与 CLI 的[作用域层次结构](/docs/zh-CN/mcp#scope-hierarchy-and-precedence)不同。

1092 1130 

1093<Note>1131<Note>

1094 独立 CLI 不读取 `claude_desktop_config.json`。在 macOS 和 WSL 上,运行 `claude mcp add-from-claude-desktop` 将这些服务器复制到 `~/.claude.json`。请参阅[从 Claude Desktop 导入 MCP servers](/docs/zh-CN/mcp#import-mcp-servers-from-claude-desktop)了解导入流程和范围选项。1132 独立 CLI 不读取 `claude_desktop_config.json`。在 macOS 和 WSL 上,运行 `claude mcp add-from-claude-desktop` 将这些服务器复制到 `~/.claude.json`。请参阅[从 Claude Desktop 导入 MCP 服务器](/docs/zh-CN/mcp#import-mcp-servers-from-claude-desktop)了解导入流程和作用域选项。

1095</Note>1133</Note>

1096 1134 

1097<h3 id="feature-comparison">1135<h3 id="feature-comparison">


1102 1140 

1103| 功能 | CLI | Desktop |1141| 功能 | CLI | Desktop |

1104| - | - | - |1142| - | - | - |

1105| 权限模式 | 所有模式,包括 `dontAsk` | Manual、Accept edits、Plan 和 Auto。绕过权限在模式选择器中出现一次启用:通过 Pro 和 Max 计划上的设置切换,或通过 Team 和 Enterprise 计划上的组织策略 |1143| 权限模式 | 所有模式,包括 `dontAsk` | Manual、Accept edits、Plan 和 Auto。启用后,绕过权限会出现在模式选择器中:在 Pro 和 Max 套餐上通过设置开关启用,在 Team 和 Enterprise 套餐上通过组织策略启用 |

1106| [第三方提供商](/docs/zh-CN/third-party-integrations) | Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry | Anthropic 的 API 默认。对于网关路由,请参阅[将桌面应用连接到网关](/docs/zh-CN/llm-gateway-connect#desktop-app)。要在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡,请参阅 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。 |1144| [第三方提供商](/docs/zh-CN/third-party-integrations) | Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry | 默认使用 Anthropic 的 API。对于网关路由,请参阅[将桌面应用连接到网关](/docs/zh-CN/llm-gateway-connect#desktop-app)。要在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡,请参阅 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)。 |

1107| [MCP servers](/docs/zh-CN/mcp) | 在设置文件中配置 | 本地和 SSH 会话的连接器 UI,或设置文件 |1145| [MCP 服务器](/docs/zh-CN/mcp) | 在设置文件中配置 | 本地和 SSH 会话的连接器 UI,或设置文件 |

1108| [Plugins](/docs/zh-CN/plugins/overview) | `/plugin` 命令 | 插件管理器 UI |1146| [插件](/docs/zh-CN/plugins/overview) | `/plugin` 命令 | 插件管理器 UI |

1109| @mention 文件 | 基于文本 | 带自动完成;仅本地和 SSH 会话 |1147| @mention 文件 | 基于文本 | 带自动完成;仅本地和 SSH 会话 |

1110| 文件附件 | 不可用 | 图像、PDF |1148| 文件附件 | 不可用 | 图像、PDF |

1111| 会话隔离 | [`--worktree`](/docs/zh-CN/cli-reference) 标志 | **worktree** 选项在启动会话时 |1149| 会话隔离 | [`--worktree`](/docs/zh-CN/cli-reference) 标志 | 启动会话时的 **worktree** 选项 |

1112| 多个会话 | 单独的终端 | 侧边栏选项卡 |1150| 多个会话 | 单独的终端 | 侧边栏选项卡 |

1113| 定期任务 | Cron 作业、CI 管道 | [计划任务](/docs/zh-CN/desktop-scheduled-tasks) |1151| 定期任务 | Cron 作业、CI 管道 | [定时任务](/docs/zh-CN/desktop-scheduled-tasks) |

1114| 计算机使用 | [通过 `/mcp` 在 macOS 上启用](/docs/zh-CN/computer-use) | [应用和屏幕控制](#let-claude-use-your-computer)在 macOS 和 Windows 上 |1152| 计算机使用 | [在 macOS 上通过 `/mcp` 启用](/docs/zh-CN/computer-use) | 在 macOS 和 Windows 上的[应用和屏幕控制](#let-claude-use-your-computer) |

1115| iOS 模拟器 | 通过[计算机使用](/docs/zh-CN/computer-use#test-a-simulator-flow)驱动模拟器 | [iOS Simulator 窗格](/docs/zh-CN/desktop-ios-simulator)自动打开 |1153| iOS 模拟器 | 通过[计算机使用](/docs/zh-CN/computer-use#test-a-simulator-flow)驱动模拟器 | [iOS Simulator 窗格](/docs/zh-CN/desktop-ios-simulator)自动打开 |

1116| Dispatch 集成 | 不可用 | [Dispatch 会话](#sessions-from-dispatch)在侧边栏中 |1154| Dispatch 集成 | 不可用 | 侧边栏中的 [Dispatch 会话](#sessions-from-dispatch) |

1117| 脚本和自动化 | [`--print`](/docs/zh-CN/cli-reference)、[Agent SDK](/docs/zh-CN/headless) | 不可用 |1155| 脚本和自动化 | [`--print`](/docs/zh-CN/cli-reference)、[Agent SDK](/docs/zh-CN/headless) | 不可用 |

1118 1156 

1119<h3 id="what’s-not-available-in-desktop">1157<h3 id="what’s-not-available-in-desktop">


1124 1162 

1125* **第三方提供商**:Desktop 默认连接到 Anthropic 的 API。要通过网关路由 Desktop,或在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡,请按照[第三方提供商行](#feature-comparison)中的链接操作。1163* **第三方提供商**:Desktop 默认连接到 Anthropic 的 API。要通过网关路由 Desktop,或在 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 或自托管 LLM 网关上运行 Code 选项卡,请按照[第三方提供商行](#feature-comparison)中的链接操作。

1126* **Linux (beta)**:Linux 桌面应用中尚不提供计算机使用。请参阅 [Claude Desktop on Linux](/docs/zh-CN/desktop-linux)。1164* **Linux (beta)**:Linux 桌面应用中尚不提供计算机使用。请参阅 [Claude Desktop on Linux](/docs/zh-CN/desktop-linux)。

1127* **内联代码建议**:Desktop 不提供自动完成风格的建议。它通过对话提示和显式代码更改工作。1165* **内联代码建议**:Desktop 不提供自动完成风格的代码补全。它通过对话式提示词和显式代码更改工作,并可以在 Claude 回复后[建议您的下一个提示词](#accept-a-suggested-prompt)。

1128* **Agent teams**:协调的团队,其中 Claude 作为团队负责人从共享任务列表中为队友分配任务,在 [CLI](/docs/zh-CN/agent-teams) 中可用,不在 Desktop 中。对于一个会话内的多 agent 工作,使用[动态工作流](/docs/zh-CN/workflows),它在 Desktop 中运行;Claude 也可以[直接消息和管理你的其他会话](#work-across-sessions)。1166* **Agent team**:协调的团队(由 Claude 作为团队负责人从共享任务列表中为队友分配任务)在 [CLI](/docs/zh-CN/agent-teams) 中可用,不在 Desktop 中。对于一个会话内的多 Agent 工作,请使用[动态工作流](/docs/zh-CN/workflows),它可在 Desktop 中运行;Claude 也可以直接[向您的其他会话发送消息并管理它们](#work-across-sessions)。

1129* **Terminal-dialog 命令**:在终端中打开交互式面板的内置命令,其行为在 Code 选项卡中有所不同。直接编辑[设置文件](/docs/zh-CN/settings)来管理权限规则和配置,或从独立 CLI 运行命令。1167* **Terminal-dialog 命令**:在终端中打开交互式面板的内置命令,其行为在 Code 选项卡中有所不同。直接编辑[设置文件](/docs/zh-CN/settings)来管理权限规则和配置,或从独立 CLI 运行命令。

1130 * 没有参数形式的命令,例如 `/permissions`,回复 `isn't available in this environment`。1168 * 没有参数形式的命令,例如 `/permissions`,会回复 `isn't available in this environment`。

1131 * `/config` 打开设置 → Claude Code。命令后的文本被忽略,所以 `/config theme=dark` 不设置主题。1169 * `/config` 打开设置 → Claude Code。命令后的文本会被忽略,所以 `/config theme=dark` 不会设置主题。

1132 1170 

1133<h2 id="troubleshooting">1171<h2 id="troubleshooting">

1134 故障排除1172 故障排除

Details

45 45 

46<Steps>46<Steps>

47 <Step title="安装并登录">47 <Step title="安装并登录">

48 在 macOS 和 Windows 上,从上面的链接下载安装程序并运行它。在 Linux 上,请按照 [Claude Desktop on Linux](/docs/zh-CN/desktop-linux) 中的安装步骤进行操作。在 macOS 上从应用程序文件夹启动 Claude,在 Windows 上从开始菜单启动,或在 Linux 上从应用程序启动器启动,然后使用您的 Anthropic 账户登录。48 在 macOS 和 Windows 上,从上面的链接下载安装程序并运行它。在 Linux 上,请按照 [Linux 上的 Claude Desktop](/docs/zh-CN/desktop-linux) 中的安装步骤进行操作。在 macOS 上从应用程序文件夹启动 Claude,在 Windows 上从开始菜单启动,或在 Linux 上从应用程序启动器启动,然后使用您的 Anthropic 账户登录。

49 </Step>49 </Step>

50 50 

51 <Step title="打开 Code 选项卡">51 <Step title="打开 Code 选项卡">


118 118 

119**在提交前审查更改。** Claude 编辑文件后,会出现 `+12 -1` 指示符。点击它以打开 [diff 视图](/docs/zh-CN/desktop#review-changes-with-diff-view),逐个文件审查修改,并对特定行进行评论。Claude 会读取您的评论并进行修订。要让 Claude 自行审查这些更改,请在提示框中输入 [`/code-review`](/docs/zh-CN/desktop#review-your-code)。119**在提交前审查更改。** Claude 编辑文件后,会出现 `+12 -1` 指示符。点击它以打开 [diff 视图](/docs/zh-CN/desktop#review-changes-with-diff-view),逐个文件审查修改,并对特定行进行评论。Claude 会读取您的评论并进行修订。要让 Claude 自行审查这些更改,请在提示框中输入 [`/code-review`](/docs/zh-CN/desktop#review-your-code)。

120 120 

121**调整您拥有的控制权。** 您的 [permission mode](/docs/zh-CN/desktop#choose-a-permission-mode) 设置了 Claude 在不请求批准的情况下可以执行的操作:121**调整您拥有的控制权。** 您的 [权限模式](/docs/zh-CN/desktop#choose-a-permission-mode) 设置了 Claude 在不请求批准的情况下可以执行的操作:

122 122 

123* **Auto**:分类器在后台审查操作,并阻止风险操作,而不是询问您。123* **Auto**:分类器在后台审查操作,并阻止风险操作,而不是询问您。

124* **Manual**:Claude 在编辑文件或运行命令前询问。124* **Manual**:Claude 在编辑文件或运行命令前询问。

125* **Accept edits**:Claude 自动接受文件编辑以加快迭代。125* **Accept edits**:Claude 自动接受文件编辑以加快迭代。

126* **Plan**:Claude 提出一种方法而不编辑任何文件,这在大型重构前很有用。126* **Plan**:Claude 提出一种方法而不编辑任何文件,这在大型重构前很有用。

127 127 

128**添加插件以获得更多功能。** 点击提示框旁边的 **+** 按钮并选择 **Plugins** 以浏览和安装 [plugins](/docs/zh-CN/desktop#install-plugins),这些插件添加 skills、agents、MCP servers 等。128**添加插件以获得更多功能。** 点击提示框旁边的 **+** 按钮并选择 **Plugins** 以浏览和安装 [插件](/docs/zh-CN/desktop#install-plugins),这些插件添加 skills、agents、MCP servers 等。

129 129 

130**整理您的工作区。** 将聊天、diff、终端、文件和浏览器窗格拖动到您想要的任何布局中。使用 **Ctrl+\`** 打开终端以在您的会话旁边运行命令,或点击文件路径以在文件窗格中打开它。请参阅 [整理您的工作区](/docs/zh-CN/desktop#arrange-your-workspace)。130**整理您的工作区。** 将聊天、diff、终端、文件和浏览器窗格拖动到您想要的任何布局中。使用 **Ctrl+\`** 打开终端以在您的会话旁边运行命令,或点击文件路径以在文件窗格中打开它。请参阅 [整理您的工作区](/docs/zh-CN/desktop#arrange-your-workspace)。

131 131 


133 133 

134**跟踪您的拉取请求。** 打开 PR 后,Claude Code 会监控 CI 检查结果,并可以自动修复失败,或在所有检查通过后合并 PR。请参阅 [监控拉取请求状态](/docs/zh-CN/desktop#monitor-pull-request-status)。134**跟踪您的拉取请求。** 打开 PR 后,Claude Code 会监控 CI 检查结果,并可以自动修复失败,或在所有检查通过后合并 PR。请参阅 [监控拉取请求状态](/docs/zh-CN/desktop#monitor-pull-request-status)。

135 135 

136**将 Claude 放在日程上。** 设置 [scheduled tasks](/docs/zh-CN/desktop-scheduled-tasks) 以定期自动运行 Claude:每天早上进行代码审查、每周进行依赖项审计,或从您连接的工具中提取信息的简报。136**将 Claude 放在日程上。** 设置 [定时任务](/docs/zh-CN/desktop-scheduled-tasks) 以定期自动运行 Claude:每天早上进行代码审查、每周进行依赖项审计,或从您连接的工具中提取信息的简报。

137 137 

138**准备好时扩展。** 从侧边栏打开 [parallel sessions](/docs/zh-CN/desktop#work-in-parallel-with-sessions) 以同时处理多个任务,可选择每个任务都在其自己的 Git worktree 中,并打开 [tasks pane](/docs/zh-CN/desktop#watch-background-tasks) 以观看会话正在运行的子代理和后台命令。打开 [side chat](/docs/zh-CN/desktop#ask-a-side-question-without-derailing-the-session) 以提出问题而不偏离主线程。将 [long-running work 发送到云](/docs/zh-CN/desktop#run-long-running-tasks-in-the-cloud) 以便即使关闭应用也能继续,或 [将您已开始的会话移至云端](/docs/zh-CN/desktop#continue-in-another-surface)(如果任务花费的时间比预期长)。[连接外部工具](/docs/zh-CN/desktop#extend-claude-code)(如 GitHub、Slack 和 Linear)以整合您的工作流。138**准备好时扩展。** 从侧边栏打开 [并行会话](/docs/zh-CN/desktop#work-in-parallel-with-sessions) 以同时处理多个任务,可选择每个任务都在其自己的 Git worktree 中,并打开 [任务窗格](/docs/zh-CN/desktop#watch-background-tasks) 以观看会话正在运行的子代理和后台命令。打开 [侧边聊天](/docs/zh-CN/desktop#ask-a-side-question-without-derailing-the-session) 以提出问题而不偏离主线程。将 [长时间运行的工作发送到云端](/docs/zh-CN/desktop#run-long-running-tasks-in-the-cloud) 以便即使关闭应用也能继续,或 [将您已开始的会话移至云端](/docs/zh-CN/desktop#continue-in-another-surface)(如果任务花费的时间比预期长)。[连接外部工具](/docs/zh-CN/desktop#extend-claude-code)(如 GitHub、Slack 和 Linear)以整合您的工作流。

139 139 

140<h2 id="what’s-next">140<h2 id="what’s-next">

141 接下来141 接下来

env-vars.md +280 −278

Details

126 变量126 变量

127</h2>127</h2>

128 128 

129超时时间、token 预算和重试次数等数值变量除了接受纯数字外,还接受科学计数法和数字分隔符写法,除非该变量所在行注明只接受纯数字。例如,Claude Code 将 `2e3` 读作 2000,将 `64_000` 读作 64000。在 v2.1.211 之前,这些写法可能会在无提示的情况下设置一个小得多的值,例如 `1e6` 会将超时时间设置为 1。129超时、token 预算和重试次数等数值变量除了接受纯数字外,还接受科学记数法和数字分隔符写法,除非该变量所在行注明只接受纯数字。例如,Claude Code 会将 `2e3` 读作 2000,将 `64_000` 读作 64000。在 v2.1.211 之前,这些写法可能会静默地设置一个小得多的值,例如 `1e6` 会将超时时间设置为 1。

130 130 

131<Note>131<Note>

132 对于用于启用或关闭某项行为的变量,设置为 `1`、`true`、`yes` 或 `on` 可启用,设置为 `0`、`false`、`no` 或 `off` 可关闭,不区分大小写。132 对于用于启用或关闭某项行为的变量,设置为 `1`、`true`、`yes` 或 `on` 可启用,设置为 `0`、`false`、`no` 或 `off` 可关闭,大小写不限。

133 133 

134 有些变量只检查是否已设置,因此任何非空值(包括 `0`)都会启用该行为;要关闭该行为,请取消设置该变量或将其设置为空值。以下变量采用这种方式:134 有些变量只读取您是否设置了它们,因此任何非空值(包括 `0`)都会启用该行为;要关闭该行为,请取消设置该变量或将其设为空值。以下变量采用这种方式:

135 135 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`137 * `DISABLE_TELEMETRY`


140 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`140 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

141 * `IS_DEMO`141 * `IS_DEMO`

142 142 

143 另有一个变量有自己的规则:`FORCE_HYPERLINK` 读取一个数字,因此只有 `0` 会将其关闭。每个变量所在行也会说明其自身的规则。143 另有一个变量有其自身的规则:`FORCE_HYPERLINK` 读取的是数字,因此只有 `0` 会将其关闭。每个变量所在行也说明了其各自的规则。

144</Note>144</Note>

145 145 

146| 变量 | 用途 |146| 变量 | 用途 |

147| :- | :- |147| :- | :- |

148| `ANTHROPIC_API_KEY` | 作为 `X-Api-Key` 标头发送的 API 密钥。设置后,即使您已登录,也会使用此密钥,而不是您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(`-p`)下,只要存在该密钥,就始终使用它。在交互模式下,系统会提示您批准该密钥一次,之后它才会覆盖您的订阅。要改用您的订阅,请运行 `unset ANTHROPIC_API_KEY` |148| `ANTHROPIC_API_KEY` | 作为 `X-Api-Key` 标头发送的 API 密钥。设置后,即使您已登录,也会使用此密钥而不是您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(`-p`)下,只要存在该密钥就始终使用它。在交互模式下,系统会提示您批准该密钥一次,之后它才会覆盖您的订阅。要改用您的订阅,请运行 `unset ANTHROPIC_API_KEY` |

149| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 标头的自定义值(您在此处设置的值将以 `Bearer ` 为前缀) |149| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 标头的自定义值(您在此处设置的值将以 `Bearer ` 为前缀) |

150| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 的工作区 API 密钥,在 AWS Console 中生成。作为 `x-api-key` 发送,并优先于 AWS SigV4 |150| `ANTHROPIC_AWS_API_KEY` | 用于 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 的工作区 API 密钥,在 AWS Console 中生成。作为 `x-api-key` 发送,优先于 AWS SigV4 |

151| `ANTHROPIC_AWS_BASE_URL` | 覆盖 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 端点 URL。用于自定义区域或通过 [LLM 网关](/docs/zh-CN/llm-gateway)路由时。默认为 `https://aws-external-anthropic.{region}.api.aws`。Claude Code 按照[与 Amazon Bedrock 相同的优先级](/docs/zh-CN/amazon-bedrock#3-configure-claude-code)解析区域 |151| `ANTHROPIC_AWS_BASE_URL` | 覆盖 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 端点 URL。用于自定义区域或通过 [LLM 网关](/docs/zh-CN/llm-gateway)路由时。默认为 `https://aws-external-anthropic.{region}.api.aws`。Claude Code 按照[与 Amazon Bedrock 相同的优先级](/docs/zh-CN/amazon-bedrock#3-configure-claude-code)解析区域 |

152| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 必需。作为 `anthropic-workspace-id` 标头随每个请求发送 |152| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 必需。在每个请求中作为 `anthropic-workspace-id` 标头发送 |

153| `ANTHROPIC_BASE_URL` | 覆盖 API 端点,以通过代理或网关路由请求。当设置为非第一方主机时,默认禁用 [MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search)。如果您的代理会转发 `tool_reference` 块,请设置 `ENABLE_TOOL_SEARCH=true`。自 v2.1.196 起,当此变量指向 `api.anthropic.com` 以外的主机时,[Remote Control](/docs/zh-CN/remote-control#requirements) 将被禁用,与其在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上的行为一致 |153| `ANTHROPIC_BASE_URL` | 覆盖 API 端点,以通过代理或网关路由请求。当设置为非第一方主机时,[MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search)默认处于禁用状态。如果您的代理会转发 `tool_reference` 块,请设置 `ENABLE_TOOL_SEARCH=true`。从 v2.1.196 起,当此变量指向 `api.anthropic.com` 以外的主机时,[Remote Control](/docs/zh-CN/remote-control#requirements) 会被禁用,与其在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上的行为一致 |

154| `ANTHROPIC_BEDROCK_BASE_URL` | 覆盖 Amazon Bedrock 端点 URL。用于自定义 Amazon Bedrock 端点或通过 [LLM 网关](/docs/zh-CN/llm-gateway)路由时。请参阅 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) |154| `ANTHROPIC_BEDROCK_BASE_URL` | 覆盖 Amazon Bedrock 端点 URL。用于自定义 Amazon Bedrock 端点或通过 [LLM 网关](/docs/zh-CN/llm-gateway)路由时。请参阅 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) |

155| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 覆盖 Amazon Bedrock Mantle 端点 URL。请参阅 [Mantle 端点](/docs/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |155| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 覆盖 Amazon Bedrock Mantle 端点 URL。请参阅 [Mantle 端点](/docs/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |

156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Claude Code 优先尝试的跨区域推理配置文件前缀(`us`、`eu`、`apac`、`jp`、`au` 或 `global`),而不是从 AWS 区域派生的前缀。在 AWS GovCloud 区域中会被忽略。需要 Claude Code v2.1.224 或更高版本。请参阅 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock#cross-region-inference-profile-prefixes) |156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Claude Code 优先尝试的跨区域推理配置文件前缀(`us`、`eu`、`apac`、`jp`、`au` 或 `global`),而不是根据 AWS 区域推导出的前缀。在 AWS GovCloud 区域中会被忽略。需要 Claude Code v2.1.224 或更高版本。请参阅 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock#cross-region-inference-profile-prefixes) |

157| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [服务层级](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`、`flex` 或 `priority`)。作为 `X-Amzn-Bedrock-Service-Tier` 标头发送。请参阅 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock#service-tiers) |157| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [服务层级](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`、`flex` 或 `priority`)。作为 `X-Amzn-Bedrock-Service-Tier` 标头发送。请参阅 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock#service-tiers) |

158| `ANTHROPIC_BETAS` | 要包含在 API 请求中的额外 `anthropic-beta` 标头值的逗号分隔列表。Claude Code 已经会发送其所需的 beta 标头;在 Claude Code 添加原生支持之前,可使用此变量选择加入某项 [Anthropic API beta](https://platform.claude.com/docs/en/api/beta-headers)。与需要 API 密钥身份验证的 [`--betas` 标志](/docs/zh-CN/cli-reference#cli-flags)不同,此变量适用于所有身份验证方式,包括 Claude.ai 订阅 |158| `ANTHROPIC_BETAS` | 要包含在 API 请求中的额外 `anthropic-beta` 标头值的逗号分隔列表。Claude Code 已经会发送其所需的 beta 标头;在 Claude Code 添加原生支持之前,可使用此变量选择加入某个 [Anthropic API beta](https://platform.claude.com/docs/en/api/beta-headers)。与需要 API 密钥身份验证的 [`--betas` 标志](/docs/zh-CN/cli-reference#cli-flags)不同,此变量适用于所有身份验证方式,包括 Claude.ai 订阅 |

159| `ANTHROPIC_CUSTOM_HEADERS` | 要添加到请求中的自定义标头(`Name: Value` 格式,多个标头以换行分隔)。如果名称或值包含 HTTP 标头无法承载的字符,例如弯引号或零宽空格,请求将失败,并显示一条按位置标识该键值对的错误。需要 Claude Code v2.1.227 或更高版本。[Invalid request header value](/docs/zh-CN/errors#invalid-request-header-value) 列出了确切的字符集以及检查的运行位置。设置凭据、组织或租户、路由或 API 行为标头(例如 `Authorization` 或 `Host`)的值,在由服务器托管设置下发时,算作[需要批准的设置](/docs/zh-CN/server-managed-settings#environment-variables-and-the-approval-dialog)。在项目或本地设置中,此类值遵循[何时应用 `env` 值的规则](/docs/zh-CN/settings-reference#when-claude-code-applies-env-values) |159| `ANTHROPIC_CUSTOM_HEADERS` | 要添加到请求中的自定义标头(`Name: Value` 格式,多个标头以换行分隔)。如果名称或值包含 HTTP 标头无法承载的字符,例如弯引号或零宽空格,请求将失败,并显示按位置标识该键值对的错误。需要 Claude Code v2.1.227 或更高版本。[无效的请求标头值](/docs/zh-CN/errors#invalid-request-header-value)列出了确切的字符集以及检查运行的位置。如果某个值设置了凭据、组织或租户、路由或 API 行为相关的标头(例如 `Authorization` 或 `Host`),当由服务器托管设置下发时,它属于[需要批准的设置](/docs/zh-CN/server-managed-settings#environment-variables-and-the-approval-dialog)。来自项目或本地设置时,此类值遵循[何时应用 `env` 值的规则](/docs/zh-CN/settings-reference#when-claude-code-applies-env-values) |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION` | 要作为自定义条目添加到 `/model` 选择器中的模型 ID。可使用此变量让非标准或网关专用的模型变为可选,而无需替换内置别名。请参阅[模型配置](/docs/zh-CN/model-config#add-a-custom-model-option) |160| `ANTHROPIC_CUSTOM_MODEL_OPTION` | 要作为自定义条目添加到 `/model` 选择器中的模型 ID。使用此变量可以让非标准或网关特定的模型可供选择,而无需替换内置别名。请参阅[模型配置](/docs/zh-CN/model-config#add-a-custom-model-option) |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | `/model` 选择器中自定义模型条目的显示描述。未设置时默认为 `Custom model (<model-id>)` |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | `/model` 选择器中自定义模型条目的显示描述。未设置时默认为 `Custom model (<model-id>)` |

162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 选择器中自定义模型条目的显示名称。未设置时,如果 Claude Code [能识别该 ID](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities),条目显示模型名称,否则显示模型 ID |162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 选择器中自定义模型条目的显示名称。未设置时,如果 Claude Code [能识别该 ID](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities),则该条目显示模型名称,否则显示模型 ID |

163| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | 自定义模型所支持[能力](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | 自定义模型支持的[功能](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable` 别名解析到的模型 ID,也是 Claude Code 在第三方提供商上进行[自动模型回退](/docs/zh-CN/model-config#automatic-model-fallback)时识别为 Fable 模型的 ID。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable` 别名解析到的模型 ID,也是 Claude Code 在第三方提供商上进行[自动模型回退](/docs/zh-CN/model-config#automatic-model-fallback)时识别为 Fable 模型的 ID。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Fable 模型的显示描述。未设置时,该行显示以 `Custom Fable model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Fable 模型的显示描述。未设置时,该行显示以 `Custom Fable model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | `/model` 选择器中固定的 Fable 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | `/model` 选择器中固定的 Fable 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

167| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Fable 模型所支持[能力](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Fable 模型支持的[功能](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 别名解析到的模型 ID,也用于[后台功能](/docs/zh-CN/costs#background-token-usage)。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 别名解析到的模型 ID,也用于[后台功能](/docs/zh-CN/costs#background-token-usage)。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Haiku 模型的显示描述。未设置时,该行显示以 `Custom Haiku model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Haiku 模型的显示描述。未设置时,该行显示以 `Custom Haiku model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | `/model` 选择器中固定的 Haiku 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | `/model` 选择器中固定的 Haiku 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

171| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Haiku 模型所支持[能力](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |171| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Haiku 模型支持的[功能](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

172| `ANTHROPIC_DEFAULT_MODEL` | 新会话默认启动时使用的模型。需要 Claude Code v2.1.236 或更高版本。请参阅[为新会话设置默认模型](/docs/zh-CN/model-config#set-a-default-model-for-new-sessions) |172| `ANTHROPIC_DEFAULT_MODEL` | 新会话默认启动时使用的模型。需要 Claude Code v2.1.236 或更高版本。请参阅[为新会话设置默认模型](/docs/zh-CN/model-config#set-a-default-model-for-new-sessions) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` 别名解析到的模型 ID,也是 `opusplan` 在计划模式激活时使用的模型 ID。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` 别名解析到的模型 ID,也是 `opusplan` 在计划模式激活时使用的模型 ID。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Opus 模型的显示描述。未设置时,该行显示以 `Custom Opus model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Opus 模型的显示描述。未设置时,该行显示以 `Custom Opus model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 选择器中固定的 Opus 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 选择器中固定的 Opus 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

176| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Opus 模型所支持[能力](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Opus 模型支持的[功能](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` 别名解析到的模型 ID,也是 `opusplan` 在计划模式未激活时使用的模型 ID。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` 别名解析到的模型 ID,也是 `opusplan` 在计划模式未激活时使用的模型 ID。请参阅[模型配置](/docs/zh-CN/model-config#environment-variables) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Sonnet 模型的显示描述。未设置时,该行显示以 `Custom Sonnet model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | `/model` 选择器中固定的 Sonnet 模型的显示描述。未设置时,该行显示以 `Custom Sonnet model` 开头的默认描述。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | `/model` 选择器中固定的 Sonnet 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | `/model` 选择器中固定的 Sonnet 模型的显示名称。未设置时,如果 Claude Code 能识别固定的 ID,该行显示模型名称,否则显示固定的 ID。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

180| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Sonnet 模型所支持[能力](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |180| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | 固定的 Sonnet 模型支持的[功能](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities)的逗号分隔列表,例如 `effort,thinking`。请参阅[模型配置](/docs/zh-CN/model-config#customize-pinned-model-display-and-capabilities) |

181| `ANTHROPIC_FEDERATION_RULE_ID` | [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的联合规则 ID。当您将其与 `ANTHROPIC_ORGANIZATION_ID` 一起设置时,Claude Code 会选择联合凭据,其优先级高于您的 `/login` 凭据。请参阅[身份验证优先级](/docs/zh-CN/authentication#authentication-precedence) |181| `ANTHROPIC_FEDERATION_RULE_ID` | [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的联合规则 ID。当您将其与 `ANTHROPIC_ORGANIZATION_ID` 一起设置时,Claude Code 会选择联合凭据,其优先级高于您的 `/login` 凭据。请参阅[身份验证优先级](/docs/zh-CN/authentication#authentication-precedence) |

182| `ANTHROPIC_FOUNDRY_API_KEY` | 用于 Microsoft Foundry 身份验证的 API 密钥(请参阅 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)) |182| `ANTHROPIC_FOUNDRY_API_KEY` | 用于 Microsoft Foundry 身份验证的 API 密钥(请参阅 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | 用于 Microsoft Foundry 身份验证的 Bearer 令牌,例如 Microsoft Entra 访问令牌。Claude Code 将其作为 `Authorization: Bearer` 标头发送。优先于 `ANTHROPIC_FOUNDRY_API_KEY` 和 Azure 默认凭据链。请参阅 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)。需要 Claude Code v2.1.203 或更高版本 |183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | 用于 Microsoft Foundry 身份验证的 Bearer 令牌,例如 Microsoft Entra 访问令牌。Claude Code 将其作为 `Authorization: Bearer` 标头发送。优先于 `ANTHROPIC_FOUNDRY_API_KEY` 和 Azure 默认凭据链。请参阅 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)。需要 Claude Code v2.1.203 或更高版本 |


185| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 资源名称(例如 `my-resource`)。Claude Code [会拒绝 URL 或主机名](/docs/zh-CN/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name)。如果未设置 `ANTHROPIC_FOUNDRY_BASE_URL`,则为必需(请参阅 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)) |185| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 资源名称(例如 `my-resource`)。Claude Code [会拒绝 URL 或主机名](/docs/zh-CN/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name)。如果未设置 `ANTHROPIC_FOUNDRY_BASE_URL`,则为必需(请参阅 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry)) |

186| `ANTHROPIC_MODEL` | 要使用的模型设置名称(请参阅[模型配置](/docs/zh-CN/model-config#environment-variables)) |186| `ANTHROPIC_MODEL` | 要使用的模型设置名称(请参阅[模型配置](/docs/zh-CN/model-config#environment-variables)) |

187| `ANTHROPIC_ORGANIZATION_ID` | [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的组织 ID。请将其与 `ANTHROPIC_FEDERATION_RULE_ID` 一起设置。请参阅[身份验证优先级](/docs/zh-CN/authentication#authentication-precedence) |187| `ANTHROPIC_ORGANIZATION_ID` | [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的组织 ID。请将其与 `ANTHROPIC_FEDERATION_RULE_ID` 一起设置。请参阅[身份验证优先级](/docs/zh-CN/authentication#authentication-precedence) |

188| `ANTHROPIC_PROFILE` | 用于身份验证的 Anthropic 配置文件名称,例如由 [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) 或[在没有 API 密钥的情况下登录 Console 账户](/docs/zh-CN/authentication#sign-in-without-an-api-key)所创建的配置文件。请参阅[身份验证优先级](/docs/zh-CN/authentication#authentication-precedence) |188| `ANTHROPIC_PROFILE` | 用于身份验证的 Anthropic 配置文件名称,例如由 [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) 创建的配置文件,或通过[在没有 API 密钥的情况下登录 Console 账户](/docs/zh-CN/authentication#sign-in-without-an-api-key)创建的配置文件。请参阅[身份验证优先级](/docs/zh-CN/authentication#authentication-precedence) |

189| `ANTHROPIC_SMALL_FAST_MODEL` | \[已弃用] [用于后台任务的 Haiku 级模型](/docs/zh-CN/costs)的名称 |189| `ANTHROPIC_SMALL_FAST_MODEL` | \[已弃用] [用于后台任务的 Haiku 级模型](/docs/zh-CN/costs)的名称 |

190| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 时,覆盖 Haiku 级模型的 AWS 区域。在 Amazon Bedrock 上,仅当同时设置了 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已弃用的 `ANTHROPIC_SMALL_FAST_MODEL` 时才生效,因为否则 Amazon Bedrock 会在会话区域中使用[默认 Sonnet 模型或主模型](/docs/zh-CN/amazon-bedrock#4-pin-model-versions)运行后台任务 |190| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 时,覆盖 Haiku 级模型的 AWS 区域。在 Amazon Bedrock 上,仅当同时设置了 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已弃用的 `ANTHROPIC_SMALL_FAST_MODEL` 时才会生效,因为否则 Amazon Bedrock 会在会话区域中使用[默认 Sonnet 模型或主模型](/docs/zh-CN/amazon-bedrock#4-pin-model-versions)运行后台任务 |

191| `ANTHROPIC_VERTEX_BASE_URL` | 覆盖 Google Cloud's Agent Platform 端点 URL。用于自定义 Google Cloud's Agent Platform 端点或通过 [LLM 网关](/docs/zh-CN/llm-gateway)路由时。请参阅 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai) |191| `ANTHROPIC_VERTEX_BASE_URL` | 覆盖 Google Cloud's Agent Platform 端点 URL。用于自定义 Google Cloud's Agent Platform 端点或通过 [LLM 网关](/docs/zh-CN/llm-gateway)路由时。请参阅 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai) |

192| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform 请求所发往的 GCP 项目 ID。请参阅[配置 GCP 凭据](/docs/zh-CN/google-vertex-ai#3-configure-gcp-credentials) |192| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform 请求所发往的 GCP 项目 ID。请参阅[配置 GCP 凭据](/docs/zh-CN/google-vertex-ai#3-configure-gcp-credentials) |

193| `ANTHROPIC_WORKSPACE_ID` | [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作区 ID。当您的联合规则作用于多个工作区时设置此变量,以便令牌交换知道要定位哪个工作区 |193| `ANTHROPIC_WORKSPACE_ID` | [工作负载身份联合](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)的工作区 ID。当您的联合规则范围涵盖多个工作区时设置此项,以便令牌交换知道要以哪个工作区为目标 |

194| `API_FORCE_IDLE_TIMEOUT` | 覆盖 5 分钟的响应体空闲超时,该超时会在没有字节到达时中止流式模型响应。设置为 `0` 可关闭该超时,例如当缓慢的[网关](/docs/zh-CN/llm-gateway)或本地模型在数据块之间暂停超过 5 分钟时;设置为 `1` 可在所有提供商上保持启用。未设置时,该超时在直接 Anthropic API、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 以及设置了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 以外的提供商上生效。[流式看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs)独立于它运行,即使您在此处设置了 `0`,也会中止长时间的静默暂停 |194| `API_FORCE_IDLE_TIMEOUT` | 覆盖 5 分钟的响应体空闲超时;该超时会在没有字节到达时中止流式模型响应。设置为 `0` 可关闭该超时,例如当较慢的[网关](/docs/zh-CN/llm-gateway)或本地模型在数据块之间暂停超过 5 分钟时;设置为 `1` 可对所有提供商保持启用。未设置时,该超时在除直接 Anthropic API、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 以及设置了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 之外的提供商上生效。[流式看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs)独立于它运行,即使您在此处设置了 `0`,也会中止长时间的静默暂停 |

195| `API_TIMEOUT_MS` | API 请求的超时时间(毫秒)(默认值:600000,即 10 分钟;最大值:2147483647)。当请求在慢速网络上超时或通过代理路由时,请增大此值。超过最大值的值会使底层计时器溢出,导致请求立即失败 |195| `API_TIMEOUT_MS` | API 请求的超时时间(毫秒)(默认值:600000,即 10 分钟;最大值:2147483647)。当请求在慢速网络上超时或通过代理路由时,请增大此值。超过最大值的值会导致底层计时器溢出,使请求立即失败 |

196| `AWS_BEARER_TOKEN_BEDROCK` | 用于身份验证的 Amazon Bedrock API 密钥(请参阅 [Amazon Bedrock API 密钥](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |196| `AWS_BEARER_TOKEN_BEDROCK` | 用于身份验证的 Amazon Bedrock API 密钥(请参阅 [Amazon Bedrock API 密钥](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

197| `BASH_DEFAULT_TIMEOUT_MS` | 前台 Bash 或 PowerShell 工具命令的默认超时时间(毫秒)(默认值:120000,即 2 分钟)。超过 30 分钟的默认值也会成为无人值守会话中[后台命令的默认时间限制](/docs/zh-CN/tools-reference#time-limit-for-background-commands)。后台时间限制需要 Claude Code v2.1.285 或更高版本 |197| `BASH_DEFAULT_TIMEOUT_MS` | 前台 Bash 或 PowerShell 工具命令的默认超时时间(毫秒)(默认值:120000,即 2 分钟)。超过 30 分钟的默认值也会成为无人值守会话中[后台命令时间限制](/docs/zh-CN/tools-reference#time-limit-for-background-commands)的默认值。后台时间限制需要 Claude Code v2.1.285 或更高版本 |

198| `BASH_MAX_OUTPUT_LENGTH` | Claude Code 读回命令结果中的 bash 输出的最大字符数(默认值:30000;最大值:150000)。如果您设置了 [`bashOutputMaxChars`](/docs/zh-CN/settings-reference#bashoutputmaxchars) 设置,Claude Code 会忽略此变量。请参阅[输出限制](/docs/zh-CN/tools-reference#output-limits) |198| `BASH_MAX_OUTPUT_LENGTH` | Claude Code 读回到命令结果中的 bash 输出的最大字符数(默认值:30000;最大值:150000)。如果您设置了 [`bashOutputMaxChars`](/docs/zh-CN/settings-reference#bashoutputmaxchars) 设置,Claude Code 会忽略此变量。请参阅[输出限制](/docs/zh-CN/tools-reference#output-limits) |

199| `BASH_MAX_TIMEOUT_MS` | 模型可为前台 Bash 或 PowerShell 工具命令设置的最大超时时间(毫秒)(默认值:600000,即 10 分钟)。有效上限为此值与 `BASH_DEFAULT_TIMEOUT_MS` 中的较大者。超过 2 小时的有效上限也会成为无人值守会话中[后台命令时间限制](/docs/zh-CN/tools-reference#time-limit-for-background-commands)的最大值。后台时间限制需要 Claude Code v2.1.285 或更高版本 |199| `BASH_MAX_TIMEOUT_MS` | 模型可为前台 Bash 或 PowerShell 工具命令设置的最大超时时间(毫秒)(默认值:600000,即 10 分钟)。实际上限取此值与 `BASH_DEFAULT_TIMEOUT_MS` 中的较大者。超过 2 小时的实际上限也会成为无人值守会话中[后台命令时间限制](/docs/zh-CN/tools-reference#time-limit-for-background-commands)的最大值。后台时间限制需要 Claude Code v2.1.285 或更高版本 |

200| `BETA_TRACING_ENDPOINT` | 用于[详细 beta 追踪](/docs/zh-CN/monitoring-usage#traces-beta)的 OTLP/HTTP 端点:在设置 `ENABLE_BETA_TRACING_DETAILED=1` 时,日志和追踪会发送到该端点,而不是已配置的导出器。请在您的 shell、用户设置或托管设置中设置它。在[项目和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略 |200| `BETA_TRACING_ENDPOINT` | 用于[详细 beta 追踪](/docs/zh-CN/monitoring-usage#traces-beta)的 OTLP/HTTP 端点:设置 `ENABLE_BETA_TRACING_DETAILED=1` 后,日志和追踪会发送到该端点,而不是已配置的导出器。请在您的 shell、用户设置或托管设置中设置它。在[项目和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略 |

201| `CCR_FORCE_BUNDLE` | 设置为 `1` 可强制 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#send-local-repositories-without-github) 打包并上传您的本地仓库,而不是从其远程克隆 |201| `CCR_FORCE_BUNDLE` | 设置为 `1` 可强制 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#send-local-repositories-without-github) 打包并上传您的本地仓库,而不是从其远程克隆 |

202| `CLAUDECODE` | 在 Claude Code 生成的子进程(Bash 和 PowerShell 工具、tmux 会话、[hook](/docs/zh-CN/hooks) 命令、[状态栏](/docs/zh-CN/statusline)命令、stdio [MCP 服务器](/docs/zh-CN/mcp)子进程)中设置为 `1`。IDE 扩展也会在其集成终端中设置此变量。用于检测脚本是否在 Claude Code 生成的子进程中运行。要检查当前进程是否由工具调用或 hook 直接生成,而不是在 Claude Code 启动的 stdio MCP 服务器内部生成,请改用 `CLAUDE_CODE_CHILD_SESSION` |202| `CLAUDECODE` | 在 Claude Code 生成的子进程(Bash 和 PowerShell 工具、tmux 会话、[hook](/docs/zh-CN/hooks) 命令、[状态栏](/docs/zh-CN/statusline)命令、stdio [MCP 服务器](/docs/zh-CN/mcp)子进程)中设置为 `1`。IDE 扩展也会在其集成终端中设置此变量。用于检测脚本是否在 Claude Code 生成的子进程中运行。要检查当前进程是否由工具调用或 hook 直接生成,而非在 Claude Code 启动的 stdio MCP 服务器内部运行,请改用 `CLAUDE_CODE_CHILD_SESSION` |

203| `CLAUDE_AFK_COUNTDOWN_MS` | 未回答的 [`AskUserQuestion`](/docs/zh-CN/tools-reference) 对话框在自动继续前多少毫秒显示屏幕倒计时。默认值 `20000`(20 秒),上限为自动继续超时时间。除非启用了自动继续,否则无效;请参阅 [`askUserQuestionTimeout`](/docs/zh-CN/settings-reference#askuserquestiontimeout) 设置和 `CLAUDE_AFK_TIMEOUT_MS`。需要 Claude Code v2.1.198 或更高版本 |203| `CLAUDE_AFK_COUNTDOWN_MS` | 在未回答的 [`AskUserQuestion`](/docs/zh-CN/tools-reference) 对话框自动继续之前多少毫秒显示屏幕倒计时。默认 `20000`(20 秒),上限为自动继续超时时间。除非启用了自动继续,否则无效;请参阅 [`askUserQuestionTimeout`](/docs/zh-CN/settings-reference#askuserquestiontimeout) 设置和 `CLAUDE_AFK_TIMEOUT_MS`。需要 Claude Code v2.1.198 或更高版本 |

204| `CLAUDE_AFK_TIMEOUT_MS` | 未回答的 [`AskUserQuestion`](/docs/zh-CN/tools-reference) 对话框在空闲多少毫秒后无需您参与即自动继续。自动继续默认关闭;可通过 [`askUserQuestionTimeout`](/docs/zh-CN/settings-reference#askuserquestiontimeout) 设置选择启用。此变量是用于演示和自动化测试的覆盖项:设置后,它优先于该设置,即使该设置未设置或为 `never`,也会启用自动继续。设置 `0` 不会关闭超时,而是立即关闭对话框。在 v2.1.198 和 v2.1.199 中,自动继续默认启用,超时时间为 `60000`(60 秒)。需要 Claude Code v2.1.198 或更高版本 |204| `CLAUDE_AFK_TIMEOUT_MS` | 未回答的 [`AskUserQuestion`](/docs/zh-CN/tools-reference) 对话框在空闲多少毫秒后无需您参与即自动继续。自动继续默认关闭;可通过 [`askUserQuestionTimeout`](/docs/zh-CN/settings-reference#askuserquestiontimeout) 设置选择启用。此变量是用于演示和自动化测试的覆盖项:设置后,它优先于该设置,即使该设置未设置或为 `never`,也会启用自动继续。设置 `0` 不会关闭超时,而是会立即关闭对话框。在 v2.1.198 和 v2.1.199 中,自动继续默认启用,超时时间为 `60000`(60 秒)。需要 Claude Code v2.1.198 或更高版本 |

205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 设置为 `1` 可禁用所有内置[子代理](/docs/zh-CN/sub-agents)类型,例如 Explore 和 Plan。仅适用于非交互模式(`-p` 标志)。对于希望从零开始的 SDK 用户很有用。这也会移除 `general-purpose`,即当 Agent 工具调用省略 `subagent_type` 时 Claude Code 运行的子代理。此类调用随后将失败并显示 [`subagent_type is required`](/docs/zh-CN/errors#subagent-type-is-required) |205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 设置为 `1` 可禁用所有内置[子代理](/docs/zh-CN/sub-agents)类型,例如 Explore 和 Plan。仅适用于非交互模式(`-p` 标志)。适合希望从零开始的 SDK 用户。这也会移除 `general-purpose`,即当 Agent 工具调用省略 `subagent_type` 时 Claude Code 运行的子代理。此类调用随后会失败并显示 [`subagent_type is required`](/docs/zh-CN/errors#subagent-type-is-required) |

206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | 设置为 `1` 可跳过 SDK 创建的 MCP 服务器中工具名称的 `mcp__<server>__` 前缀。工具使用其原始名称。仅用于 SDK |206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | 设置为 `1` 可跳过 SDK 创建的 MCP 服务器中工具名称上的 `mcp__<server>__` 前缀。工具使用其原始名称。仅限 SDK 使用 |

207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | 子代理的停滞超时时间(毫秒)。默认值 `600000`(10 分钟);如果您在流式看门狗启用时提高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,默认值也会随之提高,如[处理缓慢或停滞的 API 响应](/docs/zh-CN/agent-sdk/typescript#handle-slow-or-stalled-api-responses)所述。计时器会在每个流式进度事件时重置;如果在该时间窗口内没有进度到达,Claude Code 会中止该子代理并向父级报告停滞 |207| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | 子代理的停滞超时时间(毫秒)。默认 `600000`(10 分钟);如果在流式看门狗启用时调高 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,默认值会随之提高,如[处理缓慢或停滞的 API 响应](/docs/zh-CN/agent-sdk/typescript#handle-slow-or-stalled-api-responses)中所述。计时器会在每个流式进度事件时重置;如果在该时间窗口内没有进度到达,Claude Code 会中止该子代理并向父级报告停滞 |

208| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 设置触发自动压缩时自动压缩窗口的百分比(1-100)。使用较低的值(例如 `50`)可更早压缩;该变量无法提高阈值,因此高于默认百分比的值会被忽略。它仅适用于[在达到模型上下文限制之前进行压缩](/docs/zh-CN/model-config#context-window-and-auto-compaction)的会话。同时适用于主对话和子代理 |208| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 设置触发自动压缩时自动压缩窗口的百分比(1-100)。使用较低的值(如 `50`)可更早压缩;此变量无法提高阈值,因此高于默认百分比的值会被忽略。它仅适用于[在达到模型上下文限制之前压缩](/docs/zh-CN/model-config#context-window-and-auto-compaction)的会话。同时适用于主对话和子代理 |

209| `CLAUDE_AUTO_BACKGROUND_TASKS` | 设置为 `1` 可强制启用长时间运行的 Agent 任务的自动后台化。启用后,子代理运行约两分钟后会被移至后台。在 Claude Code v2.1.212 或更高版本上,还会在非交互模式下启用[长时间 MCP 工具调用的自动后台化](/docs/zh-CN/mcp#automatic-backgrounding-of-long-tool-calls) |209| `CLAUDE_AUTO_BACKGROUND_TASKS` | 设置为 `1` 可强制启用长时间运行的 Agent 任务的自动后台化。启用后,子代理在运行约两分钟后会被移至后台。在 Claude Code v2.1.212 或更高版本上,还会在非交互模式下启用[长时间 MCP 工具调用的自动后台化](/docs/zh-CN/mcp#automatic-backgrounding-of-long-tool-calls) |

210| `CLAUDE_AX_PREPARK_MS` | 在[屏幕阅读器模式](/docs/zh-CN/accessibility)下,Claude Code 在写入新行或已更改的行之前等待的毫秒数。默认值 `0`,因此 Claude Code 不会等待。在 v2.1.287 之前,默认值为 `50`。Claude Code 将等待时间上限设为 `5000`。需要 Claude Code v2.1.233 或更高版本 |210| `CLAUDE_AX_PREPARK_MS` | 在[屏幕阅读器模式](/docs/zh-CN/accessibility)中,Claude Code 写入新行或已更改行之前等待的毫秒数。默认 `0`,因此 Claude Code 不会等待。在 v2.1.287 之前,默认值为 `50`。Claude Code 将等待时间上限设为 `5000`。需要 Claude Code v2.1.233 或更高版本 |

211| `CLAUDE_AX_SCREEN_READER` | 设置为 `1` 可渲染适合屏幕阅读器的输出:不带装饰性边框或动画的纯文本。设置为 `0` 可强制关闭屏幕阅读器模式,即使 [`axScreenReader`](/docs/zh-CN/settings-reference#axscreenreader) 为 `true`。[`--ax-screen-reader`](/docs/zh-CN/cli-reference#cli-flags) 标志优先。需要 Claude Code v2.1.181 或更高版本 |211| `CLAUDE_AX_SCREEN_READER` | 设置为 `1` 可呈现适合屏幕阅读器的输出:不带装饰性边框或动画的纯文本。设置为 `0` 可强制关闭屏幕阅读器模式,即使 [`axScreenReader`](/docs/zh-CN/settings-reference#axscreenreader) 为 `true`。[`--ax-screen-reader`](/docs/zh-CN/cli-reference#cli-flags) 标志优先。需要 Claude Code v2.1.181 或更高版本 |

212| `CLAUDE_AX_STARTUP_QUIET_MS` | 在[屏幕阅读器模式](/docs/zh-CN/accessibility)下,Claude Code 在启动确认行之后推迟首次界面渲染的毫秒数,以便您的屏幕阅读器在新输出打断之前完整朗读该行。默认值 `3000`。设置 `0` 可立即渲染。Claude Code 将推迟时间上限设为 `600000`(10 分钟)。您的第一次按键会提前结束推迟。需要 Claude Code v2.1.217 或更高版本 |212| `CLAUDE_AX_STARTUP_QUIET_MS` | 在[屏幕阅读器模式](/docs/zh-CN/accessibility)中,Claude Code 在启动确认行之后暂缓首次界面渲染的毫秒数,以便您的屏幕阅读器能在新输出打断之前完整朗读该行。默认 `3000`。设置 `0` 可立即渲染。Claude Code 将暂缓时间上限设为 `600000`(10 分钟)。您的第一次按键会提前结束暂缓。需要 Claude Code v2.1.217 或更高版本 |

213| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | 在主会话中,每个 Bash 或 PowerShell 命令执行后返回原始工作目录 |213| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | 在主会话中每个 Bash 或 PowerShell 命令执行后返回原始工作目录 |

214| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | 字节级流式空闲看门狗的超时时间(毫秒);设置后,对于该看门狗,它优先于 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,并保持事件级看门狗不变。Claude Code 将此变量限制在 10 秒到 30 分钟之间。需要 Claude Code v2.1.210 或更高版本 |214| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | 字节级流式空闲看门狗的超时时间(毫秒);设置后,对于该看门狗,它优先于 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`,而事件级看门狗保持不变。Claude Code 将此变量限制在 10 秒到 30 分钟之间。需要 Claude Code v2.1.210 或更高版本 |

215| `CLAUDE_CLIENT_PRESENCE_FILE` | 一个文件的路径,该文件由外部工具(例如锁屏监听器)在您解锁屏幕时创建、在您锁定屏幕时删除。当该文件存在时,Claude Code 会跳过 [Remote Control 移动推送通知](/docs/zh-CN/remote-control#mobile-push-notifications),这样您在主动使用计算机时就不会收到推送。当该文件不存在或无法读取时,通知照常发送。Claude Code 在每次触发推送的事件时检查一次该文件,而不是轮询。需要 Claude Code v2.1.181 或更高版本 |215| `CLAUDE_CLIENT_PRESENCE_FILE` | 一个文件的路径,由外部工具(例如锁屏监听器)在您解锁屏幕时创建、在您锁屏时删除。当该文件存在时,Claude Code 会跳过 [Remote Control 移动推送通知](/docs/zh-CN/remote-control#mobile-push-notifications),这样您在积极使用计算机时就不会再收到推送。当该文件不存在或无法读取时,通知照常发送。Claude Code 在每次触发推送的事件时检查一次该文件,而不是轮询它。需要 Claude Code v2.1.181 或更高版本 |

216| `CLAUDE_CODE_ACCESSIBILITY` | 设置为 `1` 可保持原生终端光标可见,并禁用反色文本光标指示器。使 macOS 缩放等屏幕放大器能够跟踪光标位置 |216| `CLAUDE_CODE_ACCESSIBILITY` | 设置为 `1` 可保持原生终端光标可见,并禁用反色文本光标指示器。可让 macOS 缩放等屏幕放大工具跟踪光标位置 |

217| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | 设置为 `1` 可从通过 `--add-dir` 指定的目录加载记忆文件。加载 `CLAUDE.md`、`.claude/CLAUDE.md`、`.claude/rules/*.md` 和 `CLAUDE.local.md`。默认情况下,附加目录不会加载记忆文件 |217| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | 设置为 `1` 可从通过 `--add-dir` 指定的目录加载记忆文件。加载 `CLAUDE.md`、`.claude/CLAUDE.md`、`.claude/rules/*.md` 和 `CLAUDE.local.md`。默认情况下,附加目录不加载记忆文件 |

218| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中每帧重绘整个屏幕,而不是发送增量更新。如果全屏模式显示过时或错位的文本片段,请使用此选项。Claude Code 会在 Windows 上为后台会话和 [Agent 视图](/docs/zh-CN/agent-view)自动启用此选项 |218| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中每一帧都重绘整个屏幕,而不是发送增量更新。如果全屏模式显示过时或错位的文本片段,请使用此选项。在 Windows 上,Claude Code 会为后台会话和 [Agent 视图](/docs/zh-CN/agent-view)自动启用此项 |

219| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | 设置为 `1` 可在每个请求中发送 [effort](/docs/zh-CN/model-config#adjust-effort-level) 参数,即使 Claude Code 未将该模型 ID 识别为支持 effort。通过 [LLM 网关](/docs/zh-CN/llm-gateway)或以自定义标识符提供模型的第三方提供商路由时使用此选项。在 API 层拒绝 effort 参数的模型(包括 Claude 3 模型、Sonnet 4.0 和 4.5、Opus 4.0 和 4.1 以及 Haiku 4.5)仍会被排除,因此请求不会失败 |219| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | 设置为 `1` 可在每个请求中发送 [effort](/docs/zh-CN/model-config#adjust-effort-level) 参数,即使 Claude Code 未将该模型 ID 识别为支持 effort。当通过以自定义标识符提供模型的 [LLM 网关](/docs/zh-CN/llm-gateway)或第三方提供商路由时使用此选项。在 API 层面拒绝 effort 参数的模型(包括 Claude 3 模型、Sonnet 4.0 和 4.5、Opus 4.0 和 4.1 以及 Haiku 4.5)仍会被排除,以免请求失败 |

220| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 刷新凭据的时间间隔(毫秒)(使用 [`apiKeyHelper`](/docs/zh-CN/settings-reference#apikeyhelper) 时) |220| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 刷新凭据的时间间隔(毫秒)(使用 [`apiKeyHelper`](/docs/zh-CN/settings-reference#apikeyhelper) 时) |

221| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 设置为 `0` 可阻止 Claude Code 在发布新的 [Artifact](/docs/zh-CN/artifacts#create-an-artifact) 时自动打开浏览器 |221| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 设置为 `0` 可阻止 Claude Code 在发布新的 [Artifact](/docs/zh-CN/artifacts#create-an-artifact) 时自动打开浏览器 |

222| `CLAUDE_CODE_ARTIFACT_COMMENTS` | 设置为 `0` 可阻止 Claude 读取和回复 [Artifact 上的评论](/docs/zh-CN/artifacts#collect-comments-on-an-artifact)。当 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 已[关闭 Artifact](/docs/zh-CN/artifacts#availability) 时无效。需要 Claude Code v2.1.221 或更高版本 |222| `CLAUDE_CODE_ARTIFACT_COMMENTS` | 设置为 `0` 可阻止 Claude 读取和回复 [Artifact 上的评论](/docs/zh-CN/artifacts#collect-comments-on-an-artifact)。当 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 已[关闭 Artifact](/docs/zh-CN/artifacts#availability) 时无效。需要 Claude Code v2.1.221 或更高版本 |

223| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | 设置为 `0` 可阻止 Claude [自行回复发送给它的评论](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own)。需要 Claude Code v2.1.228 或更高版本 |223| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | 设置为 `0` 可阻止 Claude [自行回复发送给它的评论](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own)。需要 Claude Code v2.1.228 或更高版本 |

224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 设置为 `0` 可从系统提示词开头省略[归属块](/docs/zh-CN/llm-gateway-protocol#system-prompt-attribution-block),该块包含客户端版本和提示词指纹。无论如何设置,直接连接 Anthropic API 时的缓存都不受影响。在某些直接连接配置中,即使您设置了 `0`,Claude Code 也会在[自动模式](/docs/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)分类器请求中保留该块。请在[系统提示词归属块](/docs/zh-CN/llm-gateway-protocol#system-prompt-attribution-block)中查看此情况涵盖哪些连接和凭据。在 v2.1.181 之前,该块在自定义基础 URL 和 Microsoft Foundry 连接上包含每个请求各不相同的 token,因此在这些版本上,当您的 LLM 网关根据请求体进行缓存或将请求转发给第三方提供商时,或者当您直接连接到 Microsoft Foundry 时,请将其设置为 `0` |224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 设置为 `0` 可从系统提示词开头省略[归属块](/docs/zh-CN/llm-gateway-protocol#system-prompt-attribution-block),该块包含客户端版本和提示词指纹。无论如何设置,直接连接 Anthropic API 时的缓存都不受影响。在某些直接连接设置中,即使您设置了 `0`,Claude Code 也会在[自动模式](/docs/zh-CN/permission-modes#eliminate-prompts-with-auto-mode)分类器请求中保留该块。请在[系统提示词归属块](/docs/zh-CN/llm-gateway-protocol#system-prompt-attribution-block)中查看这涵盖哪些连接和凭据。在 v2.1.181 之前,在自定义基础 URL 和 Microsoft Foundry 连接上,该块包含每个请求各不相同的 token,因此在这些版本上,当您的 LLM 网关基于请求体进行缓存或将请求转发给第三方提供商时,或者当您直接连接 Microsoft Foundry 时,请将其设置为 `0` |

225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | 已在 v2.1.283 中移除。请改用 `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |225| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | 已在 v2.1.283 中移除。请改用 `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

226| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 以 token 为单位设置[自动压缩窗口](/docs/zh-CN/model-config#set-the-auto-compact-window),范围为 `100000` 到 `1000000`。仅接受纯整数,例如 `500000`:像 `500k` 这样的值会被读作 `500`,并被限制为 100K 的最小值。有效窗口还会以模型的上下文窗口为上限。优先于 `/autocompact` 命令、`--autocompact` 标志和 `autoCompactWindow` 设置。状态栏的 `used_percentage` 始终根据模型的完整上下文窗口计算,因此一旦设置了此变量,该百分比就不再表示何时会进行压缩 |226| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | 以 token 为单位设置[自动压缩窗口](/docs/zh-CN/model-config#set-the-auto-compact-window),范围为 `100000` 到 `1000000`。仅接受纯整数,例如 `500000`:像 `500k` 这样的值会被读作 `500`,并被限制到 100K 的最小值。实际窗口也以模型的上下文窗口为上限。优先于 `/autocompact` 命令、`--autocompact` 标志和 `autoCompactWindow` 设置。状态栏的 `used_percentage` 始终以模型的完整上下文窗口为基准进行衡量,因此一旦设置了此变量,该百分比就不再表示何时会进行压缩 |

227| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 覆盖自动 [IDE 连接](/docs/zh-CN/vs-code)。默认情况下,在受支持的 IDE 集成终端中启动时,Claude Code 会自动连接。设置为 `false` 可阻止此行为。设置为 `true` 可在自动检测失败时(例如 tmux 遮蔽了父终端)强制尝试连接。优先于 [`autoConnectIde`](/docs/zh-CN/settings-reference#autoconnectide) 全局配置设置 |227| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 覆盖自动 [IDE 连接](/docs/zh-CN/vs-code)。默认情况下,当在受支持 IDE 的集成终端中启动时,Claude Code 会自动连接。设置为 `false` 可阻止此行为。设置为 `true` 可在自动检测失败时(例如 tmux 遮蔽了父终端时)强制尝试连接。优先于 [`autoConnectIde`](/docs/zh-CN/settings-reference#autoconnectide) 全局配置设置 |

228| `CLAUDE_CODE_AUTO_MODE_SERVER` | 控制 Claude Code 是否请求服务器[审查自动模式操作](/docs/zh-CN/permission-modes#server-side-classifier-review)。设置为 `0` 可改用 Claude Code 自己的分类器请求。在直接连接 Anthropic API 时,需要 v2.1.281 或更高版本。链接的章节列出了在未设置该变量时哪些会话会请求服务器,以及从哪个版本开始。需要 Claude Code v2.1.271 或更高版本 |228| `CLAUDE_CODE_AUTO_MODE_SERVER` | 控制 Claude Code 是否请求服务器[审查自动模式操作](/docs/zh-CN/permission-modes#server-side-classifier-review)。设置为 `0` 可改用 Claude Code 自己的分类器请求。在直接连接 Anthropic API 时,需要 v2.1.281 或更高版本。链接的章节列出了在未设置该变量时哪些会话会请求服务器,以及从哪个版本开始。需要 Claude Code v2.1.271 或更高版本 |

229| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code 等待 AWS 默认凭据提供程序链生成凭据的时间(毫秒),超时后请求将失败并显示 [`AWS default-chain credential resolve timed out`](/docs/zh-CN/errors#aws-default-chain-credential-resolve-timed-out)(默认值:`60000`)。当链中某个步骤确实需要更长时间时,请提高此值,例如通过 `aws-vault` 等包装器进行带 MFA 的基于浏览器的 SSO 登录。适用于 Amazon Bedrock、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [Mantle 端点](/docs/zh-CN/amazon-bedrock#use-the-mantle-endpoint)。请参阅[凭据缓存和解析超时](/docs/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更高版本 |229| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code 等待 AWS 默认凭据提供程序链生成凭据的时间(毫秒),超时后请求会失败并显示 [`AWS default-chain credential resolve timed out`](/docs/zh-CN/errors#aws-default-chain-credential-resolve-timed-out)(默认值:`60000`)。当链中的某个步骤确实需要更长时间时(例如通过 `aws-vault` 等包装器进行带 MFA 的基于浏览器的 SSO 登录),请调高此值。适用于 Amazon Bedrock、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [Mantle 端点](/docs/zh-CN/amazon-bedrock#use-the-mantle-endpoint)。请参阅[凭据缓存和解析超时](/docs/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更高版本 |

230| `CLAUDE_CODE_BASH_EDIT_DIFF` | 设置为 `0` 可关闭[在 Bash 命令运行期间所更改文件的 diff](/docs/zh-CN/hooks#bash),设置为 `1` 可在每种权限模式下记录它。优先于 [`bashEditDiffEnabled`](/docs/zh-CN/settings-reference#basheditdiffenabled) 设置。需要 Claude Code v2.1.269 或更高版本 |230| `CLAUDE_CODE_BASH_EDIT_DIFF` | 设置为 `0` 可关闭 [Bash 命令运行期间更改的文件的 diff](/docs/zh-CN/hooks#bash),设置为 `1` 可在每种权限模式下记录它。优先于 [`bashEditDiffEnabled`](/docs/zh-CN/settings-reference#basheditdiffenabled) 设置。需要 Claude Code v2.1.269 或更高版本 |

231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | 设置为 `0` 可使非交互会话在每个轮次结束时向其宿主报告空闲状态,即使后台工作仍在运行。默认情况下,当后台 Agent 或[工作流](/docs/zh-CN/workflows)运行等后台工作仍处于活动状态时,会话在轮次结束后会继续报告运行状态。这可以防止监视该状态的宿主(例如远程会话列表)在工作进行中宣布 Claude 正在等待您的输入。后台 shell 命令(例如开发服务器)不会保持运行状态。运行状态默认值和 `0` 选择退出需要 Claude Code v2.1.269 或更高版本;在更早的版本上,请设置 `1` 以保持运行状态 |231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | 设置为 `0` 可让非交互会话在每个轮次结束时向其宿主报告空闲状态,即使后台工作仍在运行。默认情况下,当后台 Agent 或[工作流](/docs/zh-CN/workflows)运行等后台工作仍在进行时,会话在轮次结束后会继续报告运行中状态。这可以防止监视状态的宿主(例如远程会话列表)在工作进行中宣布 Claude 正在等待您的输入。后台 shell 命令(例如开发服务器)不会保持运行中状态。运行中状态默认值和 `0` 退出选项需要 Claude Code v2.1.269 或更高版本;在更早的版本上,设置 `1` 可保持运行中状态 |

232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 当会话具有活动的 [Remote Control](/docs/zh-CN/remote-control) 连接时,在 Bash 工具和 [hook 命令](/docs/zh-CN/hooks)子进程中自动设置,并在连接结束时移除。其值为 `session_` 形式的会话 ID,与会话的 `claude.ai/code` URL 中出现的标识符相同,因此脚本可以链接回运行它的会话。需要 Claude Code v2.1.199 或更高版本。在[云端会话](/docs/zh-CN/claude-code-on-the-web)中,请改为读取 `CLAUDE_CODE_REMOTE_SESSION_ID` |232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 当会话有活跃的 [Remote Control](/docs/zh-CN/remote-control) 连接时,在 Bash 工具和 [hook 命令](/docs/zh-CN/hooks)子进程中自动设置,并在连接结束时移除。该值是 `session_` 形式的会话 ID,与会话的 `claude.ai/code` URL 中出现的标识符相同,因此脚本可以链接回运行它的会话。需要 Claude Code v2.1.199 或更高版本。在[云端会话](/docs/zh-CN/claude-code-on-the-web)中,请改为读取 `CLAUDE_CODE_REMOTE_SESSION_ID` |

233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | 设置为 `0` 可让 Claude Code 将 `0x08` 字节(也写作 `^H`)读作普通 Backspace,设置为 `1` 则读作 Ctrl+Backspace。任一值都会替换平台默认值。默认情况下,Claude Code 在 Windows 上将其读作 Ctrl+Backspace(`TERM_PROGRAM` 为 `mintty` 或 `TERM` 为 `cygwin` 时除外),在 macOS 和 Linux 上读作普通 Backspace。在 [Backspace 会删除整个单词](/docs/zh-CN/terminal-config#fix-backspace-deleting-a-whole-word-on-windows)的 Windows 终端中,请设置 `0` |233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | 设置为 `0` 可让 Claude Code 将 `0x08` 字节(也写作 `^H`)读作普通 Backspace,设置为 `1` 则读作 Ctrl+Backspace。任一值都会替换平台默认值。默认情况下,Claude Code 在 Windows 上将其读作 Ctrl+Backspace(`TERM_PROGRAM` 为 `mintty` 或 `TERM` 为 `cygwin` 时除外),在 macOS 和 Linux 上读作普通 Backspace。在 [Backspace 会删除整个单词](/docs/zh-CN/terminal-config#fix-backspace-deleting-a-whole-word-on-windows)的 Windows 终端中,请设置 `0` |

234| `CLAUDE_CODE_CERT_STORE` | 用于 TLS 连接的 CA 证书来源的逗号分隔列表。`bundled` 是 Claude Code 附带的 Mozilla CA 集。`system` 是操作系统信任存储,仅在具有 `tls.getCACertificates` 的运行时上读取:原生二进制文件,或 npm 安装时的 Node 22.15 或更高版本。请参阅 [CA 证书存储](/docs/zh-CN/network-config#ca-certificate-store)。默认值为 `bundled,system` |234| `CLAUDE_CODE_CERT_STORE` | 用于 TLS 连接的 CA 证书来源的逗号分隔列表。`bundled` 是 Claude Code 附带的 Mozilla CA 集。`system` 是操作系统信任存储,仅在具有 `tls.getCACertificates` 的运行时上读取:原生二进制文件,或 npm 安装时的 Node 22.15 或更高版本。请参阅 [CA 证书存储](/docs/zh-CN/network-config#ca-certificate-store)。默认值为 `bundled,system` |

235| `CLAUDE_CODE_CHILD_SESSION` | 在 Claude Code 通过 Bash、PowerShell 和 Monitor 工具、[hook](/docs/zh-CN/hooks) 命令和[状态栏](/docs/zh-CN/statusline)命令生成的子进程中设置为 `1`。不会为 stdio [MCP 服务器](/docs/zh-CN/mcp)子进程设置,因为这些子进程长期运行,生命周期超过生成它们的会话。与 `CLAUDECODE` 不同,此变量仅在 Claude Code 自身启动子进程时设置,IDE 扩展不会设置,因此它可以可靠地区分嵌套会话与在 IDE 集成终端中启动的顶层 `claude`。以这种方式启动的嵌套交互式 `claude` TUI 会自动从 `--resume`、`--continue`、向上箭头历史记录和 `claude agents` 列表中排除。非交互式 `claude -p` 会话仍会持久化。设置 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` 可覆盖此排除。需要 Claude Code v2.1.172 或更高版本 |235| `CLAUDE_CODE_CHILD_SESSION` | 在 Claude Code 通过 Bash、PowerShell 和 Monitor 工具生成的子进程、[hook](/docs/zh-CN/hooks) 命令和[状态栏](/docs/zh-CN/statusline)命令中设置为 `1`。不会为 stdio [MCP 服务器](/docs/zh-CN/mcp)子进程设置,因为它们是长期运行的,寿命超过生成它们的会话。与 `CLAUDECODE` 不同,此变量仅由 Claude Code 本身在启动子进程时设置,IDE 扩展不会设置,因此它能可靠地将嵌套会话与在 IDE 集成终端中启动的顶层 `claude` 区分开来。以这种方式启动的嵌套交互式 `claude` TUI 会被自动排除在 `--resume`、`--continue`、上箭头历史记录和 `claude agents` 列表之外。非交互式 `claude -p` 会话仍会持久保存。设置 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` 可覆盖此排除。需要 Claude Code v2.1.172 或更高版本 |

236| `CLAUDE_CODE_CLIENT_CERT` | 用于 mTLS 身份验证的客户端证书文件路径 |236| `CLAUDE_CODE_CLIENT_CERT` | 用于 mTLS 身份验证的客户端证书文件路径 |

237| `CLAUDE_CODE_CLIENT_KEY` | 用于 mTLS 身份验证的客户端私钥文件路径 |237| `CLAUDE_CODE_CLIENT_KEY` | 用于 mTLS 身份验证的客户端私钥文件路径 |

238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 加密的 CLAUDE\_CODE\_CLIENT\_KEY 的密码短语(可选) |238| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 加密的 CLAUDE\_CODE\_CLIENT\_KEY 的密码短语(可选) |

239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | 已在 v2.1.186 中移除,现在不起任何作用。以前用于为流式 API 请求的连接、TLS 和响应标头阶段设置单独的超时时间。请使用 `API_TIMEOUT_MS` 设置每个请求的超时时间。关于流式请求的响应标头阶段,请参阅 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |239| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | 已在 v2.1.186 中移除,现在不起作用。以前用于为流式 API 请求的连接、TLS 和响应标头阶段单独设置超时。请使用 `API_TIMEOUT_MS` 设置每个请求的超时。关于流式请求的响应标头阶段,请参阅 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

240| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 覆盖调试日志文件路径。尽管名称如此,这是文件路径,而不是目录。需要通过 `--debug`、`/debug` 或 `DEBUG` 环境变量单独启用调试模式:仅设置此变量不会启用日志记录。[`--debug-file`](/docs/zh-CN/cli-reference#cli-flags) 标志可同时完成这两项操作。默认为 `~/.claude/debug/<session-id>.txt` |240| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 覆盖调试日志文件路径。尽管名称如此,这是一个文件路径,而不是目录。需要通过 `--debug`、`/debug` 或 `DEBUG` 环境变量单独启用调试模式:仅设置此变量不会启用日志记录。[`--debug-file`](/docs/zh-CN/cli-reference#cli-flags) 标志可同时完成这两项操作。默认为 `~/.claude/debug/<session-id>.txt` |

241| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 写入调试日志文件的最低日志级别。可选值:`verbose`、`debug`(默认)、`info`、`warn`、`error`。设置为 `verbose` 可包含大量诊断信息,例如完整的状态栏命令输出;或提高到 `error` 以减少干扰 |241| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 写入调试日志文件的最低日志级别。取值:`verbose`、`debug`(默认)、`info`、`warn`、`error`。设置为 `verbose` 可包含大量诊断信息,例如完整的状态栏命令输出;或提高到 `error` 以减少干扰 |

242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 设置为 `1` 可禁用 [1M 上下文窗口](/docs/zh-CN/model-config#extended-context)支持。设置后,模型选择器中将不提供 1M 模型变体,并且 Claude Code 会将使用原生 1M 窗口的模型(例如 [Sonnet 5.5](/docs/zh-CN/model-config#sonnet-5-5-and-sonnet-5-context-window) 和 Fable 模型)上的会话限制为 200K 窗口;有关如何强制执行此限制,请参阅[扩展上下文](/docs/zh-CN/model-config#extended-context)。适用于有合规要求的企业环境。关于它在为无法识别的 `[1m]` 模型 ID 修正窗口方面的作用,请参阅[为网关或自定义模型 ID 修正窗口](/docs/zh-CN/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 设置为 `1` 可禁用 [1M 上下文窗口](/docs/zh-CN/model-config#extended-context)支持。设置后,1M 模型变体在模型选择器中不可用,并且对于具有原生 1M 窗口的模型(例如 [Sonnet 5.5](/docs/zh-CN/model-config#sonnet-5-5-and-sonnet-5-context-window) 和 Fable 模型),Claude Code 会将会话限制在 200K 窗口;关于如何强制执行此限制,请参阅[扩展上下文](/docs/zh-CN/model-config#extended-context)。适用于有合规要求的企业环境。关于它在为无法识别的 `[1m]` 模型 ID 更正窗口方面的作用,请参阅[为网关或自定义模型 ID 更正窗口](/docs/zh-CN/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

243| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 设置为 `1` 可在 Opus 4.6 和 Sonnet 4.6 上禁用[自适应推理](/docs/zh-CN/model-config#adjust-effort-level),并回退到由 `MAX_THINKING_TOKENS` 控制的固定思考预算。对 [Fable 模型](/docs/zh-CN/model-config#extended-thinking)、Sonnet 5 及更高版本、Haiku 5.5 或 Opus 4.7 及更高版本无效,这些模型始终使用自适应推理 |243| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 设置为 `1` 可在 Opus 4.6 和 Sonnet 4.6 上禁用[自适应推理](/docs/zh-CN/model-config#adjust-effort-level),并回退到由 `MAX_THINKING_TOKENS` 控制的固定思考预算。对 [Fable 模型](/docs/zh-CN/model-config#extended-thinking)、Sonnet 5 及更高版本、Haiku 5.5 或 Opus 4.7 及更高版本无效,这些模型始终使用自适应推理 |

244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | 设置为 `1` 可阻止 Claude Code 跨管理员来源按键合并[托管设置](/docs/zh-CN/managed-settings#precedence-within-the-managed-tier)的 `env` 块,从而像 v2.1.223 之前那样,只应用优先级最高的来源的整个 `env` 块。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块传递的副本。需要 Claude Code v2.1.223 或更高版本 |244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | 设置为 `1` 可阻止 Claude Code 跨管理员来源按键合并[托管设置](/docs/zh-CN/managed-settings#precedence-within-the-managed-tier)的 `env` 块,从而仅应用优先级最高来源的整个 `env` 块,与 v2.1.223 之前一样。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块下发的副本。需要 Claude Code v2.1.223 或更高版本 |

245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | 设置为 `1` 可禁用 [advisor 工具](/docs/zh-CN/advisor)。`/advisor` 命令将不可用,任何已配置的 `advisorModel` 都会被忽略,`--advisor` 标志仍被接受但不起作用,因此传递该标志的现有脚本可以继续运行而不会出错 |245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | 设置为 `1` 可禁用 [advisor 工具](/docs/zh-CN/advisor)。`/advisor` 命令将不可用,任何已配置的 `advisorModel` 都会被忽略,`--advisor` 标志仍会被接受但不起作用,因此传递该标志的现有脚本可以继续正常运行而不会报错 |

246| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 设置为 `1` 可关闭[后台 Agent 和 Agent 视图](/docs/zh-CN/agent-view):`claude agents`、`--bg`、`/background` 以及按需 supervisor。等同于 [`disableAgentView`](/docs/zh-CN/settings-reference#disableagentview) 设置 |246| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | 设置为 `1` 可关闭[后台 Agent 和 Agent 视图](/docs/zh-CN/agent-view):`claude agents`、`--bg`、`/background` 以及按需 supervisor。等同于 [`disableAgentView`](/docs/zh-CN/settings-reference#disableagentview) 设置 |

247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 设置为 `1` 可禁用[全屏渲染](/docs/zh-CN/fullscreen)并使用经典的主屏幕渲染器。对话保留在终端的原生回滚缓冲区中,因此 `Cmd+f` 和 tmux 复制模式照常工作。优先于 `CLAUDE_CODE_NO_FLICKER` 和 [`tui`](/docs/zh-CN/settings-reference#tui) 设置。您也可以使用 `/tui default` 切换。不适用于从 [Agent 视图](/docs/zh-CN/agent-view)打开的后台会话,这些会话始终使用全屏渲染 |247| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | 设置为 `1` 可禁用[全屏渲染](/docs/zh-CN/fullscreen)并使用经典的主屏幕渲染器。对话保留在终端的原生回滚缓冲区中,因此 `Cmd+f` 和 tmux 复制模式照常工作。优先于 `CLAUDE_CODE_NO_FLICKER` 和 [`tui`](/docs/zh-CN/settings-reference#tui) 设置。您也可以通过 `/tui default` 切换。不适用于从 [Agent 视图](/docs/zh-CN/agent-view)打开的后台会话,这些会话始终使用全屏渲染 |

248| `CLAUDE_CODE_DISABLE_ARTIFACT` | 设置为 `1` 可关闭 [Artifact](/docs/zh-CN/artifacts) 工具,该工具会将会话输出作为私有网页发布到 claude.ai 上。一旦设置,任何设置文件都无法重新启用该工具。如果要改为通过设置文件关闭该工具,请将 [`enableArtifact`](/docs/zh-CN/settings-reference#enableartifact) 设置为 `false`;已弃用的 [`disableArtifact`](/docs/zh-CN/settings-reference#disableartifact) 键也可将其关闭 |248| `CLAUDE_CODE_DISABLE_ARTIFACT` | 设置为 `1` 可关闭 [Artifact](/docs/zh-CN/artifacts) 工具,该工具会将会话输出发布为 claude.ai 上的私有网页。设置后,任何设置文件都无法重新启用该工具。若要改为通过设置文件关闭该工具,请将 [`enableArtifact`](/docs/zh-CN/settings-reference#enableartifact) 设置为 `false`;已弃用的 [`disableArtifact`](/docs/zh-CN/settings-reference#disableartifact) 键也会将其关闭 |

249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 设置为 `1` 可禁用附件处理。使用 `@` 语法的文件提及将作为纯文本发送,而不会展开为文件内容 |249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 设置为 `1` 可禁用附件处理。使用 `@` 语法的文件提及将作为纯文本发送,而不会展开为文件内容 |

250| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | 设置为 `1` 可让 Claude Code 进程自行运行其 [`gcpAuthRefresh`](/docs/zh-CN/settings-reference#gcpauthrefresh) 或 [`awsAuthRefresh`](/docs/zh-CN/settings-reference#awsauthrefresh) 命令,而不是在另一个进程运行该命令时等待。需要 Claude Code v2.1.286 或更高版本 |250| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | 设置为 `1` 可让 Claude Code 进程自行运行其 [`gcpAuthRefresh`](/docs/zh-CN/settings-reference#gcpauthrefresh) 或 [`awsAuthRefresh`](/docs/zh-CN/settings-reference#awsauthrefresh) 命令,而不是在另一个进程运行该命令时等待。需要 Claude Code v2.1.286 或更高版本 |

251| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 设置为 `1` 可禁用[自动记忆](/docs/zh-CN/memory#auto-memory)。设置为 `0` 可强制启用自动记忆,即使 `--bare` 模式或 [`autoMemoryEnabled: false`](/docs/zh-CN/settings-reference#automemoryenabled) 本会禁用它。禁用后,Claude 不会创建或加载自动记忆文件 |251| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | 设置为 `1` 可禁用[自动记忆](/docs/zh-CN/memory#auto-memory)。设置为 `0` 可强制启用自动记忆,即使 `--bare` 模式或 [`autoMemoryEnabled: false`](/docs/zh-CN/settings-reference#automemoryenabled) 原本会禁用它。禁用后,Claude 不会创建或加载自动记忆文件 |

252| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 设置为 `1` 可禁用所有后台任务功能,包括 Bash 和子代理工具上的 `run_in_background` 参数、自动后台化以及 Ctrl+B 快捷键 |252| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 设置为 `1` 可禁用所有后台任务功能,包括 Bash 和子代理工具上的 `run_in_background` 参数、自动后台化以及 Ctrl+B 快捷键 |

253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | 设置为 `1` 可阻止 Claude Code 将缺少 `Content-Type` 标头或该标头为空的 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) 流式响应视为 Amazon Bedrock 的二进制事件流。默认情况下,Claude Code 假定是网关从原本未经修改的响应中丢弃了该标头,因此它会解码响应体,流式输出可继续正常工作。仅当网关还会将流重新以服务器发送事件形式发出时才设置此变量;届时 Claude Code 会改为将无标头的响应体读作服务器发送事件。需要 Claude Code v2.1.239 或更高版本 |253| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | 设置为 `1` 可阻止 Claude Code 将 `Content-Type` 标头缺失或为空的 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) 流式响应视为 Amazon Bedrock 的二进制事件流。默认情况下,Claude Code 假定网关从原本未经修改的响应中删除了该标头,因此它会解码响应体,流式输出得以继续正常工作。仅当网关还会将流重新输出为服务器发送事件时才设置此项;此时 Claude Code 会将没有标头的响应体读作服务器发送事件。需要 Claude Code v2.1.239 或更高版本 |

254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 设置为 `1` 可跳过对 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) 流式响应是否带有 `application/vnd.amazon.eventstream` content-type 的检查。如果不设置此变量,当响应带有不同的 content-type 时,Claude Code 会使请求失败,并显示一条指出该类型的错误,这意味着[网关或代理正在转换响应](/docs/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。请配置网关原样转发 `Content-Type` 标头和响应体,而不是设置此变量。需要 Claude Code v2.1.208 或更高版本 |254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | 设置为 `1` 可跳过对 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) 流式响应是否带有 `application/vnd.amazon.eventstream` content-type 的检查。如果未设置此变量,当响应带有不同的 content-type 时,Claude Code 会使请求失败并显示指明该类型的错误,这意味着[网关或代理正在转换响应](/docs/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。请将网关配置为原样转发 `Content-Type` 标头和响应体,而不是设置此变量。需要 Claude Code v2.1.208 或更高版本 |

255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 设置为 `1` 可在 [supervisor](/docs/zh-CN/agent-view#the-supervisor-process) 停止、重启或更新[后台会话](/docs/zh-CN/agent-view)的进程时,停止该会话正在运行的后台 shell 命令、动态工作流以及(自 v2.1.198 起)后台子代理,而不是将它们移交给该会话的下一个进程。仅影响这一移交:使用 `←` 或 [`/background`](/docs/zh-CN/agent-view#from-inside-a-session) 将会话转入后台时,仍会延续正在进行的工作,而 `CLAUDE_DISABLE_ADOPT` 会同时关闭这两者。需要 Claude Code v2.1.196 或更高版本 |255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | 设置为 `1` 可在 [supervisor](/docs/zh-CN/agent-view#the-supervisor-process) 停止、重启或更新[后台会话](/docs/zh-CN/agent-view)的进程时,停止该会话正在运行的后台 shell 命令、动态工作流,以及(从 v2.1.198 起)后台子代理,而不是将它们移交给该会话的下一个进程。仅影响该移交:使用 `←` 或 [`/background`](/docs/zh-CN/agent-view#from-inside-a-session) 将会话转入后台时,仍会带上进行中的工作,而 `CLAUDE_DISABLE_ADOPT` 会同时关闭这两者。需要 Claude Code v2.1.196 或更高版本 |

256| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 设置为 `1` 可阻止 Claude Code 在内存压力下终止[后台 shell 命令](/docs/zh-CN/interactive-mode#background-bash-commands)。默认情况下,在 macOS 和 Linux 上,当操作系统报告严重内存压力,且会话已空闲 30 分钟、没有正在运行的轮次或子代理时,Claude Code 会终止后台 shell。Windows 没有内存压力信号,因此此变量在 Windows 上无效。需要 Claude Code v2.1.193 或更高版本 |256| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 设置为 `1` 可阻止 Claude Code 在内存压力下终止[后台 shell 命令](/docs/zh-CN/interactive-mode#background-bash-commands)。默认情况下,在 macOS 和 Linux 上,当操作系统报告严重内存压力且会话已空闲 30 分钟、没有轮次或子代理在运行时,Claude Code 会终止后台 shell。Windows 没有内存压力信号,因此此变量在 Windows 上无效。需要 Claude Code v2.1.193 或更高版本 |

257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 设置为 `1` 可禁用 Claude Code 随附的 [skill](/docs/zh-CN/skills) 和工作流:随附的 skill 和工作流会被完全移除,而 `/init` 等内置命令仍可输入,但对模型隐藏。`/doctor` 与内置命令一样仍可输入;请改用 `DISABLE_DOCTOR_COMMAND` 将其隐藏。来自插件、`.claude/skills/` 和 `.claude/commands/` 的 skill 不受影响。等同于 [`disableBundledSkills`](/docs/zh-CN/settings-reference#disablebundledskills) 设置 |257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | 设置为 `1` 可禁用 Claude Code 附带的 [skill](/docs/zh-CN/skills) 和工作流:随附 skill 和工作流会被完全移除,而 `/init` 等内置命令仍可输入,但对模型隐藏。`/doctor` 与内置命令一样仍可输入;请改用 `DISABLE_DOCTOR_COMMAND` 将其隐藏。来自插件、`.claude/skills/` 和 `.claude/commands/` 的 skill 不受影响。等同于 [`disableBundledSkills`](/docs/zh-CN/settings-reference#disablebundledskills) 设置 |

258| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 设置为 `1` 可保留 [Claude in Chrome](/docs/zh-CN/chrome) 浏览器工具,同时省略系统提示词中的 Chrome 部分以及 `/claude-in-chrome` [随附 skill](/docs/zh-CN/skills#bundled-skills)。适用于嵌入 Claude Code 并提供自己的浏览器指导的宿主。需要 Claude Code v2.1.257 或更高版本 |258| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | 设置为 `1` 可保持 [Claude in Chrome](/docs/zh-CN/chrome) 浏览器工具可用,同时省略系统提示词中的 Chrome 部分以及 `/claude-in-chrome` [随附 skill](/docs/zh-CN/skills#bundled-skills)。适用于嵌入 Claude Code 并提供自己的浏览器指导的宿主。需要 Claude Code v2.1.257 或更高版本 |

259| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 设置为 `1` 可阻止将任何 CLAUDE.md 记忆文件加载到上下文中,包括用户、项目和自动记忆文件 |259| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 设置为 `1` 可阻止将任何 CLAUDE.md 记忆文件加载到上下文中,包括用户、项目和自动记忆文件 |

260| `CLAUDE_CODE_DISABLE_CRON` | 设置为 `1` 可禁用[定时任务](/docs/zh-CN/scheduled-tasks)。`/loop` skill 和 cron 工具将不可用,任何已安排的任务都会停止触发,包括会话中途已在运行的任务 |260| `CLAUDE_CODE_DISABLE_CRON` | 设置为 `1` 可禁用[定时任务](/docs/zh-CN/scheduled-tasks)。`/loop` skill 和 cron 工具将不可用,所有已安排的任务都将停止触发,包括会话中已在运行的任务 |

261| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | 设置为 `1` 可关闭[关键路径删除](/docs/zh-CN/permission-modes#critical-paths)提示的时间限制。这样,在 `auto` 模式下,Claude Code 会改为将这些删除操作发送给分类器,而在 `bypassPermissions` 模式下,提示会等待您的回答。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块传递的副本。需要 Claude Code v2.1.281 或更高版本 |261| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | 设置为 `1` 可关闭[关键路径删除](/docs/zh-CN/permission-modes#critical-paths)确认提示的时间限制。之后在 `auto` 模式下,Claude Code 会将这些删除操作发送给分类器,而在 `bypassPermissions` 模式下,确认提示会等待您的回答。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块下发的副本。需要 Claude Code v2.1.281 或更高版本 |

262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 设置为 `1` 可从 API 请求中剥离预发布的 `anthropic-beta` 请求标头、与之配套的请求体字段,以及 `defer_loading` 和 `eager_input_streaming` 等 beta 工具架构字段。当代理网关以 `anthropic-beta` 标头的 `Unexpected value(s)` 错误或 `Extra inputs are not permitted` 错误拒绝请求时,请使用此选项。[禁用预发布功能](/docs/zh-CN/llm-gateway-protocol#disable-pre-release-capabilities)列出了该变量移除的内容(包括 [MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search))以及 Claude Code 仍会发送的内容 |262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | 设置为 `1` 可从 API 请求中去除预发布的 `anthropic-beta` 请求标头、与之配对的请求体字段,以及 `defer_loading` 和 `eager_input_streaming` 等 beta 工具架构字段。当代理网关因 `anthropic-beta` 标头返回 `Unexpected value(s)` 错误或返回 `Extra inputs are not permitted` 错误而拒绝请求时,请使用此选项。[禁用预发布功能](/docs/zh-CN/llm-gateway-protocol#disable-pre-release-capabilities)列出了此变量会移除的内容(包括 [MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search))以及 Claude Code 仍会发送的内容 |

263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 设置为 `1` 可禁用内置的 [Explore 和 Plan 子代理](/docs/zh-CN/sub-agents#built-in-subagents)。Claude 会改用其搜索工具或 general-purpose 子代理进行探索,[计划模式](/docs/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode)会直接读取文件,而不是启动 Explore 和 Plan Agent。名为 `Explore` 或 `Plan` 的自定义子代理不受影响。要在 Agent SDK 或非交互模式中移除所有内置子代理类型,请改用 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`。需要 Claude Code v2.1.198 或更高版本 |263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 设置为 `1` 可禁用内置的 [Explore 和 Plan 子代理](/docs/zh-CN/sub-agents#built-in-subagents)。Claude 会改用其搜索工具或 general-purpose 子代理进行探索,[计划模式](/docs/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode)会直接读取文件,而不是启动 Explore 和 Plan Agent。名为 `Explore` 或 `Plan` 的自定义子代理不受影响。要在 Agent SDK 或非交互模式下移除所有内置子代理类型,请改用 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`。需要 Claude Code v2.1.198 或更高版本 |

264| `CLAUDE_CODE_DISABLE_FAST_MODE` | 设置为 `1` 可禁用[快速模式](/docs/zh-CN/fast-mode) |264| `CLAUDE_CODE_DISABLE_FAST_MODE` | 设置为 `1` 可禁用[快速模式](/docs/zh-CN/fast-mode) |

265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 设置为 `1` 可禁用 "How is Claude doing?" 会话质量调查。当设置了 `DISABLE_TELEMETRY`、`DO_NOT_TRACK` 或 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 时,调查也会被禁用,除非 `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` 重新选择启用。要设置采样率而不是直接禁用,请使用 [`feedbackSurveyRate`](/docs/zh-CN/settings-reference#feedbacksurveyrate) 设置。请参阅[会话质量调查](/docs/zh-CN/data-usage#session-quality-surveys) |265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 设置为 `1` 可禁用"How is Claude doing?"会话质量调查。当设置了 `DISABLE_TELEMETRY`、`DO_NOT_TRACK` 或 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 时,调查也会被禁用,除非 `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` 重新选择启用。若要设置采样率而不是直接禁用,请使用 [`feedbackSurveyRate`](/docs/zh-CN/settings-reference#feedbacksurveyrate) 设置。请参阅[会话质量调查](/docs/zh-CN/data-usage#session-quality-surveys) |

266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | 设置为 `1` 可禁用文件[检查点功能](/docs/zh-CN/checkpointing)。`/rewind` 命令将无法恢复代码更改。覆盖 [`fileCheckpointingEnabled`](/docs/zh-CN/settings-reference#filecheckpointingenabled) 设置 |266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | 设置为 `1` 可禁用文件[检查点功能](/docs/zh-CN/checkpointing)。`/rewind` 命令将无法恢复代码更改。覆盖 [`fileCheckpointingEnabled`](/docs/zh-CN/settings-reference#filecheckpointingenabled) 设置 |

267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | 设置为 `1` 可从 Claude 的上下文中移除内置的提交和 PR 工作流指令以及 git 状态快照。在使用您自己的 git 工作流 skill 时很有用。设置后优先于 [`includeGitInstructions`](/docs/zh-CN/settings-reference#includegitinstructions) 设置 |267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | 设置为 `1` 可从 Claude 的上下文中移除内置的提交和 PR 工作流说明以及 git 状态快照。在使用您自己的 git 工作流 skill 时很有用。设置后优先于 [`includeGitInstructions`](/docs/zh-CN/settings-reference#includegitinstructions) 设置 |

268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | 设置为 `1` 可阻止 Claude Code 读取通过 `-c` 传递给 shell 的脚本(例如 `bash -c 'rm -rf ~'`)来检查[关键路径](/docs/zh-CN/permission-modes#removals-inside-nested-commands-and-inline-scripts)删除操作。Claude Code 仍会检查这些脚本中的 shell 变量和位置参数目标,其他关键路径检查也会继续运行。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块传递的副本。需要 Claude Code v2.1.288 或更高版本 |268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | 设置为 `1` 可阻止 Claude Code 读取通过 `-c` 传递给 shell 的脚本(例如 `bash -c 'rm -rf ~'`)来检查[关键路径](/docs/zh-CN/permission-modes#removals-inside-nested-commands-and-inline-scripts)删除。Claude Code 仍会检查这些脚本中的 shell 变量和位置参数目标,其他关键路径检查也会继续运行。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块下发的副本。需要 Claude Code v2.1.288 或更高版本 |

269| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | 设置为 `1` 可阻止在 Anthropic API 上将 Opus 4.0 和 4.1 自动重新映射到当前 Opus 版本。当您有意固定使用较旧的模型时使用。该重新映射不会在 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 上运行 |269| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | 设置为 `1` 可阻止在 Anthropic API 上将 Opus 4.0 和 4.1 自动重新映射到当前 Opus 版本。当您有意固定使用较旧模型时使用。此重新映射不会在 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 上运行 |

270| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | 设置为 `1` 可阻止 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock#when-a-model-is-disabled-mid-session) 和 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai#when-a-model-is-disabled-mid-session) 上的 Claude Code 在您的账户于会话中途失去对会话模型的访问权限时切换到较旧的模型;被拒绝的请求将立即失败。您配置的[备用模型链](/docs/zh-CN/model-config#fallback-model-chains)仍会在该拒绝发生时切换,[启动模型检查](/docs/zh-CN/amazon-bedrock#startup-model-checks)仍会在启动时回退。需要 Claude Code v2.1.285 或更高版本 |270| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | 设置为 `1` 可阻止 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock#when-a-model-is-disabled-mid-session) 和 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai#when-a-model-is-disabled-mid-session) 上的 Claude Code 在您的账户于会话中途失去对会话模型的访问权限时切换到较旧的模型;被拒绝的请求会立即失败。您配置的[备用模型链](/docs/zh-CN/model-config#fallback-model-chains)仍会在遇到该拒绝时切换,[启动模型检查](/docs/zh-CN/amazon-bedrock#startup-model-checks)仍会在启动时回退。需要 Claude Code v2.1.285 或更高版本 |

271| `CLAUDE_CODE_DISABLE_MOUSE` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中禁用鼠标跟踪。使用 `PgUp` 和 `PgDn` 的键盘滚动仍然有效。使用此选项可保留终端原生的选中即复制行为 |271| `CLAUDE_CODE_DISABLE_MOUSE` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中禁用鼠标跟踪。使用 `PgUp` 和 `PgDn` 的键盘滚动仍然有效。使用此选项可保留终端原生的选中即复制行为 |

272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中禁用单击、拖动和悬停处理,同时保留鼠标滚轮滚动。当您希望滚轮滚动在 Claude Code 内正常工作,但不希望单击来定位光标、展开工具输出或打开链接时,请使用此选项。两者都设置时,`CLAUDE_CODE_DISABLE_MOUSE` 优先。需要 Claude Code v2.1.195 或更高版本 |272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中禁用点击、拖动和悬停处理,同时保留鼠标滚轮滚动。当您希望在 Claude Code 中使用滚轮滚动,但不希望点击定位光标、展开工具输出或打开链接时使用此选项。两者都设置时,`CLAUDE_CODE_DISABLE_MOUSE` 优先。需要 Claude Code v2.1.195 或更高版本 |

273| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | 设置为 `1` 可阻止 Claude Code 在 API 请求因连接级错误(例如连接重置或 TLS 握手错误)失败时重新读取 [mTLS 客户端证书和密钥](/docs/zh-CN/network-config#mtls-authentication)。禁用重新加载后,Claude Code 仅在下次应用设置时或下次启动时加载轮换后的文件。需要 Claude Code v2.1.232 或更高版本 |273| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | 设置为 `1` 可阻止 Claude Code 在 API 请求因连接级错误(例如连接重置或 TLS 握手错误)而失败时重新读取 [mTLS 客户端证书和密钥](/docs/zh-CN/network-config#mtls-authentication)。禁用重新加载后,Claude Code 仅在下次应用设置时或下次启动时加载轮换后的文件。需要 Claude Code v2.1.232 或更高版本 |

274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 设置为任何非空值(例如 `1`)可禁用非必要的网络流量:自动更新、遥测、错误报告、`/feedback` 命令、[Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)、发行说明、[PR 和 MR 状态徽章](/docs/zh-CN/interactive-mode#pr-review-status)检查,以及[快速模式](/docs/zh-CN/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)检查等可用性检查。它还会停止[插件 `command` 来源的后台运行](/docs/zh-CN/plugins/loading#when-a-command-source-re-runs),这些是本地命令而非网络流量,但它们可能会触发依赖安装。**将其设置为 `0` 或 `false` 仍会禁用此流量**,这与大多数开关变量不同;需取消设置该变量才能再次允许。还会禁用功能标志获取,这会使 [Remote Control](/docs/zh-CN/remote-control#requirements) 和其他[需要获取功能标志的功能](#features-that-need-feature-flag-fetching)不可用。官方插件市场的自动安装不在此范围内;请使用 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 禁用它。不影响[网关模型发现](/docs/zh-CN/llm-gateway-connect#add-gateway-models-to-the-model-picker),后者有自己的选择启用机制 |274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 设置为任意非空值(例如 `1`)可禁用非必要网络流量:自动更新、遥测、错误报告、`/feedback` 命令、[Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)、发行说明、[PR 和 MR 状态徽章](/docs/zh-CN/interactive-mode#pr-review-status)检查,以及[快速模式](/docs/zh-CN/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)检查等可用性检查。它还会停止[插件 `command` 来源的后台运行](/docs/zh-CN/plugins/loading#when-a-command-source-re-runs);这些是本地命令而非网络流量,之所以停止它们,是因为它们可能触发依赖安装。**将其设置为 `0` 或 `false` 仍会禁用这些流量**,这与大多数开关变量不同;取消设置该变量即可重新允许。还会禁用功能标志获取,这会使 [Remote Control](/docs/zh-CN/remote-control#requirements) 和其他[需要功能标志获取的功能](#features-that-need-feature-flag-fetching)不可用。官方插件市场自动安装不在此范围内;请使用 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 禁用它。不影响[网关模型发现](/docs/zh-CN/llm-gateway-connect#add-gateway-models-to-the-model-picker),它有自己的选择启用机制 |

275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 设置为 `1` 可在流式请求中途失败时禁用非流式回退。流式错误会改为传播到重试层。当代理或网关导致回退产生重复的工具执行时很有用 |275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 设置为 `1` 可在流式请求中途失败时禁用非流式回退。流式错误会改为传递到重试层。当代理或网关导致回退产生重复的工具执行时很有用 |

276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 设置为 `1` 可在您正在终端中输入或终端处于焦点时,仍然发送 `PushNotification` 工具的桌面通知。默认情况下,当该工具检测到最近的键盘活动或终端焦点时,会同时跳过桌面通知和[移动推送](/docs/zh-CN/remote-control#mobile-push-notifications)。此变量仅禁用该本地检查,因此当服务器检测到您处于活动状态时,仍可抑制移动推送。需要 Claude Code v2.1.193 或更高版本 |276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 设置为 `1` 可在您正在终端中输入或终端处于焦点时仍发送 `PushNotification` 工具的桌面通知。默认情况下,当该工具检测到最近的键盘活动或终端焦点时,会同时跳过桌面通知和[移动推送](/docs/zh-CN/remote-control#mobile-push-notifications)。此变量仅禁用该本地检查,因此当服务器检测到您处于活跃状态时,仍可以抑制移动推送。需要 Claude Code v2.1.193 或更高版本 |

277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 设置为 `1` 可禁用官方插件市场的自动注册。Claude Code 在即将注册该市场时读取此变量,通常是在计算机首次交互式启动期间。如果此时设置了该变量,Claude Code 会永久跳过注册。之后取消设置该变量不会撤销此跳过。随时运行 `claude plugin marketplace add anthropics/claude-plugins-official` 即可注册该市场 |277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 设置为 `1` 可禁用官方插件市场的自动注册。Claude Code 会在即将注册该市场时(通常是在机器首次交互式启动期间)读取此变量。如果此时已设置该变量,Claude Code 会永久跳过注册。之后取消设置该变量不会撤销此跳过。可随时运行 `claude plugin marketplace add anthropics/claude-plugins-official` 来注册该市场 |

278| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | 设置为 `1` 可阻止 Claude Code 运行您的[针对未回答权限请求的 `Notification` hook](/docs/zh-CN/hooks#notification),仅适用于 Claude Code 将这些请求发送到 Agent SDK 的 `canUseTool` 回调的会话,Claude Desktop 和 VS Code 扩展就是以这种方式托管 Claude Code 的。在终端会话中无效。需要 Claude Code v2.1.233 或更高版本 |278| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | 设置为 `1` 可阻止 Claude Code 在会将未回复的权限请求发送到 Agent SDK 的 `canUseTool` 回调的会话中运行您的[针对未回复权限请求的 `Notification` hook](/docs/zh-CN/hooks#notification),Claude Desktop 和 VS Code 扩展正是以这种方式托管 Claude Code 的。在终端会话中无效。需要 Claude Code v2.1.233 或更高版本 |

279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 设置为 `1` 可跳过从系统范围的托管 skill 目录加载 skill。适用于不应加载运维人员预置 skill 的容器或 CI 会话 |279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 设置为 `1` 可跳过从系统范围的托管 skill 目录加载 skill。适用于不应加载运维人员预配的 skill 的容器或 CI 会话 |

280| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | 设置为 `1` 可关闭 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool)的一项检查,该检查会拒绝对[系统路径](/docs/zh-CN/permission-modes#remove-item-in-powershell)(例如驱动器根目录或您的主目录)使用 `cmd` 内置命令 `rd`、`rmdir`、`del` 和 `erase`。Claude Code 会忽略设置文件 `env` 块中的此变量。需要 Claude Code v2.1.283 或更高版本 |280| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | 设置为 `1` 可关闭 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool)中的一项检查,该检查会拒绝对[系统路径](/docs/zh-CN/permission-modes#remove-item-in-powershell)(例如驱动器根目录或您的主目录)使用 `cmd` 内置命令 `rd`、`rmdir`、`del` 和 `erase`。Claude Code 会忽略设置文件 `env` 块中的此变量。需要 Claude Code v2.1.283 或更高版本 |

281| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | 设置为 `1` 可关闭[安全分类器标记请求时的自动模型切换](/docs/zh-CN/model-config#automatic-model-fallback),即 [`switchModelsOnFlag`](/docs/zh-CN/settings-reference#switchmodelsonflag) 设置所控制的行为 |281| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | 设置为 `1` 可关闭[安全分类器标记请求时的自动模型切换](/docs/zh-CN/model-config#automatic-model-fallback),即 [`switchModelsOnFlag`](/docs/zh-CN/settings-reference#switchmodelsonflag) 设置所控制的行为 |

282| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | 设置为 `1` 可阻止 Claude Code 发送结构化输出的 `output_config.format` 字段以及与之配套的 `anthropic-beta` 值,适用于其上游会拒绝它们的 [LLM 网关](/docs/zh-CN/llm-gateway-protocol#feature-pass-through)。这会保留 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/zh-CN/llm-gateway-protocol#disable-pre-release-capabilities) 所关闭的其他预发布功能。需要 Claude Code v2.1.288 或更高版本 |282| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | 设置为 `1` 可阻止 Claude Code 发送结构化输出的 `output_config.format` 字段以及与之配对的 `anthropic-beta` 值,适用于其上游会拒绝这些内容的 [LLM 网关](/docs/zh-CN/llm-gateway-protocol#feature-pass-through)。这会保留 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/zh-CN/llm-gateway-protocol#disable-pre-release-capabilities) 会关闭的其他预发布功能。需要 Claude Code v2.1.288 或更高版本 |

283| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | 设置为 `1` 可关闭针对目标完全来自命令替换输出的递归 `rm`(例如 `rm -rf "$(pwd)"`)的[关键路径](/docs/zh-CN/permission-modes#critical-paths)检查。其他关键路径检查会继续运行。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块传递的副本。需要 Claude Code v2.1.281 或更高版本 |283| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | 设置为 `1` 可关闭针对目标完全是命令替换输出的递归 `rm`(例如 `rm -rf "$(pwd)"`)的[关键路径](/docs/zh-CN/permission-modes#critical-paths)检查。其他关键路径检查会继续运行。请在启动 Claude Code 的环境中设置它,因为 Claude Code 会忽略通过设置 `env` 块下发的副本。需要 Claude Code v2.1.281 或更高版本 |

284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 设置为 `1` 可禁用基于对话上下文的自动终端标题更新。这也会跳过用于[生成会话标题](/docs/zh-CN/sessions#name-your-sessions)的后台小型/快速模型请求 |284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 设置为 `1` 可禁用基于对话上下文的自动终端标题更新。这也会跳过用于[生成会话标题](/docs/zh-CN/sessions#name-your-sessions)的后台 small/fast 模型请求 |

285| `CLAUDE_CODE_DISABLE_THINKING` | 设置为 `1` 可从 API 请求中完全省略 `thinking` 参数。这是针对会拒绝该参数的代理和网关的兼容性选项。在默认进行思考的模型上,省略该参数意味着模型仍可能进行思考。要在 Anthropic API 上明确禁用[扩展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking),请改用 `MAX_THINKING_TOKENS=0`。这两个变量都无法在 Opus 5.5、Sonnet 5.5、Haiku 5.5 或 Fable 模型上关闭思考,这些模型不支持关闭思考。在[第三方提供商](/docs/zh-CN/third-party-integrations)上,`MAX_THINKING_TOKENS=0` 同样会省略该参数,因此这两个变量在那里的行为相同 |285| `CLAUDE_CODE_DISABLE_THINKING` | 设置为 `1` 可从 API 请求中完全省略 `thinking` 参数。这是针对会拒绝该参数的代理和网关的兼容性选项。在默认进行思考的模型上,省略该参数意味着模型仍可能进行思考。要在 Anthropic API 上明确禁用[扩展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking),请改用 `MAX_THINKING_TOKENS=0`。对于 Opus 5.5、Sonnet 5.5、Haiku 5.5 或 Fable 模型,这两个变量都无法关闭思考,因为这些模型不能关闭思考。在[第三方提供商](/docs/zh-CN/third-party-integrations)上,`MAX_THINKING_TOKENS=0` 同样会省略该参数,因此这两个变量在那里的行为相同 |

286| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | 设置为 `1` 可在 Claude Code 无法识别模型 ID(例如 [LLM 网关](/docs/zh-CN/llm-gateway)别名)时跳过主动[自动压缩](/docs/zh-CN/costs#reduce-token-usage)。如果不设置此变量,Claude Code 会按照它为该 ID 假定的上下文窗口进行压缩。`CLAUDE_CODE_MAX_CONTEXT_TOKENS` 可以改为修正假定的窗口;有关各变量的适用情况,请参阅[为网关或自定义模型 ID 修正窗口](/docs/zh-CN/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。需要 Claude Code v2.1.223 或更高版本 |286| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | 设置为 `1` 可在 Claude Code 无法识别模型 ID(例如 [LLM 网关](/docs/zh-CN/llm-gateway)别名)时跳过主动[自动压缩](/docs/zh-CN/costs#reduce-token-usage)。如果未设置此变量,Claude Code 会按照其为该 ID 假定的上下文窗口进行压缩。也可以改用 `CLAUDE_CODE_MAX_CONTEXT_TOKENS` 更正假定的窗口;关于每个变量的适用情况,请参阅[为网关或自定义模型 ID 更正窗口](/docs/zh-CN/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。需要 Claude Code v2.1.223 或更高版本 |

287| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中禁用虚拟滚动,并渲染会话记录中的每条消息。如果在全屏模式下滚动时,应显示消息的位置出现空白区域,请使用此选项 |287| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | 设置为 `1` 可在[全屏渲染](/docs/zh-CN/fullscreen)中禁用虚拟滚动并渲染会话记录中的每条消息。如果在全屏模式下滚动时本应显示消息的位置出现空白区域,请使用此选项 |

288| `CLAUDE_CODE_DISABLE_WEB_FETCH` | 设置为 `1` 可关闭 [WebFetch](/docs/zh-CN/tools-reference#webfetch-tool-behavior) 工具。[WebSearch](/docs/zh-CN/tools-reference#websearch-tool-behavior) 工具仍然可用。需要 Claude Code v2.1.285 或更高版本 |288| `CLAUDE_CODE_DISABLE_WEB_FETCH` | 设置为 `1` 可关闭 [WebFetch](/docs/zh-CN/tools-reference#webfetch-tool-behavior) 工具。[WebSearch](/docs/zh-CN/tools-reference#websearch-tool-behavior) 工具仍然可用。需要 Claude Code v2.1.285 或更高版本 |

289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | 设置为 `1` 可在 Windows 上直接启动 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool)命令,而不是通过 `cmd.exe` 启动器启动。默认情况下,该启动器可让[在后台运行](/docs/zh-CN/tools-reference#background-commands)的 PowerShell 命令[延续到会话的下一个进程](/docs/zh-CN/agent-view#the-supervisor-process),例如当您[将会话转入后台](/docs/zh-CN/agent-view#from-inside-a-session)时。如果设置此变量,转入后台的 PowerShell 命令会在会话进程退出时停止。Bash 命令不受影响。需要 Claude Code v2.1.269 或更高版本 |289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | 设置为 `1` 可在 Windows 上直接启动 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool)命令,而不是通过 `cmd.exe` 启动器。默认情况下,该启动器可让[在后台运行](/docs/zh-CN/tools-reference#background-commands)的 PowerShell 命令[延续到会话的下一个进程](/docs/zh-CN/agent-view#the-supervisor-process),例如当您[将会话转入后台](/docs/zh-CN/agent-view#from-inside-a-session)时。如果设置了此变量,转入后台的 PowerShell 命令会在会话进程退出时停止。Bash 命令不受影响。需要 Claude Code v2.1.269 或更高版本 |

290| `CLAUDE_CODE_DISABLE_WORKFLOWS` | 设置为 `1` 可禁用[工作流](/docs/zh-CN/workflows#turn-workflows-off)。等同于 [`disableWorkflows`](/docs/zh-CN/settings-reference#disableworkflows) 设置 |290| `CLAUDE_CODE_DISABLE_WORKFLOWS` | 设置为 `1` 可禁用[工作流](/docs/zh-CN/workflows#turn-workflows-off)。等同于 [`disableWorkflows`](/docs/zh-CN/settings-reference#disableworkflows) 设置 |

291| `CLAUDE_CODE_EFFORT_LEVEL` | 为支持的模型设置 effort 级别。可选值:`low`、`medium`、`high`、`xhigh`、`max`,或 `auto` 以使用模型默认值。可用级别取决于模型。优先于 `--effort`、`/effort` 以及 `modelSettings` 和 `effortLevel` 设置。[`maxEffortLevel`](/docs/zh-CN/settings-reference#maxeffortlevel) 上限仍然适用。请参阅[调整 effort 级别](/docs/zh-CN/model-config#adjust-effort-level) |291| `CLAUDE_CODE_EFFORT_LEVEL` | 为受支持的模型设置 effort 级别。取值:`low`、`medium`、`high`、`xhigh`、`max`,或 `auto` 以使用模型默认值。可用级别取决于模型。优先于 `--effort`、`/effort` 以及 `modelSettings` 和 `effortLevel` 设置。[`maxEffortLevel`](/docs/zh-CN/settings-reference#maxeffortlevel) 上限仍然适用。请参阅[调整 effort 级别](/docs/zh-CN/model-config#adjust-effort-level) |

292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | 设置为 `1` 可向消息流中添加携带会话状态的 [`session_state_changed`](/docs/zh-CN/agent-sdk/typescript#sdksessionstatechangedmessage) 消息。需要使用 [Agent SDK](/docs/zh-CN/agent-sdk/overview),或者同时使用 `--print`、`--output-format stream-json` 和 `--verbose` |292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | 设置为 `1` 可将携带会话状态的 [`session_state_changed`](/docs/zh-CN/agent-sdk/typescript#sdksessionstatechangedmessage) 消息添加到消息流中。需要使用 [Agent SDK](/docs/zh-CN/agent-sdk/overview),或者同时使用 `--print`、`--output-format stream-json` 和 `--verbose` |

293| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 为兼容旧版本而保留,不起任何作用。自动模式默认在所有提供商上可用,包括 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 以及已登录的 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway) 会话。在 v2.1.158 至 v2.1.206 中,需要将其设置为 `1` 才能在这些提供商上使用[自动模式](/docs/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) |293| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 为兼容旧版本而保留,不起任何作用。自动模式在所有提供商上默认可用,包括 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 以及已登录的 [Claude apps gateway](/docs/zh-CN/claude-apps-gateway) 会话。在 v2.1.158 至 v2.1.206 中,必须将此变量设置为 `1`,才能在这些提供商上使用[自动模式](/docs/zh-CN/permission-modes#eliminate-prompts-with-auto-mode) |

294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | 覆盖[会话回顾](/docs/zh-CN/interactive-mode#session-recap)的可用性。设置为 `0` 可强制关闭回顾,无论 `/config` 开关如何。设置为 `1` 可在 [`awaySummaryEnabled`](/docs/zh-CN/settings-reference#awaysummaryenabled) 为 `false` 时强制开启回顾。优先于该设置和 `/config` 开关 |294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | 覆盖[会话回顾](/docs/zh-CN/interactive-mode#session-recap)的可用性。设置为 `0` 可强制关闭回顾,无论 `/config` 开关如何设置。当 [`awaySummaryEnabled`](/docs/zh-CN/settings-reference#awaysummaryenabled) 为 `false` 时,设置为 `1` 可强制开启回顾。优先于该设置和 `/config` 开关 |

295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 设置为 `1` 可在[非交互模式](/docs/zh-CN/headless)下后台安装完成后,在轮次边界刷新插件状态。默认关闭,因为刷新会在会话中途更改系统提示词,从而使该轮次的[提示缓存](/docs/zh-CN/prompt-caching)失效 |295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 设置为 `1` 可在[非交互模式](/docs/zh-CN/headless)下,后台安装完成后在轮次边界刷新插件状态。默认关闭,因为刷新会在会话中途更改系统提示词,从而使该轮次的[提示缓存](/docs/zh-CN/prompt-caching)失效 |

296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | 设置为 `1` 可在发往 Anthropic 的非必要流量被阻止时,将“How is Claude doing?”会话质量调查路由到您自己的 [OpenTelemetry collector](/docs/zh-CN/monitoring-usage)。调查评分仅作为 OTEL 事件发送到您配置的 collector。在此模式下不会向 Anthropic 发送任何调查数据。在设置了 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 时适用,否则不起作用。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 和组织产品反馈策略优先 |296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | 设置为 `1` 可在发往 Anthropic 的非必要流量被阻止时,将“How is Claude doing?”会话质量调查路由到您自己的 [OpenTelemetry 收集器](/docs/zh-CN/monitoring-usage)。调查评分仅作为 OTEL 事件发送到您配置的收集器。在此模式下,不会向 Anthropic 发送任何调查数据。在设置了 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY` 或 `DO_NOT_TRACK` 时适用,否则不起作用。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 和组织的产品反馈策略优先于此变量 |

297| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | 控制工具调用输入是否在 Claude 生成时从 API 流式传输。关闭后,大型工具输入(例如长文件写入)只有在 Claude 生成完毕后才会到达,看起来可能像是卡住了。在 Anthropic API 上默认启用。在 Amazon Bedrock 和 Google Cloud's Agent Platform 上,在已部署容器支持的模型上按模型启用。设置为 `0` 可选择退出。通过 `ANTHROPIC_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 经由代理路由时,设置为 `1` 可强制启用。在 Microsoft Foundry 和[网关](/docs/zh-CN/llm-gateway)连接上默认关闭 |297| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | 控制工具调用输入是否在 Claude 生成时从 API 流式传输。关闭后,较大的工具输入(例如较长的文件写入)只有在 Claude 生成完毕后才会到达,看起来可能像是卡住了。在 Anthropic API 上默认启用。在 Amazon Bedrock 和 Google Cloud's Agent Platform 上,按模型启用,前提是所部署的容器支持该功能。设置为 `0` 可选择退出。通过 `ANTHROPIC_BASE_URL`、`ANTHROPIC_VERTEX_BASE_URL` 或 `ANTHROPIC_BEDROCK_BASE_URL` 经由代理路由时,设置为 `1` 可强制开启。在 Microsoft Foundry 和[网关](/docs/zh-CN/llm-gateway)连接上默认关闭 |

298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 当 `ANTHROPIC_BASE_URL` 指向与 Anthropic 兼容的网关(例如 LiteLLM、Kong 或内部代理)时,设置为 `1` 可从网关的 `/v1/models` 端点填充 `/model` 选择器。默认关闭,因为否则由共享 API 密钥支持的网关会向每个用户显示该密钥可访问的所有模型。发现的模型仍会按会话收到的 [`availableModels`](/docs/zh-CN/settings-reference#availablemodels) 允许列表进行筛选;请通过 [MDM 或托管设置文件](/docs/zh-CN/managed-settings#delivery-mechanisms)下发该列表,因为[网关配置不支持服务器托管下发](/docs/zh-CN/server-managed-settings#platform-availability) |298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 当 `ANTHROPIC_BASE_URL` 指向与 Anthropic 兼容的网关(例如 LiteLLM、Kong 或内部代理)时,设置为 `1` 可从网关的 `/v1/models` 端点填充 `/model` 选择器。默认关闭,因为否则由共享 API 密钥支持的网关会向每个用户显示该密钥可访问的所有模型。发现的模型仍会按会话收到的 [`availableModels`](/docs/zh-CN/settings-reference#availablemodels) 允许列表进行过滤;请通过 [MDM 或托管设置文件](/docs/zh-CN/managed-settings#delivery-mechanisms)下发该列表,因为[服务器托管下发在网关配置上不可用](/docs/zh-CN/server-managed-settings#platform-availability) |

299| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | 已在 v2.1.142 中移除,当时[快速模式](/docs/zh-CN/fast-mode)的默认模型从 Opus 4.6 改为 Opus 4.7 |299| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | 已在 v2.1.142 中移除,当时[快速模式](/docs/zh-CN/fast-mode)的默认模型从 Opus 4.6 改为 Opus 4.7 |

300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 设置为 `false` 可关闭提示词建议,即出现在输入框中的灰色预测内容。优先于 [`promptSuggestionEnabled`](/docs/zh-CN/settings-reference#promptsuggestionenabled) 设置,`/config` 中的 **Prompt suggestions** 开关写入的正是该设置。当您的账户接近或达到用量限制时,Claude Code 也会[暂停建议](/docs/zh-CN/interactive-mode#when-claude-code-skips-suggestions)。设置为 `true` 可使建议保持开启,直到达到限制。需要 Claude Code v2.1.238 或更高版本。请参阅[提示词建议](/docs/zh-CN/interactive-mode#prompt-suggestions) |300| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 设置为 `false` 可关闭提示词建议,即出现在输入框中的灰色预测内容。优先于 [`promptSuggestionEnabled`](/docs/zh-CN/settings-reference#promptsuggestionenabled) 设置,即 `/config` 中 **Prompt suggestions** 开关所写入的设置。当您的账户接近或达到用量限制时,Claude Code 也会[暂停建议](/docs/zh-CN/interactive-mode#when-claude-code-skips-suggestions)。设置为 `true` 可使建议保持开启,直到达到限制。需要 Claude Code v2.1.238 或更高版本。请参阅[提示词建议](/docs/zh-CN/interactive-mode#prompt-suggestions) |

301| `CLAUDE_CODE_ENABLE_TASKS` | 选择 Claude Code 在[具备任务跟踪工具的会话](/docs/zh-CN/tools-reference#task-tool-availability)中提供哪些任务跟踪工具。默认情况下,Claude Code 提供 Task 工具 `TaskCreate`、`TaskUpdate`、`TaskGet` 和 `TaskList`。设置为 `0` 可改用旧版 `TodoWrite` 工具。请参阅[任务列表](/docs/zh-CN/interactive-mode#task-list) |301| `CLAUDE_CODE_ENABLE_TASKS` | 选择 Claude Code 在[提供任务跟踪工具的会话](/docs/zh-CN/tools-reference#task-tool-availability)中提供哪些任务跟踪工具。默认情况下,Claude Code 提供 Task 工具 `TaskCreate`、`TaskUpdate`、`TaskGet` 和 `TaskList`。设置为 `0` 可改用旧版 `TodoWrite` 工具。请参阅[任务列表](/docs/zh-CN/interactive-mode#task-list) |

302| `CLAUDE_CODE_ENABLE_TELEMETRY` | 设置为 `1` 可启用用于指标和日志记录的 OpenTelemetry 数据收集。在配置 OTel 导出器之前必须设置。可在 shell、用户设置或托管设置中设置。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略。请参阅[监控](/docs/zh-CN/monitoring-usage) |302| `CLAUDE_CODE_ENABLE_TELEMETRY` | 设置为 `1` 可启用用于指标和日志记录的 OpenTelemetry 数据收集。配置 OTel 导出器之前必须先设置此变量。请在 shell、用户设置或托管设置中设置。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略。请参阅[监控](/docs/zh-CN/monitoring-usage) |

303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | 设置为 `1` 可在所有模型上获得任务跟踪工具。如果不设置,Claude Code 默认仅在 [Task 工具可用性](/docs/zh-CN/tools-reference#task-tool-availability)下列出的模型上提供这些工具。`CLAUDE_CODE_ENABLE_TASKS` 仍用于选择 Task 工具或 `TodoWrite`。需要 Claude Code v2.1.233 或更高版本 |303| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | 设置为 `1` 可在所有模型上获得任务跟踪工具。未设置时,Claude Code 仅在 [Task 工具可用性](/docs/zh-CN/tools-reference#task-tool-availability)中列出的模型上默认提供这些工具。`CLAUDE_CODE_ENABLE_TASKS` 仍用于选择 Task 工具或 `TodoWrite`。需要 Claude Code v2.1.233 或更高版本 |

304| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 查询循环进入空闲状态后、自动退出前等待的时间(毫秒)。适用于使用 SDK 模式的自动化工作流和脚本 |304| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 查询循环变为空闲后、自动退出前等待的时间(毫秒)。适用于使用 SDK 模式的自动化工作流和脚本 |

305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 设置为 `1` 可启用 [agent team](/docs/zh-CN/agent-teams)。agent team 为实验性功能,默认禁用 |305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 设置为 `1` 可启用 [agent team](/docs/zh-CN/agent-teams)。agent team 为实验性功能,默认禁用 |

306| `CLAUDE_CODE_EXTRA_BODY` | 要合并到每个 API 请求正文顶层的 JSON 对象。适用于传递 Claude Code 未直接公开的提供商特定参数。在 shell 中导出的值也适用于您通过 `claude agents` 或 `--bg` 派发的[后台会话](/docs/zh-CN/agent-view)。在 v2.1.206 之前,后台会话会忽略 shell 导出的值,而使用后台监管进程所继承的副本 |306| `CLAUDE_CODE_EXTRA_BODY` | 合并到每个 API 请求体顶层的 JSON 对象。适用于传递 Claude Code 未直接公开的提供商特定参数。在 shell 中导出的值也适用于您通过 `claude agents` 或 `--bg` 派发的[后台会话](/docs/zh-CN/agent-view)。在 v2.1.206 之前,后台会话会忽略 shell 导出的值,而使用后台监管进程所继承的副本 |

307| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 覆盖文件读取的默认 token 限制。需要完整读取较大文件时很有用 |307| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 覆盖文件读取的默认 token 限制。适用于需要完整读取较大文件的情况 |

308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 设置为 `1` 可强制持久化会话记录、提示词历史并注册到 `claude agents`,即使该 `claude` 是从另一个 Claude Code 会话内部启动的。当继承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如来自 `screen` 会话,或最初由 Claude Code 的 Bash 工具启动的后台启动器)导致真正的顶层会话被误判为嵌套会话时使用。自 v2.1.178 起,Claude Code 会自动检测 tmux 的情况并忽略继承的标记,因此 tmux 不再需要此变量。在 v2.1.169 及更早版本中同样有效;在 v2.1.170 和 v2.1.171 中不起作用,因为这两个版本移除了它所覆盖的嵌套会话检测 |308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 设置为 `1` 可强制持久化会话记录、提示词历史记录以及 `claude agents` 注册,即使此 `claude` 是从另一个 Claude Code 会话内部启动的。当继承的 `CLAUDE_CODE_CHILD_SESSION` 值(例如来自 `screen` 会话,或最初由 Claude Code 的 Bash 工具启动的后台启动器)导致真正的顶层会话被误判为嵌套会话时使用。从 v2.1.178 起,Claude Code 会自动检测 tmux 的情况并忽略继承的标记,因此 tmux 不再需要此变量。在 v2.1.169 及更早版本中同样生效;在 v2.1.170 和 v2.1.171 中不起作用,因为这两个版本移除了它所覆盖的嵌套会话检测 |

309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 设置为 `1` 可在终端支持但未被自动检测到时(例如通过 SSH 且未转发 `TERM_PROGRAM`),强制将 Claude 回复中的 `~~text~~` 渲染为删除线。如果不设置,未被检测到的终端会显示字面的 `~~` 标记,而不会将文本渲染为删除线。需要 Claude Code v2.1.186 或更高版本 |309| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 当终端支持删除线但未被自动检测到时(例如通过 SSH 连接且未转发 `TERM_PROGRAM`),设置为 `1` 可强制在 Claude 的回复中将 `~~text~~` 渲染为删除线。未设置时,未检测到的终端会显示字面的 `~~` 标记,而不是将文本渲染为删除线。需要 Claude Code v2.1.186 或更高版本 |

310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 设置为 `1` 可在终端支持但未被自动检测到时,强制启用 DEC 私有模式 2026 [同步输出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)。适用于 Emacs `eat` 等实现了 BSU/ESU 但不响应能力探测的终端模拟器。在 tmux 下不起作用。与切换到[全屏渲染](/docs/zh-CN/fullscreen)的 `CLAUDE_CODE_NO_FLICKER` 不同,此变量不会更改渲染器 |310| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 当终端支持 DEC 私有模式 2026 [同步输出](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)但未被自动检测到时,设置为 `1` 可强制启用。适用于实现了 BSU/ESU 但不响应能力探测的模拟器,例如 Emacs `eat`。在 tmux 下不起作用。与切换到[全屏渲染](/docs/zh-CN/fullscreen)的 `CLAUDE_CODE_NO_FLICKER` 不同,此变量不会更改渲染器 |

311| `CLAUDE_CODE_FORK_SUBAGENT` | 控制[分叉模式](/docs/zh-CN/sub-agents#turn-fork-mode-on-or-off),该模式允许 Claude 自行生成[分叉子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation),默认仅在交互式会话中开启。设置为 `1` 可同时在 `claude -p` 和 Agent SDK 中开启,设置为 `0` 可在所有类型的会话中关闭。无论分叉模式是否开启,您都可以运行 `/subtask`。交互式会话中的默认开启需要 Claude Code v2.1.232 或更高版本;在更早的版本中,请将该变量设置为 `1` 以开启分叉模式 |311| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | 当终端使用 Unicode 占位符绘制 kitty 图形协议图像但未被自动检测到时,设置为 `1` 可将 [mod `Image` 元素](/docs/zh-CN/plugins/mods/reference#elements)绘制为图片。请参阅 [Claude Code 能检测哪些终端](/docs/zh-CN/plugins/mods/gallery#image-and-client),以及为何它在 tmux 或 screen 中无济于事 |

312| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | 设置为 `1` 可在 `claude -p --output-format stream-json` 输出中发出[子代理](/docs/zh-CN/sub-agents)的文本和思考块,行为与 [`--forward-subagent-text`](/docs/zh-CN/cli-reference#cli-flags) 标志相同。当调用 `claude` 的框架无法自行传递该标志时,请使用此变量。该标志在非交互模式且使用 stream-json 输出之外会报错退出,而此变量在这些情况下会被忽略,因此在进程范围内设置它时,嵌套调用仍能正常工作。需要 Claude Code v2.1.211 或更高版本 |312| `CLAUDE_CODE_FORK_SUBAGENT` | 控制[分叉模式](/docs/zh-CN/sub-agents#turn-fork-mode-on-or-off),该模式允许 Claude 自行生成[分叉子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation),默认仅在交互式会话中开启。设置为 `1` 可同时在 `claude -p` 和 Agent SDK 中开启,设置为 `0` 可在所有类型的会话中关闭。无论分叉模式是否开启,都可以运行 `/subtask`。交互式默认行为需要 Claude Code v2.1.232 或更高版本;在更早的版本中,请将此变量设置为 `1` 以开启分叉模式 |

313| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | 设置为 `1` 可在自定义代理或第三方提供商(例如 Amazon Bedrock 或 Claude Platform on AWS)上发送[网关提示标头](/docs/zh-CN/llm-gateway-protocol#gateway-hint-headers),例如 `x-claude-code-request-class` 和 `x-claude-code-compaction`。设置为 `0` 可在所有连接上停止发送这些标头,包括直接连接到 Anthropic API 的情况,Claude Code 默认会在此类连接上发送它们。需要 Claude Code v2.1.273 或更高版本 |313| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | 设置为 `1` 可在 `claude -p --output-format stream-json` 输出中发出[子代理](/docs/zh-CN/sub-agents)的文本和思考块,行为与 [`--forward-subagent-text`](/docs/zh-CN/cli-reference#cli-flags) 标志相同。当调用 `claude` 的测试框架无法自行传递该标志时,请使用此变量。该标志在非交互模式且 stream-json 输出之外使用时会报错退出,而此变量在这些情况下会被忽略,因此在进程范围内设置时,嵌套调用仍能正常工作。需要 Claude Code v2.1.211 或更高版本 |

314| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | 由 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` 开启的[网关模型发现](/docs/zh-CN/llm-gateway-protocol#model-discovery)请求的超时时间(毫秒)(默认值:`3000`)。当您的网关在启动时需要超过三秒才能响应 `/v1/models` 时,请调高此值。仅接受纯数字;`0`、负值和其他写法将保留默认值。需要 Claude Code v2.1.269 或更高版本 |314| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | 设置为 `1` 可在自定义代理或第三方提供商(例如 Amazon Bedrock 或 Claude Platform on AWS)上发送[网关提示标头](/docs/zh-CN/llm-gateway-protocol#gateway-hint-headers),例如 `x-claude-code-request-class` 和 `x-claude-code-compaction`。设置为 `0` 可在所有连接上停止发送这些标头,包括与 Anthropic API 的直接连接(Claude Code 默认在该连接上发送这些标头)。需要 Claude Code v2.1.273 或更高版本 |

315| `CLAUDE_CODE_GIT_BASH_PATH` | 仅限 Windows:Git Bash 可执行文件(`bash.exe`)的路径。当已安装 Git Bash 但其不在 PATH 中时使用。如果该路径不存在,或文件名不是 `bash.exe`、`sh.exe`、`bash` 或 `sh`,Claude Code 会忽略该变量并像未设置一样自动检测 Git Bash,同时记录一条可通过 `--debug` 查看的警告。在 v2.1.219 之前,路径不存在时 Claude Code 会在启动时退出,并且会将任何已存在的文件用作 shell,而不检查它是否为 bash 或 sh。请参阅 [Windows 设置](/docs/zh-CN/setup#set-up-on-windows) |315| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | 由 `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` 开启的[网关模型发现](/docs/zh-CN/llm-gateway-protocol#model-discovery)请求的超时时间(毫秒,默认值:`3000`)。当网关在启动时需要超过三秒才能响应 `/v1/models` 时,请调高此值。仅接受纯数字;`0`、负值及其他写法将保留默认值。需要 Claude Code v2.1.269 或更高版本 |

316| `CLAUDE_CODE_GIT_BASH_PATH` | 仅限 Windows:Git Bash 可执行文件(`bash.exe`)的路径。当 Git Bash 已安装但不在 PATH 中时使用。如果路径不存在,或文件名不是 `bash.exe`、`sh.exe`、`bash` 或 `sh`,Claude Code 会忽略此变量,像未设置一样自动检测 Git Bash,并记录一条可通过 `--debug` 查看的警告。在 v2.1.219 之前,路径不存在时 Claude Code 会在启动时退出,并且会将任何存在的文件用作 shell,而不检查它是否为 bash 或 sh。请参阅 [Windows 设置](/docs/zh-CN/setup#set-up-on-windows) |

316| `CLAUDE_CODE_GLOB_HIDDEN` | 设置为 `false` 可在 Claude 调用 [Glob 工具](/docs/zh-CN/tools-reference#glob-tool-behavior)时从结果中排除点文件。默认包含。不影响 `@` 文件自动补全、`ls`、Grep 或 Read |317| `CLAUDE_CODE_GLOB_HIDDEN` | 设置为 `false` 可在 Claude 调用 [Glob 工具](/docs/zh-CN/tools-reference#glob-tool-behavior)时从结果中排除点文件。默认包含。不影响 `@` 文件自动补全、`ls`、Grep 或 Read |

317| `CLAUDE_CODE_GLOB_NO_IGNORE` | 设置为 `false` 可使 [Glob 工具](/docs/zh-CN/tools-reference#glob-tool-behavior)遵循 `.gitignore` 模式。默认情况下,Glob 返回所有匹配的文件,包括被 gitignore 忽略的文件。不影响 `@` 文件自动补全,后者有自己的 [`respectGitignore` 设置](/docs/zh-CN/settings-reference#respectgitignore) |318| `CLAUDE_CODE_GLOB_NO_IGNORE` | 设置为 `false` 可使 [Glob 工具](/docs/zh-CN/tools-reference#glob-tool-behavior)遵循 `.gitignore` 模式。默认情况下,Glob 会返回所有匹配的文件,包括被 gitignore 的文件。不影响 `@` 文件自动补全,后者有自己的 [`respectGitignore` 设置](/docs/zh-CN/settings-reference#respectgitignore) |

318| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 工具文件发现的超时时间(秒)。在大多数平台上默认为 20 秒,在 WSL 上默认为 60 秒 |319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 工具文件发现的超时时间(秒)。在大多数平台上默认为 20 秒,在 WSL 上默认为 60 秒 |

319| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 后台工作可以让活动目标等待多少分钟,之后 Claude Code 会[请 Claude 检查该目标](/docs/zh-CN/goal#background-work-defers-evaluation)。默认值 `30`。设置为 `0` 可关闭检查。请以纯数字给出整分钟数,最大为 `10080`,即一周。Claude Code 会将任何其他值视为未设置并使用默认值。需要 Claude Code v2.1.234 或更高版本 |320| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 后台工作可以让活动目标等待多少分钟,之后 Claude Code 会[请 Claude 检查该目标](/docs/zh-CN/goal#background-work-defers-evaluation)。默认值为 `30`。设置为 `0` 可关闭检查。请以纯数字给出整分钟数,最大为 `10080`,即一周。Claude Code 会将任何其他值视为未设置并使用默认值。需要 Claude Code v2.1.234 或更高版本 |

320| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | 设置为 `0` 可关闭对发送到 `api.anthropic.com` 的 Claude API、遥测和 [Artifact](/docs/zh-CN/artifacts) 发布请求正文的 gzip 压缩。默认情况下,Claude Code 会在直接连接上压缩较大的请求正文,而在您通过代理发送请求、配置客户端证书或设置 `NODE_EXTRA_CA_CERTS` 时跳过压缩。如果 Claude Code 无法检测到的 [TLS 检查代理](/docs/zh-CN/network-config#ca-certificate-store)错误处理压缩请求,请使用 `0` |321| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | 设置为 `0` 可关闭对发送到 `api.anthropic.com` 的 Claude API、遥测和 [Artifact](/docs/zh-CN/artifacts) 发布请求体的 gzip 压缩。默认情况下,Claude Code 会在直接连接上压缩较大的请求体,而在通过代理发送请求、配置了客户端证书或设置了 `NODE_EXTRA_CA_CERTS` 时跳过压缩。如果 Claude Code 无法检测到的 [TLS 检查代理](/docs/zh-CN/network-config#ca-certificate-store)错误处理压缩请求,请使用 `0` |

321| `CLAUDE_CODE_HIDE_CWD` | 设置为 `1` 可在启动徽标中隐藏工作目录。适用于路径会暴露您操作系统用户名的屏幕共享或录屏场景 |322| `CLAUDE_CODE_HIDE_CWD` | 设置为 `1` 可在启动徽标中隐藏工作目录。适用于屏幕共享或录制,以免路径暴露您的操作系统用户名 |

322| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | 覆盖用于连接 IDE 扩展的主机地址。默认情况下,Claude Code 会自动检测正确的地址,包括 WSL 到 Windows 的路由 |323| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | 覆盖用于连接 IDE 扩展的主机地址。默认情况下,Claude Code 会自动检测正确的地址,包括 WSL 到 Windows 的路由 |

323| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | 设置为 `1` 可跳过 IDE 扩展的自动安装。等同于将 [`autoInstallIdeExtension`](/docs/zh-CN/settings-reference#autoinstallideextension) 设置为 `false` |324| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | 设置为 `1` 可跳过 IDE 扩展的自动安装。等同于将 [`autoInstallIdeExtension`](/docs/zh-CN/settings-reference#autoinstallideextension) 设置为 `false` |

324| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 设置为 `1` 可在连接期间跳过对 IDE 锁文件条目的验证。当 IDE 正在运行但自动连接找不到它时使用 |325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 设置为 `1` 可在连接期间跳过 IDE 锁文件条目的验证。当 IDE 正在运行但自动连接仍找不到它时使用 |

325| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | 一个会话中可以同时运行多少个[子代理](/docs/zh-CN/sub-agents#concurrent-subagent-limit),超过后 Agent 工具将拒绝再生成新的子代理(默认值:20)。接受以纯数字表示的正整数;其他任何值都会被忽略,因此该变量可以调整上限,但不能禁用上限。需要 Claude Code v2.1.217 或更高版本 |326| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | 一个会话中可同时运行的[子代理](/docs/zh-CN/sub-agents#concurrent-subagent-limit)数量,超过后 Agent 工具将拒绝再生成新的子代理(默认值:20)。接受纯数字形式的正整数;其他值会被忽略,因此此变量可以调整上限,但无法禁用上限。需要 Claude Code v2.1.217 或更高版本 |

326| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | 覆盖 Claude Code 为当前模型假定的上下文窗口大小。自 v2.1.193 起,其应用方式取决于 Claude Code 如何解析模型 ID;请参阅[为网关或自定义模型 ID 更正窗口](/docs/zh-CN/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。当通过 `ANTHROPIC_BASE_URL` 路由到某个模型,而其上下文窗口与该名称对应的内置大小不匹配时使用 |327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | 覆盖 Claude Code 为当前模型假定的上下文窗口大小。从 v2.1.193 起,其应用方式取决于 Claude Code 如何解析模型 ID;请参阅[为网关或自定义模型 ID 修正窗口](/docs/zh-CN/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。当通过 `ANTHROPIC_BASE_URL` 路由到某个模型,而其上下文窗口与该名称的内置大小不匹配时使用 |

327| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code 发送给模型的每个 MCP 工具描述和每个 MCP 服务器指令的最大长度(字符数)(默认值:2048)。Claude Code 会[截断更长的文本](/docs/zh-CN/mcp#for-mcp-server-authors)。接受以纯数字表示的正整数。其他任何值都会被忽略并应用默认值。需要 Claude Code v2.1.280 或更高版本 |328| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code 发送给模型的每个 MCP 工具描述和每个 MCP 服务器说明的最大长度(字符数,默认值:2048)。Claude Code 会[截断更长的文本](/docs/zh-CN/mcp#for-mcp-server-authors)。接受纯数字形式的正整数。其他值会被忽略并使用默认值。需要 Claude Code v2.1.280 或更高版本 |

328| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 设置大多数请求的最大输出 token 数。默认值和上限因模型而异;请参阅[最大输出 token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)。Claude Code 会将超过模型上限的值降至该上限。对于 Claude Code 无法解析为已知模型的模型 ID,默认值为 32000,上限为 128000。增大此值会减少触发[自动压缩](/docs/zh-CN/costs#reduce-token-usage)之前可用的有效上下文窗口 |329| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 设置大多数请求的最大输出 token 数。默认值和上限因模型而异;请参阅[最大输出 token](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)。超过模型上限的值会被 Claude Code 降至该上限。对于 Claude Code 无法解析为已知模型的模型 ID,默认值为 32000,上限为 128000。增大此值会减少触发[自动压缩](/docs/zh-CN/costs#reduce-token-usage)之前可用的有效上下文窗口 |

329| `CLAUDE_CODE_MAX_RETRIES` | 覆盖失败 API 请求的重试次数(默认值:10)。自 v2.1.186 起上限为 15;自 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 会提高默认值并移除上限。对于需要等待较长时间服务中断的无人值守会话,请改为设置 `CLAUDE_CODE_RETRY_WATCHDOG` |330| `CLAUDE_CODE_MAX_RETRIES` | 覆盖失败 API 请求的重试次数(默认值:10)。从 v2.1.186 起上限为 15;从 v2.1.199 起,`CLAUDE_CODE_RETRY_WATCHDOG` 会提高默认值并移除上限。对于需要等待较长中断时间的无人值守会话,请改为设置 `CLAUDE_CODE_RETRY_WATCHDOG` |

330| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | 已在 v2.1.224 中移除,现在不起作用。以前用于限制 Claude 在一个会话中可通过 Agent 工具生成的[子代理](/docs/zh-CN/sub-agents)总数(默认值:200);超过上限时生成会失败并显示 `Subagent spawn limit reached`。[并发子代理限制](/docs/zh-CN/sub-agents#concurrent-subagent-limit)和[深度限制](/docs/zh-CN/sub-agents#let-subagents-spawn-their-own-subagents)仍然适用 |331| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | 已在 v2.1.224 中移除,现在不起任何作用。以前用于限制 Claude 在一个会话中通过 Agent 工具可生成的[子代理](/docs/zh-CN/sub-agents)总数(默认值:200);超过上限后生成会失败并显示 `Subagent spawn limit reached`。[并发子代理限制](/docs/zh-CN/sub-agents#concurrent-subagent-limit)和[深度限制](/docs/zh-CN/sub-agents#let-subagents-spawn-their-own-subagents)仍然适用 |

331| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 主对话之下允许的[子代理层数](/docs/zh-CN/sub-agents#let-subagents-spawn-their-own-subagents)(默认值:3)。在默认值下,子代理可以生成自己的子代理,而位于第三层的子代理不能再继续生成;设置为 `1` 可关闭嵌套。在 v2.1.217 至 v2.1.218 中,默认值为 1,因此除非您提高限制,否则子代理无法生成自己的子代理;v2.1.219 将默认值提高到 3。接受以纯数字表示的正整数;其他任何值都会被忽略,因此该限制可以调整但不能移除。需要 Claude Code v2.1.217 或更高版本 |332| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 主对话之下允许的[子代理层数](/docs/zh-CN/sub-agents#let-subagents-spawn-their-own-subagents)(默认值:3)。在默认值下,子代理可以生成自己的子代理,而第三层的子代理无法再继续生成;设置为 `1` 可关闭嵌套。在 v2.1.217 至 v2.1.218 中,默认值为 1,因此除非调高限制,否则子代理无法生成自己的子代理;v2.1.219 将默认值提高到 3。接受纯数字形式的正整数;其他值会被忽略,因此该限制可以调整但无法移除。需要 Claude Code v2.1.217 或更高版本 |

332| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 可并行执行的只读工具和子代理的最大数量(默认值:10)。值越高并行度越高,但会消耗更多资源 |333| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 可并行执行的只读工具和子代理的最大数量(默认值:10)。较高的值可提高并行度,但会消耗更多资源 |

333| `CLAUDE_CODE_MAX_TURNS` | 在未传递显式限制时,限制 agentic 轮次的数量。等同于传递 [`--max-turns`](/docs/zh-CN/cli-reference#cli-flags),两者都设置时该标志优先。不是正整数的值会在启动时被拒绝并报错,而不会被视为无上限 |334| `CLAUDE_CODE_MAX_TURNS` | 在未传递显式限制时,限制 Agent 轮次数。等同于传递 [`--max-turns`](/docs/zh-CN/cli-reference#cli-flags),两者同时设置时后者优先。非正整数的值会在启动时报错被拒绝,而不是被视为无上限 |

334| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | 一个会话可以进行的 [WebSearch](/docs/zh-CN/tools-reference#websearch-tool-behavior) 调用总数上限(默认值:200)。当 Claude 达到上限时,后续的 WebSearch 调用会返回一条通知,告知它使用已收集的信息继续。接受没有上限的正整数。其他任何值都会被忽略并应用默认值,因此该上限可以提高但不能关闭。需要 Claude Code v2.1.212 或更高版本 |335| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | [WebSearch](/docs/zh-CN/tools-reference#session-search-limit) 调用次数上限(默认值:200)。当 Claude 达到上限时,后续 WebSearch 调用会返回一条通知,告诉它使用已收集的信息继续。接受没有上限的正整数。其他值会被忽略并使用默认值,因此上限可以提高但无法关闭。需要 Claude Code v2.1.212 或更高版本 |

335| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 设置为 `1` 可在生成 stdio MCP 服务器时仅使用安全的基线环境加上服务器配置的 `env`,而不是继承您的 shell 环境 |336| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 设置为 `1` 可在生成 stdio MCP 服务器时仅使用安全的基线环境加上该服务器配置的 `env`,而不是继承您的 shell 环境 |

336| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 仍在运行的 MCP 工具调用[转为后台任务](/docs/zh-CN/mcp#automatic-backgrounding-of-long-tool-calls)之前经过的时间(毫秒)(默认值:120000,即 2 分钟)。设置为 `0` 可关闭自动转入后台。需要 Claude Code v2.1.212 或更高版本 |337| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 仍在运行的 MCP 工具调用在经过多长时间(毫秒)后[转为后台任务](/docs/zh-CN/mcp#automatic-backgrounding-of-long-tool-calls)(默认值:120000,即 2 分钟)。设置为 `0` 可关闭自动转入后台。需要 Claude Code v2.1.212 或更高版本 |

337| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非交互](/docs/zh-CN/headless)会话的第一个轮次等待仍在连接中的 MCP 服务器的时长(毫秒),用于替代默认的[首轮等待](/docs/zh-CN/agent-sdk/mcp#connection-timing)。设置后,等待将涵盖所有待连接的服务器。设置为 `0` 可跳过等待。无论取何值,[`--permission-prompt-tool`](/docs/zh-CN/cli-reference#cli-flags) 服务器都会保留其自身的 `MCP_TIMEOUT` 等待。需要 Claude Code v2.1.274 或更高版本 |338| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [非交互](/docs/zh-CN/headless)会话的第一轮等待仍在连接的 MCP 服务器的时长(毫秒),用于替代默认的[第一轮等待](/docs/zh-CN/agent-sdk/mcp#connection-timing)。设置后,该等待涵盖所有待连接的服务器。设置为 `0` 可跳过等待。无论该值如何,[`--permission-prompt-tool`](/docs/zh-CN/cli-reference#cli-flags) 服务器都保留其自身的 `MCP_TIMEOUT` 等待。需要 Claude Code v2.1.274 或更高版本 |

338| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 工具调用的空闲超时时间(毫秒)。当 stdio、HTTP、SSE、WebSocket 或 [claude.ai 连接器](/docs/zh-CN/mcp#use-mcp-servers-from-claude-ai) MCP 服务器在这段时间内既未发送响应也未发送进度通知时,工具调用会中止并报错,而不是等待整体的 `MCP_TOOL_TIMEOUT`。覆盖各传输方式的默认值:网络服务器为 300000(5 分钟),stdio 服务器为 1800000(30 分钟)。设置为 `0` 可禁用空闲检查。低于 1000 的值会提高到一秒,且该值以生效的 `MCP_TOOL_TIMEOUT` 为上限。`.mcp.json` 中至少为 1000 的单服务器 `timeout` 会将该服务器的空闲窗口提高到至少为该 `timeout` 值。不适用于 IDE 服务器或 SDK 进程内服务器。需要 Claude Code v2.1.187 或更高版本。在 v2.1.203 之前,stdio 服务器不受空闲超时限制 |339| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 工具调用的空闲超时时间(毫秒)。当 stdio、HTTP、SSE、WebSocket 或 [claude.ai 连接器](/docs/zh-CN/mcp#use-mcp-servers-from-claude-ai) MCP 服务器在这段时间内既没有发送响应也没有发送进度通知时,工具调用会报错中止,而不是等待整体的 `MCP_TOOL_TIMEOUT`。覆盖各传输方式的默认值:网络服务器为 300000(5 分钟),stdio 服务器为 1800000(30 分钟)。设置为 `0` 可禁用空闲检查。低于 1000 的值会被提高到一秒,且该值的上限为生效的 `MCP_TOOL_TIMEOUT`。`.mcp.json` 中每个服务器的 `timeout` 若至少为 1000,则会将该服务器的空闲窗口提高到至少 `timeout` 的值。不适用于 IDE 服务器或 SDK 进程内服务器。需要 Claude Code v2.1.187 或更高版本。在 v2.1.203 之前,stdio 服务器不受空闲超时约束 |

339| `CLAUDE_CODE_MESSAGING_SOCKET` | 由 Claude Code 设置,而非由您设置:在绑定了[收件箱套接字](/docs/zh-CN/cross-session-messaging#the-sessions-inbox-socket)的会话中,Claude Code 在绑定套接字时会将该套接字的路径导出给 hook 和 Bash 命令。在启动时即开启消息功能的会话中,Claude Code 会在任何 hook 运行之前绑定套接字。机器上的其他会话会将消息投递到此路径。每个会话导出自己的套接字,而不是从父会话继承的套接字,到达该套接字的消息会经过该会话的[入站控制](/docs/zh-CN/cross-session-messaging#control-inbound-messages)。设置文件中的 `env` 块无法设置它。需要 Claude Code v2.1.224 或更高版本 |340| `CLAUDE_CODE_MESSAGING_SOCKET` | 由 Claude Code 设置,而非由您设置:在绑定了[收件箱套接字](/docs/zh-CN/cross-session-messaging#the-sessions-inbox-socket)的会话中,Claude Code 在绑定该套接字时会将其路径导出给 hook 和 Bash 命令。在启用消息功能启动的会话中,Claude Code 会在任何 hook 运行之前绑定该套接字。机器上的其他会话会将消息投递到此路径。每个会话导出自己的套接字,而不是从父会话继承的套接字,到达该套接字的消息会经过会话的[入站控制](/docs/zh-CN/cross-session-messaging#control-inbound-messages)。设置中的 `env` 块无法设置此变量。需要 Claude Code v2.1.224 或更高版本 |

340| `CLAUDE_CODE_MESSAGING_TOKEN` | 由 Claude Code 设置,而非由您设置:在绑定了[收件箱套接字](/docs/zh-CN/cross-session-messaging#the-sessions-inbox-socket)的会话中,Claude Code 会将此每会话令牌与 `CLAUDE_CODE_MESSAGING_SOCKET` 一起导出给 hook 和 Bash 命令。向套接字发送消息的脚本可以将 `{"type":"auth","token":"<token>"}` 作为第一行发送,以证明它属于该会话。在原生 Windows 上,Claude Code 要求必须有这一行,并会关闭任何未以有效的此行开头的连接。[自有子进程规则](/docs/zh-CN/cross-session-messaging#the-sessions-inbox-socket)说明了 Claude Code 何时会查验该令牌。每个会话导出自己的令牌,绝不会继承父会话的令牌。设置文件中的 `env` 块无法设置它。需要 Claude Code v2.1.228 或更高版本 |341| `CLAUDE_CODE_MESSAGING_TOKEN` | 由 Claude Code 设置,而非由您设置:在绑定了[收件箱套接字](/docs/zh-CN/cross-session-messaging#the-sessions-inbox-socket)的会话中,Claude Code 会将此会话专属令牌与 `CLAUDE_CODE_MESSAGING_SOCKET` 一起导出给 hook 和 Bash 命令。向该套接字发送消息的脚本可以将 `{"type":"auth","token":"<token>"}` 作为第一行发送,以证明其属于该会话。在原生 Windows 上,Claude Code 要求必须发送此行,并会关闭任何未以有效令牌行开头的连接。[自身子进程规则](/docs/zh-CN/cross-session-messaging#the-sessions-inbox-socket)说明了 Claude Code 何时查验该令牌。每个会话导出自己的令牌,绝不会使用从父会话继承的令牌。设置中的 `env` 块无法设置此变量。需要 Claude Code v2.1.228 或更高版本 |

341| `CLAUDE_CODE_NATIVE_CURSOR` | 设置为 `1` 可在输入插入点显示终端自身的光标,而不是绘制的方块。该光标遵循终端的闪烁、形状和焦点设置。设置为 `0` 与不设置该变量效果相同,因此在终端自身光标已开启的会话中,它不会恢复绘制的方块 |342| `CLAUDE_CODE_NATIVE_CURSOR` | 设置为 `1` 可在输入插入点显示终端自身的光标,而不是绘制的方块。该光标遵循终端的闪烁、形状和焦点设置。设置为 `0` 与不设置此变量效果相同,因此在终端自身光标已开启的会话中,它不会恢复绘制的方块 |

342| `CLAUDE_CODE_NEW_INIT` | 设置为 `1` 可使 `/init` 运行交互式设置流程。该流程会先询问要生成哪些文件(包括 CLAUDE.md、skill 和 hook),然后再探索代码库并写入这些文件。如果不设置此变量,`/init` 会自动生成 CLAUDE.md 而不进行询问 |343| `CLAUDE_CODE_NEW_INIT` | 设置为 `1` 可使 `/init` 运行交互式设置流程。该流程会先询问要生成哪些文件(包括 CLAUDE.md、skill 和 hook),然后再探索代码库并写入这些文件。未设置此变量时,`/init` 会自动生成 CLAUDE.md,不会进行询问 |

343| `CLAUDE_CODE_NONBLOCKING_STDOUT` | 设置为 `1` 可通过第二个非阻塞文件描述符写入终端输出,这样停止读取的终端(例如已暂停的 tmux 控制模式窗格或停滞的 SSH 连接)就不会让 Claude Code 在会话中途冻结。在 stdout 为终端时适用于 macOS、Linux 和 WSL。需要 Claude Code v2.1.261 或更高版本 |344| `CLAUDE_CODE_NONBLOCKING_STDOUT` | 设置为 `1` 可通过第二个非阻塞文件描述符写入终端输出,这样停止读取的终端(例如暂停的 tmux 控制模式窗格或停滞的 SSH 连接)就无法在会话中途冻结 Claude Code。当 stdout 为终端时,适用于 macOS、Linux 和 WSL。需要 Claude Code v2.1.261 或更高版本 |

344| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | 限制 Claude Code 重新发送超时的[非流式请求](/docs/zh-CN/errors#streaming-response-ended-before-any-complete-data-was-received)的次数。设置为 `0` 时,请求会在首次超时时失败。默认未设置,因此由 `CLAUDE_CODE_MAX_RETRIES` 限制这些重新发送。有关超时时间,请参阅[调整重试行为](/docs/zh-CN/errors#tune-retry-behavior)。需要 Claude Code v2.1.285 或更高版本 |345| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | 限制 Claude Code 重新发送超时的[非流式请求](/docs/zh-CN/errors#streaming-response-ended-before-any-complete-data-was-received)的次数。设置为 `0` 时,请求在第一次超时时即失败。默认未设置,因此由 `CLAUDE_CODE_MAX_RETRIES` 限制这些重发次数。有关超时,请参阅[调整重试行为](/docs/zh-CN/errors#tune-retry-behavior)。需要 Claude Code v2.1.285 或更高版本 |

345| `CLAUDE_CODE_NO_FLICKER` | 设置为 `1` 可启用[全屏渲染](/docs/zh-CN/fullscreen),这是一项研究预览功能,可减少闪烁并在长对话中保持内存占用平稳。覆盖 [`tui`](/docs/zh-CN/settings-reference#tui) 设置;您也可以使用 `/tui fullscreen` 进行切换 |346| `CLAUDE_CODE_NO_FLICKER` | 设置为 `1` 可启用[全屏渲染](/docs/zh-CN/fullscreen),这是一项研究预览功能,可减少闪烁,并在长对话中保持内存占用平稳。覆盖 [`tui`](/docs/zh-CN/settings-reference#tui) 设置;也可以使用 `/tui fullscreen` 进行切换 |

346| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | 用于 Claude.ai 身份验证的 OAuth 刷新令牌。设置后,`claude auth login` 会直接交换此令牌,而不是打开浏览器。需要 `CLAUDE_CODE_OAUTH_SCOPES`。适用于在自动化环境中预配身份验证 |347| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | 用于 Claude.ai 身份验证的 OAuth 刷新令牌。设置后,`claude auth login` 会直接兑换此令牌,而不是打开浏览器。需要 `CLAUDE_CODE_OAUTH_SCOPES`。适用于在自动化环境中预配身份验证 |

347| `CLAUDE_CODE_OAUTH_SCOPES` | 签发刷新令牌时使用的以空格分隔的 OAuth 作用域,例如 `"user:profile user:inference user:sessions:claude_code"`。设置 `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` 时必需 |348| `CLAUDE_CODE_OAUTH_SCOPES` | 签发刷新令牌时使用的 OAuth 作用域,以空格分隔,例如 `"user:profile user:inference user:sessions:claude_code"`。设置 `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` 时必须设置 |

348| `CLAUDE_CODE_OAUTH_TOKEN` | 用于 claude.ai 身份验证的 OAuth 访问令牌。在 SDK 和自动化环境中可替代 `/login`。优先于钥匙串中存储的凭据。可使用 [`claude setup-token`](/docs/zh-CN/authentication#generate-a-long-lived-token) 生成。除非您运行 [`/login`](/docs/zh-CN/authentication#authentication-precedence),否则 Claude Code 会在整个会话中使用您设置的令牌。要替换已过期的令牌,请生成新令牌并重新启动 |349| `CLAUDE_CODE_OAUTH_TOKEN` | 用于 claude.ai 身份验证的 OAuth 访问令牌。是 SDK 和自动化环境中 `/login` 的替代方案。优先于钥匙串中存储的凭据。可使用 [`claude setup-token`](/docs/zh-CN/authentication#generate-a-long-lived-token) 生成。除非运行 [`/login`](/docs/zh-CN/authentication#authentication-precedence),否则 Claude Code 会在整个会话中使用您设置的令牌。要替换过期的令牌,请生成新令牌并重新启动 |

349| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | 已在 v2.1.160 中移除,现在不起作用。以前用于将[快速模式](/docs/zh-CN/fast-mode)固定到 Claude Opus 4.6,而不是当前的默认模型。Opus 4.6 不再支持快速模式 |350| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | 已在 v2.1.160 中移除,现在不起任何作用。以前用于将[快速模式](/docs/zh-CN/fast-mode)固定到 Claude Opus 4.6,而不是当前默认模型。Opus 4.6 已不再支持快速模式 |

350| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 承载内容的 OpenTelemetry 属性(模型响应、工具内容、系统提示词、原始 API 正文)的最大长度,包含截断标记,以 UTF-16 代码单元计(默认值:61440,即 60 KB)。仅当您的遥测后端接受大于 64 KB 的属性值时才调高此值,或调低此值以减少遥测数据量。需要 Claude Code v2.1.214 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage) |351| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 承载内容的 OpenTelemetry 属性(模型响应、工具内容、系统提示词、原始 API 请求体)的最大长度(含截断标记),以 UTF-16 码元计(默认值:61440,即 60 KB)。仅当遥测后端接受大于 64 KB 的属性值时才调高此值,或调低此值以减少遥测数据量。需要 Claude Code v2.1.214 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage) |

351| `CLAUDE_CODE_OTEL_DIAG_STDERR` | 设置为 `1` 可将 OpenTelemetry 导出器诊断错误写入 stderr。默认情况下,这些错误仅在使用 `--debug` 时显示,因此配置错误的导出器(例如 Prometheus 端口冲突)否则会静默失败。需要 Claude Code v2.1.179 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage) |352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | 设置为 `1` 可将 OpenTelemetry 导出器诊断错误写入 stderr。默认情况下这些错误仅在使用 `--debug` 时显示,因此配置错误的导出器(例如 Prometheus 端口冲突)否则会静默失败。需要 Claude Code v2.1.179 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage) |

352| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 刷新待处理 OpenTelemetry span 的超时时间(毫秒)(默认值:5000)。请参阅[监控](/docs/zh-CN/monitoring-usage) |353| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 刷新待处理 OpenTelemetry span 的超时时间(毫秒,默认值:5000)。请参阅[监控](/docs/zh-CN/monitoring-usage) |

353| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 刷新动态 OpenTelemetry 标头的间隔(毫秒)(默认值:1740000 / 29 分钟)。请参阅[动态标头](/docs/zh-CN/monitoring-usage#dynamic-headers) |354| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 刷新动态 OpenTelemetry 标头的间隔(毫秒,默认值:1740000 / 29 分钟)。请参阅[动态标头](/docs/zh-CN/monitoring-usage#dynamic-headers) |

354| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | OpenTelemetry 导出器在关闭时完成的超时时间(毫秒)(默认值:2000)。如果退出时指标丢失,请增大此值。请参阅[监控](/docs/zh-CN/monitoring-usage) |355| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | OpenTelemetry 导出器在关闭时完成工作的超时时间(毫秒,默认值:2000)。如果退出时指标丢失,请调高此值。请参阅[监控](/docs/zh-CN/monitoring-usage) |

355| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | 设置为 `1` 可让 Claude Code 在有新版本可用时于后台运行您的包管理器的升级命令。适用于 Homebrew 和 WinGet 安装。其他包管理器仍会显示升级命令而不运行它。请参阅[自动更新](/docs/zh-CN/setup#auto-updates) |356| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | 设置为 `1` 可在有新版本可用时,让 Claude Code 在后台运行包管理器的升级命令。适用于 Homebrew 和 WinGet 安装。其他包管理器仍会显示升级命令而不运行它。请参阅[自动更新](/docs/zh-CN/setup#auto-updates) |

356| `CLAUDE_CODE_PERFORCE_MODE` | 设置为 `1` 可启用感知 Perforce 的写保护。设置后,如果目标文件缺少所有者写入位,Edit、Write 和 NotebookEdit 会失败并给出 `p4 edit <file>` 提示;Perforce 会清除已同步文件的该位,直到 `p4 edit` 打开它们。这可以防止 Claude Code 绕过 Perforce 变更跟踪 |357| `CLAUDE_CODE_PERFORCE_MODE` | 设置为 `1` 可启用感知 Perforce 的写保护。设置后,如果目标文件缺少所有者写入位(Perforce 会清除已同步文件的该位,直到 `p4 edit` 打开它们),Edit、Write 和 NotebookEdit 会失败并给出 `p4 edit <file>` 提示。这可防止 Claude Code 绕过 Perforce 的变更跟踪 |

357| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 覆盖插件根目录。尽管名称如此,它设置的是父目录,而不是缓存本身:市场和插件缓存位于此路径下的子目录中。默认为 `~/.claude/plugins` |358| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 覆盖插件根目录。尽管名称如此,此变量设置的是父目录,而不是缓存本身:市场和插件缓存位于此路径下的子目录中。默认为 `~/.claude/plugins` |

358| `CLAUDE_CODE_PLUGIN_DIRS` | 要为会话加载的插件目录,每个目录的加载方式与 [`--plugin-dir`](/docs/zh-CN/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) 标志的加载方式相同。在 Unix 上用 `:` 分隔多个路径,在 Windows 上用 `;` 分隔。每个路径请使用绝对路径或以 `~` 开头,因为 Claude Code 会跳过相对路径。需要 Claude Code v2.1.280 或更高版本。请参阅[为单个会话加载插件](/docs/zh-CN/plugins/create#load-a-directory-or-archive-for-one-session) |359| `CLAUDE_CODE_PLUGIN_DIRS` | 要为会话加载的插件目录,每个目录的加载方式与 [`--plugin-dir`](/docs/zh-CN/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) 标志相同。在 Unix 上用 `:` 分隔多个路径,在 Windows 上用 `;` 分隔。每个路径都应为绝对路径或以 `~` 开头,因为 Claude Code 会跳过相对路径。需要 Claude Code v2.1.280 或更高版本。请参阅[为单个会话加载插件](/docs/zh-CN/plugins/create#load-a-directory-or-archive-for-one-session) |

359| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 控制当 [mod](/docs/zh-CN/plugins/mods/overview) 的文件发生变化时 Claude Code 是否重新加载该 mod。重新加载适用于您通过 `--plugin-dir` 从目录加载的 mod,在交互式会话中默认开启。设置为 `1` 可在非交互式会话中也开启,设置为 `0` 可在所有会话中关闭。需要 Claude Code v2.1.287 或更高版本。请参阅 [mod 设置和环境变量](/docs/zh-CN/plugins/mods/reference#settings-and-environment-variables) |360| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 控制当 [mod](/docs/zh-CN/plugins/mods/overview) 的文件发生变化时,Claude Code 是否重新加载该 mod。重新加载适用于通过 `--plugin-dir` 从目录加载的 mod,在交互式会话中默认开启。设置为 `1` 可同时在非交互式会话中开启,设置为 `0` 可在所有会话中关闭。需要 Claude Code v2.1.287 或更高版本。请参阅 [mod 设置和环境变量](/docs/zh-CN/plugins/mods/reference#settings-and-environment-variables) |

360| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 克隆或刷新插件市场的超时时间(毫秒)(默认值:120000)。对于大型仓库或较慢的网络连接,请增大此值。请参阅 [Git clone timed out](/docs/zh-CN/plugins/troubleshooting#git-clone-timed-out-after-120s) |361| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 克隆或刷新插件市场的超时时间(毫秒,默认值:120000)。对于大型仓库或较慢的网络连接,请调高此值。请参阅 [Git clone 超时](/docs/zh-CN/plugins/troubleshooting#git-clone-timed-out-after-120s) |

361| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 设置为 `1` 可在市场刷新无法连接到远程或无法通过远程身份验证时,跳过重新克隆尝试并继续使用现有的市场检出。适用于离线或隔离网络环境,在这些环境中重新克隆也会以同样的方式失败。请参阅[市场更新在离线环境中失败](/docs/zh-CN/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |362| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 设置为 `1` 可在市场刷新无法访问远程或无法通过远程身份验证时,跳过重新克隆尝试并继续使用现有的市场检出。适用于离线或隔离网络环境,在这些环境中重新克隆会以同样的方式失败。请参阅[市场更新在离线环境中失败](/docs/zh-CN/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | 设置为 `1` 可通过 HTTPS 而不是 SSH 克隆 GitHub `owner/repo` 简写源。适用于插件安装和更新,以及 `/plugin marketplace add` 和 `update`。适用于 CI 运行器、容器或任何未为 `github.com` 配置 SSH 密钥的环境 |363| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | 设置为 `1` 可通过 HTTPS 而不是 SSH 克隆 GitHub `owner/repo` 简写来源。适用于插件安装和更新,以及 `/plugin marketplace add` 和 `update`。适用于 CI 运行器、容器或任何未为 `github.com` 配置 SSH 密钥的环境 |

363| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 一个或多个只读插件种子目录的路径,在 Unix 上用 `:` 分隔,在 Windows 上用 `;` 分隔。用于将预填充的插件目录打包到容器镜像中。Claude Code 在启动时从这些目录注册市场,并使用预缓存的插件而无需重新克隆。请参阅[为容器预填充插件](/docs/zh-CN/plugins/org#seed-containers-and-ci) |364| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 一个或多个只读插件种子目录的路径,在 Unix 上用 `:` 分隔,在 Windows 上用 `;` 分隔。可用于将预填充的插件目录打包到容器镜像中。Claude Code 会在启动时从这些目录注册市场,并使用预缓存的插件而无需重新克隆。请参阅[为容器预填充插件](/docs/zh-CN/plugins/org#seed-containers-and-ci) |

364| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | 设置为 `1` 可阻止 Claude Code 在为工具调用、hook 和状态栏命令生成 PowerShell 时传递 `-ExecutionPolicy Bypass`,转而遵循机器的有效执行策略。默认情况下,Claude Code 会在进程作用域绕过执行策略,以便 `.ps1` 脚本和模块导入能在默认为 Restricted 的 Windows 安装上正常工作。无论此设置如何,进程作用域的绕过都不会覆盖组策略 `MachinePolicy` 或 `UserPolicy` |365| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | 设置为 `1` 可阻止 Claude Code 在为工具调用、hook 和状态栏命令启动 PowerShell 时传递 `-ExecutionPolicy Bypass`,转而遵循机器的有效执行策略。默认情况下,Claude Code 会在进程作用域绕过执行策略,以便 `.ps1` 脚本和模块导入能在默认为 Restricted 的 Windows 安装上运行。无论此设置如何,进程作用域的绕过都不会覆盖组策略 `MachinePolicy` 或 `UserPolicy` |

365| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | 在使用 `-p` 标志的[非交互模式](/docs/zh-CN/headless#background-tasks-at-exit)下,最后一个轮次之后空闲等待后台工作(例如子代理和工作流)的上限(毫秒)。每当 Claude 用一个轮次处理后台结果时,空闲等待都会重新计时。默认值:`600000`,即 10 分钟。当空闲等待达到上限时,Claude Code 会停止等待剩余的后台任务并退出。设置为 `0` 可无限期等待。此上限独立于适用于普通后台 shell 的五秒宽限期。需要 Claude Code v2.1.182 或更高版本 |366| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | 在使用 `-p` 标志的[非交互模式](/docs/zh-CN/headless#background-tasks-at-exit)下,最后一轮结束后空闲等待后台工作(例如子代理和工作流)的时长上限(毫秒)。每当 Claude 用一个轮次处理后台结果时,空闲等待都会重新计时。默认值:`600000`,即 10 分钟。当空闲等待达到上限时,Claude Code 将停止等待剩余的后台任务并退出。设置为 `0` 可无限期等待。此上限与适用于普通后台 shell 的五秒宽限期相互独立。需要 Claude Code v2.1.182 或更高版本 |

366| `CLAUDE_CODE_PROCESS_WRAPPER` | 通过以 argv 前缀形式给出的企业启动器(例如 `/opt/corp/launcher`)启动 Claude Code 从其自身二进制文件启动的进程,例如托管 [agent view](/docs/zh-CN/agent-view) 会话的后台服务。请在用户设置或[托管设置](/docs/zh-CN/managed-settings)的 `env` 块中设置,而不是作为 shell 导出,以便分离的后台服务能够继承它;项目设置和本地设置无法设置它。等同于 [`processWrapper` 设置](/docs/zh-CN/settings-reference#processwrapper),该设置需要 Claude Code v2.1.210 或更高版本;两者都设置时此变量优先。VS Code 扩展通过其 `claudeProcessWrapper` 设置单独配置自己的启动器。在 Windows 上会被忽略。有关值格式、启动器涵盖的范围以及启动器必须满足的约定,请参阅[在企业启动器后运行 Claude Code](/docs/zh-CN/corporate-launcher)。需要 Claude Code v2.1.208 或更高版本 |367| `CLAUDE_CODE_PROCESS_WRAPPER` | 通过企业启动器(以 argv 前缀形式给出,例如 `/opt/corp/launcher`)启动 Claude Code 从自身二进制文件启动的进程,例如托管 [agent view](/docs/zh-CN/agent-view) 会话的后台服务。请在用户设置或[托管设置](/docs/zh-CN/managed-settings)的 `env` 块中设置,而不是作为 shell 导出,以便分离的后台服务能够继承它;项目设置和本地设置无法设置此变量。等同于 [`processWrapper` 设置](/docs/zh-CN/settings-reference#processwrapper),该设置需要 Claude Code v2.1.210 或更高版本;两者同时设置时此变量优先。VS Code 扩展通过其 `claudeProcessWrapper` 设置单独配置自己的启动器。在 Windows 上会被忽略。有关值的格式、启动器涵盖的范围以及启动器必须满足的约定,请参阅[在企业启动器之后运行 Claude Code](/docs/zh-CN/corporate-launcher)。需要 Claude Code v2.1.208 或更高版本 |

367| `CLAUDE_CODE_PROJECT_DIR_NAME` | 与 `CLAUDE_CONFIG_DIR` 一起设置,用于选择 Claude Code 存储该会话的会话记录和自动记忆所用的 `projects/` 目录名称,以替代根据工作目录路径派生的名称。例如,使用 `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` 启动 Claude Code 会将它们存储在 `/srv/tenant-a/projects/work/` 下。当 `CLAUDE_CONFIG_DIR` 未设置时,Claude Code 会忽略此变量,并且只从您启动 `claude` 的环境中读取它,绝不会从[设置文件的 `env` 块](#in-settings-files)中读取。请参阅[自行命名项目目录](/docs/zh-CN/sessions#name-the-project-directory-yourself)。需要 Claude Code v2.1.234 或更高版本 |368| `CLAUDE_CODE_PROJECT_DIR_NAME` | 与 `CLAUDE_CONFIG_DIR` 一起设置,用于选择 Claude Code 存储该会话的会话记录和自动记忆所用的 `projects/` 目录名称,以替代根据工作目录路径派生的名称。例如,使用 `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` 启动 Claude Code 时,会将它们存储在 `/srv/tenant-a/projects/work/` 下。当 `CLAUDE_CONFIG_DIR` 未设置时,Claude Code 会忽略此变量,并且仅从启动 `claude` 的环境中读取它,绝不会从[设置文件的 `env` 块](#in-settings-files)中读取。请参阅[自行命名项目目录](/docs/zh-CN/sessions#name-the-project-directory-yourself)。需要 Claude Code v2.1.234 或更高版本 |

368| `CLAUDE_CODE_PROMPT_CACHE_TTL` | 设置为 `5m` 或 `1h`(Claude Code 仅接受这两个值),以选择主对话的[提示缓存 TTL](/docs/zh-CN/prompt-caching#cache-lifetime):包括您的交互式、`-p` 和 SDK 轮次,以及与它们内联运行的辅助程序。优先于 `promptCacheTtl` 设置和 `ENABLE_PROMPT_CACHING_1H`,而 `FORCE_PROMPT_CACHING_5M` 会覆盖它。API 对 1 小时缓存写入按更高费率计费。需要 Claude Code v2.1.242 或更高版本 |369| `CLAUDE_CODE_PROMPT_CACHE_TTL` | 设置为 `5m` 或 `1h`(Claude Code 仅接受这两个值),用于选择主对话的[提示缓存 TTL](/docs/zh-CN/prompt-caching#cache-lifetime):包括您的交互式、`-p` 和 SDK 轮次,以及与它们内联运行的辅助程序。优先于 `promptCacheTtl` 设置和 `ENABLE_PROMPT_CACHING_1H`,而 `FORCE_PROMPT_CACHING_5M` 会覆盖此变量。API 对 1 小时缓存写入按更高费率计费。需要 Claude Code v2.1.242 或更高版本 |

369| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | 当 `ANTHROPIC_BASE_URL` 指向自定义代理时,设置为 `1` 可传播 W3C 跟踪上下文。传播范围包括模型请求和 HTTP MCP 请求上的 `traceparent` 标头,以及 Bash、PowerShell 和 hook 子进程的 `TRACEPARENT` 环境变量。默认情况下,仅在直接连接到 Anthropic API 时启用传播。在 v2.1.152 中添加。请参阅[跟踪(beta)](/docs/zh-CN/monitoring-usage#traces-beta) |370| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | 当 `ANTHROPIC_BASE_URL` 指向自定义代理时,设置为 `1` 可传播 W3C 追踪上下文。传播范围包括模型请求和 HTTP MCP 请求上的 `traceparent` 标头,以及 Bash、PowerShell 和 hook 子进程的 `TRACEPARENT` 环境变量。默认情况下,仅在直接连接到 Anthropic API 时才启用传播。在 v2.1.152 中添加。请参阅[追踪(beta)](/docs/zh-CN/monitoring-usage#traces-beta) |

370| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | 由嵌入 Claude Code 并代其管理模型提供商路由的宿主平台设置。设置后,Claude Code 会忽略设置文件中的提供商选择、端点和身份验证变量,例如 `CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY`,因此用户设置无法覆盖宿主的路由。无论由哪个托管来源下发,Claude Code 还会忽略[托管设置](/docs/zh-CN/managed-settings)中的模型选择键,例如 `model`、`fallbackModel` 和 `modelOverrides`,因此宿主的模型配置优先于过时的托管模型固定设置。Claude Code 还会忽略托管 `env` 块中的模型选择变量,例如 `ANTHROPIC_MODEL` 和 `ANTHROPIC_DEFAULT_*_MODEL` 系列;托管设置中的 [`availableModels`](/docs/zh-CN/model-config#restrict-model-selection) 允许列表仍然适用,除非宿主提供了自己的允许列表。Claude Code 还会跳过其在第三方提供商(例如 Amazon Bedrock、Claude Platform on AWS、Google Cloud's Agent Platform 和 Microsoft Foundry)上原本会应用的自动遥测退出,因此遥测遵循标准的 `DISABLE_TELEMETRY` 退出方式。请参阅[按 API 提供商划分的默认行为](/docs/zh-CN/data-usage#default-behaviors-by-api-provider) |371| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | 由嵌入 Claude Code 并代为管理模型提供商路由的宿主平台设置。设置后,Claude Code 会忽略设置文件中的提供商选择、端点和身份验证变量,例如 `CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL` 和 `ANTHROPIC_API_KEY`,因此用户设置无法覆盖宿主的路由。Claude Code 还会忽略[托管设置](/docs/zh-CN/managed-settings)中的模型选择键,例如 `model`、`fallbackModel` 和 `modelOverrides`,无论由哪个托管来源下发,从而使宿主的模型配置优先于过时的托管模型固定设置。Claude Code 还会忽略托管 `env` 块中的模型选择变量,例如 `ANTHROPIC_MODEL` 和 `ANTHROPIC_DEFAULT_*_MODEL` 系列;托管设置中的 [`availableModels`](/docs/zh-CN/model-config#restrict-model-selection) 允许列表仍然适用,除非宿主提供了自己的允许列表。Claude Code 还会跳过其在第三方提供商(例如 Amazon Bedrock、Claude Platform on AWS、Google Cloud's Agent Platform 和 Microsoft Foundry)上原本会应用的自动遥测退出,因此遥测遵循标准的 `DISABLE_TELEMETRY` 退出方式。请参阅[各 API 提供商的默认行为](/docs/zh-CN/data-usage#default-behaviors-by-api-provider) |

371| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 设置为 `1` 可允许由代理而非调用方执行 DNS 解析。需手动选择启用,适用于应由代理处理主机名解析的环境 |372| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 设置为 `1` 可允许代理代替调用方执行 DNS 解析。适用于应由代理处理主机名解析的环境,需主动选择启用 |

372| `CLAUDE_CODE_REMOTE` | 当 Claude Code 作为[云端会话](/docs/zh-CN/claude-code-on-the-web)运行时自动设置为 `true`。可从 hook 或设置脚本中读取此值,以检测是否处于云端会话中 |373| `CLAUDE_CODE_REMOTE` | 当 Claude Code 作为[云端会话](/docs/zh-CN/claude-code-on-the-web)运行时自动设置为 `true`。可在 hook 或设置脚本中读取此变量,以检测是否处于云端会话中 |

373| `CLAUDE_CODE_REMOTE_SESSION_ID` | 在[云端会话](/docs/zh-CN/claude-code-on-the-web)中自动设置为当前会话的 ID。读取此值可构造指回会话记录的链接。请参阅[将输出链接回会话](/docs/zh-CN/cloud-environments#link-output-back-to-the-session) |374| `CLAUDE_CODE_REMOTE_SESSION_ID` | 在[云端会话](/docs/zh-CN/claude-code-on-the-web)中自动设置为当前会话的 ID。读取此变量可构造返回会话记录的链接。请参阅[将输出链接回会话](/docs/zh-CN/cloud-environments#link-output-back-to-the-session) |

374| `CLAUDE_CODE_RESTRICTED` | 设置为 `1` 可在受限模式下启动会话,与传递 [`--restricted`](/docs/zh-CN/cli-reference#cli-flags) 相同。Claude Code 会忽略设置文件 `env` 块中的此变量。需要 Claude Code v2.1.248 或更高版本 |375| `CLAUDE_CODE_RESTRICTED` | 设置为 `1` 可以受限模式启动会话,等同于传递 [`--restricted`](/docs/zh-CN/cli-reference#cli-flags)。Claude Code 会忽略设置文件 `env` 块中的此变量。需要 Claude Code v2.1.248 或更高版本 |

375| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | 设置为 `1` 可在上一个会话于轮次中途结束时自动恢复。用于 SDK 模式,使模型无需 SDK 重新发送提示词即可继续。要关闭此功能,请取消设置该变量或将其设置为 `0`。有关 VS Code 聊天面板,请参阅[重新加载后继续对话](/docs/zh-CN/vs-code#continue-conversations-after-a-reload) |376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | 设置为 `1` 可在上一个会话于轮次中途结束时自动恢复。用于 SDK 模式,使模型无需 SDK 重新发送提示词即可继续。要关闭此功能,请取消设置该变量或将其设置为 `0`。有关 VS Code 聊天面板,请参阅[重新加载后继续对话](/docs/zh-CN/vs-code#continue-conversations-after-a-reload) |

376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | 对于在轮次中途结束的会话,恢复时可自动继续所允许的最后一条会话记录消息的最大时长(毫秒)。当最后一条消息早于此界限时,Claude Code 会跳过 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 自动恢复及其 `CLAUDE_CODE_RESUME_PROMPT` 继续消息,会话以空闲状态启动,由您显式继续。未设置或为 `0` 表示无界限,但最后一个请求因 API 错误而失败的轮次,仅在该错误发生不足六小时时才会恢复。正值会限制所有轮次,包括这类轮次;负值或非数字值会应用一小时的界限。长时间运行的 Agent 的启动脚本可以设置此值,以免针对旧会话记录重启时重新运行过时的提示词。当 Claude Code 重启一个从交互式会话继承了对话的已崩溃 [agent view](/docs/zh-CN/agent-view) 会话时,它会自行设置一小时的界限。需要 Claude Code v2.1.211 或更高版本 |377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | 对于在轮次中途结束的会话,最后一条会话记录消息的最大时长(毫秒),超过此时长则在恢复时不会自动继续。当最后一条消息早于此界限时,Claude Code 会跳过 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 自动恢复及其 `CLAUDE_CODE_RESUME_PROMPT` 继续消息,会话以空闲状态启动,由您显式继续。未设置或为 `0` 表示没有界限,但最后一次请求因 API 错误而失败的轮次仅在该错误发生不到六小时时才会恢复。正值会限制所有轮次,包括上述轮次;负值或非数值会应用一小时的界限。长时间运行的 Agent 的启动脚本可以设置此变量,以免针对旧会话记录重启时重新运行过时的提示词。当 Claude Code 重启一个从交互式会话继承对话的已崩溃 [agent view](/docs/zh-CN/agent-view) 会话时,会自行设置一小时的界限。需要 Claude Code v2.1.211 或更高版本 |

377| `CLAUDE_CODE_RESUME_PROMPT` | 覆盖 Claude Code 在 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 继续中断的轮次(而不是重新发送其提示词)时,或在您使用 `-p` 恢复[延迟的工具调用](/docs/zh-CN/hooks#defer-a-tool-call-for-later)时,发送给 Claude 的继续消息。默认为 `Continue from where you left off.`。空字符串会使用默认值 |378| `CLAUDE_CODE_RESUME_PROMPT` | 覆盖当 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 继续被中断的轮次(而不是重新发送其提示词),或使用 `-p` 恢复[延迟的工具调用](/docs/zh-CN/hooks#defer-a-tool-call-for-later)时,Claude Code 发送给 Claude 的继续消息。默认为 `Continue from where you left off.`。空字符串将使用默认值 |

378| `CLAUDE_CODE_RETRY_WATCHDOG` | 对于无人值守的会话(例如评估框架、CI 作业或远程工作进程),请设置为 `1`。无限期重试 `429` 和 `529` 容量错误,而不是在 `CLAUDE_CODE_MAX_RETRIES` 次尝试后失败。当标准速度请求收到报告支出限额或使用额度耗尽的 `429` 时,Claude Code 会立即失败,即使该错误来自按计划重置的[网关支出上限](/docs/zh-CN/errors#spend-limit-reached)。在 v2.1.239 之前,看门狗会无限期重试这些错误。有关快速模式请求,请参阅[处理速率限制](/docs/zh-CN/fast-mode#handle-rate-limits)。看门狗在两次尝试之间最多退避 5 分钟,或者在响应带有速率限制重置时间时一直等到限制重置,因此达到用量限制的会话会等待剩余的时间窗口结束。在 v2.1.199 或更高版本中,它还会将其他暂时性错误(例如服务器错误、超时和连接中断)的默认重试次数提高到 300(大约三小时的退避时间),并在您显式设置 `CLAUDE_CODE_MAX_RETRIES` 时移除其 15 次的上限。需要 Claude Code v2.1.186 或更高版本 |379| `CLAUDE_CODE_RETRY_WATCHDOG` | 对于无人值守的会话(例如评估框架、CI 作业或远程工作进程),设置为 `1`。会无限期重试 `429` 和 `529` 容量错误,而不是在 `CLAUDE_CODE_MAX_RETRIES` 次尝试后失败。当标准速度请求收到报告支出限制或使用额度耗尽的 `429` 时,Claude Code 会立即失败,即使该错误来自按计划重置的[网关支出上限](/docs/zh-CN/errors#spend-limit-reached)。在 v2.1.239 之前,watchdog 会无限期重试这些错误。有关快速模式请求,请参阅[处理速率限制](/docs/zh-CN/fast-mode#handle-rate-limits)。watchdog 在两次尝试之间的退避时间最长为 5 分钟,或者当响应携带速率限制重置时间时等待至限制重置,因此达到用量限制的会话会等待剩余的时间窗口结束。在 v2.1.199 或更高版本中,它还会将其他暂时性错误(例如服务器错误、超时和连接中断)的默认重试次数提高到 300 次(约三小时的退避),并在您显式设置 `CLAUDE_CODE_MAX_RETRIES` 时移除其 15 次的上限。需要 Claude Code v2.1.186 或更高版本 |

379| `CLAUDE_CODE_SAFE_MODE` | 设置为 `1` 可在安全模式下启动:CLAUDE.md、skill、插件、hook、MCP 服务器、自定义命令和 Agent、输出样式、工作流、自定义主题、自定义快捷键、状态栏和文件建议命令、LSP 服务器以及自动记忆均不会加载,用于排除损坏配置的故障。托管设置策略仍然适用,包括策略配置的 hook、状态栏和文件建议命令;托管插件、托管 skill、托管 CLAUDE.md 和策略配置的 MCP 服务器则不会加载。等同于传递 [`--safe-mode`](/docs/zh-CN/cli-reference#cli-flags)。直接生成的子进程会继承该变量 |380| `CLAUDE_CODE_SAFE_MODE` | 设置为 `1` 可在安全模式下启动:CLAUDE.md、skill、插件、hook、MCP 服务器、自定义命令和 Agent、输出样式、工作流、自定义主题、自定义快捷键、状态栏和文件建议命令、LSP 服务器以及自动记忆都不会加载,用于对损坏的配置进行故障排除。托管设置策略仍然适用,包括策略配置的 hook、状态栏和文件建议命令;托管插件、托管 skill、托管 CLAUDE.md 和策略配置的 MCP 服务器则不适用。等同于传递 [`--safe-mode`](/docs/zh-CN/cli-reference#cli-flags)。直接生成的子进程会继承此变量 |

380| `CLAUDE_CODE_SCRIPT_CAPS` | JSON 对象,用于在设置了 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 时限制特定脚本在每个会话中可被调用的次数。键是与命令文本进行匹配的子字符串;值是整数调用次数限制。例如,`{"deploy.sh": 2}` 允许 `deploy.sh` 最多被调用两次。匹配基于子字符串,因此像 `./scripts/deploy.sh $(evil)` 这样的 shell 展开技巧仍会计入上限。无法检测通过 `xargs` 或 `find -exec` 进行的运行时扇出;这是一项纵深防御控制 |381| `CLAUDE_CODE_SCRIPT_CAPS` | 在设置了 `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` 时,限制特定脚本每个会话可被调用次数的 JSON 对象。键是与命令文本进行匹配的子字符串;值是整数调用次数限制。例如,`{"deploy.sh": 2}` 允许 `deploy.sh` 最多被调用两次。匹配基于子字符串,因此像 `./scripts/deploy.sh $(evil)` 这样的 shell 展开技巧仍会计入上限。无法检测通过 `xargs` 或 `find -exec` 进行的运行时扇出;这是一项纵深防御控制 |

381| `CLAUDE_CODE_SCROLL_SPEED` | 设置[全屏渲染](/docs/zh-CN/fullscreen#mouse-wheel-scrolling)中的鼠标滚轮滚动倍数。接受不超过 20 的任何正值,包括小于 1 的小数值(例如 `0.5`),以便在已放大滚轮事件的终端中减慢加速的触控板和滚轮滚动。如果您的终端每格发送一个滚轮事件且不做放大,设置为 `3` 可与 `vim` 保持一致。在 JetBrains IDE 终端中会被忽略,Claude Code 在其中使用自己的滚动处理 |382| `CLAUDE_CODE_SCROLL_SPEED` | 设置[全屏渲染](/docs/zh-CN/fullscreen#mouse-wheel-scrolling)中的鼠标滚轮滚动倍数。接受不超过 20 的任意正值,包括小于 1 的小数值(例如 `0.5`),以便在已放大滚轮事件的终端中减慢加速的触控板和滚轮滚动。如果终端每个刻度只发送一个滚轮事件且不放大,设置为 `3` 可与 `vim` 保持一致。在 JetBrains IDE 终端中会被忽略,因为 Claude Code 在那里使用自己的滚动处理 |

382| `CLAUDE_CODE_SEND_FEEDBACK` | 设置为 `0` 可为会话关闭 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)。设置为 `1` 可在您的账户已有访问权限的情况下开启它;该变量本身无法授予访问权限,其他关闭反馈的开关(例如 `DISABLE_FEEDBACK_COMMAND` 和 [`feedbackDrafts`](/docs/zh-CN/settings-reference#feedbackdrafts) 设置的 `off` 值)仍然适用 |383| `CLAUDE_CODE_SEND_FEEDBACK` | 设置为 `0` 可为会话关闭 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)。设置为 `1` 可在账户已具备访问权限的情况下开启;此变量本身无法授予访问权限,其他关闭反馈的开关(例如 `DISABLE_FEEDBACK_COMMAND` 以及 [`feedbackDrafts`](/docs/zh-CN/settings-reference#feedbackdrafts) 设置的 `off` 值)仍然适用 |

383| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | 覆盖 [SessionEnd](/docs/zh-CN/hooks#sessionend) hook 的时间预算(毫秒)。该值也是每个未设置自身 `timeout` 的 hook 的超时时间。适用于会话退出、`/clear` 以及通过交互式 `/resume` 切换会话。默认预算为 1.5 秒,会自动提高到设置文件中配置的最高单个 hook `timeout`,最多 60 秒。插件提供的 hook 上的超时时间不会提高预算 |384| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | 覆盖 [SessionEnd](/docs/zh-CN/hooks#sessionend) hook 的时间预算(毫秒)。该值也是每个未设置自身 `timeout` 的 hook 的超时时间。适用于会话退出、`/clear` 以及通过交互式 `/resume` 切换会话。默认预算为 1.5 秒,并会自动提高到设置文件中配置的最高单个 hook `timeout`,最多 60 秒。插件提供的 hook 上的超时不会提高预算 |

384| `CLAUDE_CODE_SESSION_ID` | 在 Bash 和 PowerShell 工具子进程、[hook 命令](/docs/zh-CN/hooks)子进程以及 stdio [MCP 服务器](/docs/zh-CN/mcp)子进程中自动设置为当前会话 ID。对于 Bash、PowerShell 和 hook,它与 hook JSON 输入中的 `session_id` 字段一致,并在 `/clear` 时更新。MCP 服务器子进程保留其生成时的 ID。使用 `--resume <session-id>` 时,它会收到恢复的 ID,与 hook 和 Bash 一致。使用 `--continue` 或不带显式 ID 的 `--resume` 时,它可能会收到初始启动 ID。用于将脚本和外部工具与启动它们的 Claude Code 会话关联起来 |385| `CLAUDE_CODE_SESSION_ID` | 在 Bash 和 PowerShell 工具子进程、[hook 命令](/docs/zh-CN/hooks)子进程以及 stdio [MCP 服务器](/docs/zh-CN/mcp)子进程中自动设置为当前会话 ID。对于 Bash、PowerShell 和 hook,此值与 hook JSON 输入中的 `session_id` 字段一致,并会在 `/clear` 时更新。MCP 服务器子进程保留其生成时的 ID。使用 `--resume <session-id>` 时,它会收到恢复后的 ID,与 hook 和 Bash 一致。使用 `--continue` 或不带显式 ID 的 `--resume` 时,它可能会收到初始启动 ID。可用于将脚本和外部工具与启动它们的 Claude Code 会话关联起来 |

385| `CLAUDE_CODE_SHELL` | 设置 Claude Code 运行 Bash 工具命令所使用的 shell。接受 `bash` 或 `zsh` 二进制文件的路径,例如 `/opt/homebrew/bin/bash`。不支持 `fish` 等其他 shell。如果该值不是可用的 `bash` 或 `zsh` 路径,Claude Code 会忽略它并回退到自动检测。自动检测在 `$SHELL` 指向 `bash` 或 `zsh` 时使用它,否则会在 `PATH` 和标准安装位置中先选择找到的第一个可用 `zsh`,然后是 `bash` |386| `CLAUDE_CODE_SHELL` | 设置 Claude Code 运行 Bash 工具命令所使用的 shell。接受 `bash` 或 `zsh` 二进制文件的路径,例如 `/opt/homebrew/bin/bash`。不支持 `fish` 等其他 shell。如果该值不是可用的 `bash` 或 `zsh` 路径,Claude Code 会忽略它并回退到自动检测。自动检测时,如果 `$SHELL` 指向 `bash` 或 `zsh` 则使用它,否则会在 `PATH` 和标准安装位置中依次选择找到的第一个可用的 `zsh`,然后是 `bash` |

386| `CLAUDE_CODE_SHELL_PREFIX` | 包装 Claude Code 生成的 shell 命令的命令前缀:Bash 工具调用、[hook](/docs/zh-CN/hooks) 命令、[状态栏](/docs/zh-CN/statusline)命令以及 stdio [MCP 服务器](/docs/zh-CN/mcp)启动命令。PowerShell hook 和 exec 形式的 hook 运行时不带前缀。适用于日志记录或审计。设置一个单纯的可执行文件路径(例如 `/path/to/logger.sh`)会以 `/path/to/logger.sh '<command>'` 的形式运行每个命令。包装器在 `$1` 中以单个经 shell 引用的参数接收命令行,因此包装器必须用 shell 重新求值 `$1`,例如 `exec bash -c "$1"`。将 `$1` 视为单纯的可执行文件路径会导致传递 `npx -y <package>` 等参数的 stdio MCP 服务器出错。对于 Bash 工具调用,`$1` 包含 Claude Code 组装的完整 shell 调用(包括环境设置),而不仅是 Claude 运行的命令 |387| `CLAUDE_CODE_SHELL_PREFIX` | 包装 Claude Code 所生成 shell 命令的命令前缀:包括 Bash 工具调用、[hook](/docs/zh-CN/hooks) 命令、[状态栏](/docs/zh-CN/statusline)命令以及 stdio [MCP 服务器](/docs/zh-CN/mcp)启动命令。PowerShell hook 和 exec 形式的 hook 在运行时不带此前缀。适用于日志记录或审计。设置为裸可执行文件路径(例如 `/path/to/logger.sh`)时,每条命令会以 `/path/to/logger.sh '<command>'` 的形式运行。包装器在 `$1` 中以单个 shell 引用参数的形式接收命令行,因此包装器必须用 shell 重新求值 `$1`,例如 `exec bash -c "$1"`。将 `$1` 视为裸可执行文件路径会导致传递 `npx -y <package>` 等参数的 stdio MCP 服务器出错。对于 Bash 工具调用,`$1` 包含 Claude Code 组装的完整 shell 调用(包括环境设置),而不仅仅是 Claude 运行的命令 |

387| `CLAUDE_CODE_SIMPLE` | 设置为 `1` 可使用精简的系统提示词运行,并仅提供 Bash、文件读取和文件编辑工具。来自 `--mcp-config` 的 MCP 工具仍然可用。禁用对 hook、skill、自定义命令、子代理、已安装插件、MCP 服务器、自动记忆和 CLAUDE.md 的自动发现。通过 `--add-dir` 传入的目录中的 skill 仍会加载。不会读取 OAuth 令牌和钥匙串凭据,因此 Anthropic 身份验证必须来自 `ANTHROPIC_API_KEY` 或 `--settings` 中的 `apiKeyHelper`。等同于传递 [`--bare`](/docs/zh-CN/headless#start-faster-with-bare-mode) |388| `CLAUDE_CODE_SIMPLE` | 设置为 `1` 可使用最小系统提示词运行,且仅提供 Bash、文件读取和文件编辑工具。来自 `--mcp-config` 的 MCP 工具仍然可用。会禁用 hook、skill、自定义命令、子代理、已安装插件、MCP 服务器、自动记忆和 CLAUDE.md 的自动发现。通过 `--add-dir` 传递的目录中的 skill 仍会加载。不会读取 OAuth 令牌和钥匙串凭据,因此 Anthropic 身份验证必须来自 `ANTHROPIC_API_KEY` 或 `--settings` 中的 `apiKeyHelper`。等同于传递 [`--bare`](/docs/zh-CN/headless#start-faster-with-bare-mode) |

388| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 设置为 `1` 可在任何模型上使用更短的系统提示词和简化的工具描述。设置为 `0`、`false`、`no` 或 `off` 可选择退出,即使在实验或服务器配置原本会启用它的模型上也是如此。完整的工具集、hook、MCP 服务器和 CLAUDE.md 发现仍保持启用 |389| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 在 Claude Code 的完整系统提示词与工具描述经过缩略的较短系统提示词之间进行选择。未设置时,Haiku 4.5、Sonnet 5、Opus 4.7 以及这些系列中更早的模型默认使用完整提示词,更新的模型使用较短提示词。设置为 `1` 可在任何模型上使用较短提示词。设置为 `0`、`false`、`no` 或 `off` 可在任何模型上使用完整提示词,即使实验或服务器配置原本会选择较短提示词。两种提示词都保留完整的工具集、hook、MCP 服务器和 CLAUDE.md 发现 |

389| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 为 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 跳过客户端身份验证,适用于自行签署请求的网关 |390| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | 跳过 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 的客户端身份验证,适用于自行签署请求的网关 |

390| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | 设置为 `1` 可关闭对从 AWS 默认凭据提供程序链解析出的凭据的进程内缓存,使 Claude Code 在每个 API 请求时都解析该链。关闭缓存后,基于 SSO 的配置文件会在每个请求时向 IAM Identity Center 请求凭据。请参阅[凭据缓存和解析超时](/docs/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更高版本 |391| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | 设置为 `1` 可关闭对从 AWS 默认凭据提供程序链解析出的凭据的进程内缓存,使 Claude Code 在每次 API 请求时都解析该链。关闭缓存后,基于 SSO 的配置文件会在每次请求时向 IAM Identity Center 请求凭据。请参阅[凭据缓存和解析超时](/docs/zh-CN/amazon-bedrock#credential-caching-and-resolution-timeout)。需要 Claude Code v2.1.207 或更高版本 |

391| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳过 Amazon Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |392| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | 跳过 Amazon Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |

392| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | 设置为 `1` 可将失败的[快速模式](/docs/zh-CN/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)可用性检查视为可用,适用于阻止该检查直接向 `api.anthropic.com` 发出请求的网络。Claude Code 仍会遵循“已被您的组织禁用”的响应 |393| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | 设置为 `1` 可将失败的[快速模式](/docs/zh-CN/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)可用性检查视为可用,适用于阻止该检查直接请求 `api.anthropic.com` 的网络。Claude Code 仍会遵循“disabled by your organization”响应 |

393| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | 设置为 `1` 可跳过客户端的[快速模式](/docs/zh-CN/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)可用性检查,适用于拦截而非拒绝该检查请求的代理。当您的组织禁用了快速模式时,API 仍会拒绝快速模式请求 |394| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | 设置为 `1` 可跳过客户端的[快速模式](/docs/zh-CN/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)可用性检查,适用于拦截而非拒绝该检查请求的代理。当您的组织禁用了快速模式时,API 仍会拒绝快速模式请求 |

394| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 为 Microsoft Foundry 跳过 Azure 身份验证,适用于注入自己的 `Authorization` 标头的代理或网关。Claude Code 发送请求时不带 Azure 凭据,并保留您提供的 `Authorization` 标头(例如通过 `ANTHROPIC_CUSTOM_HEADERS` 提供)。设置了 `ANTHROPIC_FOUNDRY_API_KEY` 或 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 时会被忽略。在 v2.1.203 之前,除非同时设置了 API 密钥,否则此变量会导致 Microsoft Foundry 客户端无法发送请求 |395| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | 跳过 Microsoft Foundry 的 Azure 身份验证,适用于会注入自身 `Authorization` 标头的代理或网关。Claude Code 发送请求时不附带 Azure 凭据,并保留您提供的 `Authorization` 标头(例如通过 `ANTHROPIC_CUSTOM_HEADERS` 提供)。设置了 `ANTHROPIC_FOUNDRY_API_KEY` 或 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 时会被忽略。在 v2.1.203 之前,除非同时设置了 API 密钥,否则此变量会导致 Microsoft Foundry 客户端无法发送请求 |

395| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳过 Amazon Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |396| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 跳过 Amazon Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |

396| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) 和 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai) 上的[启动模型检查](/docs/zh-CN/amazon-bedrock#startup-model-checks)会在本机上记住它们发现您的账户无法调用的模型,最长保留一天。设置为 `1` 可关闭这一记忆功能。需要 Claude Code v2.1.285 或更高版本 |397| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) 和 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai) 上的[启动模型检查](/docs/zh-CN/amazon-bedrock#startup-model-checks)会在本机上记住它们发现您的账户无法调用的模型,最长保留一天。设置为 `1` 可关闭这种记忆。需要 Claude Code v2.1.285 或更高版本 |

397| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | 设置为 `1` 可跳过将提示词历史和会话记录写入磁盘。设置此变量后启动的会话不会出现在 `--resume`、`--continue` 或上箭头历史中。适用于临时的脚本化会话 |398| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | 设置为 `1` 可跳过将提示词历史记录和会话记录写入磁盘。设置此变量后启动的会话不会出现在 `--resume`、`--continue` 或上箭头历史记录中。适用于临时的脚本化会话 |

398| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | 跳过 Google Cloud's Agent Platform 的 Google 身份验证(例如,使用 LLM 网关时) |399| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | 跳过 Google Cloud's Agent Platform 的 Google 身份验证(例如,使用 LLM 网关时) |

399| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | 设置为 `1` 可让使用 `--output-format stream-json` 启动的会话,在原本仅以 stderr 输出结束的启动失败情况下,写入一条[说明 Claude Code 拒绝启动原因的结果消息](/docs/zh-CN/agent-sdk/typescript#startup_failure_reason)。需要 Claude Code v2.1.274 或更高版本 |400| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | 设置为 `1` 可使以 `--output-format stream-json` 启动的会话,在原本仅以 stderr 结束的启动失败情况下,写入一条[说明 Claude Code 拒绝启动原因的结果消息](/docs/zh-CN/agent-sdk/typescript#startup_failure_reason)。需要 Claude Code v2.1.274 或更高版本 |

400| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | [Stop](/docs/zh-CN/hooks#stop) 或 [SubagentStop](/docs/zh-CN/hooks#subagentstop) hook 可连续阻止轮次结束的最大次数,超过后 Claude Code 会覆盖它并仍然结束该轮次(默认值:8)。设置为 `0` 可禁用此上限。如果您的 hook 确实需要更多次迭代才能完成,请提高此值 |401| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | [Stop](/docs/zh-CN/hooks#stop) 或 [SubagentStop](/docs/zh-CN/hooks#subagentstop) hook 可以连续阻止轮次结束的最大次数,超过后 Claude Code 将覆盖它并强制结束轮次(默认值:8)。设置为 `0` 可禁用此上限。如果您的 hook 确实需要更多迭代才能完成,请调高此值 |

401| `CLAUDE_CODE_SUBAGENT_MODEL` | 未通过其他方式指定模型的[子代理](/docs/zh-CN/sub-agents#choose-a-model)、[agent team](/docs/zh-CN/agent-teams#specify-teammates-and-models) 队友和[工作流](/docs/zh-CN/workflows) Agent 的默认模型。接受 `haiku` 等别名或完整模型名称。有两个来源优先于它:Claude 在生成 Agent 时传递的模型,以及 Agent 定义中的 `model` 字段(包括 `inherit`)。要改变这一点,请设置 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/zh-CN/sub-agents#run-every-subagent-on-one-model)。完整顺序请参阅[选择模型](/docs/zh-CN/sub-agents#choose-a-model)。将其设置为 `inherit` 与不设置相同。在 v2.1.251 之前,此变量会同时覆盖每次调用的模型和定义中的 `model` 字段 |402| `CLAUDE_CODE_SUBAGENT_MODEL` | 未通过其他方式指定模型的[子代理](/docs/zh-CN/sub-agents#choose-a-model)、[agent team](/docs/zh-CN/agent-teams#specify-teammates-and-models) 队友和[工作流](/docs/zh-CN/workflows) Agent 的默认模型。接受 `haiku` 等别名或完整模型名称。有两个来源优先于它:Claude 生成 Agent 时传递的模型,以及 Agent 定义中的 `model` 字段(包括 `inherit`)。要改变这一点,请设置 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/zh-CN/sub-agents#run-every-subagent-on-one-model)。有关完整顺序,请参阅[选择模型](/docs/zh-CN/sub-agents#choose-a-model)。将其设置为 `inherit` 与不设置效果相同。在 v2.1.251 之前,此变量会同时覆盖每次调用的模型和定义中的 `model` 字段 |

402| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | 设置为 `1` 可强制子代理、队友和工作流 Agent 使用同一个模型。[让所有子代理使用同一个模型](/docs/zh-CN/sub-agents#run-every-subagent-on-one-model)说明了具体使用哪个模型。需要 Claude Code v2.1.257 或更高版本 |403| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | 设置为 `1` 可强制子代理、队友和工作流 Agent 使用同一个模型。具体是哪个模型,请参阅[让所有子代理使用同一模型](/docs/zh-CN/sub-agents#run-every-subagent-on-one-model)。需要 Claude Code v2.1.257 或更高版本 |

403| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | 设置为 `5m` 或 `1h`(Claude Code 仅接受这两个值),以选择主对话之外的请求(例如[子代理](/docs/zh-CN/sub-agents)、工作流和后台工作)的[提示缓存 TTL](/docs/zh-CN/prompt-caching#cache-lifetime)。优先于 `subagentPromptCacheTtl` 设置和 `ENABLE_PROMPT_CACHING_1H`,而 `FORCE_PROMPT_CACHING_5M` 会覆盖它。API 对 1 小时缓存写入按更高费率计费。需要 Claude Code v2.1.242 或更高版本 |404| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | 设置为 `5m` 或 `1h`(Claude Code 仅接受这两个值),用于选择主对话之外请求的[提示缓存 TTL](/docs/zh-CN/prompt-caching#cache-lifetime),例如[子代理](/docs/zh-CN/sub-agents)、工作流和后台工作。优先于 `subagentPromptCacheTtl` 设置和 `ENABLE_PROMPT_CACHING_1H`,而 `FORCE_PROMPT_CACHING_5M` 会覆盖此变量。API 对 1 小时缓存写入按更高费率计费。需要 Claude Code v2.1.242 或更高版本 |

404| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | 设置为 `1` 可从 Claude Code 启动的子进程(例如 Bash 命令、hook 和 stdio MCP 服务器)的环境中剥离凭据。清理会根据变量名或变量值识别凭据,并保留 GitHub 令牌和代理设置。请参阅[子进程环境清理会移除哪些内容](#what-the-subprocess-environment-scrub-removes)。配置了 `allowed_non_write_users` 时,`claude-code-action` 会自动设置此变量 |405| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | 设置为 `1` 可从 Claude Code 启动的子进程(例如 Bash 命令、hook 和 stdio MCP 服务器)的环境中移除凭据。清除操作通过变量名或变量值识别凭据,并保留 GitHub 令牌和代理设置。请参阅[子进程环境清除会移除哪些内容](#what-the-subprocess-environment-scrub-removes)。配置了 `allowed_non_write_users` 时,`claude-code-action` 会自动设置此变量 |

405| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 在非交互模式(`-p` 标志)下设置为 `1`,可在第一个查询之前等待插件安装完成。否则,插件会在后台安装,可能在第一个轮次中不可用。可与 `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` 结合使用以限制等待时间 |406| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 在非交互模式(`-p` 标志)下设置为 `1`,可在第一次查询之前等待插件安装完成。未设置时,插件会在后台安装,在第一轮中可能不可用。可与 `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` 结合使用以限制等待时间 |

406| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同步插件安装的超时时间(毫秒)。超过后,Claude Code 会在没有插件的情况下继续运行并记录一条错误。没有默认值:如果不设置此变量,同步安装会一直等到完成 |407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同步插件安装的超时时间(毫秒)。超时后,Claude Code 会在没有插件的情况下继续并记录错误。无默认值:未设置此变量时,同步安装会一直等待直到完成 |

407| `CLAUDE_CODE_SYNC_SKILLS` | 在使用 `-p` 标志的非交互模式下设置为 `1`,可使 Claude Code 在该次运行中下载为您的 claude.ai 账户启用的 skill,并在运行第一次查询之前等待其列表,最长等待 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`。需要 claude.ai 身份验证。使用 claude.ai 账户登录的终端会话无需此变量即可[同步这些 skill](/docs/zh-CN/skills#where-synced-skills-load),因此仅当 `-p` 运行需要在第一次查询时使用您当前的 skill 时才设置它 |408| `CLAUDE_CODE_SYNC_SKILLS` | 在使用 `-p` 标志的非交互模式下设置为 `1`,可使 Claude Code 在该次运行中下载为您的 claude.ai 账户启用的 skill,并在运行第一次查询之前等待其列表,最长等待 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`。需要 claude.ai 身份验证。使用 claude.ai 账户登录的终端会话无需此变量即可[同步这些 skill](/docs/zh-CN/skills#where-synced-skills-load),因此仅当 `-p` 运行需要在第一次查询时使用您当前的 skill 时才设置此变量 |

408| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | 当基于 [Agent SDK](/docs/zh-CN/agent-sdk/typescript#query-object) 构建的应用重新加载 skill 时,会话中途运行的 skill 重新同步的超时时间(毫秒)(默认值:30000)。超过后,重新加载会使用已到达的 skill 继续,剩余的下载在后台完成 |409| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | 当基于 [Agent SDK](/docs/zh-CN/agent-sdk/typescript#query-object) 构建的应用重新加载 skill 时,会话中途运行的 skill 重新同步的超时时间(毫秒,默认值:30000)。超时后,重新加载会使用已到达的 skill 继续,其余下载在后台完成 |

409| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | 设置了 `CLAUDE_CODE_SYNC_SKILLS` 时,第一个查询等待初始 skill 列表的超时时间(毫秒)(默认值:5000)。超过后,第一个查询会使用已到达的 skill 运行。无论哪种情况,下载都会在后台完成,Claude 在调用某个 skill 时会等待该 skill 下载完成 |410| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | 设置了 `CLAUDE_CODE_SYNC_SKILLS` 时,第一次查询等待初始 skill 列表的超时时间(毫秒,默认值:5000)。超时后,第一次查询会使用已到达的 skill 运行。无论哪种情况,下载都会在后台完成,并且 Claude 在调用某个 skill 时会等待该 skill 下载完成 |

410| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 设置为 `false` 可在 diff 输出中禁用语法高亮。当颜色干扰您的终端设置时很有用。要同时在代码块和文件预览中禁用高亮,请使用 [`syntaxHighlightingDisabled`](/docs/zh-CN/settings-reference#syntaxhighlightingdisabled) 设置 |411| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | 设置为 `false` 可禁用 diff 输出中的语法高亮。适用于颜色干扰终端设置的情况。要同时禁用代码块和文件预览中的高亮,请使用 [`syntaxHighlightingDisabled`](/docs/zh-CN/settings-reference#syntaxhighlightingdisabled) 设置 |

411| `CLAUDE_CODE_TASK_LIST_ID` | 在会话之间共享任务列表。在[具备 Task 工具的会话](/docs/zh-CN/tools-reference#task-tool-availability)中,在多个 Claude Code 实例中设置相同的 ID,即可在共享任务列表上协作。请参阅[任务列表](/docs/zh-CN/interactive-mode#task-list) |412| `CLAUDE_CODE_TASK_LIST_ID` | 在多个会话之间共享任务列表。在多个 Claude Code 实例中设置相同的 ID,即可在[具有 Task 工具的会话](/docs/zh-CN/tools-reference#task-tool-availability)中协同使用共享的任务列表。请参阅[任务列表](/docs/zh-CN/interactive-mode#task-list) |

412| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 覆盖非交互式会话在退出时等待其 [agent team](/docs/zh-CN/agent-teams) 完成拆除的时长(毫秒)。接受 1000 到 60000;超出范围的值会被忽略并应用默认值 10000。需要 Claude Code v2.1.206 或更高版本 |413| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 以毫秒为单位,覆盖非交互式会话在退出时等待其 [agent team](/docs/zh-CN/agent-teams) 完成拆除的时长。接受 1000 到 60000 之间的值;超出范围的值会被忽略,并使用默认值 10000。需要 Claude Code v2.1.206 或更高版本 |

413| `CLAUDE_CODE_TMPDIR` | 覆盖用于内部临时文件的临时目录。Claude Code 在 Unix 上会将 `/claude-{uid}/` 附加到此路径,在 Windows 上附加 `/claude/`。默认值:macOS 上为 `/tmp`,Linux 和 Windows 上为 `os.tmpdir()`。在 macOS 和 Linux 上,当您的覆盖值是较长路径时,[沙箱化](/docs/zh-CN/sandboxing)的 Bash 子进程会在系统默认位置下收到一个较短的备用 `$TMPDIR`,因为某些工具在临时路径过长时会失败。未沙箱化的 Bash 命令会在您的 shell 设置了 `$TMPDIR` 时继承它。在原生 Windows 上,当您的 shell 未设置 `$TMPDIR` 时,引用 `$TMPDIR` 的 Bash 命令会收到您的覆盖值,如果您未设置覆盖值,则收到 `%TEMP%`。Claude Code 自身的临时文件始终使用您的覆盖值。可在 shell、用户设置或托管设置中设置。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略 |414| `CLAUDE_CODE_TMPDIR` | 覆盖用于内部临时文件的临时目录。Claude Code 会在 Unix 上向此路径追加 `/claude-{uid}/`,在 Windows 上追加 `/claude/`。默认值:macOS 上为 `/tmp`,Linux 和 Windows 上为 `os.tmpdir()`。在 macOS 和 Linux 上,当您覆盖的路径较长时,[沙箱隔离](/docs/zh-CN/sandboxing)的 Bash 子进程会在系统默认目录下收到一个较短的备用 `$TMPDIR`,因为某些工具在临时路径过长时会失败。非沙箱 Bash 命令会在您的 shell 设置了 `$TMPDIR` 时继承它。在原生 Windows 上,当您的 shell 未设置 `$TMPDIR` 时,引用 `$TMPDIR` 的 Bash 命令会收到您的覆盖值,如果未设置覆盖值则收到 `%TEMP%`。Claude Code 自身的临时文件始终使用您的覆盖值。请在 shell、用户设置或托管设置中设置。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略 |

414| `CLAUDE_CODE_TMUX_TRUECOLOR` | 设置为任何非空值(例如 `1`)可允许在 tmux 中输出 24 位真彩色。**将其设置为 `0` 或 `false` 仍会允许真彩色**,这与大多数开/关变量不同;取消设置该变量可恢复 256 色限制。默认情况下,当设置了 `$TMUX` 时,Claude Code 会限制为 256 色,因为除非经过配置,否则 tmux 不会透传真彩色转义序列。请在将 `set -ga terminal-overrides ',*:Tc'` 添加到 `~/.tmux.conf` 之后设置此变量。有关其他 tmux 设置,请参阅[终端配置](/docs/zh-CN/terminal-config) |415| `CLAUDE_CODE_TMUX_TRUECOLOR` | 设置为任意非空值(例如 `1`)可允许在 tmux 中输出 24 位真彩色。**设置为 `0` 或 `false` 仍会允许真彩色**,这与大多数开关变量不同;取消设置该变量可恢复 256 色限制。默认情况下,当设置了 `$TMUX` 时,Claude Code 会限制为 256 色,因为除非进行配置,否则 tmux 不会透传真彩色转义序列。请在将 `set -ga terminal-overrides ',*:Tc'` 添加到 `~/.tmux.conf` 之后设置此变量。有关其他 tmux 设置,请参阅[终端配置](/docs/zh-CN/terminal-config) |

415| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | 在 Linux 和 WSL 上,设置为以逗号分隔的进程类型列表,Claude Code 会将这些类型的进程[排除在工具内存上限之外](/docs/zh-CN/tools-reference#memory-limit-on-linux-and-wsl),例如 `mcp` 或 `lsp`。设置为 `none` 可对所有类型施加上限,设置为 `all-new` 则仅对 Bash、PowerShell 和 Monitor 工具命令施加上限。无论您列出什么,Claude Code 都会让 Bash、PowerShell 和 Monitor 工具命令受该上限约束。需要 Claude Code v2.1.246 或更高版本 |416| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | 在 Linux 和 WSL 上,设置为以逗号分隔的进程类型列表,Claude Code 会将这些类型的进程[排除在工具内存上限之外](/docs/zh-CN/tools-reference#memory-limit-on-linux-and-wsl),例如 `mcp` 或 `lsp`。设置为 `none` 可对所有类型施加上限,设置为 `all-new` 可仅对 Bash、PowerShell 和 Monitor 工具命令施加上限。无论您列出什么,Claude Code 都会将 Bash、PowerShell 和 Monitor 工具命令置于上限之下。需要 Claude Code v2.1.246 或更高版本 |

416| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | 在 Linux 和 WSL 上,设置为 `4G` 等大小可[限制 Bash 和 PowerShell 工具命令可使用的内存](/docs/zh-CN/tools-reference#memory-limit-on-linux-and-wsl),在 v2.1.246 或更高版本中还包括 Monitor 工具命令。请用纯数字书写大小,单独的数字表示字节数,也可以带 `K`、`M`、`G` 或 `T` 后缀。设置为 `0` 或 `off` 可关闭上限。一旦 Claude Code 启动的第一个进程开启或关闭了上限,更改后的值将在您下次启动 `claude` 时生效。需要 Claude Code v2.1.233 或更高版本 |417| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | 在 Linux 和 WSL 上,设置为 `4G` 等大小值,可[限制 Bash 和 PowerShell 工具命令可使用的内存](/docs/zh-CN/tools-reference#memory-limit-on-linux-and-wsl),在 v2.1.246 或更高版本中还包括 Monitor 工具命令。请以纯数字书写大小,单独的数字表示字节数,也可带 `K`、`M`、`G` 或 `T` 后缀。设置为 `0` 或 `off` 可关闭上限。一旦 Claude Code 启动的第一个进程开启或关闭了上限,更改后的值将在下次启动 `claude` 时生效。需要 Claude Code v2.1.233 或更高版本 |

417| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | 设置为 `1` 可限制长时间运行的 `-p` 或 Agent SDK 会话的[会话记录文件](/docs/zh-CN/sessions#where-transcripts-are-stored)的增长大小。每次压缩后,一旦文件超过 5 MB,Claude Code 会删除该次压缩之前的历史记录。无论文件是否被裁剪,恢复会话都会还原相同的对话。请在启动 Claude Code 的环境中设置它,因为设置文件的 `env` 块无法开启它。需要 Claude Code v2.1.287 或更高版本 |418| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | 设置为 `1` 可限制长时间运行的 `-p` 或 Agent SDK 会话的[会话记录文件](/docs/zh-CN/sessions#where-transcripts-are-stored)增长的大小。每次压缩之后,一旦文件大于 5 MB,Claude Code 就会删除该次压缩之前的历史记录。无论文件是否被裁剪,恢复会话都会还原相同的对话。请在启动 Claude Code 的环境中设置此变量,因为设置中的 `env` 块无法开启它。需要 Claude Code v2.1.287 或更高版本 |

418| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code 取消转发给远程客户端(例如 [Remote Control](/docs/zh-CN/remote-control) 或 SDK 宿主)的对话框,或取消[被暂扣的跨会话消息](/docs/zh-CN/cross-session-messaging#control-inbound-messages)的批准对话框之前的截止时间(毫秒);权限提示和 `AskUserQuestion` 问题使用各自的流程,不受其约束。在 Claude Code v2.1.236 或更高版本中,它还会在可能无人值守运行的会话中限制会话中途出现的 [Fable 使用额度同意提示](/docs/zh-CN/model-config#fable-and-usage-credits)。[控制入站消息](/docs/zh-CN/cross-session-messaging#control-inbound-messages)和[非交互式会话](/docs/zh-CN/cross-session-messaging#non-interactive-sessions)涵盖了完整的暂扣消息过期规则,包括截止时间不适用的情况。覆盖 [`dialogExpiry`](/docs/zh-CN/settings-reference#dialogexpiry) 设置。`0` 或负值会禁用截止时间 |419| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code 取消其转发给远程客户端(例如 [Remote Control](/docs/zh-CN/remote-control) 或 SDK 宿主)的对话框,或[暂扣的跨会话消息](/docs/zh-CN/cross-session-messaging#control-inbound-messages)的批准对话框之前的截止时间(毫秒);权限提示和 `AskUserQuestion` 问题使用各自的流程,不受此变量约束。在 Claude Code v2.1.236 或更高版本中,它还会限制可能处于无人值守运行状态的会话中,会话中途出现的 [Fable 使用额度同意提示](/docs/zh-CN/model-config#fable-and-usage-credits)。[控制入站消息](/docs/zh-CN/cross-session-messaging#control-inbound-messages)和[非交互式会话](/docs/zh-CN/cross-session-messaging#non-interactive-sessions)介绍了完整的暂扣消息过期规则,包括截止时间不适用的情况。覆盖 [`dialogExpiry`](/docs/zh-CN/settings-reference#dialogexpiry) 设置。`0` 或负值会禁用截止时间 |

419| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) |420| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | 使用 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) |

420| `CLAUDE_CODE_USE_BEDROCK` | 使用 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) |421| `CLAUDE_CODE_USE_BEDROCK` | 使用 [Amazon Bedrock](/docs/zh-CN/amazon-bedrock) |

421| `CLAUDE_CODE_USE_FOUNDRY` | 使用 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry) |422| `CLAUDE_CODE_USE_FOUNDRY` | 使用 [Microsoft Foundry](/docs/zh-CN/microsoft-foundry) |

422| `CLAUDE_CODE_USE_MANTLE` | 使用 Amazon Bedrock [Mantle 端点](/docs/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |423| `CLAUDE_CODE_USE_MANTLE` | 使用 Amazon Bedrock [Mantle 端点](/docs/zh-CN/amazon-bedrock#use-the-mantle-endpoint) |

423| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | 设置为 `1` 可使用 Node.js 文件 API 而不是 ripgrep 来发现自定义命令、子代理和输出样式。如果捆绑的 ripgrep 二进制文件在您的环境中不可用或被阻止,请设置此项。不影响 Grep 或文件搜索工具 |424| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | 设置为 `1` 可使用 Node.js 文件 API 而不是 ripgrep 来发现自定义命令、子代理和输出样式。如果捆绑的 ripgrep 二进制文件在您的环境中不可用或被阻止,请设置此变量。不影响 Grep 或文件搜索工具 |

424| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | 控制 PowerShell 工具。在未安装 Git Bash 的 Windows 上,该工具会自动启用;设置为 `0` 可将其禁用。在已安装 Git Bash 的 Windows 上,该工具对 claude.ai 和 Console 账户默认开启;在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 会话中,设置为 `1` 可将其启用,设置为 `0` 可将其关闭。在 Linux、macOS 和 WSL 上,设置为 `1` 可将其启用,这要求 `PATH` 中存在 `pwsh`。在 Windows 上启用后,Claude 可以原生运行 PowerShell 命令,而无需通过 Git Bash 中转。参见 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool) |425| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | 控制 PowerShell 工具。在未安装 Git Bash 的 Windows 上,该工具会自动启用;设置为 `0` 可将其禁用。在已安装 Git Bash 的 Windows 上,该工具对 claude.ai 和 Console 账户默认启用;设置为 `1` 可在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 会话中启用它,设置为 `0` 可将其关闭。在 Linux、macOS 和 WSL 上,设置为 `1` 可启用它,这要求 `PATH` 中包含 `pwsh`。在 Windows 上启用后,Claude 可以原生运行 PowerShell 命令,而无需经由 Git Bash 转发。请参阅 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool) |

425| `CLAUDE_CODE_USE_VERTEX` | 使用 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai) |426| `CLAUDE_CODE_USE_VERTEX` | 使用 [Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai) |

426| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | 设置 [WebFetch](/docs/zh-CN/tools-reference#webfetch-tool-behavior) 将每个已获取 URL 的响应保留在缓存中的毫秒数。默认值为 `900000`,即 15 分钟。仅接受纯数字;`0`、小数或任何其他写法都会保留默认值。Claude Code 每次启动时只读取一次该值,因此在设置的 `env` 块中所做的更改会在您下次启动 `claude` 时生效。需要 Claude Code v2.1.233 或更高版本 |427| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | 设置 [WebFetch](/docs/zh-CN/tools-reference#webfetch-tool-behavior) 将每个已获取 URL 的响应保留在缓存中的毫秒数。默认值为 `900000`,即 15 分钟。仅接受纯数字;`0`、小数或任何其他写法都会保留默认值。Claude Code 每次启动时只读取一次该值,因此在设置的 `env` 块中所做的更改会在您下次启动 `claude` 时生效。需要 Claude Code v2.1.233 或更高版本 |

427| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | [WebFetch](/docs/zh-CN/tools-reference#webfetch-tool-behavior) 等待页面下载完成(包括其跟随的所有重定向)的最长时间上限,以毫秒为单位。到时仍未完成的下载会因截止时间错误而失败。默认值为 `300000`,即五分钟。设置为 `0` 可取消该限制。仅接受纯数字;小数或任何其他写法都会保留默认值。需要 Claude Code v2.1.268 或更高版本 |428| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | [WebFetch](/docs/zh-CN/tools-reference#webfetch-tool-behavior) 等待页面下载完成(包括其跟随的任何重定向)的时长上限,以毫秒为单位。届时仍未完成的下载会以截止时间错误失败。默认值为 `300000`,即五分钟。设置为 `0` 可取消该限制。仅接受纯数字;小数或任何其他写法都会保留默认值。需要 Claude Code v2.1.268 或更高版本 |

428| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | 当 `CLAUDE_AUTO_BACKGROUND_TASKS` 设置为 `1` 时,Claude Code 在每次提醒 Claude 检查仍在运行的[后台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background)之前等待的时间。接受一个或多个以逗号分隔的等待时间,单位为整秒,范围为 `1` 到 `86400`,例如 `600` 或 `600,1800,3600`。每个值表示下一次提醒之前的等待时间,最后一个值会重复使用。仅接受纯数字;任何其他值或写法都视为未设置。未设置时不会发出提醒。需要 Claude Code v2.1.283 或更高版本 |429| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | 会话的 [WebSearch 限制](/docs/zh-CN/tools-reference#session-search-limit)的补充速率,以每小时调用次数计。在交互式终端会话中默认值为 `100`。在[非交互](/docs/zh-CN/headless)会话中默认值为 `0`,即关闭补充。仅接受纯数字;任何其他写法都视为未设置。需要 Claude Code v2.1.290 或更高版本 |

429| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 单次[工作流](/docs/zh-CN/workflows)运行同时执行的 Agent 数量,范围为 `1` 到 `256`。默认情况下,一次运行最多同时执行 16 个 Agent,当 Claude Code 可用的 CPU 较少时会更少;排队的 `agent()` 调用会等待空闲槽位。每个正在运行的 Agent 的会话记录都保留在 Claude Code 的内存中,因此较高的值会增加内存使用量。仅接受纯数字;超出范围的值和其他写法都会保留默认值。需要 Claude Code v2.1.269 或更高版本 |430| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | 当 `CLAUDE_AUTO_BACKGROUND_TASKS` 设置为 `1` 时,Claude Code 在每次提醒 Claude 检查仍在运行的[后台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background)之前等待的时长。接受一个或多个以逗号分隔的等待时间,以整秒计,范围为 `1` 到 `86400`,例如 `600` 或 `600,1800,3600`。每个值是距下一次提醒的等待时间,最后一个值会重复使用。仅接受纯数字;任何其他值或写法都视为未设置。未设置时不会发送提醒。需要 Claude Code v2.1.283 或更高版本 |

430| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [工作流](/docs/zh-CN/workflows) Agent 在发送自己的第一个请求之前,等待具有相同前缀的同级 Agent 的第一个响应开始的最长时间上限,以毫秒为单位。当一次扇出启动多个共享[提示缓存前缀](/docs/zh-CN/workflows#prompt-caching-in-a-fan-out)的 Agent 时,Claude Code 会让除第一个 Agent 之外的所有 Agent 最多等待这么长时间,以便其余 Agent 读取已缓存的前缀,而不是各自在无缓存的情况下处理该前缀。默认值为 `5000`。设置为 `0` 可禁用等待。设置了 `DISABLE_PROMPT_CACHING` 时,Agent 永远不会等待。需要 Claude Code v2.1.229 或更高版本 |431| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 单次[工作流](/docs/zh-CN/workflows)运行同时执行的 Agent 数量,范围为 `1` 到 `256`。默认情况下,一次运行最多同时执行 16 个 Agent,当 Claude Code 可用的 CPU 较少时会更少;排队中的 `agent()` 调用会等待空闲槽位。每个正在运行的 Agent 的会话记录都保留在 Claude Code 的内存中,因此值越高,内存占用越大。仅接受纯数字;超出范围的值和其他写法都会保留默认值。需要 Claude Code v2.1.269 或更高版本 |

431| `CLAUDE_CONFIG_DIR` | 覆盖配置目录(默认:`~/.claude`)。所有设置、会话历史和插件都存储在此路径下。关于凭据,请参见 [Claude Code 存储凭据的位置](/docs/zh-CN/authentication#credential-management)。适用于并行运行多个账户:例如 `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`。请在 shell、用户设置或托管设置中设置它。在设置文件中,请填写[绝对路径](#in-settings-files)。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略 |432| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [工作流](/docs/zh-CN/workflows) Agent 在发送自己的第一个请求之前,等待具有相同前缀的同级 Agent 的首个响应开始的时长上限,以毫秒为单位。当扇出启动多个共享同一[提示缓存前缀](/docs/zh-CN/workflows#prompt-caching-in-a-fan-out)的 Agent 时,Claude Code 会让除第一个之外的所有 Agent 最多等待这么长时间,以便其余 Agent 读取已缓存的前缀,而不是各自在无缓存的情况下处理它。默认值为 `5000`。设置为 `0` 可禁用等待。设置了 `DISABLE_PROMPT_CACHING` 时,Agent 从不等待。需要 Claude Code v2.1.229 或更高版本 |

433| `CLAUDE_CONFIG_DIR` | 覆盖配置目录(默认:`~/.claude`)。所有设置、会话历史和插件都存储在此路径下。有关凭据,请参阅 [Claude Code 在何处存储凭据](/docs/zh-CN/authentication#credential-management)。适用于并行运行多个账户:例如,`alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`。请在您的 shell、用户设置或托管设置中设置它。在设置文件中,请写入[绝对路径](#in-settings-files)。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略 |

432| `CLAUDE_DISABLE_ADOPT` | 设置为 `1` 后,当您按 `←` 或使用 [`/background`](/docs/zh-CN/agent-view#from-inside-a-session) 将会话转入后台时,会停止正在进行的后台工作,而不是将其延续下去。Claude Code 会在转入后台之前请您确认,然后停止原本会延续的任务。需要 Claude Code v2.1.195 或更高版本 |434| `CLAUDE_DISABLE_ADOPT` | 设置为 `1` 后,当您按 `←` 或使用 [`/background`](/docs/zh-CN/agent-view#from-inside-a-session) 将会话转入后台时,会停止正在进行的后台工作,而不是将其延续下去。Claude Code 会在转入后台之前请您确认,然后停止原本会延续的任务。需要 Claude Code v2.1.195 或更高版本 |

433| `CLAUDE_EFFORT` | 在 Bash 工具子进程和 hook 命令中自动设置为子进程启动时生效的 [effort 级别](/docs/zh-CN/model-config#adjust-effort-level):`low`、`medium`、`high`、`xhigh` 或 `max`。与传递给 [hook](/docs/zh-CN/hooks) 的 `effort.level` 字段一致。仅当当前模型支持 effort 参数时才会设置 |435| `CLAUDE_EFFORT` | 在 Bash 工具子进程和 hook 命令中自动设置为子进程启动时生效的 [effort 级别](/docs/zh-CN/model-config#adjust-effort-level):`low`、`medium`、`high`、`xhigh` 或 `max`。与传递给 [hook](/docs/zh-CN/hooks) 的 `effort.level` 字段一致。仅在当前模型支持 effort 参数时设置 |

434| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 设置为 `1` 可强制启用字节级流式空闲看门狗,设置为 `0` 可强制禁用。`0` 还会在运行[首字节截止时间](/docs/zh-CN/network-config#streaming-idle-watchdogs)的连接上关闭该截止时间。未设置时,该看门狗默认在直连 Anthropic API 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 的连接上启用,并在通过 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 访问的[网关](/docs/zh-CN/gateways)连接上对流式响应启用;在 v2.1.222 之前,它不会在这些网关连接上运行,因此即使仍有 keep-alive ping 到达,事件级看门狗也可能在这些连接上报告停滞。关于超时时间以及各计时器之间的相互作用,请参见[流式空闲看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs) |436| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 设置为 `1` 可强制启用字节级流式空闲看门狗,设置为 `0` 可强制禁用它。`0` 还会在运行[首字节截止时间](/docs/zh-CN/network-config#streaming-idle-watchdogs)的连接上关闭该截止时间。未设置时,看门狗默认对直连 Anthropic API 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 的连接启用,也对通过 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 访问的[网关](/docs/zh-CN/gateways)连接上的流式响应启用;在 v2.1.222 之前,它不会在这些网关连接上运行,因此即使 keep-alive ping 正在到达,事件级看门狗也可能在那里报告停滞。有关超时时间以及各计时器如何相互作用,请参阅[流式空闲看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs) |

435| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | 设置为 `1` 可在 Amazon Bedrock `vnd.amazon.eventstream` 响应上启用字节级流式空闲看门狗,这也会在 Bedrock 流式请求上启用[首字节截止时间](/docs/zh-CN/network-config#streaming-idle-watchdogs)。默认关闭。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置超时时间 |437| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | 设置为 `1` 可在 Amazon Bedrock `vnd.amazon.eventstream` 响应上启用字节级流式空闲看门狗,这也会在 Bedrock 流式请求上启用[首字节截止时间](/docs/zh-CN/network-config#streaming-idle-watchdogs)。默认关闭。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置超时时间 |

436| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 设置为 `0` 可强制禁用事件级流式空闲看门狗,设置为 `1` 可强制启用。未设置时,该看门狗对所有提供商默认开启。在 v2.1.196 之前,未设置时的默认值在直连 Anthropic API 上由服务器控制,在其他提供商上则为关闭。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置超时时间;关于与其并行运行的其他停滞计时器,请参见[流式空闲看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs) |438| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 设置为 `0` 可强制禁用事件级流式空闲看门狗,设置为 `1` 可强制启用它。未设置时,看门狗默认对所有提供商启用。在 v2.1.196 之前,未设置时的默认值在直连 Anthropic API 上由服务器控制,在其他提供商上则为关闭。使用 `CLAUDE_STREAM_IDLE_TIMEOUT_MS` 配置超时时间;有关与其并行运行的其他停滞计时器,请参阅[流式空闲看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs) |

437| `CLAUDE_ENV_FILE` | shell 脚本的路径,Claude Code 会在每条 Bash 命令之前于同一 shell 进程中运行该脚本的内容,因此文件中的导出对命令可见。可用于在多条命令之间保持 virtualenv 或 conda 的激活状态。也会由 [SessionStart](/docs/zh-CN/hooks#persist-environment-variables)、[Setup](/docs/zh-CN/hooks#setup)、[CwdChanged](/docs/zh-CN/hooks#cwdchanged) 和 [FileChanged](/docs/zh-CN/hooks#filechanged) hook 动态填充 |439| `CLAUDE_ENV_FILE` | 一个 shell 脚本的路径,Claude Code 会在同一 shell 进程中于每个 Bash 命令之前运行其内容,因此文件中的导出对该命令可见。可用于在多个命令之间保持 virtualenv 或 conda 的激活状态。也会由 [SessionStart](/docs/zh-CN/hooks#persist-environment-variables)、[Setup](/docs/zh-CN/hooks#setup)、[CwdChanged](/docs/zh-CN/hooks#cwdchanged) 和 [FileChanged](/docs/zh-CN/hooks#filechanged) hook 动态填充 |

438| `CLAUDE_JOB_DIR` | 由 Claude Code 在每个[后台会话](/docs/zh-CN/agent-view)中设置为该会话的 `~/.claude/jobs/<id>` 目录。会话运行的 shell 命令会继承该变量。请将临时文件写入 [`$CLAUDE_JOB_DIR/tmp`](/docs/zh-CN/agent-view#where-state-is-stored)。Claude 在该目录中的 `Write` 和 `Edit` 调用不会提示请求权限,并且该目录会在会话被删除时一并移除 |440| `CLAUDE_JOB_DIR` | 由 Claude Code 在每个[后台会话](/docs/zh-CN/agent-view)中设置为该会话的 `~/.claude/jobs/<id>` 目录。该会话运行的 shell 命令会继承它。请将临时文件写入 [`$CLAUDE_JOB_DIR/tmp`](/docs/zh-CN/agent-view#where-state-is-stored)。Claude 在该位置的 `Write` 和 `Edit` 调用不会请求权限,并且该目录会在会话被删除时移除 |

439| `CLAUDE_PID` | Claude Code 会在其派生的子进程(Bash 和 PowerShell 工具命令以及 hook 命令)中将此变量设置为自身的进程 ID。在 Linux 上,Bash 工具的 shell 集成会用它来拒绝会匹配到 Claude Code 进程自身的 `pkill` 模式;请参见[错误参考](/docs/zh-CN/errors#pkill-pattern-matches-the-claude-code-process)。您可以在自己的脚本中读取它,以便有意地识别父 Claude Code 进程或向其发送信号。需要 Claude Code v2.1.214 或更高版本 |441| `CLAUDE_PID` | Claude Code 会在其生成的子进程(Bash 和 PowerShell 工具命令以及 hook 命令)中将此变量设置为自身的进程 ID。在 Linux 上,Bash 工具的 shell 集成会利用它拒绝会匹配 Claude Code 进程本身的 `pkill` 模式;请参阅[错误参考](/docs/zh-CN/errors#pkill-pattern-matches-the-claude-code-process)。您可以在自己的脚本中读取它,以有意识地识别父 Claude Code 进程或向其发送信号。需要 Claude Code v2.1.214 或更高版本 |

440| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 未提供显式名称时,自动生成的 [Remote Control](/docs/zh-CN/remote-control) 会话名称的前缀。默认为您计算机的主机名,生成类似 `myhost-graceful-unicorn` 的名称。`--remote-control-session-name-prefix` CLI 标志可为单次调用设置相同的值 |442| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 未提供显式名称时,自动生成的 [Remote Control](/docs/zh-CN/remote-control) 会话名称的前缀。默认为您机器的主机名,生成类似 `myhost-graceful-unicorn` 的名称。`--remote-control-session-name-prefix` CLI 标志可为单次调用设置相同的值 |

441| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | 在运行[首字节截止时间](/docs/zh-CN/network-config#streaming-idle-watchdogs)的连接上,流式请求首个响应字节的截止时间,以毫秒为单位。关于 Claude Code 如何限制该值、为大型请求体额外增加的时间,以及在您未设置该变量时如何选择截止时间,请参见 [No response from API](/docs/zh-CN/errors#no-response-from-api)。需要 Claude Code v2.1.242 或更高版本 |443| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | 在运行[首字节截止时间](/docs/zh-CN/network-config#streaming-idle-watchdogs)的连接上,流式请求首个响应字节的截止时间,以毫秒为单位。有关 Claude Code 如何限制该值、为大型请求体额外增加的时间,以及未设置此变量时如何选择截止时间,请参阅 [No response from API](/docs/zh-CN/errors#no-response-from-api)。需要 Claude Code v2.1.242 或更高版本 |

442| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 事件级和字节级流式空闲看门狗关闭停滞连接之前的超时时间,以毫秒为单位。当您显式设置此变量时,最小值为 `300000`(5 分钟);较低的值会被静默提升到该下限,以吸收扩展思考的停顿和代理缓冲,并且字节级看门狗会将该值上限设为 30 分钟。对于字节级看门狗,`CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 优先于此变量。关于每个看门狗在未设置时的默认值,请参见[流式空闲看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs) |444| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 事件级和字节级流式空闲看门狗关闭停滞连接之前的超时时间,以毫秒为单位。显式设置此变量时,最小值为 `300000`(5 分钟);较低的值会被静默提升,以吸收扩展思考的停顿和代理缓冲,并且字节级看门狗会将该值上限设为 30 分钟。对于字节级看门狗,`CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` 优先于此变量。有关各看门狗在未设置时的默认值,请参阅[流式空闲看门狗](/docs/zh-CN/network-config#streaming-idle-watchdogs) |

443| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | 已在 v2.1.260 中移除,现在不起任何作用。以前用于限制由[子代理](/docs/zh-CN/sub-agents)启动的[后台 shell 命令](/docs/zh-CN/interactive-mode#background-bash-commands)可运行的时长,以毫秒为单位,默认值为 60 分钟。请参见[后台命令生命周期规则](/docs/zh-CN/tools-reference#background-commands) |445| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | 已在 v2.1.260 中移除,现在不起任何作用。以前用于限制[子代理](/docs/zh-CN/sub-agents)启动的[后台 shell 命令](/docs/zh-CN/interactive-mode#background-bash-commands)可以运行的时长,以毫秒为单位,默认为 60 分钟。请参阅[后台命令生命周期规则](/docs/zh-CN/tools-reference#background-commands) |

444| `DEBUG` | 设置为 `1` 可启用调试模式,等同于使用 [`--debug`](/docs/zh-CN/cli-reference#cli-flags) 启动。调试日志会写入 `~/.claude/debug/<session-id>.txt`,或写入由 `CLAUDE_CODE_DEBUG_LOGS_DIR` 设置的路径。只有真值 `1`、`true`、`yes` 和 `on` 会启用调试模式,因此为其他工具设置的命名空间模式(如 `DEBUG=express:*`)不会触发它 |446| `DEBUG` | 设置为 `1` 可启用调试模式,等同于使用 [`--debug`](/docs/zh-CN/cli-reference#cli-flags) 启动。调试日志会写入 `~/.claude/debug/<session-id>.txt`,或写入 `CLAUDE_CODE_DEBUG_LOGS_DIR` 设置的路径。只有真值 `1`、`true`、`yes` 和 `on` 才会启用调试模式,因此为其他工具设置的命名空间模式(如 `DEBUG=express:*`)不会触发它 |

445| `DISABLE_AUTOUPDATER` | 设置为 `1` 可禁用自动后台更新。手动执行 `claude update` 仍然有效。使用 `DISABLE_UPDATES` 可同时阻止两者 |447| `DISABLE_AUTOUPDATER` | 设置为 `1` 可禁用自动后台更新。手动运行 `claude update` 仍然有效。使用 `DISABLE_UPDATES` 可同时阻止两者 |

446| `DISABLE_AUTO_COMPACT` | 设置为 `1` 可禁用接近上下文限制时的自动压缩。手动 `/compact` 命令仍然可用。适用于您希望显式控制何时进行压缩的情况。覆盖 [`autoCompactEnabled`](/docs/zh-CN/settings-reference#autocompactenabled) 设置 |448| `DISABLE_AUTO_COMPACT` | 设置为 `1` 可禁用接近上下文限制时的自动压缩。手动 `/compact` 命令仍然可用。适用于您希望明确控制何时进行压缩的情况。覆盖 [`autoCompactEnabled`](/docs/zh-CN/settings-reference#autocompactenabled) 设置 |

447| `DISABLE_COMPACT` | 设置为 `1` 可禁用所有压缩:包括自动压缩和手动 `/compact` 命令 |449| `DISABLE_COMPACT` | 设置为 `1` 可禁用所有压缩:包括自动压缩和手动 `/compact` 命令 |

448| `DISABLE_COST_WARNINGS` | 设置为 `1` 可禁用费用警告消息 |450| `DISABLE_COST_WARNINGS` | 设置为 `1` 可禁用费用警告消息 |

449| `DISABLE_DOCTOR_COMMAND` | 设置为 `1` 可隐藏 [`/doctor`](/docs/zh-CN/commands#all-commands) 设置检查 skill 及其 `/checkup` 别名。适用于不希望用户在会话中运行设置诊断的托管部署。不影响 `claude doctor` 终端命令。在 v2.1.205 之前,此变量会隐藏 `/doctor` 诊断界面命令 |451| `DISABLE_DOCTOR_COMMAND` | 设置为 `1` 可隐藏 [`/doctor`](/docs/zh-CN/commands#all-commands) 设置检查 skill 及其 `/checkup` 别名。适用于不希望用户在会话中运行设置诊断的托管部署。不影响 `claude doctor` 终端命令。在 v2.1.205 之前,此变量隐藏的是 `/doctor` 诊断屏幕命令 |

450| `DISABLE_ERROR_REPORTING` | 设置为任意非空值(例如 `1`)可选择退出错误报告。与大多数开/关变量不同,**将其设置为 `0` 或 `false` 仍会选择退出**;取消设置该变量即可重新开启错误报告 |452| `DISABLE_ERROR_REPORTING` | 设置为任何非空值(例如 `1`)可选择退出错误报告。与大多数开关变量不同,**将其设置为 `0` 或 `false` 仍会选择退出**;取消设置该变量即可重新启用错误报告 |

451| `DISABLE_EXTRA_USAGE_COMMAND` | 设置为 `1` 可隐藏 `/usage-credits` 命令,该命令允许用户购买超出速率限制的额外用量 |453| `DISABLE_EXTRA_USAGE_COMMAND` | 设置为 `1` 可隐藏允许用户购买超出速率限制的额外用量的 `/usage-credits` 命令 |

452| `DISABLE_FEEDBACK_COMMAND` | 设置为 `1` 可禁用 `/feedback` 命令和 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)。还会禁用 `/bug` 和 `/share`,它们通过相同的途径进行报告;在 v2.1.212 之前,它们是 `/feedback` 的别名,因此该命令在所有名称下都会被禁用。也接受旧名称 `DISABLE_BUG_COMMAND` |454| `DISABLE_FEEDBACK_COMMAND` | 设置为 `1` 可禁用 `/feedback` 命令和 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior)。同时也会禁用通过相同路径报告的 `/bug` 和 `/share`;在 v2.1.212 之前它们是 `/feedback` 的别名,因此该命令的所有名称都会被禁用。也接受旧名称 `DISABLE_BUG_COMMAND` |

453| `DISABLE_GROWTHBOOK` | 设置为 `1` 或 `true` 可禁用 GrowthBook 功能标志获取,并对每个标志使用代码中的默认值。这会导致 [Remote Control](/docs/zh-CN/remote-control#requirements) 以及其他[需要获取功能标志的功能](#features-that-need-feature-flag-fetching)不可用。将其设置为 `0` 或 `false` 会保持获取开启。除非同时设置了 `DISABLE_TELEMETRY`,否则遥测事件日志记录仍保持开启 |455| `DISABLE_GROWTHBOOK` | 设置为 `1` 或 `true` 可禁用 GrowthBook 功能标志获取,并对所有标志使用代码中的默认值。这会使 [Remote Control](/docs/zh-CN/remote-control#requirements) 以及其他[需要获取功能标志的功能](#features-that-need-feature-flag-fetching)不可用。将其设置为 `0` 或 `false` 会保持获取开启。除非同时设置了 `DISABLE_TELEMETRY`,否则遥测事件日志记录保持开启 |

454| `DISABLE_INSTALLATION_CHECKS` | 设置为 `1` 可禁用安装警告。仅在手动管理安装位置时使用,因为这可能会掩盖标准安装中的问题 |456| `DISABLE_INSTALLATION_CHECKS` | 设置为 `1` 可禁用安装警告。仅在手动管理安装位置时使用,因为这可能会掩盖标准安装中的问题 |

455| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | 设置为 `1` 可隐藏 `/install-github-app` 命令。使用第三方提供商(Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry)时已默认隐藏 |457| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | 设置为 `1` 可隐藏 `/install-github-app` 命令。使用第三方提供商(Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry)时已默认隐藏 |

456| `DISABLE_INTERLEAVED_THINKING` | 设置为 `1` 可阻止发送 interleaved-thinking beta 标头。适用于您的 LLM 网关或提供商不支持[交错思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking)的情况 |458| `DISABLE_INTERLEAVED_THINKING` | 设置为 `1` 可阻止发送 interleaved-thinking beta 标头。适用于您的 LLM 网关或提供商不支持[交错思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking)的情况 |


458| `DISABLE_LOGOUT_COMMAND` | 设置为 `1` 可隐藏 `/logout` 命令 |460| `DISABLE_LOGOUT_COMMAND` | 设置为 `1` 可隐藏 `/logout` 命令 |

459| `DISABLE_PROMPT_CACHING` | 设置为 `1` 可为所有模型禁用[提示缓存](/docs/zh-CN/prompt-caching#disable-prompt-caching)(优先于按模型的设置) |461| `DISABLE_PROMPT_CACHING` | 设置为 `1` 可为所有模型禁用[提示缓存](/docs/zh-CN/prompt-caching#disable-prompt-caching)(优先于按模型的设置) |

460| `DISABLE_PROMPT_CACHING_FABLE` | 设置为 `1` 可为 Fable 模型禁用提示缓存 |462| `DISABLE_PROMPT_CACHING_FABLE` | 设置为 `1` 可为 Fable 模型禁用提示缓存 |

461| `DISABLE_PROMPT_CACHING_HAIKU` | 设置为 `1` 可为[默认 Haiku 模型](/docs/zh-CN/prompt-caching#disable-prompt-caching)禁用提示缓存,无论它在何处运行 |463| `DISABLE_PROMPT_CACHING_HAIKU` | 设置为 `1` 可为[默认 Haiku 模型](/docs/zh-CN/prompt-caching#disable-prompt-caching)禁用提示缓存,无论其在何处运行 |

462| `DISABLE_PROMPT_CACHING_OPUS` | 设置为 `1` 可为[默认 Opus 模型](/docs/zh-CN/prompt-caching#disable-prompt-caching)禁用提示缓存 |464| `DISABLE_PROMPT_CACHING_OPUS` | 设置为 `1` 可为[默认 Opus 模型](/docs/zh-CN/prompt-caching#disable-prompt-caching)禁用提示缓存 |

463| `DISABLE_PROMPT_CACHING_SONNET` | 设置为 `1` 可为[默认 Sonnet 模型](/docs/zh-CN/prompt-caching#disable-prompt-caching)禁用提示缓存 |465| `DISABLE_PROMPT_CACHING_SONNET` | 设置为 `1` 可为[默认 Sonnet 模型](/docs/zh-CN/prompt-caching#disable-prompt-caching)禁用提示缓存 |

464| `DISABLE_TELEMETRY` | 设置为任意非空值(例如 `1`)可选择退出遥测。与大多数开/关变量不同,**将其设置为 `0` 或 `false` 仍会选择退出**;取消设置该变量即可重新开启遥测。遥测事件不包含代码、文件路径或 Bash 命令等用户数据。还会禁用[功能标志获取](#features-that-need-feature-flag-fetching)。请参见[为您的组织关闭遥测](/docs/zh-CN/managed-settings#turn-telemetry-off-for-your-organization) |466| `DISABLE_TELEMETRY` | 设置为任何非空值(例如 `1`)可选择退出遥测。与大多数开关变量不同,**将其设置为 `0` 或 `false` 仍会选择退出**;取消设置该变量即可重新启用遥测。遥测事件不包含代码、文件路径或 Bash 命令等用户数据。也会禁用[功能标志获取](#features-that-need-feature-flag-fetching)。请参阅[为您的组织关闭遥测](/docs/zh-CN/managed-settings#turn-telemetry-off-for-your-organization) |

465| `DISABLE_UPDATES` | 设置为 `1` 可阻止所有更新,包括手动执行的 `claude update` 和 `claude install`。比 `DISABLE_AUTOUPDATER` 更严格。适用于通过您自己的渠道分发 Claude Code 且用户不应自行更新的情况 |467| `DISABLE_UPDATES` | 设置为 `1` 可阻止所有更新,包括手动运行 `claude update` 和 `claude install`。比 `DISABLE_AUTOUPDATER` 更严格。适用于通过您自己的渠道分发 Claude Code 且不希望用户自行更新的情况 |

466| `DISABLE_UPGRADE_COMMAND` | 设置为 `1` 可隐藏 `/upgrade` 命令 |468| `DISABLE_UPGRADE_COMMAND` | 设置为 `1` 可隐藏 `/upgrade` 命令 |

467| `DO_NOT_TRACK` | 设置为 `1` 可选择退出遥测,效果与 `DISABLE_TELEMETRY` 相同,包括对[功能标志获取](#features-that-need-feature-flag-fetching)的影响。Claude Code 将此变量作为标准布尔值读取,因此 `0` 会保持遥测开启,并且会遵循这一被许多开发者 CLI 认可的跨工具约定 |469| `DO_NOT_TRACK` | 设置为 `1` 可选择退出遥测,效果与 `DISABLE_TELEMETRY` 相同,包括对[功能标志获取](#features-that-need-feature-flag-fetching)的影响。Claude Code 将此变量作为标准布尔值读取,因此 `0` 会保持遥测开启;它作为许多开发者 CLI 认可的跨工具约定而受到支持 |

468| `ENABLE_BETA_TRACING_DETAILED` | 设置为 `1`,并将 `BETA_TRACING_ENDPOINT` 设置为您的 OTLP/HTTP 收集器端点,即可开启[详细 beta 追踪](/docs/zh-CN/monitoring-usage#traces-beta),它会添加包含内容的 span 属性以及 `claude_code.hook` span。交互式 CLI 会话还要求您的组织已被列入该 beta 的允许列表。这两个变量在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中都会被忽略 |470| `ENABLE_BETA_TRACING_DETAILED` | 设置为 `1`,并将 `BETA_TRACING_ENDPOINT` 设置为您的 OTLP/HTTP 收集器端点,即可启用[详细 beta 追踪](/docs/zh-CN/monitoring-usage#traces-beta),它会添加携带内容的 span 属性和 `claude_code.hook` span。交互式 CLI 会话还要求您的组织已被列入该 beta 的允许名单。这两个变量在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中都会被忽略 |

469| `ENABLE_CLAUDEAI_MCP_SERVERS` | 设置为 `false` 可阻止 Claude Code 获取 [claude.ai MCP 服务器](/docs/zh-CN/mcp#use-mcp-servers-from-claude-ai)。对已登录用户默认启用。如需按项目或按组织禁用,请改为在设置中设置 [`disableClaudeAiConnectors`](/docs/zh-CN/settings-reference#disableclaudeaiconnectors) |471| `ENABLE_CLAUDEAI_MCP_SERVERS` | 设置为 `false` 可阻止 Claude Code 获取 [claude.ai MCP 服务器](/docs/zh-CN/mcp#use-mcp-servers-from-claude-ai)。对已登录用户默认启用。如需按项目或按组织禁用,请改为在设置中设置 [`disableClaudeAiConnectors`](/docs/zh-CN/settings-reference#disableclaudeaiconnectors) |

470| `ENABLE_PROMPT_CACHING_1H` | 设置为 `1` 可请求 1 小时的[提示缓存 TTL](/docs/zh-CN/prompt-caching#cache-lifetime),而不是默认的 5 分钟。适用于 API 密钥、[Amazon Bedrock](/docs/zh-CN/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai)、[Microsoft Foundry](/docs/zh-CN/microsoft-foundry) 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 用户。在包含用量范围内的订阅用户会在[主对话](/docs/zh-CN/prompt-caching#which-ttl-each-request-gets)上自动获得 1 小时 TTL。使用[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)的订阅用户可以设置此变量以保留 1 小时 TTL。1 小时缓存写入按更高费率计费。如需改为按请求类别选择 TTL,请使用 `CLAUDE_CODE_PROMPT_CACHE_TTL` 和 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`,它们优先于此变量 |472| `ENABLE_PROMPT_CACHING_1H` | 设置为 `1` 可请求 1 小时的[提示缓存 TTL](/docs/zh-CN/prompt-caching#cache-lifetime),而不是默认的 5 分钟。面向 API 密钥、[Amazon Bedrock](/docs/zh-CN/amazon-bedrock)、[Google Cloud's Agent Platform](/docs/zh-CN/google-vertex-ai)、[Microsoft Foundry](/docs/zh-CN/microsoft-foundry) 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 用户。订阅用户在包含的用量范围内会在[主对话](/docs/zh-CN/prompt-caching#which-ttl-each-request-gets)上自动获得 1 小时 TTL。正在使用[使用额度](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)的订阅用户可以设置此变量以保留 1 小时 TTL。1 小时缓存写入按更高的费率计费。如需改为按请求类别选择 TTL,请使用 `CLAUDE_CODE_PROMPT_CACHE_TTL` 和 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`,它们优先于此变量 |

471| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已弃用。请改用 `ENABLE_PROMPT_CACHING_1H` |473| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 已弃用。请改用 `ENABLE_PROMPT_CACHING_1H` |

472| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search)。未设置时,Claude Code 默认延迟加载所有 MCP 工具。但在 Google Cloud's Agent Platform 上早于 Claude 4.5 代的模型、托管在 Azure 上的 Microsoft Foundry 部署,以及 `ANTHROPIC_BASE_URL` 指向非第一方主机时,它仍会预先加载这些工具。`true` 始终延迟加载并发送 beta 标头,但上述 Agent Platform 模型和 Microsoft Foundry 部署除外;在不支持 `tool_reference` 的代理上,请求会失败。`auto` 在工具定义占上下文不超过 10% 时预先加载。`auto:N` 设置自定义阈值,例如 `auto:5` 表示 5%。`false` 预先加载所有工具。设置了 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 时,您自行设置的值会被忽略。在 v2.1.221 之前,除非您将此变量设置为 `true`,否则 Claude Code 会为 Google Cloud's Agent Platform 上的所有模型禁用工具搜索 |474| `ENABLE_TOOL_SEARCH` | 控制 [MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search)。未设置时,Claude Code 默认延迟加载所有 MCP 工具。但在早于 Claude 4.5 代的 Google Cloud's Agent Platform 模型上、在托管于 Azure 的 Microsoft Foundry 部署上,以及当 `ANTHROPIC_BASE_URL` 指向非第一方主机时,它仍会预先加载这些工具。`true` 始终延迟加载并发送 beta 标头,但上述 Agent Platform 模型和 Microsoft Foundry 部署除外;在不支持 `tool_reference` 的代理上,请求会失败。`auto` 在工具定义占用不超过上下文的 10% 时预先加载。`auto:N` 设置自定义阈值,例如 `auto:5` 表示 5%。`false` 预先加载所有工具。设置了 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 时,您自行设置的值会被忽略。在 v2.1.221 之前,除非将此变量设置为 `true`,否则 Claude Code 会在 Google Cloud's Agent Platform 上为所有模型禁用工具搜索 |

473| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 设置为任意非空值(例如 `1`)后,在未配置备用模型时,Claude Code 会对所有模型在反复出现过载错误时停止重试。与大多数开/关变量不同,**将其设置为 `0` 或 `false` 仍会启用此行为**;取消设置该变量即可恢复默认的重试行为。如果不设置,当您使用 API 密钥或[第三方提供商](/docs/zh-CN/third-party-integrations)而非 Claude 订阅进行身份验证时,Claude Code 仅会对其识别为 Opus、Fable 或 Mythos 的模型以这种方式停止重试。在 Claude Code v2.1.160 或更高版本中,任何主模型反复出现过载错误时,Claude Code 都会切换到您配置的[备用模型链](/docs/zh-CN/model-config#fallback-model-chains),因此此变量不影响切换到备用模型 |475| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 设置为任何非空值(例如 `1`),可使 Claude Code 在未配置备用模型时,对所有模型遇到重复过载错误时停止重试。与大多数开关变量不同,**将其设置为 `0` 或 `false` 仍会启用此行为**;取消设置该变量即可恢复默认重试行为。如果不设置,当您使用 API 密钥或[第三方提供商](/docs/zh-CN/third-party-integrations)而非 Claude 订阅进行身份验证时,Claude Code 仅会在其识别为 Opus、Fable 或 Mythos 的模型上以这种方式停止重试。在 Claude Code v2.1.160 或更高版本上,Claude Code 会在任何主模型遇到重复过载错误时切换到您配置的[备用模型链](/docs/zh-CN/model-config#fallback-model-chains),因此此变量不会影响切换到备用模型 |

474| `FORCE_AUTOUPDATE_PLUGINS` | 设置为 `1` 可在主自动更新程序通过 `DISABLE_AUTOUPDATER` 被禁用时仍强制插件自动更新 |476| `FORCE_AUTOUPDATE_PLUGINS` | 设置为 `1` 可在通过 `DISABLE_AUTOUPDATER` 禁用主自动更新程序的情况下,仍强制插件自动更新 |

475| `FORCE_HYPERLINK` | 当您的终端支持可点击的 OSC 8 超链接但未被自动检测到时,设置为 `1` 可启用它们,设置为 `0` 可禁用它们。未设置时,Claude Code 仅在检测到终端支持时才启用超链接。Claude Code 将此值解析为数字而非布尔值,因此 `false`、`no` 或 `off` 等值会启用超链接,而不是禁用。即使 Claude Code 无法检测到终端支持(例如通过 SSH 连接时),页脚的 [PR 或合并请求徽章](/docs/zh-CN/interactive-mode#pr-review-status)也会渲染为超链接。设置为 `0` 可将徽章渲染为纯文本 |477| `FORCE_HYPERLINK` | 当您的终端支持可点击的 OSC 8 超链接但未被自动检测到时,设置为 `1` 可启用它们;设置为 `0` 可禁用它们。未设置时,Claude Code 仅在检测到终端支持时启用超链接。Claude Code 将此值解析为数字而非布尔值,因此 `false`、`no` 或 `off` 等值会启用超链接,而不是禁用。即使 Claude Code 无法检测到终端支持(例如通过 SSH 时),底部的 [PR 或合并请求徽章](/docs/zh-CN/interactive-mode#pr-review-status)也会渲染为超链接。设置为 `0` 可将该徽章渲染为纯文本 |

476| `FORCE_PROMPT_CACHING_5M` | 设置为 `1` 可强制使用 5 分钟的提示缓存 TTL,即使原本会应用 1 小时 TTL。覆盖 `CLAUDE_CODE_PROMPT_CACHE_TTL`、`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`、`ENABLE_PROMPT_CACHING_1H` 以及 `promptCacheTtl` 和 `subagentPromptCacheTtl` 设置 |478| `FORCE_PROMPT_CACHING_5M` | 设置为 `1` 可强制使用 5 分钟提示缓存 TTL,即使原本会应用 1 小时 TTL。覆盖 `CLAUDE_CODE_PROMPT_CACHE_TTL`、`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`、`ENABLE_PROMPT_CACHING_1H` 以及 `promptCacheTtl` 和 `subagentPromptCacheTtl` 设置 |

477| `HTTP_PROXY` | 为网络连接指定 HTTP 代理服务器 |479| `HTTP_PROXY` | 为网络连接指定 HTTP 代理服务器 |

478| `HTTPS_PROXY` | 为网络连接指定 HTTPS 代理服务器 |480| `HTTPS_PROXY` | 为网络连接指定 HTTPS 代理服务器 |

479| `IS_DEMO` | 设置为任意非空值(例如 `1`)可启用演示模式:在标题栏和 `/status` 输出中隐藏您的电子邮件和组织名称,并跳过新手引导。与大多数开/关变量不同,**将其设置为 `0` 或 `false` 仍会启用演示模式**;取消设置该变量即可将其关闭。适用于直播或录制会话时 |481| `IS_DEMO` | 设置为任何非空值(例如 `1`)可启用演示模式:在标题栏和 `/status` 输出中隐藏您的电子邮件和组织名称,并跳过新手引导。与大多数开关变量不同,**将其设置为 `0` 或 `false` 仍会启用演示模式**;取消设置该变量即可将其关闭。适用于直播或录制会话 |

480| `MAX_MCP_OUTPUT_TOKENS` | MCP 工具响应中允许的最大 token 数(默认:25000)。当输出超过 10,000 个 token 时,Claude Code 会显示警告。声明了 [`anthropic/maxResultSizeChars`](/docs/zh-CN/mcp#raise-the-limit-for-a-specific-tool) 的工具会改为对文本内容使用该字符限制,但这些工具返回的图像内容仍受此变量约束。对于没有该注解的工具,超过 50,000 个字符的成功文本结果会被[保存到文件](/docs/zh-CN/mcp#mcp-output-limits-and-warnings),与此变量无关 |482| `MAX_MCP_OUTPUT_TOKENS` | MCP 工具响应中允许的最大 token 数(默认:25000)。当输出超过 10,000 个 token 时,Claude Code 会显示警告。声明了 [`anthropic/maxResultSizeChars`](/docs/zh-CN/mcp#raise-the-limit-for-a-specific-tool) 的工具对文本内容改用该字符限制,但这些工具返回的图像内容仍受此变量约束。对于没有该注解的工具,超过 50,000 个字符的成功文本结果无论此变量如何都会被[保存到文件](/docs/zh-CN/mcp#mcp-output-limits-and-warnings) |

481| `MAX_STRUCTURED_OUTPUT_RETRIES` | 在使用 `-p` 标志的非交互模式下,当模型响应未通过 [`--json-schema`](/docs/zh-CN/cli-reference#cli-flags) 校验时,Claude Code 允许的尝试次数;在达到该次数的失败尝试且没有有效输出后,运行将失败。当[工作流](/docs/zh-CN/workflows)子代理的结构化输出未通过校验时,同样适用此上限。默认值为 5,即一次首次尝试加四次重试 |483| `MAX_STRUCTURED_OUTPUT_RETRIES` | 在使用 `-p` 标志的非交互模式下,当模型的响应未能通过 [`--json-schema`](/docs/zh-CN/cli-reference#cli-flags) 验证时,Claude Code 允许的尝试次数;达到该失败次数且没有有效输出后,运行将失败。当[工作流](/docs/zh-CN/workflows)子代理的结构化输出验证失败时,也适用相同的上限。默认为 5,即一次首次尝试加四次重试 |

482| `MAX_THINKING_TOKENS` | [扩展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)的固定 token 预算。Claude Code 会将其上限设为比请求的最大输出 token 数少一个 token,且绝不低于 1,024。关于该限制的设置方式,请参见 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`。未设置且已启用思考时,支持[自适应推理](/docs/zh-CN/model-config#adjust-effort-level)的模型会自行选择思考深度,其他模型则使用该上限。设置为 `0` 可在 Anthropic API 上禁用思考,但 Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 模型除外,这些模型无法关闭思考。在[第三方提供商](/docs/zh-CN/third-party-integrations)上,`0` 会改为省略 `thinking` 参数。在 Anthropic API 上关闭思考后,对于 Claude Code 已知[不接受该组合](/docs/zh-CN/errors#effort-isnt-available-with-thinking-turned-off)的模型(例如 Opus 5),Claude Code 会发送 effort `high`,而不是更高的级别。对于正值,Claude Code 在自适应推理模型上会忽略数值本身,除非 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 关闭了自适应推理 |484| `MAX_THINKING_TOKENS` | [扩展思考](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)的固定 token 预算。Claude Code 将其上限设为比请求的最大输出 token 数少一个 token,且从不低于 1,024。有关该限制如何设置,请参阅 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`。未设置且启用了思考时,具有[自适应推理](/docs/zh-CN/model-config#adjust-effort-level)的模型会自行选择思考深度,其他模型则使用上限值。设置为 `0` 可在 Anthropic API 上禁用思考,但 Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 模型除外,这些模型无法关闭思考。在[第三方提供商](/docs/zh-CN/third-party-integrations)上,`0` 会改为省略 `thinking` 参数。在 Anthropic API 上关闭思考后,对于 Claude Code 已知[不接受该组合](/docs/zh-CN/errors#effort-isnt-available-with-thinking-turned-off)的模型(例如 Opus 5),Claude Code 会发送 effort `high` 而不是更高的级别。对于正值,Claude Code 在自适应推理模型上会忽略该数值本身,除非 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` 关闭了自适应推理 |

483| `MCP_CLIENT_SECRET` | 用于需要[预配置凭据](/docs/zh-CN/mcp#use-pre-configured-oauth-credentials)的 MCP 服务器的 OAuth 客户端密钥。使用 `--client-secret` 添加服务器时可避免交互式提示 |485| `MCP_CLIENT_SECRET` | 用于需要[预配置凭据](/docs/zh-CN/mcp#use-pre-configured-oauth-credentials)的 MCP 服务器的 OAuth 客户端密钥。使用 `--client-secret` 添加服务器时可避免交互式提示 |

484| `MCP_CONNECTION_NONBLOCKING` | 控制启动时是否在第一次查询之前等待 MCP 服务器连接。MCP 启动默认是非阻塞的:服务器在后台连接,其工具在连接完成后即可使用。设置为 `0` 可让 Claude Code 在第一次查询之前等待服务器连接。配置了 [`alwaysLoad: true`](/docs/zh-CN/mcp#exempt-a-server-from-deferral) 的服务器无论如何仍会让启动等待,除非它们由[发现缓存](/docs/zh-CN/mcp#server-status-detail)提供,因为构建第一个提示词时必须已存在它们的工具。在未使用 `--input-format stream-json` 的非交互模式(`-p`)下,无论此变量如何设置,Claude Code 也会在第一轮之前等待仍处于待定状态的服务器。当您显式传入 [`--mcp-config`](/docs/zh-CN/cli-reference#cli-flags) 时,等待的截止时间更长;关于已缓存服务器的例外情况,请参见该标志的条目 |486| `MCP_CONNECTION_NONBLOCKING` | 控制启动时是否在第一次查询之前等待 MCP 服务器连接。MCP 启动默认为非阻塞:服务器在后台连接,其工具在连接完成后即可使用。设置为 `0` 可使 Claude Code 在第一次查询之前等待服务器连接。配置了 [`alwaysLoad: true`](/docs/zh-CN/mcp#exempt-a-server-from-deferral) 的服务器无论如何仍会使启动等待,除非它们由[发现缓存](/docs/zh-CN/mcp#server-status-detail)提供,因为构建第一个提示词时必须存在它们的工具。在不带 `--input-format stream-json` 的非交互模式(`-p`)下,无论此变量如何,Claude Code 也会在第一个轮次之前等待仍在挂起的服务器。当您显式传入 [`--mcp-config`](/docs/zh-CN/cli-reference#cli-flags) 时,等待的截止时间更长;有关已缓存服务器的例外情况,请参阅该标志的条目 |

485| `MCP_CONNECT_TIMEOUT_MS` | 阻塞式 MCP 启动在对工具列表进行快照之前等待连接批次的时长,以毫秒为单位(默认:5000)。在 `MCP_CONNECTION_NONBLOCKING=0` 时或对于标记了 [`alwaysLoad: true`](/docs/zh-CN/mcp#exempt-a-server-from-deferral) 的服务器适用。到截止时间时仍处于待定状态的服务器会继续在后台连接。与 `MCP_TIMEOUT` 不同,后者限制的是单个服务器的连接尝试 |487| `MCP_CONNECT_TIMEOUT_MS` | 阻塞式 MCP 启动在对工具列表进行快照之前等待连接批次的时长,以毫秒为单位(默认:5000)。在 `MCP_CONNECTION_NONBLOCKING=0` 时或对标记为 [`alwaysLoad: true`](/docs/zh-CN/mcp#exempt-a-server-from-deferral) 的服务器适用。在截止时间时仍处于挂起状态的服务器会继续在后台连接。与 `MCP_TIMEOUT` 不同,后者限制的是单个服务器的连接尝试 |

486| `MCP_DISCOVERY_CACHE` | 开启或关闭 [MCP 发现缓存](/docs/zh-CN/mcp#server-status-detail)。开启缓存后,您之前使用过的远程 HTTP 或 SSE 服务器可以显示 [`cached` 状态](/docs/zh-CN/mcp#server-status-detail),并且 Claude Code 会在其第一次工具调用时而不是在启动时连接它。除非逐步推出已为您的账户启用该缓存,否则缓存默认关闭。设置为 `1` 可将其开启,设置为 `0` 可在推出已启用的情况下仍保持关闭。在 v2.1.238 之前,缓存默认开启。`cached` 状态需要 Claude Code v2.1.221 或更高版本 |488| `MCP_DISCOVERY_CACHE` | 开启或关闭 [MCP 发现缓存](/docs/zh-CN/mcp#server-status-detail)。开启缓存后,您以前使用过的远程 HTTP 或 SSE 服务器可以显示 [`cached` 状态](/docs/zh-CN/mcp#server-status-detail),并且 Claude Code 会在其第一次工具调用时而非启动时连接它。除非逐步推出已为您的账户启用该缓存,否则该缓存默认关闭。设置为 `1` 可将其开启,设置为 `0` 可在推出已启用它的情况下仍保持关闭。在 v2.1.238 之前,该缓存默认开启。`cached` 状态需要 Claude Code v2.1.221 或更高版本 |

487| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | [发现缓存](/docs/zh-CN/mcp#server-status-detail)条目的最长存在时间,以秒为单位 (默认:14400,即 4 小时)。在启动时,如果条目早于此时长,Claude Code 会丢弃它并在启动时连接该服务器,与关闭缓存时的行为相同。Claude Code 将该值上限设为 7 天。在 v2.1.238 之前,默认值为 86400,即 24 小时,并且 Claude Code 不限制该值 |489| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | [发现缓存](/docs/zh-CN/mcp#server-status-detail)条目的最大存留时间,以秒为单位(默认:14400,即 4 小时)。在启动时,如果条目早于此时长,Claude Code 会丢弃它并在启动时连接服务器,与关闭缓存时的行为相同。Claude Code 将该值上限设为 7 天。在 v2.1.238 之前,默认值为 86400,即 24 小时,且 Claude Code 不限制该值 |

488| `MCP_DISCOVERY_CACHE_STRIKES` | 在启动时,如果某个[发现缓存](/docs/zh-CN/mcp#server-status-detail)条目早于 `MCP_DISCOVERY_CACHE_TTL_S`,Claude Code 会在后台刷新它。此变量设置连续多少次刷新失败后,Claude Code 会丢弃该条目并改为在下次启动时连接该服务器(默认:1)。如果您的网络连接偶尔中断,请调高此值,以免一次刷新失败就丢弃条目。需要 Claude Code v2.1.238 或更高版本 |490| `MCP_DISCOVERY_CACHE_STRIKES` | 在启动时,如果[发现缓存](/docs/zh-CN/mcp#server-status-detail)条目早于 `MCP_DISCOVERY_CACHE_TTL_S`,Claude Code 会在后台刷新它。此变量设置在 Claude Code 丢弃该条目并改为在下次启动时连接服务器之前,允许连续失败的刷新次数(默认:1)。如果您的网络连接偶尔中断,可以调高此值,这样一次刷新失败就不会丢弃该条目。需要 Claude Code v2.1.238 或更高版本 |

489| `MCP_DISCOVERY_CACHE_TTL_S` | Claude Code 在不刷新的情况下使用[发现缓存](/docs/zh-CN/mcp#server-status-detail)条目的秒数(默认:900)。在启动时,如果条目早于此时长,Claude Code 仍会使用它,但会在后台刷新。一旦条目早于 `MCP_DISCOVERY_CACHE_MAX_STALE_S`,Claude Code 会改为丢弃它。Claude Code 将该值上限设为 `MCP_DISCOVERY_CACHE_MAX_STALE_S`,默认为 4 小时。在 v2.1.238 之前,Claude Code 不限制该值 |491| `MCP_DISCOVERY_CACHE_TTL_S` | Claude Code 在不刷新的情况下使用[发现缓存](/docs/zh-CN/mcp#server-status-detail)条目的秒数(默认:900)。在启动时,如果条目早于此时长,Claude Code 仍会使用它,但会在后台刷新。一旦条目早于 `MCP_DISCOVERY_CACHE_MAX_STALE_S`,Claude Code 会改为丢弃它。Claude Code 将该值上限设为 `MCP_DISCOVERY_CACHE_MAX_STALE_S`,默认为 4 小时。在 v2.1.238 之前,Claude Code 不限制该值 |

490| `MCP_OAUTH_CALLBACK_PORT` | OAuth 重定向回调的固定端口,在使用[预配置凭据](/docs/zh-CN/mcp#use-pre-configured-oauth-credentials)添加 MCP 服务器时可作为 `--callback-port` 的替代方案 |492| `MCP_OAUTH_CALLBACK_PORT` | OAuth 重定向回调的固定端口,在使用[预配置凭据](/docs/zh-CN/mcp#use-pre-configured-oauth-credentials)添加 MCP 服务器时可作为 `--callback-port` 的替代方式 |

491| `MCP_PROTOCOL_NEGOTIATION` | 仅在 [v2 MCP 客户端运行时](/docs/zh-CN/mcp#mcp-client-runtimes)上,控制 Claude Code 是否探测服务器是否支持 MCP 协议修订版 2026-07-28。设置为 `auto` 可探测 HTTP、claude.ai 连接器和 stdio 服务器,设置为 `legacy` 则不探测任何服务器。未设置该变量时,Claude Code 会探测 [MCP 客户端运行时](/docs/zh-CN/mcp#mcp-client-runtimes)中所述的服务器。任何其他值都会被忽略,并在调试日志中记录警告。需要 Claude Code v2.1.221 或更高版本 |493| `MCP_PROTOCOL_NEGOTIATION` | 仅在 [v2 MCP 客户端运行时](/docs/zh-CN/mcp#mcp-client-runtimes)上有效,控制 Claude Code 是否探测服务器是否支持 MCP 协议修订版 2026-07-28。设置为 `auto` 可探测 HTTP、claude.ai 连接器和 stdio 服务器,设置为 `legacy` 则不探测任何服务器。未设置该变量时,Claude Code 会探测 [MCP 客户端运行时](/docs/zh-CN/mcp#mcp-client-runtimes)中所述的服务器。任何其他值都会被忽略,并在调试日志中记录警告。需要 Claude Code v2.1.221 或更高版本 |

492| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的远程 MCP 服务器(HTTP/SSE)的最大数量(默认:20) |494| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的远程 MCP 服务器(HTTP/SSE)的最大数量(默认:20) |

493| `MCP_SDK_GENERATION` | 固定此进程连接 MCP 服务器时所使用的 [MCP 客户端运行时](/docs/zh-CN/mcp#mcp-client-runtimes):`v1` 基于 MCP TypeScript SDK 1.x 构建,`v2` 基于 [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/) 构建。未设置该变量时,从该部分列出的版本开始,Claude Code 使用 v2。在 Claude Code v2.1.221 或更高版本中,v2 运行时会检查 MCP OAuth 服务器在其授权响应中返回的 issuer,如果不匹配,登录会失败并显示以 `Issuer mismatch in authorization response` 开头的错误。v1 运行时不执行此检查。如果您设置了无法识别的值,Claude Code 会忽略它并在调试日志中写入警告。Claude Code 每个进程只读取一次该值。需要 Claude Code v2.1.218 或更高版本 |495| `MCP_SDK_GENERATION` | 固定此进程用于连接 MCP 服务器的 [MCP 客户端运行时](/docs/zh-CN/mcp#mcp-client-runtimes):`v1`,基于 MCP TypeScript SDK 1.x 构建;或 `v2`,基于 [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/) 构建。未设置该变量时,Claude Code 从该部分列出的版本起使用 v2。在 Claude Code v2.1.221 或更高版本上,v2 运行时会检查 MCP OAuth 服务器在其授权响应中返回的颁发者,不匹配时会以一条以 `Issuer mismatch in authorization response` 开头的错误使登录失败。v1 运行时不执行此检查。如果您设置了无法识别的值,Claude Code 会忽略它并在调试日志中写入警告。Claude Code 每个进程只读取一次该值。需要 Claude Code v2.1.218 或更高版本 |

494| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的本地 MCP 服务器(stdio)的最大数量(默认:3) |496| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 启动期间并行连接的本地 MCP 服务器(stdio)的最大数量(默认:3) |

495| `MCP_TIMEOUT` | MCP 服务器启动的超时时间,以毫秒为单位(默认:30000,即 30 秒) |497| `MCP_TIMEOUT` | MCP 服务器启动的超时时间,以毫秒为单位(默认:30000,即 30 秒) |

496| `MCP_TOOL_TIMEOUT` | MCP 工具执行的超时时间,以毫秒为单位(默认:100000000,约 28 小时)。对于 HTTP、SSE 或 claude.ai 连接器服务器,每个请求默认还会在 60 秒后超时;将此变量或按服务器的 `timeout` 设置为大于 60000 可提高该单请求限制。较低的值仍会缩短整体工具执行超时时间,但单请求限制保持为 60 秒。Stdio 和 WebSocket 服务器没有单请求计时器。`.mcp.json` 中按服务器的 `timeout` 字段会为该服务器覆盖此值。至少为 1000 的按服务器 `timeout` 还会设置该服务器工具调用的最小空闲窗口,因此 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` 绝不会更早地中止它们;此下限需要 Claude Code v2.1.203 或更高版本。对于环境变量,低于 1000 的值会被提升为一秒;对于按服务器字段,低于 1000 的值会被忽略 |498| `MCP_TOOL_TIMEOUT` | MCP 工具执行的超时时间,以毫秒为单位(默认:100000000,约 28 小时)。对于 HTTP、SSE 或 claude.ai 连接器服务器,每个请求默认还会在 60 秒后超时;将此变量或按服务器的 `timeout` 设置为大于 60000 可提高该单请求限制。较低的值仍会缩短整体工具执行超时时间,但单请求限制保持为 60 秒。Stdio 和 WebSocket 服务器没有单请求计时器。`.mcp.json` 中按服务器的 `timeout` 字段会为该服务器覆盖此值。按服务器设置的 `timeout` 至少为 1000 时,还会为该服务器的工具调用设置最小空闲窗口,因此 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` 绝不会更早地中止它们;此下限需要 Claude Code v2.1.203 或更高版本。对于环境变量,低于 1000 的值会被提升为一秒;对于按服务器的字段,低于 1000 的值会被忽略 |

497| `NO_PROXY` | 请求将直接发往、绕过代理的域名和 IP 列表 |499| `NO_PROXY` | 请求将直接发往的域名和 IP 列表,绕过代理 |

498| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 标准 OpenTelemetry SDK 的属性值长度限制。Claude Code 会将包含内容的遥测属性上限设为此值与 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 中较小的一个,以使截断标记保持在 SDK 限制之内。Claude Code 以相同方式读取 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 和 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 变体,并且所设置的最小值适用于所有信号。需要 Claude Code v2.1.214 或更高版本。请参见[监控](/docs/zh-CN/monitoring-usage#common-configuration-variables) |500| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 标准 OpenTelemetry SDK 对属性值长度的限制。Claude Code 将携带内容的遥测属性上限设为此值与 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 中的较小者,以使截断标记保持在 SDK 限制之内。Claude Code 以相同方式读取 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 和 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 变体,并将已设置的最小值应用于所有信号。需要 Claude Code v2.1.214 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage#common-configuration-variables) |

499| `OTEL_LOG_ASSISTANT_RESPONSES` | 设置为 `1` 可在 `assistant_response` OpenTelemetry 日志事件中包含模型的回复文本。未设置时,Claude Code 改为使用 `OTEL_LOG_USER_PROMPTS` 的值。设置为 `0` 可在设置了 `OTEL_LOG_USER_PROMPTS` 的情况下仍保持回复被脱敏。请在 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略。需要 Claude Code v2.1.193 或更高版本。请参见[监控](/docs/zh-CN/monitoring-usage#assistant-response-event) |501| `OTEL_LOG_ASSISTANT_RESPONSES` | 设置为 `1` 可在 `assistant_response` OpenTelemetry 日志事件中包含模型的回复文本。未设置时,Claude Code 改用 `OTEL_LOG_USER_PROMPTS` 的值。设置为 `0` 可在设置了 `OTEL_LOG_USER_PROMPTS` 的情况下仍保持回复被隐去。请在您的 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略。需要 Claude Code v2.1.193 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage#assistant-response-event) |

500| `OTEL_LOG_MANAGED_SETTINGS` | 设置为 `1` 可将脱敏后的托管设置以及脱敏前设置的 SHA-256 摘要添加到 `managed_settings_resolved` OpenTelemetry 日志事件中。默认禁用。请在 shell、用户设置或托管设置中设置它;项目设置或本地设置中的值不会将其开启。需要 Claude Code v2.1.274 或更高版本。请参见[监控](/docs/zh-CN/monitoring-usage#managed-settings-resolved-event) |502| `OTEL_LOG_MANAGED_SETTINGS` | 设置为 `1` 可将已隐去敏感信息的托管设置以及隐去前设置的 SHA-256 摘要添加到 `managed_settings_resolved` OpenTelemetry 日志事件中。默认禁用。请在您的 shell、用户设置或托管设置中设置它;项目设置或本地设置中的值不会将其开启。需要 Claude Code v2.1.274 或更高版本。请参阅[监控](/docs/zh-CN/monitoring-usage#managed-settings-resolved-event) |

501| `OTEL_LOG_RAW_API_BODIES` | 将 Anthropic Messages API 请求和响应 JSON 作为 `api_request_body` / `api_response_body` 日志事件发出。设置为 `1` 可发出按内容限制截断的内联正文,设置为 `file:<dir>` 可将未截断的正文写入磁盘并改为发出 `body_ref` 路径。`CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 用于配置内容限制,默认为 60 KB。默认禁用;正文包含完整的对话历史。请在 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略。请参见[监控](/docs/zh-CN/monitoring-usage#api-request-body-event) |503| `OTEL_LOG_RAW_API_BODIES` | 将 Anthropic Messages API 请求和响应 JSON 作为 `api_request_body` / `api_response_body` 日志事件发出。设置为 `1` 可内联发出在内容限制处截断的正文,或设置为 `file:<dir>` 以将未截断的正文写入磁盘并改为发出 `body_ref` 路径。`CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 用于配置内容限制,默认为 60 KB。默认禁用;正文包含完整的对话历史。请在您的 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略。请参阅[监控](/docs/zh-CN/monitoring-usage#api-request-body-event) |

502| `OTEL_LOG_TOOL_CONTENT` | 设置为 `1` 可在 `tool.output` OpenTelemetry span 事件中包含工具内容。span 属性在[各自的开关](/docs/zh-CN/monitoring-usage#new-context-gates)下携带工具内容。需要[追踪](/docs/zh-CN/monitoring-usage#traces-beta)。默认禁用以保护敏感数据。请在 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略,该部分所述的关闭值除外。请参见[监控](/docs/zh-CN/monitoring-usage#tool-output-span-event) |504| `OTEL_LOG_TOOL_CONTENT` | 设置为 `1` 可在 `tool.output` OpenTelemetry span 事件中包含工具内容。Span 属性在[各自的开关](/docs/zh-CN/monitoring-usage#new-context-gates)下携带工具内容。需要启用[追踪](/docs/zh-CN/monitoring-usage#traces-beta)。默认禁用以保护敏感数据。请在您的 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略,但该部分所述的关闭值除外。请参阅[监控](/docs/zh-CN/monitoring-usage#tool-output-span-event) |

503| `OTEL_LOG_TOOL_DETAILS` | 设置为 `1` 可在 OpenTelemetry 指标、追踪和日志中包含工具输入参数;MCP 服务器名称;用户编写的工作流名称;工具失败时的原始错误字符串;`api_refusal` 事件上的拒绝 `category`;[费用和 token 指标](/docs/zh-CN/monitoring-usage#cost-counter)上真实的 Agent、skill、插件和 MCP 服务器名称;以及其他工具详细信息。默认禁用以保护个人身份信息。请在 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略,该部分所述的关闭值除外。请参见[监控](/docs/zh-CN/monitoring-usage) |505| `OTEL_LOG_TOOL_DETAILS` | 设置为 `1` 可在 OpenTelemetry 指标、追踪和日志中包含工具输入参数;MCP 服务器名称;用户编写的工作流名称;工具失败时的原始错误字符串;`api_refusal` 事件上的拒绝 `category`;[费用和 token 指标](/docs/zh-CN/monitoring-usage#cost-counter)上真实的 Agent、skill、插件和 MCP 服务器名称;以及其他工具详细信息。默认禁用以保护 PII。请在您的 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略,但该部分所述的关闭值除外。请参阅[监控](/docs/zh-CN/monitoring-usage) |

504| `OTEL_LOG_USER_PROMPTS` | 设置为 `1` 可在 OpenTelemetry 追踪和日志中包含用户提示词文本。默认禁用(提示词会被脱敏)。请在 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略,该部分所述的关闭值除外。请参见[监控](/docs/zh-CN/monitoring-usage) |506| `OTEL_LOG_USER_PROMPTS` | 设置为 `1` 可在 OpenTelemetry 追踪和日志中包含用户提示词文本。默认禁用(提示词会被隐去)。请在您的 shell、用户设置或托管设置中设置它。在[项目设置和本地设置](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env)中会被忽略,但该部分所述的关闭值除外。请参阅[监控](/docs/zh-CN/monitoring-usage) |

505| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 设置为 `false` 可从指标属性中排除账户 UUID(默认:包含)。请参见[监控](/docs/zh-CN/monitoring-usage) |507| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 设置为 `false` 可从指标属性中排除账户 UUID(默认:包含)。请参阅[监控](/docs/zh-CN/monitoring-usage) |

506| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 设置为 `true` 可在指标属性中包含会话入口点(默认:排除)。在 v2.1.152 中添加。请参见[监控](/docs/zh-CN/monitoring-usage) |508| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 设置为 `true` 可在指标属性中包含会话入口点(默认:排除)。在 v2.1.152 中添加。请参阅[监控](/docs/zh-CN/monitoring-usage) |

507| `OTEL_METRICS_INCLUDE_REPOSITORY` | 设置为 `true` 可为 OpenTelemetry 指标和事件添加标识会话所在仓库的 `vcs.*` 属性(默认:排除)。需要 Claude Code v2.1.269 或更高版本。请参见[仓库属性](/docs/zh-CN/monitoring-usage#repository-attributes) |509| `OTEL_METRICS_INCLUDE_REPOSITORY` | 设置为 `true` 可为 OpenTelemetry 指标和事件添加标识会话所在仓库的 `vcs.*` 属性(默认:排除)。需要 Claude Code v2.1.269 或更高版本。请参阅[仓库属性](/docs/zh-CN/monitoring-usage#repository-attributes) |

508| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | 从 v2.1.161 起,Claude Code 会将 `OTEL_RESOURCE_ATTRIBUTES` 键附加到指标数据点标签上。设置为 `false` 可将其排除(默认:包含)。请参见[监控](/docs/zh-CN/monitoring-usage#multi-team-organization-support) |510| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | 从 v2.1.161 起,Claude Code 会将 `OTEL_RESOURCE_ATTRIBUTES` 键附加到指标数据点标签上。设置为 `false` 可将其排除(默认:包含)。请参阅[监控](/docs/zh-CN/monitoring-usage#multi-team-organization-support) |

509| `OTEL_METRICS_INCLUDE_SESSION_ID` | 设置为 `false` 可从指标属性中排除会话 ID(默认:包含)。请参见[监控](/docs/zh-CN/monitoring-usage) |511| `OTEL_METRICS_INCLUDE_SESSION_ID` | 设置为 `false` 可从指标属性中排除会话 ID(默认:包含)。请参阅[监控](/docs/zh-CN/monitoring-usage) |

510| `OTEL_METRICS_INCLUDE_VERSION` | 设置为 `true` 可在指标属性中包含 Claude Code 版本(默认:排除)。请参见[监控](/docs/zh-CN/monitoring-usage) |512| `OTEL_METRICS_INCLUDE_VERSION` | 设置为 `true` 可在指标属性中包含 Claude Code 版本(默认:排除)。请参阅[监控](/docs/zh-CN/monitoring-usage) |

511| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | 覆盖向 [Skill 工具](/docs/zh-CN/skills#control-who-invokes-a-skill)显示的 skill 元数据的字符预算。该预算按上下文窗口的 1% 动态缩放,回退值为 8,000 个字符。保留旧名称是为了向后兼容 |513| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | 覆盖向 [Skill 工具](/docs/zh-CN/skills#control-who-invokes-a-skill)显示的 skill 元数据的字符预算。该预算按上下文窗口的 1% 动态缩放,回退值为 8,000 个字符。出于向后兼容保留了旧名称 |

512| `TASK_MAX_OUTPUT_LENGTH` | 已在 v2.1.277 中与其所限定大小的 `TaskOutput` 工具一起移除,现在不起任何作用。以前用于设置 `TaskOutput` 工具保留的[后台任务](/docs/zh-CN/tools-reference#background-commands)输出的最大字符数。Claude 现在改用 `Read` 读取后台任务的输出文件 |514| `TASK_MAX_OUTPUT_LENGTH` | 已在 v2.1.277 中与其所控制大小的 `TaskOutput` 工具一并移除,现在不起任何作用。以前用于设置 `TaskOutput` 工具保留的[后台任务](/docs/zh-CN/tools-reference#background-commands)输出的最大字符数。Claude 现在改用 `Read` 读取后台任务的输出文件 |

513| `USE_BUILTIN_RIPGREP` | 设置为 `0` 可使用系统安装的 `rg`,而不是 Claude Code 自带的 `rg` |515| `USE_BUILTIN_RIPGREP` | 设置为 `0` 可使用系统安装的 `rg`,而不是 Claude Code 自带的 `rg` |

514| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | 使用 Google Cloud's Agent Platform 时覆盖 Claude 3.5 Haiku 的区域 |516| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | 使用 Google Cloud's Agent Platform 时覆盖 Claude 3.5 Haiku 的区域 |

515| `VERTEX_REGION_CLAUDE_3_5_SONNET` | 使用 Google Cloud's Agent Platform 时覆盖 Claude 3.5 Sonnet 的区域 |517| `VERTEX_REGION_CLAUDE_3_5_SONNET` | 使用 Google Cloud's Agent Platform 时覆盖 Claude 3.5 Sonnet 的区域 |


532| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | 使用 Google Cloud's Agent Platform 时覆盖 Claude Haiku 4.5 的区域 |534| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | 使用 Google Cloud's Agent Platform 时覆盖 Claude Haiku 4.5 的区域 |

533| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | 使用 Google Cloud's Agent Platform 时覆盖 Claude Haiku 5.5 的区域。在 v2.1.293 中添加 |535| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | 使用 Google Cloud's Agent Platform 时覆盖 Claude Haiku 5.5 的区域。在 v2.1.293 中添加 |

534 536 

535同样支持标准 OpenTelemetry 导出器变量(`OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER`、`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_EXPORTER_OTLP_PROTOCOL`、`OTEL_EXPORTER_OTLP_HEADERS`、`OTEL_METRIC_EXPORT_INTERVAL`、`OTEL_RESOURCE_ATTRIBUTES` 以及特定于信号的变体)。有关配置详情,请参见[监控](/docs/zh-CN/monitoring-usage)。537还支持标准 OpenTelemetry 导出器变量(`OTEL_METRICS_EXPORTER`、`OTEL_LOGS_EXPORTER`、`OTEL_EXPORTER_OTLP_ENDPOINT`、`OTEL_EXPORTER_OTLP_PROTOCOL`、`OTEL_EXPORTER_OTLP_HEADERS`、`OTEL_METRIC_EXPORT_INTERVAL`、`OTEL_RESOURCE_ATTRIBUTES` 以及特定于信号的变体)。有关配置详细信息,请参阅[监控](/docs/zh-CN/monitoring-usage)。

536 538 

537请在 shell、用户设置或托管设置中设置 `CLAUDE_CODE_ENABLE_TELEMETRY`,以及用于开启导出、选择导出目标或捕获内容的 OpenTelemetry 变量。Claude Code [会在项目设置和本地设置中忽略它们](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env),该部分所述的关闭值除外。`OTEL_RESOURCE_ATTRIBUTES` 以及导出间隔、超时和压缩相关变量(例如 `OTEL_METRIC_EXPORT_INTERVAL`)在项目设置和本地设置中仍然生效。539请在您的 shell、用户设置或托管设置中设置 `CLAUDE_CODE_ENABLE_TELEMETRY`,以及用于开启导出、选择导出目标或捕获内容的 OpenTelemetry 变量。Claude Code [会在项目设置和本地设置中忽略它们](/docs/zh-CN/settings-reference#variables-claude-code-ignores-in-env),但该部分所述的关闭值除外。`OTEL_RESOURCE_ATTRIBUTES` 以及导出间隔、超时和压缩相关变量(例如 `OTEL_METRIC_EXPORT_INTERVAL`)在项目设置和本地设置中仍然生效。

538 540 

539<h2 id="what-the-subprocess-environment-scrub-removes">541<h2 id="what-the-subprocess-environment-scrub-removes">

540 子进程环境清理会移除哪些内容542 子进程环境清理会移除哪些内容


587* 使用 [advisor 工具](/docs/zh-CN/advisor#requirements)589* 使用 [advisor 工具](/docs/zh-CN/advisor#requirements)

588* 阅读或回复 [Artifact 上的评论](/docs/zh-CN/artifacts#collect-comments-on-an-artifact)590* 阅读或回复 [Artifact 上的评论](/docs/zh-CN/artifacts#collect-comments-on-an-artifact)

589* 让 Claude 读取[其他组织的公开 Artifact](/docs/zh-CN/artifacts#read-an-artifact-shared-with-you)591* 让 Claude 读取[其他组织的公开 Artifact](/docs/zh-CN/artifacts#read-an-artifact-shared-with-you)

590* 让 Claude Code 针对 [MCP 协议修订版 2026-07-28](/docs/zh-CN/mcp#mcp-client-runtimes) 探测 claude.ai 连接器服务器或 stdio 服务器,除非您设置了 `MCP_PROTOCOL_NEGOTIATION=auto`592* 让 Claude Code 针对 [MCP 协议修订版 2026-07-28](/docs/zh-CN/mcp#mcp-client-runtimes) 探测 claude.ai 连接器服务器,除非您设置了 `MCP_PROTOCOL_NEGOTIATION=auto`

591* 在安装了 Git Bash 的 Windows 上,为 claude.ai 和 Console 账户默认获得 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool);除非您设置了 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`,否则 Claude Code 会通过 Git Bash 执行 shell 命令。在未安装 Git Bash 的 Windows 上,该工具保持启用593* 在安装了 Git Bash 的 Windows 上,为 claude.ai 和 Console 账户默认获得 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool);除非您设置了 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`,否则 Claude Code 会通过 Git Bash 执行 shell 命令。在未安装 Git Bash 的 Windows 上,该工具保持启用

592* 获得 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior),该功能由 Claude Code 通过获取的标志启用594* 获得 [Claude 起草的反馈](/docs/zh-CN/tools-reference#sendfeedback-tool-behavior),该功能由 Claude Code 通过获取的标志启用

593* 让 Claude [将大段粘贴内容视为粘贴而非键入的文本](/docs/zh-CN/terminal-config#how-claude-treats-pasted-text);`[Pasted text #N]` 占位符背后的内容将以无标记形式传给 Claude595* 让 Claude [将大段粘贴内容视为粘贴而非键入的文本](/docs/zh-CN/terminal-config#how-claude-treats-pasted-text);`[Pasted text #N]` 占位符背后的内容将以无标记形式传给 Claude

Details

92 <td>✗</td>92 <td>✗</td>

93 <td>✓</td>93 <td>✓</td>

94 <td>参见注释 <sup><a href="#fn1">1</a></sup></td>94 <td>参见注释 <sup><a href="#fn1">1</a></sup></td>

95 <td>✓([部署在 Anthropic 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options))</td>95 <td>✓</td>

96 </tr>96 </tr>

97 97 

98 <tr>98 <tr>


200 <tr>200 <tr>

201 <td>[Server-managed settings](/docs/zh-CN/server-managed-settings)</td>201 <td>[Server-managed settings](/docs/zh-CN/server-managed-settings)</td>

202 <td>✓(Team 和 Enterprise)</td>202 <td>✓(Team 和 Enterprise)</td>

203 <td>✓(Team 和 Enterprise)</td>203 <td>请参阅[平台可用性](/docs/zh-CN/server-managed-settings#platform-availability)</td>

204 <td>✗</td>204 <td>✗</td>

205 <td>✗</td>205 <td>✗</td>

206 <td>✗</td>206 <td>✗</td>


283 **部分支持:**283 **部分支持:**

284 284 

285 * [Desktop](/docs/zh-CN/desktop):仅通过 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)285 * [Desktop](/docs/zh-CN/desktop):仅通过 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)

286 * [Web search](/docs/zh-CN/tools-reference#websearch-tool-behavior):[部署在 Anthropic 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)仅

287 * [Auto mode](/docs/zh-CN/auto-mode-config):仅 Sonnet 5 或更高版本、Opus 4.7 或更高版本、Haiku 5.5 以及 Fable 模型286 * [Auto mode](/docs/zh-CN/auto-mode-config):仅 Sonnet 5 或更高版本、Opus 4.7 或更高版本、Haiku 5.5 以及 Fable 模型

288 * [Cross-session messaging](/docs/zh-CN/cross-session-messaging):仅在此机器上的您的会话之间 <sup><a href="#fn5">5</a></sup>287 * [Cross-session messaging](/docs/zh-CN/cross-session-messaging):仅在此机器上的您的会话之间 <sup><a href="#fn5">5</a></sup>

289 * [Zero Data Retention](/docs/zh-CN/zero-data-retention):受您的 Azure 协议约束288 * [Zero Data Retention](/docs/zh-CN/zero-data-retention):受您的 Azure 协议约束


294 <Tab title="Anthropic Console">293 <Tab title="Anthropic Console">

295 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription)。294 **不可用:** 所有[需要 Claude 订阅的功能](#features-that-require-a-claude-subscription)。

296 295 

297 [按提供商变化的 CLI 功能](#cli-capabilities-that-vary-by-provider)中的所有内容都可用,除了 [fast mode](/docs/zh-CN/fast-mode) 需要[预配置访问](/docs/zh-CN/fast-mode#enable-fast-mode-for-your-organization)。当您的 API 密钥属于 Team 或 Enterprise 组织时,[Server-managed settings](/docs/zh-CN/server-managed-settings) 也可用。296 [按提供商变化的 CLI 功能](#cli-capabilities-that-vary-by-provider)中的所有内容都可用,除了 [fast mode](/docs/zh-CN/fast-mode) 需要[预配置访问](/docs/zh-CN/fast-mode#enable-fast-mode-for-your-organization)。您在 claude.ai Team 或 Enterprise 组织中配置的 [Server-managed settings](/docs/zh-CN/server-managed-settings) 不会作用于使用 Console API 密钥进行身份验证的会话。有关如何覆盖这些会话,请参阅[平台可用性](/docs/zh-CN/server-managed-settings#platform-availability)。

298 </Tab>297 </Tab>

299</Tabs>298</Tabs>

300 299 

Details

140| 权限 | 访问 |140| 权限 | 访问 |

141| - | - |141| - | - |

142| Actions | 读写 |142| Actions | 读写 |

143| Administration | 读 |

143| Checks | 读写 |144| Checks | 读写 |

144| Contents | 读写 |145| Contents | 读写 |

145| Discussions | 读写 |146| Discussions | 读写 |

146| Issues | 读写 |147| Issues | 读写 |

147| Members | 读 |148| Members | 读 |

149| Merge queues | 读 |

148| Metadata | 读 |150| Metadata | 读 |

149| Pull requests | 读写 |151| Pull requests | 读写 |

150| Repository hooks | 读写 |152| Repository hooks | 读写 |

glossary.md +1 −1

Details

294 Output style294 Output style

295</h3>295</h3>

296 296 

297一个配置,改变 Claude Code 给予 Claude 的指令,以设置响应行为、语气或格式。与 [CLAUDE.md](#claude-md) 不同,后者在 Claude Code 的默认指令旁添加项目上下文,自定义输出样式可以替换默认的软件工程指令。297一个配置,改变 Claude Code 给予 Claude 的指令,以设置回复行为、语气或格式。与 [CLAUDE.md](#claude-md) 不同,后者在 Claude Code 的默认指令旁添加项目上下文,自定义输出样式会添加自己的指令,并且可以省略默认的软件工程指令。

298 298 

299了解更多:[Output styles](/docs/zh-CN/output-styles)299了解更多:[Output styles](/docs/zh-CN/output-styles)

300 300 

keybindings.md +49 −0

Details

68| `EffortSlider` | 由 `/effort` 打开的工作量滑块 |68| `EffortSlider` | 由 `/effort` 打开的工作量滑块 |

69| `Select` | 通用选择/列表组件 |69| `Select` | 通用选择/列表组件 |

70| `Plugin` | Plugin 对话框(浏览、发现、管理) |70| `Plugin` | Plugin 对话框(浏览、发现、管理) |

71| `AbovePrompt` | [输入框上方的区域](#above-prompt-actions)或其中的按钮获得键盘焦点 |

72| `AbovePromptInput` | 输入框上方区域或 mod 窗格中的输入字段获得键盘焦点 |

73| `AbovePromptSelect` | 输入框上方区域或 mod 窗格中的选择框获得键盘焦点 |

71| `Pane` | 由 [mod](/docs/zh-CN/plugins/mods/interface#know-which-keys-your-mod-can-receive) 绘制的窗格获得键盘焦点 |74| `Pane` | 由 [mod](/docs/zh-CN/plugins/mods/interface#know-which-keys-your-mod-can-receive) 绘制的窗格获得键盘焦点 |

72| `PaneField` | mod 窗格中的输入字段或选择框获得键盘焦点 |75| `PaneField` | mod 窗格中的输入字段或选择框获得键盘焦点 |

73| `Agents` | [Agent 视图](/docs/zh-CN/agent-view)(`claude agents`) |76| `Agents` | [Agent 视图](/docs/zh-CN/agent-view)(`claude agents`) |


442| `plugin:install` | I | 安装选定的插件 |445| `plugin:install` | I | 安装选定的插件 |

443| `plugin:favorite` | F | 收藏选定的插件,使其在"已安装"标签页附近排序 |446| `plugin:favorite` | F | 收藏选定的插件,使其在"已安装"标签页附近排序 |

444 447 

448<h3 id="above-prompt-actions">

449 Above-prompt 操作

450</h3>

451 

452用于输入框上方区域的操作,该区域是 [mod](/docs/zh-CN/plugins/mods/interface#pick-where-to-draw) 绘制按钮、输入字段和选择框的共享条带。`abovePrompt:toggle` 和 `abovePrompt:focus` 在 `Chat` 上下文中适用。其他操作在该区域或窗格中拥有键盘焦点的元素所在的 [上下文](#contexts) 中适用。

453 

454| 操作 | 默认 | 描述 |

455| :- | :- | :- |

456| `abovePrompt:toggle` | Ctrl+X Ctrl+A | 将该区域折叠为一行提示,或再次展开 |

457| `abovePrompt:focus` | Ctrl+X Tab | 将键盘焦点移入该区域,然后依次移到每个打开的 [窗格](#pane-actions),并从最后一个窗格回到输入框 |

458| `abovePrompt:next` | Tab | 聚焦下一个控件 |

459| `abovePrompt:previous` | Shift+Tab | 聚焦上一个控件 |

460| `abovePrompt:press` | Enter | 按下获得焦点的按钮、提交获得焦点的输入字段,或在选择框中选取突出显示的选项 |

461| `abovePrompt:leave` | Escape | 将键盘焦点返回到输入框 |

462| `abovePrompt:highlightNext` | Down | 在获得焦点的选择框中突出显示下一个选项 |

463| `abovePrompt:highlightPrevious` | Up | 在获得焦点的选择框中突出显示上一个选项 |

464 

465有两个上下文默认将更多键绑定到这些操作:

466 

467* **`AbovePrompt`**:Right 和 Left 也会运行 `abovePrompt:next` 和 `abovePrompt:previous`,Space 也会运行 `abovePrompt:press`

468* **`AbovePromptInput`**:Down 和 Up 也会运行 `abovePrompt:next` 和 `abovePrompt:previous`

469 

470`AbovePrompt` 上下文还将 Up、Down、PageUp、PageDown、Home 和 End 绑定到 [窗格滚动操作](#pane-actions) `pane:scrollUp` 至 `pane:bottom`,因此要为该区域更改其中某个键,请在 `AbovePrompt` 块中绑定相应的滚动操作。

471 

472<h3 id="pane-actions">

473 Pane 操作

474</h3>

475 

476用于由 [mod](/docs/zh-CN/plugins/mods/interface#know-which-keys-your-mod-can-receive) 绘制的窗格的操作。滚动、调整大小和关闭操作在 `Pane` [上下文](#contexts) 中适用。`pane:close` 也在 `PaneField` 上下文中适用,因此当窗格的某个字段拥有焦点时它也能生效。当打开的窗格多于一个时,`pane:next` 和 `pane:previous` 在 `Global` 上下文中适用。

477 

478| 操作 | 默认 | 描述 |

479| :- | :- | :- |

480| `pane:scrollUp` | Up | 当窗格的行数超出其可显示的范围时向上滚动窗格 |

481| `pane:scrollDown` | Down | 当窗格的行数超出其可显示的范围时向下滚动窗格 |

482| `pane:pageUp` | PageUp | 将窗格向上滚动一页 |

483| `pane:pageDown` | PageDown | 将窗格向下滚动一页 |

484| `pane:top` | Home | 跳到窗格顶部 |

485| `pane:bottom` | End | 跳到窗格底部 |

486| `pane:grow` | Ctrl+X Left, Ctrl+X Up | 为窗格提供更多空间:位于会话记录旁边时增加宽度,位于输入框上方时增加高度 |

487| `pane:shrink` | Ctrl+X Right, Ctrl+X Down | 为窗格提供更少空间:位于会话记录旁边时减小宽度,位于输入框上方时减小高度 |

488| `pane:close` | Ctrl+X X | 关闭窗格 |

489| `pane:next` | (未绑定) | 显示下一个打开的窗格 |

490| `pane:previous` | (未绑定) | 显示上一个打开的窗格 |

491 

492`Pane` 上下文还将 Tab、Shift+Tab、Enter 和 Escape 绑定到与该区域相同的 [Above-prompt 操作](#above-prompt-actions),窗格中的输入字段和选择框使用 `AbovePromptInput` 和 `AbovePromptSelect` 上下文。[键盘焦点和快捷键](/docs/zh-CN/plugins/mods/interface#know-which-keys-your-mod-can-receive) 列出了每个键在窗格中的作用。

493 

445<h3 id="settings-actions">494<h3 id="settings-actions">

446 Settings 操作495 Settings 操作

447</h3>496</h3>

Details

200 200 

201| 头部 | 返回内容及原因 |201| 头部 | 返回内容及原因 |

202| :- | :- |202| :- | :- |

203| `content-type` | 在流式 Anthropic Messages 格式响应上返回 `text/event-stream`,在 Amazon Bedrock 格式响应上返回 `application/vnd.amazon.eventstream`(不做修改),其中[不同的类型会导致请求失败](/docs/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)。[流式传输](#streaming)列出了哪些连接在这些流上运行停滞检测 |203| `content-type` | 在流式 Anthropic Messages 格式响应上返回 `text/event-stream`,在 Amazon Bedrock 格式响应上返回 `application/vnd.amazon.eventstream`(不做修改),其中[不同的类型会导致请求失败](/docs/zh-CN/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy) |

204| `retry-after` | 返回整数秒而不是 HTTP 日期。Claude Code 在下一次[自动重试](/docs/zh-CN/errors#automatic-retries)之前至少等待该时长,在 [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-CN/env-vars) 会话之外,超过 60 的值会停止重试并立即显示错误 |204| `retry-after` | 返回整数秒而不是 HTTP 日期。Claude Code 在下一次[自动重试](/docs/zh-CN/errors#automatic-retries)之前至少等待该时长,在 [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/zh-CN/env-vars) 会话之外,超过 60 的值会停止重试并立即显示错误 |

205| `x-should-retry` | 原样转发上游的值。Claude Code 在决定是否重试失败的请求时将此头部作为一个输入来读取:`true` 标记响应可重试,`false` 标记响应不可重试。有关重试次数、退避和 Claude Code 重试的失败情况,请参阅[自动重试](/docs/zh-CN/errors#automatic-retries) |205| `x-should-retry` | 原样转发上游的值。Claude Code 在决定是否重试失败的请求时将此头部作为一个输入来读取:`true` 标记响应可重试,`false` 标记响应不可重试。有关重试次数、退避和 Claude Code 重试的失败情况,请参阅[自动重试](/docs/zh-CN/errors#automatic-retries) |

206| `anthropic-ratelimit-unified-*` | 在每个响应上原样转发上游的值。Claude Code 在成功响应上读取它们以向使用 claude.ai 登录的开发人员显示针对计划限制的使用情况,在 `429` 上读取它们以区分计划限制或支出上限与临时限流;请参阅[使用限制](/docs/zh-CN/errors#usage-limits) |206| `anthropic-ratelimit-unified-*` | 在每个响应上原样转发上游的值。Claude Code 在成功响应上读取它们以向使用 claude.ai 登录的开发人员显示针对计划限制的使用情况,在 `429` 上读取它们以区分计划限制或支出上限与临时限流;请参阅[使用限制](/docs/zh-CN/errors#usage-limits) |

mcp.md +8 −15

Details

142```142```

143 143 

144<Note>144<Note>

145 **重要:用 `--` 分隔服务器参数**

146 

147 对于 stdio 服务器,`--`(双破折号)将 Claude 自己的选项(例如 `--transport`、`--env` 和 `--scope`)与运行服务器的命令和参数分开。`--` 之后的所有内容都原封不动地传递给服务器。145 对于 stdio 服务器,`--`(双破折号)将 Claude 自己的选项(例如 `--transport`、`--env` 和 `--scope`)与运行服务器的命令和参数分开。`--` 之后的所有内容都原封不动地传递给服务器。

148 146 

149 例如:147 例如:


275* `✘ Rejected (see disabledMcpjsonServers in settings)`:由 [`disabledMcpjsonServers`](/docs/zh-CN/settings-reference#disabledmcpjsonservers) 条目拒绝的 `.mcp.json` 服务器。Claude Code 仅在 `claude mcp get <name>` 中显示它。273* `✘ Rejected (see disabledMcpjsonServers in settings)`:由 [`disabledMcpjsonServers`](/docs/zh-CN/settings-reference#disabledmcpjsonservers) 条目拒绝的 `.mcp.json` 服务器。Claude Code 仅在 `claude mcp get <name>` 中显示它。

276* `⊘ Disabled for this project (re-enable via /mcp)`:项目的 [`disabledMcpServers`](#disable-a-server-without-removing-it) 列表命名的服务器。Claude Code 在 `claude mcp list` 和 `claude mcp get <name>` 中都显示它。从 `/mcp` 面板重新打开服务器。274* `⊘ Disabled for this project (re-enable via /mcp)`:项目的 [`disabledMcpServers`](#disable-a-server-without-removing-it) 列表命名的服务器。Claude Code 在 `claude mcp list` 和 `claude mcp get <name>` 中都显示它。从 `/mcp` 面板重新打开服务器。

277 275 

278WebSocket 服务器不出现在 `claude mcp list` 输出中。使用 `claude mcp get <name>` 或 `/mcp` 面板检查它们。

279 

280<h4 id="project-server-approvals-and-workspace-trust">276<h4 id="project-server-approvals-and-workspace-trust">

281 项目服务器批准和工作区信任277 项目服务器批准和工作区信任

282</h4>278</h4>


371 367 

372在 v2 上,Claude Code 还会:368在 v2 上,Claude Code 还会:

373 369 

374* 询问 HTTP 服务器是否支持较新的修订版,并与支持的服务器一起使用它。在获取功能标志的会话中,它还会询问 claude.ai 连接器服务器;在 Claude Code v2.1.285 或更高版本上,随着 Anthropic 逐步推出该更改,它还会询问 stdio 服务器。要让它在每个会话中都询问连接器服务器和 stdio 服务器,请设置 [`MCP_PROTOCOL_NEGOTIATION`](/docs/zh-CN/env-vars) 为 `auto`。它与 v1 一样连接到其他所有服务器。370* 询问 HTTP 和 stdio 服务器是否支持较新的修订版,并与支持的服务器一起使用它。在获取功能标志的会话中,它还会询问 claude.ai 连接器服务器。它与 v1 一样连接到其他所有服务器。

375* 通过 [它保持打开的流](#notification-streams-on-the-v2-runtime) 从使用较新修订版的服务器接收 `list_changed` 通知。371* 通过 [它保持打开的流](#notification-streams-on-the-v2-runtime) 从使用较新修订版的服务器接收 `list_changed` 通知。

376* 不注册在较新修订版上连接的 [频道](#push-messages-with-channels) 服务器,因为该修订版无法携带频道消息。372* 不注册在较新修订版上连接的 [频道](#push-messages-with-channels) 服务器,因为该修订版无法携带频道消息。

377* 当授权响应指明意外的发行者时,使 [MCP OAuth 登录](#authenticate-with-remote-mcp-servers) 失败。373* 当授权响应指明意外的发行者时,使 [MCP OAuth 登录](#authenticate-with-remote-mcp-servers) 失败。


458 454 

459在 [v2 运行时](#mcp-client-runtimes) 上,协商 MCP 协议修订版 2026-07-28 的频道服务器无法传递频道消息,因此 Claude Code 不将其注册为频道。不支持该修订版的频道服务器会在较早的握手上连接,并像以前一样注册。455在 [v2 运行时](#mcp-client-runtimes) 上,协商 MCP 协议修订版 2026-07-28 的频道服务器无法传递频道消息,因此 Claude Code 不将其注册为频道。不支持该修订版的频道服务器会在较早的握手上连接,并像以前一样注册。

460 456 

461当您设置 [`MCP_PROTOCOL_NEGOTIATION`](/docs/zh-CN/env-vars) 为 `auto` 时,Claude Code 会向 stdio 服务器询问该修订版。对于 Claude Code v2.1.285 或更高版本,Anthropic 还在 Claude Code [获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching) 的会话中默认启用此行为。要将 stdio 频道服务器保持在较早的握手上,请将 `MCP_PROTOCOL_NEGOTIATION` 设置为 `legacy`,这会将所有服务器都保持在较早的握手上。457Claude Code 默认会向 stdio 服务器询问该修订版。要将 stdio 频道服务器保持在较早的握手上,请将 [`MCP_PROTOCOL_NEGOTIATION`](/docs/zh-CN/env-vars) 设置为 `legacy`,这会将所有服务器都保持在较早的握手上。

462 458 

463<Tip>459<Tip>

464 提示:460 提示:


1400 MCP 输出限制和警告1396 MCP 输出限制和警告

1401</h2>1397</h2>

1402 1398 

1403当 MCP 工具产生大量输出时,Claude Code 会帮助管理令牌使用情况,以防止压倒您的对话上下文:1399当 MCP 工具产生大量输出时,Claude Code 会帮助管理 token 使用情况,以防止压倒您的对话上下文:

1404 1400 

1405* **输出警告阈值**:当任何 MCP 工具输出超过 10,000 个令牌时,Claude Code 会显示警告1401* **输出警告阈值**:当任何 MCP 工具输出超过 10,000 个 token 时,Claude Code 会显示警告

1406* **可配置限制**:您可以使用 `MAX_MCP_OUTPUT_TOKENS` 环境变量调整允许的最大 MCP 输出令牌数1402* **可配置限制**:您可以使用 `MAX_MCP_OUTPUT_TOKENS` 环境变量调整允许的最大 MCP 输出 token 数

1407* **默认限制**:默认最大值为 25,000 个令牌1403* **默认限制**:默认最大值为 25,000 个 token

1408* **范围**:环境变量适用于未声明自己限制的工具。设置了 [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) 的工具会对文本内容使用该值,而不管 `MAX_MCP_OUTPUT_TOKENS` 设置为什么。返回图像数据的工具仍然受 `MAX_MCP_OUTPUT_TOKENS` 限制1404* **范围**:环境变量适用于未声明自己限制的工具。设置了 [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) 的工具会对文本内容使用该值,而不管 `MAX_MCP_OUTPUT_TOKENS` 设置为什么。返回图像数据的工具仍然受 `MAX_MCP_OUTPUT_TOKENS` 限制

1409* **超过限制**:当没有图像内容的成功结果超过 token 限制时,Claude Code 会将其保存到文件中,并在对话中用一条消息替换它,该消息指定文件路径,以便 Claude 在需要内容时读取该文件。该文件位于会话的 `tool-results` 目录中,在 [`~/.claude/projects/`](/docs/zh-CN/claude-directory#cleaned-up-automatically) 下。1405* **超过限制**:当没有图像内容的成功结果超过 token 限制时,Claude Code 会将其保存到文件中,并在对话中用一条消息替换它,该消息指定文件路径,以便 Claude 在需要内容时读取该文件。该文件位于会话的 `tool-results` 目录中,在 [`~/.claude/projects/`](/docs/zh-CN/claude-directory#cleaned-up-automatically) 下。

1406* **来自 HTTP 和 SSE 服务器的响应大小**:一旦单个 JSON 响应体或事件流中的单个事件在解压后超过 16 MB,Claude Code 就会停止读取来自 [HTTP](#option-1-add-a-remote-http-server) 或 [SSE](#option-2-add-a-remote-sse-server) 服务器的响应。该响应所对应的请求会失败。如果您维护该服务器,请减少每个响应返回的数据量以保持在限制之内,例如对结果进行分页

1410 1407 

1411已被 Claude Code [移至后台任务](#automatic-backgrounding-of-long-tool-calls)的调用会通过任务通知报告其结果。对于在前台完成的调用,还有另外两项限制:1408已被 Claude Code [移至后台任务](#automatic-backgrounding-of-long-tool-calls)的调用会通过任务通知报告其结果。对于在前台完成的调用,还有另外两项限制:

1412 1409 


1438}1435}

1439```1436```

1440 1437 

1441该注释对文本内容独立于 `MAX_MCP_OUTPUT_TOKENS` 应用,因此用户不需要为声明它的工具提高环境变量。返回图像数据的工具仍然受令牌限制。1438该注释对文本内容独立于 `MAX_MCP_OUTPUT_TOKENS` 应用,因此用户不需要为声明它的工具提高环境变量。返回图像数据的工具仍然受 token 限制。

1442 

1443<Warning>

1444 如果您经常遇到特定 MCP 服务器的输出警告,而您无法控制这些服务器,请考虑增加 `MAX_MCP_OUTPUT_TOKENS` 限制。您也可以要求服务器作者添加 `anthropic/maxResultSizeChars` 注释或对其响应进行分页。该注释对返回图像内容的工具无效;对于这些工具,提高 `MAX_MCP_OUTPUT_TOKENS` 是唯一的选择。

1445</Warning>

1446 1439 

1447<h3 id="images-in-tool-results">1440<h3 id="images-in-tool-results">

1448 工具结果中的图像1441 工具结果中的图像

memory.md +3 −1

Details

278 278 

279`.claude/rules/` 目录支持符号链接,因此您可以维护一组共享规则并将它们链接到多个项目中。循环符号链接被检测并妥善处理。279`.claude/rules/` 目录支持符号链接,因此您可以维护一组共享规则并将它们链接到多个项目中。循环符号链接被检测并妥善处理。

280 280 

281Claude Code 将其目标在工作目录外的符号链接视为 [external import](#import-additional-files)。链接的规则不加载,直到您批准项目的外部导入,之后仅加载没有 [`paths` 字段](#path-specific-rules) 的规则。Claude Code 仅当项目记忆文件使用 `@path` 导入工作目录外的文件时才要求该批准,而不是仅针对符号链接。要加载共享规则而不需要该批准,请将它们保存在 [`~/.claude/rules/`](#user-level-rules) 中,它们适用于您机器上的每个项目。281Claude Code 将其目标在工作目录外的符号链接视为 [external import](#import-additional-files)。链接的规则不加载,直到您批准项目的外部导入,之后仅加载没有 [`paths` 字段](#path-specific-rules) 的规则。

282 

283Claude Code 会针对每个项目请求一次该批准,方式是在交互式会话开始时显示一个对话框。该对话框会列出链接的规则文件以及任何外部 `@path` 导入。要加载共享规则而不需要该批准,请将它们保存在 [`~/.claude/rules/`](#user-level-rules) 中,它们适用于您机器上的每个项目。

282 284 

283此示例链接共享目录和单个文件:285此示例链接共享目录和单个文件:

284 286 

Details

116 2) 配置 Azure 凭据116 2) 配置 Azure 凭据

117</h3>117</h3>

118 118 

119Claude Code 支持三种 Microsoft Foundry 身份验证方法。选择最适合您安全要求的方法。119Claude Code 支持三种 Microsoft Foundry 身份验证方法。选择最适合您安全要求的方法:

120 120 

121**选项 A:API 密钥身份验证**121* [API 密钥](#use-an-api-key):从 Microsoft Foundry 门户复制密钥,并将其设置为 `ANTHROPIC_FOUNDRY_API_KEY`

122* [Microsoft Entra ID](#use-microsoft-entra-id):Claude Code 通过 Azure SDK 默认凭据链获取令牌,例如从 `az login` 会话中获取,因此无需存储 API 密钥

123* [Bearer 令牌](#use-a-bearer-token):由另一个进程获取 Microsoft Entra ID 访问令牌,然后您通过 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 传入

124 

125<Note>

126 使用 Microsoft Foundry 时,`/logout` 命令不可用,因为身份验证通过 Azure 凭据处理。

127</Note>

128 

129<h4 id="use-an-api-key">

130 使用 API 密钥

131</h4>

132 

133从 Microsoft Foundry 门户复制密钥,然后将其设置为环境变量:

122 134 

1231. 在 Microsoft Foundry 门户中导航到您的资源1351. 在 Microsoft Foundry 门户中导航到您的资源

1242. 转到**端点和密钥**部分1362. 打开**端点和密钥**部分

1253. 复制 **API 密钥**1373. 复制 **API 密钥**

1264. 设置环境变量,将 `your-azure-api-key` 替换为您复制的密钥:1384. 设置环境变量,将 `your-azure-api-key` 替换为您复制的密钥:

127 139 


129export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key141export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key

130```142```

131 143 

132**选项 B:Microsoft Entra ID 身份验证**144<h4 id="use-microsoft-entra-id">

145 使用 Microsoft Entra ID

146</h4>

133 147 

134当未设置 `ANTHROPIC_FOUNDRY_API_KEY` 和 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 时,Claude Code 会自动使用 Azure SDK [默认凭据链](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview)。148不要设置 `ANTHROPIC_FOUNDRY_API_KEY` 和 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`。这样 Claude Code 就会使用 Azure SDK [默认凭据链](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview)。

135这支持多种方法来验证本地和远程工作负载。149这支持多种方法来验证本地和远程工作负载。

136 150 

137在本地环境中,您通常可以使用 Azure CLI:151在本地计算机上,使用 Azure CLI 登录:

138 152 

139```bash theme={null}153```bash theme={null}

140az login154az login

141```155```

142 156 

143**选项 C:Bearer 令牌身份验证**157有关您的身份所需的角色,请参阅 [Azure RBAC 配置](#azure-rbac-configuration)。

158 

159<h4 id="use-a-bearer-token">

160 使用 Bearer 令牌

161</h4>

144 162 

145Claude Code 在每个请求中将 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 的值作为 `Authorization: Bearer` 标头发送。当另一个进程(例如主机应用程序或登录脚本)已经为您获取了访问令牌时,请使用此选项。需要 Claude Code v2.1.203 或更高版本。163Claude Code 在每个请求中将 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 的值作为 `Authorization: Bearer` 标头发送。当另一个进程(例如主机应用程序或登录脚本)已经为您获取了访问令牌时,请使用此选项。需要 Claude Code v2.1.203 或更高版本。

146 164 


152 170 

153`ANTHROPIC_FOUNDRY_AUTH_TOKEN` 优先于 `ANTHROPIC_FOUNDRY_API_KEY` 和默认凭据链。171`ANTHROPIC_FOUNDRY_AUTH_TOKEN` 优先于 `ANTHROPIC_FOUNDRY_API_KEY` 和默认凭据链。

154 172 

155<Note>

156 使用 Microsoft Foundry 时,`/logout` 命令不可用,因为身份验证通过 Azure 凭据处理。

157</Note>

158 

159<h3 id="3-configure-claude-code">173<h3 id="3-configure-claude-code">

160 3. 配置 Claude Code174 3. 配置 Claude Code

161</h3>175</h3>

model-config.md +5 −4

Details

580 回退后的 effort 级别580 回退后的 effort 级别

581</h4>581</h4>

582 582 

583当 Claude Code 将您的会话切换到备用模型时,它会保留被标记请求运行时的 effort 级别,而不是使用该模型的默认 effort。例如,在 Opus 5.5 上以其默认 `medium` 运行的会话回退到 Opus 4.8 后仍保持 `medium`,尽管 Opus 4.8 默认为 `high`。583当 Claude Code 将您的会话切换到备用模型时,它会保留被标记请求运行时的 effort 级别。例如,在 Opus 5.5 上以其默认 `medium` 运行的会话回退到 Opus 4.8 后仍保持 `medium`,尽管 Opus 4.8 默认为 `high`。

584 584 

585在以下情况下会应用不同的级别:585在以下情况下会应用不同的级别:

586 586 

587* **设置或组织默认值**:您的设置中适用于备用模型的级别,或您的组织为其设置的默认 effort,会改为生效。

588* **您自己的更改**:一旦您选择了 effort 级别、在 `/model` 中选择了模型或稍后恢复会话,被标记请求的级别就不再沿用。587* **您自己的更改**:一旦您选择了 effort 级别、在 `/model` 中选择了模型或稍后恢复会话,被标记请求的级别就不再沿用。

589* **Skill effort**:skill 的 `effort` frontmatter 为被标记请求设置的级别适用于该轮次,后续轮次以 [effort 解析顺序](#adjust-effort-level)为备用模型给出的级别运行。588* **Skill effort**:skill 的 `effort` frontmatter 为被标记请求设置的级别适用于该轮次,后续轮次以 [effort 解析顺序](#adjust-effort-level)为备用模型给出的级别运行。

590 589 

591会话标题在模型名称旁边显示当前生效的级别。要更改它,在会话中运行 `/effort`。590在会话中,运行 `/effort status` 查看当前生效的级别,或运行 `/effort` 更改它。

592 591 

593<h4 id="check-what-triggered-fallback">592<h4 id="check-what-triggered-fallback">

594 检查触发回退的原因593 检查触发回退的原因


656 655 

6571. 明确选择:[`CLAUDE_CODE_EFFORT_LEVEL`](/docs/zh-CN/env-vars#variables) 环境变量、使用 `--effort` 启动或会话中的 `/effort`([非交互式 `/effort` 的效果更窄](#non-interactive-effort))6561. 明确选择:[`CLAUDE_CODE_EFFORT_LEVEL`](/docs/zh-CN/env-vars#variables) 环境变量、使用 `--effort` 启动或会话中的 `/effort`([非交互式 `/effort` 的效果更窄](#non-interactive-effort))

6582. 您的设置:您为模型保存的级别或 [`effortLevel`](/docs/zh-CN/settings-reference#effortlevel) 键,在 [`modelSettings`](/docs/zh-CN/settings-reference#modelsettings) 中说明它们之间和跨设置文件的优先级6572. 您的设置:您为模型保存的级别或 [`effortLevel`](/docs/zh-CN/settings-reference#effortlevel) 键,在 [`modelSettings`](/docs/zh-CN/settings-reference#modelsettings) 中说明它们之间和跨设置文件的优先级

6593. 模型的默认 effort:在支持 effort 的每个模型上为 `high`,除了 Opus 5.5、Sonnet 5.5 和 Haiku 5.5 默认为 `medium`、Opus 4.7 默认为 `xhigh`,当您的组织为其[组织默认模型](#organization-default-model)设置默认 effort 级别时,当您运行该模型时该级别是默认值。自动模型回退后适用的级别,请参阅[回退后的 effort 级别](#effort-level-after-a-fallback)。6583. 模型的默认 effort:在支持 effort 的每个模型上为 `high`,除了 Opus 5.5、Sonnet 5.5 和 Haiku 5.5 默认为 `medium`、Opus 4.7 默认为 `xhigh`,当您的组织为其[组织默认模型](#organization-default-model)设置默认 effort 级别时,当您运行该模型时该级别是默认值

659 

660自动模型回退后适用的级别,请参阅[回退后的 effort 级别](#effort-level-after-a-fallback)。

660 661 

661Opus 5.5 从 `medium` 开始,除非上面的源之一为其设置级别,您的用户设置文件中的顶级 `effortLevel` 不计入 Opus 5.5。该键是较旧的形式 `/effort` 在 Claude Code 按模型保存级别之前写入的:它继续在它之前应用的地方应用,在 Opus 5、Fable 5.1 和更早的模型上,而 Opus 5.5 和在它之后发布的模型从它们自己的默认开始,直到您使用 `/effort` 或 `/model` 选择器为它们选择级别。项目、本地或托管设置中的顶级 `effortLevel`,或使用 `--settings` 传递的,适用于每个模型。662Opus 5.5 从 `medium` 开始,除非上面的源之一为其设置级别,您的用户设置文件中的顶级 `effortLevel` 不计入 Opus 5.5。该键是较旧的形式 `/effort` 在 Claude Code 按模型保存级别之前写入的:它继续在它之前应用的地方应用,在 Opus 5、Fable 5.1 和更早的模型上,而 Opus 5.5 和在它之后发布的模型从它们自己的默认开始,直到您使用 `/effort` 或 `/model` 选择器为它们选择级别。项目、本地或托管设置中的顶级 `effortLevel`,或使用 `--settings` 传递的,适用于每个模型。

662 663 

Details

551* **服务器管理的设置**:将它们添加到您组织的[服务器管理的设置](/docs/zh-CN/server-managed-settings)的 `env` 块中。Claude Code 在启动时会在[服务器管理的设置适用](/docs/zh-CN/model-config#surface-coverage)的任何地方获取这些设置,这包括您用户的机器和除 Claude Tag 频道会话外的云会话。Claude Tag 会话不会接收您的服务器管理的设置,因此此路由不会配置它们。551* **服务器管理的设置**:将它们添加到您组织的[服务器管理的设置](/docs/zh-CN/server-managed-settings)的 `env` 块中。Claude Code 在启动时会在[服务器管理的设置适用](/docs/zh-CN/model-config#surface-coverage)的任何地方获取这些设置,这包括您用户的机器和除 Claude Tag 频道会话外的云会话。Claude Tag 会话不会接收您的服务器管理的设置,因此此路由不会配置它们。

552* **环境的变量**:将它们添加到云环境的[环境变量](/docs/zh-CN/cloud-environments#set-environment-variables)中,以仅配置在该环境中运行的会话。这是到达 Claude Tag 会话的路由。552* **环境的变量**:将它们添加到云环境的[环境变量](/docs/zh-CN/cloud-environments#set-environment-variables)中,以仅配置在该环境中运行的会话。这是到达 Claude Tag 会话的路由。

553 553 

554任何使用环境的人都可以读取其变量,因此不要在其中放置凭据,例如 `OTEL_EXPORTER_OTLP_HEADERS` 中的收集器令牌。环境上的[网络密钥](/docs/zh-CN/cloud-environments#add-api-credentials)也无济于事,因为 Claude Code 自己的遥测导出是[从不获得该密钥的请求](/docs/zh-CN/cloud-environments#requests-that-never-get-the-credential)之一。如果您的收集器需要凭据,请改为通过服务器管理的设置配置整个导出,因为当您在那里设置凭据时,[Claude Code 会删除在托管设置外设置的端点变量](#how-managed-settings-lock-the-otlp-destination)。554任何使用环境的人都可以读取其变量,因此不要在其中放置凭据,例如 `OTEL_EXPORTER_OTLP_HEADERS` 中的收集器令牌。环境上的[网络密钥](/docs/zh-CN/cloud-environments#add-network-secrets)也无济于事,因为 Claude Code 自己的遥测导出是[从不获得该密钥的请求](/docs/zh-CN/cloud-environments#requests-that-never-get-the-credential)之一。如果您的收集器需要凭据,请改为通过服务器管理的设置配置整个导出,因为当您在那里设置凭据时,[Claude Code 会删除在托管设置外设置的端点变量](#how-managed-settings-lock-the-otlp-destination)。

555 555 

556在为云会话配置遥测时,请记住这些约束:556在为云会话配置遥测时,请记住这些约束:

557 557 

Details

209| :- | :- | :- | :- |209| :- | :- | :- | :- |

210| 首字节截止时间 | Claude Code 发送请求后没有响应头到达 | 直接 Anthropic API 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws),包括通过 HTTPS 代理,但不包括当 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 通过 [gateway](/docs/zh-CN/gateways) 路由时。在 Amazon Bedrock 上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒,加上每 32KB 请求体一秒 |210| 首字节截止时间 | Claude Code 发送请求后没有响应头到达 | 直接 Anthropic API 和 [Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws),包括通过 HTTPS 代理,但不包括当 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AWS_BASE_URL` 通过 [gateway](/docs/zh-CN/gateways) 路由时。在 Amazon Bedrock 上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒,加上每 32KB 请求体一秒 |

211| 事件级监视器 | 没有响应事件解析。在字节级监视器运行在 Amazon Bedrock 以外的连接上的情况下,到达的字节(包括保活 ping)也会重置此监视器,最多约五分钟内没有解析的事件 | 每个提供商 | 300 秒 |211| 事件级监视器 | 没有响应事件解析。在字节级监视器运行在 Amazon Bedrock 以外的连接上的情况下,到达的字节(包括保活 ping)也会重置此监视器,最多约五分钟内没有解析的事件 | 每个提供商 | 300 秒 |

212| 字节级监视器 | 线路上没有字节到达,包括 SSE 保活 ping | 直接 Anthropic API、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [gateway](/docs/zh-CN/gateways) 连接,包括自定义 `ANTHROPIC_BASE_URL`。在 Amazon Bedrock `vnd.amazon.eventstream` 响应上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒,其他地方为 300 秒 |212| 字节级监视器 | 线路上没有字节到达,包括 SSE 保活 ping | 直接 Anthropic API、[Claude Platform on AWS](/docs/zh-CN/claude-platform-on-aws) 和 [网关](/docs/zh-CN/gateways) 连接,包括自定义 `ANTHROPIC_BASE_URL`。在 Amazon Bedrock `vnd.amazon.eventstream` 响应上可选,使用 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`;不在 Google Cloud 的 Agent Platform 或 Microsoft Foundry 上运行 | 直接 Anthropic API 上为 180 秒。通过自定义 `ANTHROPIC_BASE_URL` 时,如果 Claude Code 已[获取功能标志](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)则为 180 秒,未获取则为 300 秒。其他地方为 300 秒 |

213| 主体空闲超时 | 5 分钟内没有字节到达 | 除了直接 Anthropic API、Claude Platform on AWS 和设置了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 之外的提供商,除非 [`API_FORCE_IDLE_TIMEOUT`](/docs/zh-CN/env-vars) 改变这一点 | 5 分钟 |213| 主体空闲超时 | 5 分钟内没有字节到达 | 除了直接 Anthropic API、Claude Platform on AWS 和设置了 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` 的 Amazon Bedrock 之外的提供商,除非 [`API_FORCE_IDLE_TIMEOUT`](/docs/zh-CN/env-vars) 改变这一点 | 5 分钟 |

214 214 

215如果设置 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`,字节级监视器会在 Bedrock 上替换主体空闲超时,而不是与其并行运行。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 随后也会控制 Bedrock 流在 Claude Code 将连接视为死连接之前可以保持沉默多长时间,在下面列出的限制范围内。到达的字节仍然不会在 Bedrock 上重置事件级监视器。启用调试日志后,每个 Bedrock 流随后会记录一条以 `wire-heartbeat: _chunkTimes absent` 开头的调试消息。215如果设置 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`,字节级监视器会在 Bedrock 上替换主体空闲超时,而不是与其并行运行。`CLAUDE_STREAM_IDLE_TIMEOUT_MS` 随后也会控制 Bedrock 流在 Claude Code 将连接视为死连接之前可以保持沉默多长时间,在下面列出的限制范围内。到达的字节仍然不会在 Bedrock 上重置事件级监视器。启用调试日志后,每个 Bedrock 流随后会记录一条以 `wire-heartbeat: _chunkTimes absent` 开头的调试消息。

Details

183| :- | :- | :- |183| :- | :- | :- |

184| `name` | 否 | 输出样式的名称,在 `/config` 选择器中显示。默认值:文件名 |184| `name` | 否 | 输出样式的名称,在 `/config` 选择器中显示。默认值:文件名 |

185| `description` | 否 | 输出样式的描述,在 `/config` 选择器中显示 |185| `description` | 否 | 输出样式的描述,在 `/config` 选择器中显示 |

186| `keep-coding-instructions` | 否 | 设置为 `true` 以在你的样式旁边保留 Claude Code 的内置软件工程说明。默认值:`false` |186| `keep-coding-instructions` | 否 | 设置为 `true` 以在您的样式之外保留 Claude Code 的内置软件工程说明部分(只有完整的系统提示词包含该部分)。请参阅[输出样式的工作原理](#how-output-styles-work)。默认值:`false` |

187| `force-for-plugin` | 否 | 仅限 Plugin 输出样式。设置为 `true` 以在启用 plugin 时自动应用此样式,无需要求用户选择它。覆盖用户的 `outputStyle` 设置。如果多个启用的 plugin 设置了此项,Claude Code 使用第一个加载的。默认值:`false` |187| `force-for-plugin` | 否 | 仅限 Plugin 输出样式。设置为 `true` 以在启用 plugin 时自动应用此样式,无需要求用户选择它。覆盖用户的 `outputStyle` 设置。如果多个启用的 plugin 设置了此项,Claude Code 使用第一个加载的。默认值:`false` |

188 188 

189<span id="comparisons-to-related-features" />189<span id="comparisons-to-related-features" />


214输出样式改变 Claude Code 给予 Claude 的指令。214输出样式改变 Claude Code 给予 Claude 的指令。

215 215 

216* Claude Code 在每个请求中发送活跃样式的指令。216* Claude Code 在每个请求中发送活跃样式的指令。

217* 自定义输出样式会省略 Claude Code 的内置软件工程指令,例如如何限定更改范围、编写注释和验证工作,除非 `keep-coding-instructions` 设置为 `true`。217* 在完整系统提示词中,自定义输出样式会省略 Claude Code 的内置软件工程指令部分,例如如何限定更改范围、编写注释和验证工作,除非 `keep-coding-instructions` 设置为 `true`。较短的系统提示词不包含该部分,因此该字段在那里不起作用。若要依赖该字段,请将 [`CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT`](/docs/zh-CN/env-vars#variables) 设置为 `0`,这样在任何模型上都会选用完整提示词。

218 218 

219输出样式适用于主对话和[分支](/docs/zh-CN/sub-agents#fork-the-current-conversation),分支继承父级的完整对话和系统提示。其他[子代理运行自己的系统提示](/docs/zh-CN/sub-agents#what-loads-at-startup),因此样式不会改变它们的响应方式。219输出样式适用于主对话和[分支](/docs/zh-CN/sub-agents#fork-the-current-conversation),分支继承父级的完整对话和系统提示词。其他[子代理运行自己的系统提示词](/docs/zh-CN/sub-agents#what-loads-at-startup),因此样式不会改变它们的回复方式。

220 220 

221令牌使用情况取决于样式。样式的指令会增加输入令牌,尽管提示缓存在会话中的第一个请求之后会降低这个成本。221令牌使用情况取决于样式。样式的指令会增加输入令牌,尽管提示缓存在会话中的第一个请求之后会降低这个成本。

222 222 

overview.md +1 −1

Details

46 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd46 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

47 ```47 ```

48 48 

49 安装程序完成后,打开一个新的终端窗口并运行 `claude --version`。正常的安装会打印一个版本号。如果您的 shell 显示找不到 `claude` 或无法识别,说明安装目录还不在您的 PATH 中:请参阅[修复您的 PATH](/docs/zh-CN/troubleshoot-install#command-not-found-claude-after-installation)。49 安装命令在下载 Claude Code 期间不会显示进度。安装程序完成后,打开一个新的终端窗口并运行 `claude --version`。正常的安装会打印一个版本号。如果您的 shell 显示找不到 `claude` 或无法识别,说明安装目录还不在您的 PATH 中:请参阅[修复您的 PATH](/docs/zh-CN/troubleshoot-install#command-not-found-claude-after-installation)。

50 50 

51 如果您看到 `The token '&&' is not a valid statement separator`,说明您在 PowerShell 中,而不是 CMD。如果您看到 `'irm' is not recognized as an internal or external command`,说明您在 CMD 中,而不是 PowerShell。51 如果您看到 `The token '&&' is not a valid statement separator`,说明您在 PowerShell 中,而不是 CMD。如果您看到 `'irm' is not recognized as an internal or external command`,说明您在 CMD 中,而不是 PowerShell。

52 52 

permissions.md +1 −1

Details

700权限和[沙箱](/docs/zh-CN/sandboxing)是互补的安全层:700权限和[沙箱](/docs/zh-CN/sandboxing)是互补的安全层:

701 701 

702* **权限**控制 Claude Code 可以使用哪些工具以及它可以访问哪些文件或域。它们适用于 Bash、Read、Edit、WebFetch、MCP 和其他所有工具,除了 deny 或 ask 规则无法阻止 [`EndConversation`](/docs/zh-CN/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。702* **权限**控制 Claude Code 可以使用哪些工具以及它可以访问哪些文件或域。它们适用于 Bash、Read、Edit、WebFetch、MCP 和其他所有工具,除了 deny 或 ask 规则无法阻止 [`EndConversation`](/docs/zh-CN/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。

703* **沙箱**提供 OS 级别的强制执行,限制 shell 命令的文件系统和网络访问。它仅适用于 Bash、PowerShell 和 [Monitor](/docs/zh-CN/tools-reference#monitor-tool) 命令及其子进程。703* **沙箱隔离**提供 OS 级别的强制执行,限制 shell 命令的文件系统和网络访问。它适用于 Bash、PowerShell 和 [Monitor](/docs/zh-CN/tools-reference#monitor-tool) 工具命令及其子进程。

704 704 

705使用两者进行深度防御,因为即使提示注入绕过 Claude 的决策制定,沙箱限制仍然适用。来自沙箱设置和权限规则的路径和域被[合并到最终沙箱配置](/docs/zh-CN/sandboxing#permission-rules)中。705使用两者进行深度防御,因为即使提示注入绕过 Claude 的决策制定,沙箱限制仍然适用。来自沙箱设置和权限规则的路径和域被[合并到最终沙箱配置](/docs/zh-CN/sandboxing#permission-rules)中。

706 706 

plugin-evals.md +25 −4

Details

335* **替换**:使用 `{{input.<field>}}` 从调用的输入插入字段,使用 `{{file:fixtures/{input.<field>}.json}}` 插入 mock 旁边的 fixture 文件的内容。335* **替换**:使用 `{{input.<field>}}` 从调用的输入插入字段,使用 `{{file:fixtures/{input.<field>}.json}}` 插入 mock 旁边的 fixture 文件的内容。

336* **`expect:`**:`expect:` 块保护输入。如果调用违反它,运行以分数 0 中止并记录原因,以便用例可以断言你的插件要求服务器执行的操作。336* **`expect:`**:`expect:` 块保护输入。如果调用违反它,运行以分数 0 中止并记录原因,以便用例可以断言你的插件要求服务器执行的操作。

337* **`error: true`**:设置 `error: true` 以将正文作为工具错误返回。337* **`error: true`**:设置 `error: true` 以将正文作为工具错误返回。

338* **`type: agent`**:设置 `type: agent`,让评判模型根据正文中的指令以服务器身份回答。338* **`type: agent`**:设置 `type: agent`,让评判模型根据正文中的指令以服务器身份回答。对 Agent mock 的调用共享一个[每次运行的预算](#mock-call-budget-exceeded),其值为用例 `max_turns` 的四倍,超出预算的调用会以分数 0 中止运行。

339 339 

340[mock 文件参考](#mock-files)列出了每个键和 `_server.md` 和 `_tools.json` 文件。340[mock 文件参考](#mock-files)列出了每个键和 `_server.md` 和 `_tools.json` 文件。

341 341 


502| `cases[].aggregates.score` | 用例的平均 with-arm 运行分数 |502| `cases[].aggregates.score` | 用例的平均 with-arm 运行分数 |

503| `cases[].aggregates.delta` | With-arm 分数减去 without-arm 分数。当 arm 不可比较时省略 |503| `cases[].aggregates.delta` | With-arm 分数减去 without-arm 分数。当 arm 不可比较时省略 |

504| `cases[].arms.with[].error` | `null`,或运行异常结束的原因,例如 `timed out after 300s`。启动但结束不好的运行仍然在它生成的内容上评分,所以非空错误不意味着分数 0 |504| `cases[].arms.with[].error` | `null`,或运行异常结束的原因,例如 `timed out after 300s`。启动但结束不好的运行仍然在它生成的内容上评分,所以非空错误不意味着分数 0 |

505| `cases[].arms.with[].aborted` | 当[mock](#mock-mcp-servers) 的 `expect:` 或 `abort_when` 停止运行时出现,带有 `server`、`tool` 和 `reason`。运行分数为 0,`error` 保持 `null` |505| `cases[].arms.with[].aborted` | 当 [mock](#mock-mcp-servers) 通过 `expect:`、`abort_when` 或 [agent-mock 调用预算](#mock-call-budget-exceeded)停止运行时出现,带有 `server`、`tool` 和 `reason`。运行分数为 0,`error` 保持 `null` |

506| `cases[].arms.with[].skippedPaidGraders` | `true` 当成本上限跳过此运行的评判评分器时,所以其分数不可比较 |506| `cases[].arms.with[].skippedPaidGraders` | `true` 当成本上限跳过此运行的评判评分器时,所以其分数不可比较 |

507| `costUsd`, `durationSeconds`, `claudeVersion` | 列表价格的估计成本,包括评判调用、挂钟秒数和运行套件的 Claude Code 版本 |507| `costUsd`, `durationSeconds`, `claudeVersion` | 列表价格的估计成本,包括评判调用、挂钟秒数和运行套件的 Claude Code 版本 |

508 508 


654| 键 | 默认 | 目的 |654| 键 | 默认 | 目的 |

655| :- | :- | :- |655| :- | :- | :- |

656| `type` | `fixed` | `fixed` 按原样返回正文。`agent` 将正文视为给[评判模型](#command-options)的指令,该模型在运行中充当服务器,并将之前的调用视为历史 |656| `type` | `fixed` | `fixed` 按原样返回正文。`agent` 将正文视为给[评判模型](#command-options)的指令,该模型在运行中充当服务器,并将之前的调用视为历史 |

657| `expect` | 未设置 | 从点分输入路径到类型名称(例如 `string`、`number`、`boolean`、`array` 或 `object`)、`/regex/`、文字或允许的文字列表的映射。违反它的调用以分数 0 中止运行,并报告为 `aborted`,带有服务器、工具和原因 |657| `expect` | 未设置 | 从点分输入路径到类型名称(例如 `string`、`number`、`boolean`、`array` 或 `object`)、[`/regex/`](#expect-patterns)、字面值或允许的字面值列表的映射。违反它的调用会以分数 0 中止运行,并报告为 `aborted`,附带服务器、工具和原因 |

658| `error` | `false` | `fixed` 仅。将正文作为工具错误返回 |658| `error` | `false` | `fixed` 仅。将正文作为工具错误返回 |

659| `abort_when` | 未设置 | `agent` 仅。散文列出代理可能中止运行的唯一条件 |659| `abort_when` | 未设置 | `agent` 仅。散文列出代理可能中止运行的唯一条件 |

660 660 

661两个可选文件位于服务器目录中的工具文件旁边:661两个可选文件位于服务器目录中的工具文件旁边:

662 662 

663* **`_server.md`**:单个 `type: agent` mock,在其 `tools:` frontmatter 键中列出的几个工具回答。相同工具的 `<tool>.md` 优先。在单个 `<tool>.md` 上放置 `expect:` 保护,不在这里663* **`_server.md`**:单个 `type: agent` mock,回答其 `tools:` frontmatter 键中列出的多个工具。同一工具的 `<tool>.md` 优先于它。在这里放置 `expect:` 保护会导致加载错误,除非 `tools:` 只列出一个工具,因此请将保护放在单独的 `<tool>.md` 上

664* **`_tools.json`**:来自真实服务器的保存 `tools/list` 响应,所以 mocked 工具携带其真实描述和输入架构,而不是宽松的占位符664* **`_tools.json`**:来自真实服务器的保存 `tools/list` 响应,所以 mocked 工具携带其真实描述和输入架构,而不是宽松的占位符

665 665 

666用例自己的 `mocks/` 目录使用相同的布局并逐文件覆盖套件的 mocks。666用例自己的 `mocks/` 目录使用相同的布局并逐文件覆盖套件的 mocks。

667 667 

668<h4 id="expect-patterns">

669 expect 中的正则表达式模式

670</h4>

671 

672`expect:` 中的 `/regex/` 值使用一种小型方言,Claude Code 会在加载套件时对其进行检查:

673 

674* 字面字符、`.`、转义序列(如 `\d`)以及字符类(如 `[a-z]`)

675* 量词 `*`、`+`、`?` 以及 `{m,n}` 形式,每个都作用于单个字符、转义序列或字符类

676* 开头可选的 `^` 和结尾可选的 `$`

677* 仅限标志 `i` 和 `s`

678 

679超出该方言的模式,例如包含分组、交替、反向引用、环视或其他标志的模式,会导致用例无法加载:该用例得分为 0,其错误信息会指明该模式。要允许多个确切值,请编写字面值列表,而不是使用交替。

680 

681每个模式只检查不超过某个最大长度的值,更长的值会被视为违规。量词会降低该长度,而开头的 `^` 会提高该长度,因此请用 `^` 锚定模式并尽量少用量词。

682 

668<h2 id="troubleshooting">683<h2 id="troubleshooting">

669 故障排除684 故障排除

670</h2>685</h2>


773 788 

774如果你的账户在套件运行时达到了计划的使用限制或 API 速率限制,每个后续运行都会以该错误结束,根据它生成的内容进行评分,通常评分为 0。套件仍然完成,不会标记为 `partial`,所以结果看起来像是一个回归。在信任评分之前,检查 `NOTES` 列或 JSON 中的 `cases[].arms.with[].error` 中的限制消息,然后在限制重置后重新运行,如果你需要保持在限制内,使用 `--runs 1` 或 `--case` 过滤器。789如果你的账户在套件运行时达到了计划的使用限制或 API 速率限制,每个后续运行都会以该错误结束,根据它生成的内容进行评分,通常评分为 0。套件仍然完成,不会标记为 `partial`,所以结果看起来像是一个回归。在信任评分之前,检查 `NOTES` 列或 JSON 中的 `cases[].arms.with[].error` 中的限制消息,然后在限制重置后重新运行,如果你需要保持在限制内,使用 `--runs 1` 或 `--case` 过滤器。

775 790 

791<h3 id="mock-call-budget-exceeded">

792 "mock call budget exceeded"

793</h3>

794 

795一次运行中的每个 `type: agent` [模拟](#mock-mcp-servers)都共用一个调用预算,该预算为案例 `max_turns` 的四倍,在默认值 10 下即为 40 次调用。由 `.replay/` 录制内容应答的调用同样计入,案例的 `mock budget` 进度行会打印该预算。超出预算的调用会中止运行,评分为 0 并给出此原因,因此对于会大量调用 Agent 模拟的 skill,请在案例中提高 `max_turns`。

796 

776<h3 id="runs-time-out-or-hit-the-turn-cap">797<h3 id="runs-time-out-or-hit-the-turn-cap">

777 运行超时或达到轮次上限798 运行超时或达到轮次上限

778</h3>799</h3>

Details

129 129 

130使用错误(例如无效的 `--scope`)不会打印结果行,而是以 `1` 退出,并在 stderr 上给出原因。130使用错误(例如无效的 `--scope`)不会打印结果行,而是以 `1` 退出,并在 stderr 上给出原因。

131 131 

132<h4 id="json-result-for-marketplace-commands">

133 市场命令的 JSON 结果

134</h4>

135 

136在 `plugin marketplace add`、`plugin marketplace remove` 和 `plugin marketplace update` 上,`--json` 会在 stdout 的最后一行打印一个 JSON 对象,包含 `command`、`outcome` 和 `message` 字段。以下是 `claude plugin marketplace remove your-marketplace --json` 的结果:

137 

138```json theme={null}

139{"command":"marketplace-remove","outcome":"ok","marketplace":"your-marketplace","message":"Successfully removed marketplace: your-marketplace"}

140```

141 

142`command` 的值为 `marketplace-add`、`marketplace-remove` 或 `marketplace-update`。以下字段仅在适用时出现:

143 

144* `marketplace`:命令所作用的市场名称

145* `failureCode`:表示命令失败原因的代码,例如 `invalid_source`

146 

147当参数为[保留名称](/docs/zh-CN/plugins/marketplace-reference#reserved-names) `anthropic-plugin-directory` 时,`plugin marketplace add` 和 `plugin marketplace remove` 可能不打印结果行,因此对于该名称请检查退出码。

148 

132<h4 id="accept-a-displayed-install-command">149<h4 id="accept-a-displayed-install-command">

133 接受显示的安装命令150 接受显示的安装命令

134</h4>151</h4>


672* `target`:Claude Code 验证的解析后路径689* `target`:Claude Code 验证的解析后路径

673* `manifest`:清单自身的结果,对于没有清单的运行为 `null`690* `manifest`:清单自身的结果,对于没有清单的运行为 `null`

674* `contents`:每个文件的结果,各自指明其 `file`,并携带 `errors`、`warnings` 和 `notes` 数组691* `contents`:每个文件的结果,各自指明其 `file`,并携带 `errors`、`warnings` 和 `notes` 数组

692 * `gatingHooks`:每个可以拒绝操作的 [mod](/docs/zh-CN/plugins/mods/overview) hook(例如 `tool.call` hook)是否具有 [`.catch` 处理程序](/docs/zh-CN/plugins/mods/events#handle-a-hook-that-fails)。每一项给出 `module`、`pattern`、`hook` 和 `hasCatch`。需要 Claude Code v2.1.290 或更高版本

675 693 

676以 `2` 退出时,命令不向 stdout 写入任何内容。错误消息输出到 stderr。694以 `2` 退出时,命令不向 stdout 写入任何内容。错误消息输出到 stderr。

677 695 


679 claude plugin marketplace 命令697 claude plugin marketplace 命令

680</h2>698</h2>

681 699 

682从你的 shell 运行 `claude plugin marketplace <subcommand>` 来添加、列出、刷新和移除你安装插件的市场。700从您的 shell 运行 `claude plugin marketplace <subcommand>` 来添加、列出、刷新和移除您安装插件的市场。

683 701 

684* **退出代码**:这些子命令遵循插件命令的[退出代码约定](#claude-plugin-commands)702* **退出码**:这些子命令遵循插件命令的[退出码约定](#claude-plugin-commands)

685* **作用域**:它们的 `--scope` 标志没有 `-s` 短形式703* **作用域**:它们的 `--scope` 标志没有 `-s` 短形式

686 704 

687关于市场是什么以及 Claude Code 如何缓存它,请参阅[插件加载参考](/docs/zh-CN/plugins/loading)。705关于市场是什么以及 Claude Code 如何缓存它,请参阅[插件加载参考](/docs/zh-CN/plugins/loading)。


692 710 

693从 GitHub 仓库、git URL、托管的 `marketplace.json` 或本地路径添加市场,并在设置文件中声明它。711从 GitHub 仓库、git URL、托管的 `marketplace.json` 或本地路径添加市场,并在设置文件中声明它。

694 712 

695添加后,Claude Code 会安装你已安装的插件缺失的任何[依赖项](/docs/zh-CN/plugins/dependencies)。713添加后,Claude Code 会安装您已安装的插件缺失的任何[依赖项](/docs/zh-CN/plugins/dependencies)。

696 714 

697```bash theme={null}715```bash theme={null}

698claude plugin marketplace add <source> [options]716claude plugin marketplace add <source> [options]


703| `--scope <scope>` | 声明市场的设置文件:`user`、`project` 或 `local`。默认为 `user` |721| `--scope <scope>` | 声明市场的设置文件:`user`、`project` 或 `local`。默认为 `user` |

704| `--sparse <paths...>` | 将 git 检出限制在这些目录,用于 monorepos。仅限 `github` 和 `git` 源 |722| `--sparse <paths...>` | 将 git 检出限制在这些目录,用于 monorepos。仅限 `github` 和 `git` 源 |

705| `--claudeai` | 将参数读取为[托管在 claude.ai 上的市场](/docs/zh-CN/plugins/install#add-from-claude-ai)的名称,而不是源。需要 Claude Code v2.1.273 或更高版本 |723| `--claudeai` | 将参数读取为[托管在 claude.ai 上的市场](/docs/zh-CN/plugins/install#add-from-claude-ai)的名称,而不是源。需要 Claude Code v2.1.273 或更高版本 |

724| `--json` | 以 [JSON 结果格式](#plugin-json-result)在 stdout 的最后一行以一个 JSON 对象打印命令是否成功及其消息。与 `--claudeai` 一起使用时无效。需要 Claude Code v2.1.287 或更高版本 |

706 725 

707`<source>` 采用下表中的任何形式,其形式决定了源类型以及 Claude Code 如何获取市场。关于生成的源对象,请参阅[市场参考](/docs/zh-CN/plugins/marketplace-reference)。726`<source>` 采用下表中的任何形式,其形式决定了源类型以及 Claude Code 如何获取市场。关于生成的源对象,请参阅[市场参考](/docs/zh-CN/plugins/marketplace-reference)。

708 727 

709| 你输入的 | 源类型 | Claude Code 如何获取它 |728| 您输入的 | 源类型 | Claude Code 如何获取它 |

710| :- | :- | :- |729| :- | :- | :- |

711| `owner/repo`、`owner/repo#ref` 或 `owner/repo@ref` | `github` | 克隆 GitHub 仓库,给定时固定到 `ref`。所有者和仓库必须遵循 GitHub 命名规则 |730| `owner/repo`、`owner/repo#ref` 或 `owner/repo@ref` | `github` | 克隆 GitHub 仓库,给定时固定到 `ref`。所有者和仓库必须遵循 GitHub 命名规则 |

712| `user@host:path[.git][#ref]` | `git` | 通过 SSH 克隆 |731| `user@host:path[.git][#ref]` | `git` | 通过 SSH 克隆 |


728 747 

729Claude Code 打印 `Successfully added marketplace: your-marketplace (declared in project settings)`,使用市场自己清单中的 `name`。重复添加或无效源会改为打印以下结果之一:748Claude Code 打印 `Successfully added marketplace: your-marketplace (declared in project settings)`,使用市场自己清单中的 `name`。重复添加或无效源会改为打印以下结果之一:

730 749 

731* **市场已在磁盘上**:输出为 `Marketplace 'your-marketplace' already on disk — declared in project settings`,退出代码为 `0`750* **市场已在磁盘上**:输出为 `Marketplace 'your-marketplace' already on disk — declared in project settings`,退出码为 `0`

732* **无法识别的源**:输出为 `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`,退出代码为 `1`751* **无法识别的源**:输出为 `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`,退出码为 `1`

733* **裸主机,如 `gitlab.example.com/team/plugins`**:添加失败,作为无效的 `owner/repo` 简写,消息告诉你添加 `https://` 或使用本地路径752* **裸主机,如 `gitlab.example.com/team/plugins`**:添加失败,作为无效的 `owner/repo` 简写,消息告诉您添加 `https://` 或使用本地路径

734 753 

735通过 `claude plugin marketplace list` 的 `From claude.ai:` 部分中打印的名称添加[托管在 claude.ai 上的市场](/docs/zh-CN/plugins/install#add-from-claude-ai):754通过 `claude plugin marketplace list` 的 `From claude.ai:` 部分中打印的名称添加[托管在 claude.ai 上的市场](/docs/zh-CN/plugins/install#add-from-claude-ai):

736 755 


738claude plugin marketplace add --claudeai claudeai-organization-library757claude plugin marketplace add --claudeai claudeai-organization-library

739```758```

740 759 

741使用 `--claudeai` 时,命令拒绝 `--scope` 和 `--sparse`。市场为你的账户托管,未在设置文件中声明,因此你无法通过项目的 `.claude/settings.json` 共享它。760使用 `--claudeai` 时,命令拒绝 `--scope` 和 `--sparse`。市场为您的账户托管,未在设置文件中声明,因此您无法通过项目的 `.claude/settings.json` 共享它。

742 761 

743<h3 id="plugin-marketplace-list">762<h3 id="plugin-marketplace-list">

744 plugin marketplace list763 plugin marketplace list

745</h3>764</h3>

746 765 

747列出你添加的每个市场及其源。766列出您添加的每个市场及其源。

748 767 

749```bash theme={null}768```bash theme={null}

750claude plugin marketplace list [options]769claude plugin marketplace list [options]


770 789 

771添加的 [claude.ai 市场](/docs/zh-CN/plugins/install#add-from-claude-ai)没有本地克隆,因此其条目在 `installLocation` 的位置携带其 claude.ai 标识符 `marketplaceId` 和 `organizationUuid`。它也在记录时携带 `scope` 和 `status`。790添加的 [claude.ai 市场](/docs/zh-CN/plugins/install#add-from-claude-ai)没有本地克隆,因此其条目在 `installLocation` 的位置携带其 claude.ai 标识符 `marketplaceId` 和 `organizationUuid`。它也在记录时携带 `scope` 和 `status`。

772 791 

773如果你的终端会话[从你的 claude.ai 账户同步插件](/docs/zh-CN/plugins/loading#synced-plugins),文本列表以 `From claude.ai:` 部分结尾。该部分命名 claude.ai 为你的账户列出的市场,你还没有添加的,包括基于 git 的和托管的。它需要 Claude Code v2.1.273 或更高版本。792如果您的终端会话[从您的 claude.ai 账户同步插件](/docs/zh-CN/plugins/loading#synced-plugins),文本列表以 `From claude.ai:` 部分结尾。该部分列出 claude.ai 为您的账户列出但您尚未添加的市场,包括基于 git 的和托管的。它需要 Claude Code v2.1.273 或更高版本。

774 793 

775要从该部分添加市场,请参阅[从 claude.ai 添加市场](/docs/zh-CN/plugins/install#add-from-claude-ai)。794要从该部分添加市场,请参阅[从 claude.ai 添加市场](/docs/zh-CN/plugins/install#add-from-claude-ai)。

776 795 


780 plugin marketplace remove799 plugin marketplace remove

781</h3>800</h3>

782 801 

783从你的设置中移除市场的声明。`rm` 是 `remove` 的别名。802从您的设置中移除市场的声明。`rm` 是 `remove` 的别名。

784 803 

785<Warning>804<Warning>

786 当你从最后一个声明市场的作用域中移除市场时,Claude Code 也会删除其缓存并卸载你从中安装的每个插件。它也会删除它们保存的[选项和密钥](/docs/zh-CN/plugins/manifest-reference#user-configuration)和[数据](/docs/zh-CN/plugins/components#path-variables-and-persistent-data)(如果可以的话)。805 当您从最后一个声明市场的作用域中移除市场时,Claude Code 也会删除其缓存并卸载您从中安装的每个插件。它也会删除它们保存的[选项和密钥](/docs/zh-CN/plugins/manifest-reference#user-configuration)和[数据](/docs/zh-CN/plugins/components#path-variables-and-persistent-data)(如果可以的话)。

787 806 

788 要在不丢失其插件的情况下刷新市场,请改为运行 `plugin marketplace update`。807 要在不丢失其插件的情况下刷新市场,请改为运行 `plugin marketplace update`。

789</Warning>808</Warning>


792claude plugin marketplace remove <name> [options]811claude plugin marketplace remove <name> [options]

793```812```

794 813 

795`<name>` 是 `plugin marketplace list` 显示的市场名称,而不是你传递给 `add` 的源。814`<name>` 是 `plugin marketplace list` 显示的市场名称,而不是您传递给 `add` 的源。

796 815 

797| 标志 | 描述 |816| 标志 | 描述 |

798| :- | :- |817| :- | :- |

799| `--scope <scope>` | 从一个设置作用域中移除声明:`user`、`project` 或 `local`。不使用它时,Claude Code 从每个作用域中移除声明 |818| `--scope <scope>` | 从一个设置作用域中移除声明:`user`、`project` 或 `local`。不使用它时,Claude Code 从每个作用域中移除声明 |

819| `--json` | 以 [JSON 结果格式](#plugin-json-result)在 stdout 的最后一行以一个 JSON 对象打印命令是否成功及其消息。需要 Claude Code v2.1.287 或更高版本 |

800 820 

801从每个作用域中移除市场:821从每个作用域中移除市场:

802 822 


806 826 

807Claude Code 打印 `Successfully removed marketplace: your-marketplace`。当命令卸载插件时,输出在诸如 `Also uninstalled 2 plugins from this marketplace:` 的行下列出它们。要再次使用其中一个,请添加市场并重新安装插件。827Claude Code 打印 `Successfully removed marketplace: your-marketplace`。当命令卸载插件时,输出在诸如 `Also uninstalled 2 plugins from this marketplace:` 的行下列出它们。要再次使用其中一个,请添加市场并重新安装插件。

808 828 

809如果你限定作用域到不声明市场的设置文件,命令失败,显示 `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`829如果您限定作用域到不声明市场的设置文件,命令失败,显示 `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

810 830 

811<h3 id="plugin-marketplace-update">831<h3 id="plugin-marketplace-update">

812 plugin marketplace update832 plugin marketplace update


815从其源刷新一个市场或每个市场,以获取新插件和版本。使用分支或标签 `ref` 添加的市场更新到该 ref 的最新提交,而不是仓库的默认分支。835从其源刷新一个市场或每个市场,以获取新插件和版本。使用分支或标签 `ref` 添加的市场更新到该 ref 的最新提交,而不是仓库的默认分支。

816 836 

817```bash theme={null}837```bash theme={null}

818claude plugin marketplace update [name]838claude plugin marketplace update [name] [options]

819```839```

820 840 

821该命令除了 `--help` 外不接受任何标志。841| 标志 | 描述 |

842| :- | :- |

843| `--json` | 以 [JSON 结果格式](#plugin-json-result)在 stdout 的最后一行以一个 JSON 对象打印命令是否成功及其消息。未提供名称时,命令拒绝 `--json` 并以 `1` 退出。需要 Claude Code v2.1.287 或更高版本 |

822 844 

823刷新一个市场:845刷新一个市场:

824 846 


826claude plugin marketplace update your-marketplace848claude plugin marketplace update your-marketplace

827```849```

828 850 

829Claude Code 打印 `Successfully updated marketplace: your-marketplace`。当你省略名称时,它打印计数,如 `Successfully updated 2 marketplaces`。没有添加市场时,它打印 `No marketplaces configured` 并退出 `0`。851Claude Code 打印 `Successfully updated marketplace: your-marketplace`。当您省略名称时,它打印计数,如 `Successfully updated 2 marketplaces`。

830 852 

831<h2 id="plugin-in-a-session">853<h2 id="plugin-in-a-session">

832 会话中的 /plugin854 会话中的 /plugin

Details

1034]1034]

1035```1035```

1036 1036 

1037命令在 shell 中运行,在会话启动的工作目录中。1037命令在 shell 中运行,位于会话的当前工作目录中。它以您的完整用户权限运行,并且在 [沙箱](/docs/zh-CN/sandboxing) 之外运行。

1038 1038 

1039monitor 的命令在其启动位置和可以引用的内容方面受到限制:1039monitor 的命令在其启动位置和可以引用的内容方面受到限制:

1040 1040 

Details

52* **Claude Code 用于不来自 marketplace 的插件的名称**:`inline` 用于使用 [`--plugin-dir`](/docs/zh-CN/cli-reference) 加载的插件,`builtin` 用于内置插件,`skills-dir` 用于从 [`.claude/skills/`](/docs/zh-CN/skills) 自动加载的插件,`synced` 用于从你的 claude.ai 账户同步的插件。`claude-plugin-test` 也被保留。`skills-dir` 也显示为 `{"source": "skills-dir"}`,在 `strictKnownMarketplaces` 和 `blockedMarketplaces` 中,如 [仅在策略列表中有效的源值](#source-values-valid-only-in-policy-lists) 下所述。52* **Claude Code 用于不来自 marketplace 的插件的名称**:`inline` 用于使用 [`--plugin-dir`](/docs/zh-CN/cli-reference) 加载的插件,`builtin` 用于内置插件,`skills-dir` 用于从 [`.claude/skills/`](/docs/zh-CN/skills) 自动加载的插件,`synced` 用于从你的 claude.ai 账户同步的插件。`claude-plugin-test` 也被保留。`skills-dir` 也显示为 `{"source": "skills-dir"}`,在 `strictKnownMarketplaces` 和 `blockedMarketplaces` 中,如 [仅在策略列表中有效的源值](#source-values-valid-only-in-policy-lists) 下所述。

53* **`npm`、`pip`、`uv`、`cargo`、`github` 和 `gh`**:以任何大小写保留。此检查需要 Claude Code v2.1.275 或更高版本。53* **`npm`、`pip`、`uv`、`cargo`、`github` 和 `gh`**:以任何大小写保留。此检查需要 Claude Code v2.1.275 或更高版本。

54* **以 `claudeai-` 开头的名称**:为托管在 claude.ai 上的 marketplace 保留。`claude plugin marketplace add` 拒绝任何其他使用一个的 marketplace,错误为 `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`。54* **以 `claudeai-` 开头的名称**:为托管在 claude.ai 上的 marketplace 保留。`claude plugin marketplace add` 拒绝任何其他使用一个的 marketplace,错误为 `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`。

55* **已注册 GitHub 市场的下载文件夹名称 `<owner>-<repo>`**:对于从 `github` 源(例如 `acme/x-tools`)添加的市场,无论该市场自身的 `name` 是什么,Claude Code 都会通过名为 `acme-x-tools` 的文件夹下载它。当该市场以 `acme-x-tools` 以外的名称注册时,`claude plugin marketplace add` 会在下载另一个名为 `acme-x-tools` 的市场后拒绝它,并报告 `Can't use the marketplace name "acme-x-tools"`。此检查需要 Claude Code v2.1.290 或更高版本。

55 56 

56当已注册的 marketplace 因其名称模仿官方名称而停止加载时,`claude plugin list` 和 `/plugin` 报告 `Claude Code refuses the marketplace name "<name>"`。该消息告诉你删除该 marketplace。删除它也会卸载其插件并删除其保存的数据。此命名拒绝消息需要 Claude Code v2.1.282 或更高版本。57当已注册的 marketplace 因其名称模仿官方名称而停止加载时,`claude plugin list` 和 `/plugin` 报告 `Claude Code refuses the marketplace name "<name>"`。该消息告诉你删除该 marketplace。删除它也会卸载其插件并删除其保存的数据。此命名拒绝消息需要 Claude Code v2.1.282 或更高版本。

57 58 


498| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | 错误 | `plugins[i].name` |499| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | 错误 | `plugins[i].name` |

499| `Duplicate plugin name "x" found in marketplace` | 错误 | 两个条目共享一个 `name` |500| `Duplicate plugin name "x" found in marketplace` | 错误 | 两个条目共享一个 `name` |

500| `plugins.i.source: Invalid input` | 错误 | 该条目的 `source` 与任何类型都不匹配。请参阅 [Invalid input on a source](#invalid-input-on-a-source) |501| `plugins.i.source: Invalid input` | 错误 | 该条目的 `source` 与任何类型都不匹配。请参阅 [Invalid input on a source](#invalid-input-on-a-source) |

502| `plugins.i.source: Invalid string: must start with "./"` | 错误 | 缺少开头 `./` 的相对路径 `source`。在 v2.1.285 之前,此错误会改为打印 `Invalid input` |

501| `plugins[i].source: Path contains "..": <path>` | 错误 | 转义 marketplace 根目录的相对 `source` |503| `plugins[i].source: Path contains "..": <path>` | 错误 | 转义 marketplace 根目录的相对 `source` |

502| `source.source: 'unsupported' is a parse-time placeholder and cannot be authored` | 错误 | `plugins[i].source` |504| `source.source: 'unsupported' is a parse-time placeholder and cannot be authored` | 错误 | `plugins[i].source` |

503| `Plugin "x" sets headersHelper but is not "strict": false` | 错误 | `plugins[i].headersHelper`,在 `archive` 条目上 |505| `Plugin "x" sets headersHelper but is not "strict": false` | 错误 | `plugins[i].headersHelper`,在 `archive` 条目上 |


524 526 

525`source` 上的 `Invalid input` 意味着该对象与任何源类型都不匹配。检查这些原因:527`source` 上的 `Invalid input` 意味着该对象与任何源类型都不匹配。检查这些原因:

526 528 

527* 不以 `./` 开头的相对路径,除了 `"."` 或 [`metadata.pluginRoot` 下的裸名称](#relative-path-plugin-source)

528* 包含 `..` 的 `npm` `package`529* 包含 `..` 的 `npm` `package`

529* 不是 [plugin sources](#plugin-sources) 之一的 `source` 类型530* 不是 [plugin sources](#plugin-sources) 之一的 `source` 类型

530* 已知类型缺少必需字段或字段类型错误,例如没有 `repo` 的 `github`531* 已知类型缺少必需字段或字段类型错误,例如没有 `repo` 的 `github`

531 532 

533不以 `./` 开头的相对路径(`"."` 或 [`metadata.pluginRoot` 下的裸名称](#relative-path-plugin-source) 除外)会失败并显示 `Invalid string: must start with "./"`。在 v2.1.285 之前,它会像上述原因一样打印 `Invalid input`。

534 

532<h3 id="failures-that-validation-doesn’t-catch">535<h3 id="failures-that-validation-doesn’t-catch">

533 验证未捕获的失败536 验证未捕获的失败

534</h3>537</h3>

Details

22</Note>22</Note>

23 23 

24<h2 id="stop-user-installed-mods-from-loading">24<h2 id="stop-user-installed-mods-from-loading">

25 停止用户安装的 mods 加载25 停止用户安装的 mod 加载

26</h2>26</h2>

27 27 

28要防止用户带来的每个 mod 加载,请在[内置保护](#know-what-happens-by-default)上设置 `allowManagedModsOnly` 选项,这是一个策略 mod,Claude Code 在用户安装的每个 mod 之前加载。该选项位于 `pluginConfigs` 下的托管设置中,由 `cc-plugin-sec-default@builtin` 键入:28要阻止用户带来的每个 mod 运行其 hook,请在[内置守卫](#know-what-happens-by-default)上设置 `allowManagedModsOnly` 选项。内置守卫是一个策略 mod,Claude Code 会在用户安装的每个 mod 之前加载它。该选项位于托管设置的 `pluginConfigs` 下,以 `cc-plugin-sec-default@builtin` 为键:

29 29 

30```json managed-settings.json theme={null}30```json managed-settings.json theme={null}

31{31{


39}39}

40```40```

41 41 

42设置了托管设置中的选项后:42在托管设置中设置该选项后:

43 43 

44* **用户带来的任何 mod 都不会加载**:这包括用户安装的插件中的 mod、使用 `--plugin-dir` 加载的 mod 以及[Claude 在会话期间编写的](/docs/zh-CN/plugins/mods/create#ask-claude-for-a-mod) mod44* **用户带来的任何 mod 都不会运行其 hook**:这包括用户安装的插件中的 mod、使用 `--plugin-dir` 加载的 mod,以及[Claude 在会话期间编写的](/docs/zh-CN/plugins/mods/create#ask-claude-for-a-mod) mod

45* **您组织的 mods 仍然加载**:[计为您组织的](#install-your-organizations-mods) mod 不会被检查。所有其他 mod 都计为用户的 mod,不会加载。这包括您从 GitHub 或其他远程市场启用的插件中的 mod,以及您的组织为其成员在 claude.ai 上启用的 mod。如果没有计为您的 mod,则不会加载任何已安装的 mod。45* **您组织的 mod 仍然运行**:[计为您组织的](#install-your-organizations-mods) mod 不会被检查。所有其他 mod 都计为用户的 mod,并会被拒绝。这包括您从 GitHub 或其他远程市场启用的插件中的 mod,以及您的组织为其成员在 claude.ai 上启用的 mod。如果没有任何 mod 计为您组织的,则所有已安装的 mod 都不会运行其 hook。

46* **用户无法撤销它**:保护程序仅从托管设置读取选项,因此用户、项目或本地设置文件中的相同条目,或使用 `--settings` 传递的文件中的条目不会改变任何内容46* **用户无法撤销它**:守卫仅从托管设置读取该选项,因此用户、项目或本地设置文件中的相同条目,或使用 `--settings` 传递的文件中的条目都不会改变任何内容

47* **文件或 MDM 策略涵盖每个提供商**:当您以文件形式或通过 MDM 提供选项时,它在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的工作方式相同。对于从 claude.ai 管理控制台的交付,请参阅[平台可用性](/docs/zh-CN/server-managed-settings#platform-availability)47* **文件或 MDM 策略涵盖每个提供商**:当您以文件形式或通过 MDM 提供该选项时,它在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上的工作方式相同。对于从 claude.ai 管理控制台进行的交付,请参阅[平台可用性](/docs/zh-CN/server-managed-settings#platform-availability)

48* **用户的其他自定义保持工作**:他们[设置文件中的 hooks](/docs/zh-CN/hooks)、状态行和 `/goal` 不受影响48* **用户的其他自定义保持工作**:他们[设置文件中的 hook](/docs/zh-CN/hooks) 和插件 `hooks/hooks.json` 中的 hook、状态栏以及 `/goal` 均不受影响

49* **内置 mods 继续运行**:内置于 Claude Code 的 mods,例如 `AGENTS.md` 支持,各有[自己的开关](/docs/zh-CN/plugins/mods/overview#mods-built-into-claude-code)49* **内置 mod 继续运行**:内置于 Claude Code 的 mod,例如 `AGENTS.md` 支持,各有[自己的开关](/docs/zh-CN/plugins/mods/overview#mods-built-into-claude-code)

50 50 

51要确认用户机器上的选项,请使用 `--plugin-dir` 和包含 mod 的目录路径(例如 `claude --plugin-dir ./first-mod`)启动该机器上的 Claude Code。mod 的 hooks 不会运行,成绩单和调试日志会显示[保护程序的消息](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard),其中命名了 mod 和 `allowManagedModsOnly`。如果 mod 加载,请参阅[检查策略是否生效](/docs/zh-CN/managed-settings#check-that-a-policy-is-in-force)和[决定选项是否生效的规则](#set-options-on-the-built-in-guard)。51要在用户机器上确认该选项,请在该机器上使用 `--plugin-dir` 和包含 mod 的目录路径启动 Claude Code,例如 `claude --plugin-dir ./first-mod`。该 mod 的 hook 不会运行,会话记录和调试日志中会出现[守卫的消息](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard),其中会指明该 mod 和 `allowManagedModsOnly`。如果没有出现该消息,请参阅[检查策略是否生效](/docs/zh-CN/managed-settings#check-that-a-policy-is-in-force)以及[决定选项是否生效的规则](#set-options-on-the-built-in-guard)。

52 52 

53如果您在早期访问期间将 `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` 设置为 `0`,请将其替换为此选项。Claude Code v2.1.287 及更高版本在任何值下都会忽略该变量,因此那里的 `0` 会使 mods 保持开启。53如果您在早期访问期间将 `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` 设置为 `0`,请将其替换为此选项。Claude Code v2.1.287 及更高版本在任何值下都会忽略该变量,因此那里的 `0` 会使 mod 保持开启。

54 54 

55<h2 id="know-what-happens-by-default">55<h2 id="know-what-happens-by-default">

56 了解默认情况下会发生什么56 了解默认情况下会发生什么


117claude plugin validate ./some-mod117claude plugin validate ./some-mod

118```118```

119 119 

120输出中的两行描述了 mod 的代码:120输出中的 `hooks:` 和 `calls:` 行描述了 mod 的代码:

121 121 

122```text theme={null}122```text theme={null}

123 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}123 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}


146 选择允许的程度146 选择允许的程度

147</h2>147</h2>

148 148 

149Mod 策略的范围从根本没有已安装的 mods 到用户选择的任何 mod,以及您自己的 mod 检查其他 mods,每一个都是几个托管设置。在第一列中找到您想要的策略,并设置第二列命名的内容。[部署托管设置](/docs/zh-CN/managed-settings)涵盖托管设置的位置。149Mod 策略的范围从根本没有已安装的 mod 到用户选择的任何 mod,以及由您自己的 mod 检查其他 mod,每一种都只需几个托管设置。在第一列中找到您想要的策略,并设置第二列列出的内容。[部署托管设置](/docs/zh-CN/managed-settings)介绍了托管设置的存放位置。

150 150 

151| 您想要什么 | 设置 |151| 您想要什么 | 设置 |

152| :- | :- |152| :- | :- |

153| 没有已安装的 mods,hooks 保持不变 | 设置 [`allowManagedModsOnly`](#set-options-on-the-built-in-guard) 并且不部署您自己的 mods |153| 没有已安装的 mod 运行,设置 hook 保持不变 | 设置 [`allowManagedModsOnly`](#set-options-on-the-built-in-guard) 并且不部署您自己的 mod |

154| 没有已安装的 mods 和根本没有 hooks,包括您的托管 hooks | 将 `disableAllHooks` 设置为 `true` |154| 没有已安装的 mod,也根本没有 hook,包括您的托管 hook | 将 `disableAllHooks` 设置为 `true` |

155| 仅您组织的 mods | 设置保护程序的 [`allowManagedModsOnly` 选项](#stop-user-installed-mods-from-loading),并[安装您的 mods](#install-your-organizations-mods) 以便它们计为您的 |155| 仅您组织的 mod | 设置守卫的 [`allowManagedModsOnly` 选项](#stop-user-installed-mods-from-loading),并[安装您的 mod](#install-your-organizations-mods) 以便它们计为您的 |

156| 来自您批准的市场的任何 mod | 保持您的[市场限制](/docs/zh-CN/plugins/org#restrict-what-users-can-install),并将 `disableSideloadFlags` 设置为 `true` |156| 来自您批准的市场的任何 mod | 保持您的[市场限制](/docs/zh-CN/plugins/org#restrict-what-users-can-install),并将 `disableSideloadFlags` 设置为 `true` |

157| 任何 mod,您自己的 mod 检查其他 mods | [安装您的 mod](#install-your-organizations-mods),并在 `prependPlugins` 中与 `sec-default@builtin` 一起列出它 |157| 任何 mod,由您自己的 mod 检查其他 mod | [安装您的 mod](#install-your-organizations-mods),并在 `prependPlugins` 中将它与 `sec-default@builtin` 一起列出 |

158 158 

159每个设置的作用:159每个设置的作用:

160 160 

161* **`allowManagedModsOnly`**:内置保护程序上的选项。用户自己的 mods 不加载,他们的设置 hooks、状态行和 `/goal` 继续工作。[停止用户安装的 mods 加载](#stop-user-installed-mods-from-loading)列出了它涵盖的内容。161* **`allowManagedModsOnly`**:内置守卫上的一个选项。Claude Code 会拒绝用户自己的 mod,因此他们的 hook 都不会运行。用户的设置 hook、状态栏和 `/goal` 继续工作。[停止加载用户安装的 mod](#stop-user-installed-mods-from-loading)列出了它涵盖的内容。

162* **`allowManagedHooksOnly`**:更广泛的设置。仅[您组织的 mods](#install-your-organizations-mods) 和内置于 Claude Code 的 mods 加载。用户自己安装的 mod 不加载。该设置还阻止用户自己的设置文件中的 hooks。在设置之前,请阅读[`allowManagedHooksOnly` 下运行什么](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly)。162* **`allowManagedHooksOnly`**:范围更广的设置。仅[您组织的 mod](#install-your-organizations-mods) 和内置于 Claude Code 的 mod 会加载。用户自己安装的 mod 不会加载。该设置还会阻止用户自己的设置文件中的 hook。在设置之前,请阅读[`allowManagedHooksOnly` 下运行什么](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly)。

163* **`disableAllHooks`**:最广泛的设置。在托管设置中,它停止每个已安装插件中的 mods,包括您的,并关闭设置文件中的每个 hook,因此您的托管设置中的 `PreToolUse` hook 不再阻止任何内容。自定义状态行和 `/goal` 也停止工作。在设置之前,请阅读[`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks)。163* **`disableAllHooks`**:范围最广的设置。在托管设置中,它会停止每个已安装插件中的 mod(包括您的),并关闭设置文件中的每个 hook,因此您的托管设置中的 `PreToolUse` hook 不再阻止任何内容。自定义状态栏和 `/goal` 也会停止工作。在设置之前,请阅读[`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks)。

164* **`disableSideloadFlags`**:在启动时拒绝 `--plugin-dir` 和 `--plugin-url`,并防止 Claude 在会话期间编写的 mods 加载。该设置还拒绝 `--agents` 和 `--mcp-config`。在设置之前,请阅读[`disableSideloadFlags`](/docs/zh-CN/settings-reference#disablesideloadflags)。164* **`disableSideloadFlags`**:在启动时拒绝 `--plugin-dir` 和 `--plugin-url`,并阻止 Claude 在会话期间编写的 mod 加载。该设置还会拒绝 `--agents` 和 `--mcp-config`。在设置之前,请阅读[`disableSideloadFlags`](/docs/zh-CN/settings-reference#disablesideloadflags)。

165 165 

166内置于 Claude Code 的 Mods,例如 `AGENTS.md` 支持,不受这些设置的影响。每个都有[自己的开关](/docs/zh-CN/plugins/mods/overview#mods-built-into-claude-code)。166内置于 Claude Code 的 mod,例如 `AGENTS.md` 支持,不受这些设置的影响。每个都有[自己的开关](/docs/zh-CN/plugins/mods/overview#mods-built-into-claude-code)。

167 167 

168mod 未加载的用户在其调试日志中找到原因。[拒绝消息](/docs/zh-CN/plugins/mods/troubleshoot#refusal-messages)列出了 `allowManagedHooksOnly` 和 `disableAllHooks` 的行,[来自内置保护程序的消息](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard)有 `allowManagedModsOnly` 的行。168如果用户的 mod 被拒绝或未加载,用户可以在其调试日志中找到原因。[拒绝消息](/docs/zh-CN/plugins/mods/troubleshoot#refusal-messages)列出了 `allowManagedHooksOnly` 和 `disableAllHooks` 对应的日志行,[来自内置守卫的消息](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard)包含 `allowManagedModsOnly` 对应的日志行。

169 169 

170<h3 id="allow-only-your-organization’s-mods">170<h3 id="allow-only-your-organization’s-mods">

171 仅允许您组织的 mods171 仅允许您组织的 mod

172</h3>172</h3>

173 173 

174要运行您组织的 mods 并阻止用户带来的 mods,请部署[策略表](#choose-how-much-to-allow)中 **仅您组织的 mods** 一行的设置,再加上 `disableSideloadFlags`。使用以下完整的 `managed-settings.json`,Claude Code 会拒绝用户自己的 mods,因此他们的 hooks 都不会运行,而您的策略 mod 会先于其他 mods 运行:174要运行您组织的 mod 并阻止用户带来的 mod,请部署[策略表](#choose-how-much-to-allow)中 **仅您组织的 mod** 一行的设置,再加上 `disableSideloadFlags`。使用以下完整的 `managed-settings.json`,Claude Code 会拒绝用户自己的 mod,因此他们的 hook 都不会运行,而您的策略 mod 会先于其他 mod 运行:

175 175 

176```json managed-settings.json theme={null}176```json managed-settings.json theme={null}

177{177{


193 193 

194每组键各负责一项工作:194每组键各负责一项工作:

195 195 

196* **`extraKnownMarketplaces`、`enabledPlugins` 和 `prependPlugins`**:安装您的 mod 以便它计为您的,并让它首先运行,保护程序紧随其后。[安装您组织的 mods 并设置顺序](#install-your-organizations-mods)涵盖这些键所指向的目录。196* **`extraKnownMarketplaces`、`enabledPlugins` 和 `prependPlugins`**:安装您的 mod 以便它计为您的,并让它首先运行,守卫紧随其后。[安装您组织的 mod 并设置顺序](#install-your-organizations-mods)介绍了这些键所指向的目录。

197* **`pluginConfigs`**:设置保护程序的 `allowManagedModsOnly` 选项,因此 Claude Code 会拒绝用户自己的 mods。他们的设置 hooks、状态栏和 `/goal` 继续工作。197* **`pluginConfigs`**:设置守卫的 `allowManagedModsOnly` 选项,因此 Claude Code 会拒绝用户自己的 mod。他们的设置 hook、状态栏和 `/goal` 继续工作。

198* **`disableSideloadFlags`**:有关它在启动时拒绝的标志,请参阅 [`disableSideloadFlags`](/docs/zh-CN/settings-reference#disablesideloadflags)198* **`disableSideloadFlags`**:有关它在启动时拒绝的标志,请参阅 [`disableSideloadFlags`](/docs/zh-CN/settings-reference#disablesideloadflags)

199 199 

200要在测试机器上确认该策略,请在您的 shell 中使用 `claude --debug` 启动会话并阅读调试日志:200要在测试机器上确认该策略,请在您的 shell 中使用 `claude --debug` 启动会话并阅读调试日志:

201 201 

202* **您的 mod**:其 `hooks module` 行带有 `tier prepend`202* **您的 mod**:其 `hooks module` 行带有 `tier prepend`

203* **用户安装的 mod**:有一行显示 `refused by cc-plugin-sec-default: mods are limited to your organization's by policy (allowManagedModsOnly)`。更早的一行会显示该 mod 的 hooks module 已 `loaded`,因此请查找拒绝信息。203* **用户安装的 mod**:有一行显示 `refused by cc-plugin-sec-default: mods are limited to your organization's by policy (allowManagedModsOnly)`。更早的一行会显示该 mod 的 hook 模块已 `loaded`,因此请查找拒绝信息。

204* **插件目录**:`claude --plugin-dir ./any-mod` 会退出,并显示以 `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)` 开头的消息204* **插件目录**:`claude --plugin-dir ./any-mod` 会退出,并显示以 `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)` 开头的消息

205 205 

206要同时限制用户可以添加哪些市场,请将此文件与您的[市场限制](/docs/zh-CN/plugins/org#restrict-what-users-can-install)结合使用。206要同时限制用户可以添加哪些市场,请将此文件与您的[市场限制](/docs/zh-CN/plugins/org#restrict-what-users-can-install)结合使用。

207 207 

208<h3 id="apply-your-plugin-controls-to-mods">208<h3 id="apply-your-plugin-controls-to-mods">

209 将您的插件控制应用于 mods209 将您的插件控制应用于 mod

210</h3>210</h3>

211 211 

212mod 就是插件,因此您[为组织管理插件](/docs/zh-CN/plugins/org)的方式同样适用于包含 mod 的插件:212mod 就是插件,因此您[为组织管理插件](/docs/zh-CN/plugins/org)的方式同样适用于包含 mod 的插件:


216* **为某个群组(例如试点群组)提供不同的策略**:[为托管设置无法强制执行的内容做好规划](/docs/zh-CN/plugins/org#plan-for-what-managed-settings-can’t-enforce)216* **为某个群组(例如试点群组)提供不同的策略**:[为托管设置无法强制执行的内容做好规划](/docs/zh-CN/plugins/org#plan-for-what-managed-settings-can’t-enforce)

217* **检查哪些应用和会话类型会应用插件键**:[各使用入口何时应用插件键](/docs/zh-CN/plugins/org#when-each-surface-applies-the-plugin-keys)217* **检查哪些应用和会话类型会应用插件键**:[各使用入口何时应用插件键](/docs/zh-CN/plugins/org#when-each-surface-applies-the-plugin-keys)

218* **设置 CI 和容器**:[为容器和 CI 预置内容](/docs/zh-CN/plugins/org#seed-containers-and-ci)218* **设置 CI 和容器**:[为容器和 CI 预置内容](/docs/zh-CN/plugins/org#seed-containers-and-ci)

219* **提供用户可以安装的 mods**:[托管市场](/docs/zh-CN/plugins/host-marketplace)。Claude Code 从 GitHub、git、URL 或 npm 源复制的 mod 计为用户的,而不是[您组织的](#install-your-organizations-mods)。219* **提供用户可以安装的 mod**:[托管市场](/docs/zh-CN/plugins/host-marketplace)。Claude Code 从 GitHub、git、URL 或 npm 源复制的 mod 计为用户的,而不是[您组织的](#install-your-organizations-mods)。

220 220 

221<h3 id="set-options-on-the-built-in-guard">221<h3 id="set-options-on-the-built-in-guard">

222 在内置保护程序上设置选项222 在内置守卫上设置选项

223</h3>223</h3>

224 224 

225内置保护程序接受选项。在托管设置中的 `pluginConfigs` 下设置它们,由 `cc-plugin-sec-default@builtin` 键入,如[停止用户安装的 mods 加载](#stop-user-installed-mods-from-loading)中的示例所示。225内置守卫接受选项。在托管设置中的 `pluginConfigs` 下设置它们,以 `cc-plugin-sec-default@builtin` 为键,如[停止加载用户安装的 mod](#stop-user-installed-mods-from-loading)中的示例所示。

226 226 

227该表给出了您的用户在每个选项未设置和设置为 `true` 时获得的内容:227该表给出了每个选项未设置和设置为 `true` 时您的用户获得的结果:

228 228 

229| 选项 | 未设置 | `true` |229| 选项 | 未设置 | `true` |

230| :- | :- | :- |230| :- | :- | :- |

231| `allowManagedModsOnly` | 用户自己的 mods 加载 | 仅[您组织的 mods](#install-your-organizations-mods) 和内置于 Claude Code 的 mods 加载。Claude Code 拒绝所有其他 mods,包括用户安装的或使用 `--plugin-dir` 命名的。 |231| `allowManagedModsOnly` | 用户自己的 mod 会运行 | 仅[您组织的 mod](#install-your-organizations-mods) 和内置于 Claude Code 的 mod 会运行其 hook。Claude Code 会拒绝所有其他 mod,包括用户安装的或使用 `--plugin-dir` 指定的 mod。 |

232| `allowModsToOverrideDenyRules` | 拒绝规则优先于用户的 mods | 批准工具调用的用户 mod 可以批准 `deny` 规则拒绝的调用 |232| `allowModsToOverrideDenyRules` | 拒绝规则优先于用户的 mod | 批准工具调用的用户 mod 可以批准 `deny` 规则拒绝的调用 |

233 233 

234这些规则决定选项是否生效:234这些规则决定选项是否生效:

235 235 

236* **id 在这里只有一种形式**:Claude Code 仅在 `cc-plugin-sec-default@builtin` 下读取选项。`prependPlugins` 也接受 `sec-default@builtin`,而 `pluginConfigs` 不接受。236* **id 在这里只有一种形式**:Claude Code 仅在 `cc-plugin-sec-default@builtin` 下读取选项。`prependPlugins` 也接受 `sec-default@builtin`,而 `pluginConfigs` 不接受。

237* **仅托管设置计数**:用户、项目或本地设置文件中的相同条目,或使用 `--settings` 传递的文件中的相同条目既不设置选项也不放松选项237* **仅托管设置有效**:用户、项目或本地设置文件中的相同条目,或使用 `--settings` 传递的文件中的相同条目,既不会设置选项,也不会放宽选项

238* **保护程序必须加载**:如果您设置 `prependPlugins`,[在列表中命名保护程序](#install-your-organizations-mods)。保护程序不加载的地方,两个选项都不适用。238* **守卫必须加载**:如果您设置了 `prependPlugins`,请[在列表中指定守卫](#install-your-organizations-mods)。守卫未加载时,两个选项都不适用。

239* **保护程序失败关闭**:如果保护程序无法读取托管设置,它会拒绝每个用户的 mod 加载。如果它无法检查用户的 mod 批准的调用的拒绝规则,它会拒绝该调用。239* **守卫以失败即关闭方式运行**:如果守卫无法读取托管设置,它会在加载时拒绝每个用户的 mod。如果它无法针对用户的 mod 所批准的调用检查拒绝规则,它会拒绝该调用。

240 240 

241[来自内置保护程序的消息](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard)是您的用户在任一选项适用时看到的内容。241[来自内置守卫的消息](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard)是任一选项生效时您的用户看到的内容。

242 242 

243<h2 id="run-your-organization’s-own-mods">243<h2 id="run-your-organization’s-own-mods">

244 运行您组织自己的 mods244 运行您组织自己的 mod

245</h2>245</h2>

246 246 

247您可以将自己的 mods 部署给每个用户,选择它们相对于用户 mods 的运行位置,并使用一个来强制执行策略。247您可以将自己的 mod 部署给每个用户,选择它们相对于用户 mod 的运行位置,并使用一个来强制执行策略。

248 248 

249<h3 id="install-your-organizations-mods">249<h3 id="install-your-organizations-mods">

250 安装您组织的 mods 并设置顺序250 安装您组织的 mod 并设置顺序

251</h3>251</h3>

252 252 

253您组织的 mods 在用户 mods 无法加载的地方加载,并且可以在用户 mods 之前运行,因此 Claude Code 必须能够判断 mod 是否来自您。只有当以下所有条件都为真时,它才会将 mod 视为您组织的:253您组织的 mod 在用户 mod 无法加载的地方加载,并且可以在用户 mod 之前运行,因此 Claude Code 必须能够判断 mod 是否来自您。只有当以下所有条件都为真时,它才会将 mod 视为您组织的:

254 254 

255* 托管的 `enabledPlugins` 将 mod 的插件设置为 `true`255* 托管的 `enabledPlugins` 将 mod 的插件设置为 `true`

256* 托管设置通过绝对路径将插件的[市场](/docs/zh-CN/plugins/create-marketplace)指定为用户机器上的目录。`extraKnownMarketplaces` 条目可以做到这一点,并且也会为用户注册该市场。256* 托管设置通过绝对路径将插件的[市场](/docs/zh-CN/plugins/create-marketplace)指定为用户机器上的目录。`extraKnownMarketplaces` 条目可以做到这一点,并且也会为用户注册该市场。


285}285}

286```286```

287 287 

288Claude Code 复制到其缓存中的插件计为用户的,即使托管的 `enabledPlugins` 启用了它。这涵盖了来自 GitHub、git、URL 或 npm 源的每个插件。其 mod 在用户 mods 中运行,`prependPlugins` 和 `appendPlugins` 会跳过它,并且它不会在 `allowManagedModsOnly` 或 `allowManagedHooksOnly` 下加载。用户的调试日志中有一行以插件的 id 和 `is enabled by managed settings, but` 开头。288Claude Code 复制到其缓存中的插件计为用户的,即使托管的 `enabledPlugins` 启用了它。这涵盖了来自 GitHub、git、URL 或 npm 源的每个插件。其 mod 在用户 mod 中运行,`prependPlugins` 和 `appendPlugins` 会跳过它,`allowManagedModsOnly` 会拒绝它,`allowManagedHooksOnly` 会阻止它加载。用户的调试日志中有一行以插件的 id 和 `is enabled by managed settings, but` 开头。

289 289 

290Claude Code 每次即将采取行动(例如运行工具)时都会触发一个事件,并依次将其传递给每个 mod。计为您的 mod [在用户 mods 之前运行](/docs/zh-CN/plugins/mods/events#the-order-mods-run-in),即使您没有在任何地方列出它。要设置其位置,请在两个设置之一中列出其 id。id 是插件的名称、`@` 和市场的名称,例如 `acme-guard@acme-tools`。290Claude Code 每次即将采取行动(例如运行工具)时都会触发一个事件,并依次将其传递给每个 mod。计为您的 mod [在用户 mod 之前运行](/docs/zh-CN/plugins/mods/events#the-order-mods-run-in),即使您没有在任何地方列出它。要设置其位置,请在两个设置之一中列出其 id。id 是插件的名称、`@` 和市场的名称,例如 `acme-guard@acme-tools`。

291 291 

292* **`prependPlugins`**:您的 mod 在任何用户 mod 之前看到每个事件,并在之后看到每个结果。它可以更改事件、拒绝事件或跳过用户 mods。292* **`prependPlugins`**:您的 mod 在任何用户 mod 之前看到每个事件,并在之后看到每个结果。它可以更改事件、拒绝事件或跳过用户 mod。

293* **`appendPlugins`**:您的 mod 在每个用户 mod 之后运行,因此它只看到这些 mods 传递的事件,并以它们传递的形式看到293* **`appendPlugins`**:您的 mod 在每个用户 mod 之后运行,因此它只看到这些 mod 传递的事件,并以它们传递的形式看到

294 294 

295此示例在 `/opt/acme/claude-plugins` 声明 `acme-tools` 市场,启用来自它的 `acme-guard`,并首先运行该 mod,内置保护在其后:295此示例在 `/opt/acme/claude-plugins` 声明 `acme-tools` 市场,启用来自它的 `acme-guard`,并首先运行该 mod,内置守卫在其后:

296 296 

297```json managed-settings.json theme={null}297```json managed-settings.json theme={null}

298{298{


310 310 

311* **`extraKnownMarketplaces`**:指定保存 `acme-tools` 市场的目录。`path` 是包含 `.claude-plugin/marketplace.json` 的目录的绝对路径。311* **`extraKnownMarketplaces`**:指定保存 `acme-tools` 市场的目录。`path` 是包含 `.claude-plugin/marketplace.json` 的目录的绝对路径。

312* **`enabledPlugins`**:为接收这些托管设置的每个用户启用 `acme-guard`312* **`enabledPlugins`**:为接收这些托管设置的每个用户启用 `acme-guard`

313* **`prependPlugins`**:将 `acme-guard` 放在第一位,内置保护放在第二位,都在用户安装的任何 mod 之前。Claude Code 遵循您列出的顺序。313* **`prependPlugins`**:将 `acme-guard` 放在第一位,内置守卫放在第二位,都在用户安装的任何 mod 之前。Claude Code 遵循您列出的顺序。

314 314 

315要确认用户的机器收到了设置,请参阅[检查策略是否生效](/docs/zh-CN/managed-settings#check-that-a-policy-is-in-force)。315要确认用户的机器收到了设置,请参阅[检查策略是否生效](/docs/zh-CN/managed-settings#check-that-a-policy-is-in-force)。

316 316 


321 321 

322这些规则决定了两个列表中哪些 id 生效:322这些规则决定了两个列表中哪些 id 生效:

323 323 

324* **列表替换默认值**:当您在托管设置中设置 `prependPlugins` 时,请在其中列出 `sec-default@builtin` 以保留内置保护。该保护是内置的,不需要 `enabledPlugins` 条目。324* **列表替换默认值**:当您在托管设置中设置 `prependPlugins` 时,请在其中列出 `sec-default@builtin` 以保留内置守卫。该守卫是内置的,不需要 `enabledPlugins` 条目。

325* **您自己的 id 必须计为您的**:在托管设置中,Claude Code 会跳过其插件不满足组织 mod 条件的 id325* **您自己的 id 必须计为您的**:在托管设置中,Claude Code 会跳过其插件不满足组织 mod 条件的 id

326* **仓库无法设置它们**:Claude Code 从托管设置读取这两个设置,从不从仓库的设置文件读取。用户可以在 `~/.claude/settings.json` 中设置它们来对自己的 mods 排序,但仅限于没有托管设置的机器,并且仅当他们未使用 Team 或 Enterprise 计划登录时。在其他任何情况下,Claude Code 都会忽略用户设置中的这两个键。那里的列表既不添加也不删除内置保护。326* **仓库无法设置它们**:Claude Code 从托管设置读取这两个设置,从不从仓库的设置文件读取。用户可以在 `~/.claude/settings.json` 中设置它们来对自己的 mod 排序,但仅限于没有托管设置的机器,并且仅当他们未使用 Team 或 Enterprise 计划登录时。在其他任何情况下,Claude Code 都会忽略用户设置中的这两个键。那里的列表既不添加也不删除内置守卫。

327 327 

328<h3 id="enforce-a-policy-with-a-mod-of-your-own">328<h3 id="enforce-a-policy-with-a-mod-of-your-own">

329 使用您自己的 mod 强制执行策略329 使用您自己的 mod 强制执行策略

330</h3>330</h3>

331 331 

332要阻止每个用户的 mod,您不需要自己的 mod。设置 [`allowManagedModsOnly`](#stop-user-installed-mods-from-loading) 即可。当您想允许某些用户的 mods 并拒绝其他的,或记录 mods 的行为时,请编写策略 mod。332要阻止每个用户的 mod,您不需要自己的 mod。设置 [`allowManagedModsOnly`](#stop-user-installed-mods-from-loading) 即可。当您想允许某些用户的 mod 并拒绝其他的,或记录 mod 的行为时,请编写策略 mod。

333 333 

334每次另一个 mod 即将加载时,您的 mod 会在名为 [`plugin.register`](/docs/zh-CN/plugins/mods/reference#other-mods) 的事件中收到 `claude plugin validate` 打印的列表。`prependPlugins` 中的 mod 可以读取该列表并拒绝该 mod。它也可以[按名称处理任何 mods API 调用](/docs/zh-CN/plugins/mods/api#reach-files-processes-and-the-network),以便针对每个其他 mod 记录或拒绝该调用。名称是去掉 `$.` 的方法,因此 `fs.write` 上的 hook 会看到每个 `$.fs.write` 调用。334每次另一个 mod 即将加载时,您的 mod 会在名为 [`plugin.register`](/docs/zh-CN/plugins/mods/reference#other-mods) 的事件中收到 `claude plugin validate` 打印的列表。`prependPlugins` 中的 mod 可以读取该列表并拒绝该 mod。它也可以[按名称处理任何 mods API 调用](/docs/zh-CN/plugins/mods/api#reach-files-processes-and-the-network),以便针对每个其他 mod 记录或拒绝该调用。名称是去掉 `$.` 的方法,因此 `fs.write` 上的 hook 会看到每个 `$.fs.write` 调用。

335 335 


381 381 

382要将审计行发送到调试日志以外的地方,请从相同的 hook 中调用 `$.http.fetch`。382要将审计行发送到调试日志以外的地方,请从相同的 hook 中调用 `$.http.fetch`。

383 383 

384会话可以在没有您的 mod 的情况下运行。如果运行已安装 mods 的工作线程[崩溃三次](/docs/zh-CN/plugins/mods/troubleshoot#mods-that-run-in-the-hooks-worker-are-off-for-this-session),Claude Code 会卸载所有非内置的 mod(包括您的),直到用户运行 `/reload-plugins` 或启动新会话。此外,使用 `--safe-mode` 启动 Claude Code 的用户运行时不会加载已安装的 mods,包括您的。384会话可以在没有您的 mod 的情况下运行。如果运行已安装 mod 的工作线程[崩溃三次](/docs/zh-CN/plugins/mods/troubleshoot#mods-that-run-in-the-hooks-worker-are-off-for-this-session),Claude Code 会卸载所有非内置的 mod(包括您的),直到用户运行 `/reload-plugins` 或启动新会话。此外,使用 `--safe-mode` 启动 Claude Code 的用户运行时不会加载已安装的 mod,包括您的。

385 385 

386[创建 mod](/docs/zh-CN/plugins/mods/create) 介绍 mod 需要的文件。[测试策略 mod](/docs/zh-CN/plugins/mods/test#test-a-mod-that-judges-other-mods) 提供此策略 mod 的测试文件。386[创建 mod](/docs/zh-CN/plugins/mods/create) 介绍 mod 需要的文件。[测试策略 mod](/docs/zh-CN/plugins/mods/test#test-a-mod-that-judges-other-mods) 提供此策略 mod 的测试文件。

387 387 

388<h4 id="refuse-mods-when-your-check-fails">388<h4 id="refuse-mods-when-your-check-fails">

389 当您的检查失败时拒绝 mods389 当您的检查失败时拒绝 mod

390</h4>390</h4>

391 391 

392如果您的 `plugin.register` hook 抛出异常或超过其时间限制,Claude Code 会跳过该 hook,因此检查以放行方式失败,正在被检查的 mod 会加载。要以拒绝方式失败并拒绝用户 mods,请将检查移到命名函数中,并添加返回拒绝的 `.catch` 处理程序。此版本的文件仅显示 `plugin.register` hook,因此请在 `register` 中保留第一个版本的两个审计 hook:392如果您的 `plugin.register` hook 抛出异常或超过其时间限制,Claude Code 会跳过该 hook,因此检查以放行方式失败,正在被检查的 mod 会加载。要以拒绝方式失败并拒绝用户 mod,请将检查移到命名函数中,并添加返回拒绝的 `.catch` 处理程序。此版本的文件仅显示 `plugin.register` hook,因此请在 `register` 中保留第一个版本的两个审计 hook:

393 393 

394```javascript acme-guard/hooks/register.js theme={null}394```javascript acme-guard/hooks/register.js theme={null}

395const BLOCKED_CALLS = ['process.run', 'process.spawn']395const BLOCKED_CALLS = ['process.run', 'process.spawn']


414}414}

415```415```

416 416 

417处理程序就位后,如果检查在处理某个 mod 时抛出异常或超时,该 mod 不会加载,拒绝行会带有第二个原因,例如 `refused by acme-guard: Acme policy check failed, so this mod was not loaded`。处理程序将 `user` 层以外的每个 mod 传递给 `next(e)`,因此失败的检查不会阻止您组织列出的 mods。[处理失败的 hook](/docs/zh-CN/plugins/mods/events#handle-a-hook-that-fails) 介绍其他事件的 `.catch`。417处理程序就位后,如果检查在处理某个 mod 时抛出异常或超时,该 mod 不会加载,拒绝行会带有第二个原因,例如 `refused by acme-guard: Acme policy check failed, so this mod was not loaded`。处理程序将 `user` 层以外的每个 mod 传递给 `next(e)`,因此失败的检查不会阻止您组织列出的 mod。[处理失败的 hook](/docs/zh-CN/plugins/mods/events#handle-a-hook-that-fails) 介绍其他事件的 `.catch`。

418 418 

419<h2 id="next-steps">419<h2 id="next-steps">

420 后续步骤420 后续步骤

Details

71 71 

72当您询问工单时,Claude 可以使用其 id 调用 `mcp__my-mod__ticket`。第二个 hook 获取工单并返回响应体,Claude 将其作为工具的结果读取。当服务器以错误状态回答时,Claude 读取 `Lookup failed with status` 和数字。72当您询问工单时,Claude 可以使用其 id 调用 `mcp__my-mod__ticket`。第二个 hook 获取工单并返回响应体,Claude 将其作为工具的结果读取。当服务器以错误状态回答时,Claude 读取 `Lookup failed with status` 和数字。

73 73 

74<Tip>

75 当 [MCP 工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search)延迟加载某个已注册的工具时,Claude 能看到其名称,但在搜索该工具之前看不到其描述。如果 Claude 应在每一轮都考虑该工具,请在注册中添加 [`isDeferred: false`](/docs/zh-CN/plugins/mods/reference#tools),以[预先加载完整工具](/docs/zh-CN/mcp#exempt-a-server-from-deferral)。该字段需要 Claude Code v2.1.293 或更高版本,早期版本会忽略它。

76</Tip>

77 

74<h2 id="call-a-model">78<h2 id="call-a-model">

75 调用模型79 调用模型

76</h2>80</h2>


187 访问文件、进程和网络191 访问文件、进程和网络

188</h2>192</h2>

189 193 

190mod 通过 mods API 访问文件系统、进程和网络,具有与运行 Claude Code 的用户相同的权限。hooks 模块本身没有 Node.js API、没有计时器全局变量(如 `setTimeout`),也没有自己的网络或文件访问。标准 JavaScript 和 Web API(如 `URL`、`TextEncoder`、`AbortController` 和 `crypto.subtle`)可用。下面的每个命名空间涵盖一种访问:194mod 通过 mods API 访问文件系统、进程和网络,具有与运行 Claude Code 的用户相同的权限。hook 模块本身没有 Node.js API、没有计时器全局变量(如 `setTimeout`),也没有自己的网络或文件访问。标准 JavaScript 和 Web API(如 `URL`、`TextEncoder`、`AbortController` 和 `crypto.subtle`)可用。下面的每个命名空间涵盖一种访问:

191 195 

192| 命名空间 | 它做什么 |196| 命名空间 | 它做什么 |

193| :- | :- |197| :- | :- |


197| `$.store` | 您的插件自己的 JSON 键值存储,在会话之间保留 |201| `$.store` | 您的插件自己的 JSON 键值存储,在会话之间保留 |

198| `$.env` | `get` 和 `set` 环境变量。将名称写为文字字符串。 |202| `$.env` | `get` 和 `set` 环境变量。将名称写为文字字符串。 |

199| `$.settings` | `read` 设置文件和托管策略持有的内容 |203| `$.settings` | `read` 设置文件和托管策略持有的内容 |

200| `$.session` | `messages()` 将成绩单作为 `{ role, text, toolUses }` 列表返回。还有工作目录、模型等。[`usage()`](/docs/zh-CN/plugins/mods/reference#mods-api-methods) 返回上下文窗口使用和计划限制。 |204| `$.session` | `messages()` 将会话记录作为 `{ role, text, toolUses }` 列表返回。还有工作目录、模型等。[`usage()`](/docs/zh-CN/plugins/mods/reference#mods-api-methods) 返回上下文窗口使用和计划限制。 |

201| `$.mcp` | `call` 连接的 MCP 服务器上的工具 |205| `$.mcp` | `call` 连接的 MCP 服务器上的工具 |

202 206 

203文件和进程有一些自己的规则:207文件和进程有一些自己的规则:

204 208 

205* **路径**:相对路径相对于会话的工作目录进行解析209* **路径**:相对路径相对于会话的工作目录进行解析

206* **`$.fs.list`**:将一个目录的条目作为 `{ name, kind, size, isLink }` 返回,不进行递归210* **`$.fs.list`**:将一个目录的条目作为 `{ name, kind, size, isLink }` 返回,不进行递归

207* **`$.process.run`**:接受参数列表,不使用 shell。它解析为 `{ exitCode, stdout, stderr }`,无论退出代码如何。如果程序无法启动或在超时时仍在运行,它会拒绝,默认为 30 秒,因此将其包装在 `try` 和 `catch` 中。211* **`$.process.run`**:接受参数列表,不使用 shell。它解析为 `{ exitCode, stdout, stderr }`,无论退出码如何。如果程序无法启动或在超时时仍在运行,它会拒绝,默认为 30 秒,因此将其包装在 `try` 和 `catch` 中。

208 212 

209这些调用中的每一个本身都是一个事件,以其命名空间和方法命名,不带 `$.`,例如 `fs.read` 用于 `$.fs.read`。[链中较早的](/docs/zh-CN/plugins/mods/events#the-order-mods-run-in) mod 可以观察、重写或拒绝您的调用,这是组织限制 mod 到达的方式。213这些调用中的每一个本身都是一个事件,以其命名空间和方法命名,不带 `$.`,例如 `fs.read` 用于 `$.fs.read`。[链中较早的](/docs/zh-CN/plugins/mods/events#the-order-mods-run-in) mod 可以观察、重写或拒绝您的调用,这是组织限制 mod 到达的方式。

210 214 

215mod 可以在命令已产生输出或已退出之后拒绝您的 `$.process.spawn` 调用,且该命令已执行的任何操作都不会被撤销。此时该调用会拒绝,并返回一条以下列字符串之一加上拒绝方 mod 的原因结尾的消息:

216 

217* **`$.process.spawn started, and a plugin withheld its result:`**:拒绝方 mod 尚未将命令的输出读取到末尾。如果命令仍在运行,Claude Code 会将其停止。

218* **`$.process.spawn ran, and a plugin withheld its result:`**:拒绝方 mod 已将命令的输出读取到末尾,因此命令已经退出

219 

211<h2 id="next-steps">220<h2 id="next-steps">

212 后续步骤221 后续步骤

213</h2>222</h2>

Details

316✔ Validation passed316✔ Validation passed

317```317```

318 318 

319`hooks:` 行列出你的模块 hook 的事件,每个都带有其在大括号中的过滤器。`calls:` 行列出它调用的每个 mods API 方法。读取或设置环境变量的模块也会获得 `env reads:` 和 `env writes:` 行,使用 [`$.state`](/docs/zh-CN/plugins/mods/interface#keep-state) 的模块会获得 `state reads:` 和 `state writes:`。319在 `hooks:` 行中查看您的模块 hook 的事件,每个事件的过滤器都显示在大括号中;在 `calls:` 行中查看它调用的每个 mods API 方法。如果您的模块读取或设置环境变量,还请查看 `env reads:` 和 `env writes:` 行;如果它使用 [`$.state`](/docs/zh-CN/plugins/mods/interface#keep-state),还请查看 `state reads:` 和 `state writes:` 行。对于每个可以拒绝操作的 hook,您还会看到一行,例如 `gating hook without .catch: tool.call`,它表明该 hook 是否有 [`.catch` 处理程序](/docs/zh-CN/plugins/mods/events#handle-a-hook-that-fails)。

320 320 

321如果您打算处理的某个事件未出现在第一行中,Claude Code 也不会调用该 hook。常见原因是事件名称拼写错误,该命令会将其报告为错误,例如 `"tool.calls" is not an event`。321如果您打算处理的某个事件未出现在第一行中,Claude Code 也不会调用该 hook。常见原因是事件名称拼写错误,该命令会将其报告为错误,例如 `"tool.calls" is not an event`。

322 322 

Details

806以下规则适用于代码:806以下规则适用于代码:

807 807 

808* **将 `plugin` 和 `key` 写成字面字符串**:`claude plugin validate` 从您的源代码中读取它们808* **将 `plugin` 和 `key` 写成字面字符串**:`claude plugin validate` 从您的源代码中读取它们

809* **将每个 `atom` 调用的结果保存在 `const` 中**:如果您用 `let` 声明 `count`,验证失败,出现 `takes a source the scan can read`

809* **在类型声明文件中声明每个值**:否则验证失败,出现 `hello-tabs.count is not declared`810* **在类型声明文件中声明每个值**:否则验证失败,出现 `hello-tabs.count is not declared`

810* **从回调或另一个事件的 hook 中写入**:`ui.render` hook 可以读取状态,但不能写入它,因此请从 `onPress`、`onSubmit` 或另一个事件的 hook 中写入811* **从回调或另一个事件的 hook 中写入**:`ui.render` hook 可以读取状态,但不能写入它,因此请从 `onPress`、`onSubmit` 或另一个事件的 hook 中写入

811 812 

Details

259| [`Text`](/docs/zh-CN/plugins/mods/interface#build-a-tree-from-elements) | `color`、`backgroundColor`、`bold`、`italic`、`underline`、`dimColor`、`inverse`、`wrap` | ✓ | ✓ |259| [`Text`](/docs/zh-CN/plugins/mods/interface#build-a-tree-from-elements) | `color`、`backgroundColor`、`bold`、`italic`、`underline`、`dimColor`、`inverse`、`wrap` | ✓ | ✓ |

260| [`Button`](/docs/zh-CN/plugins/mods/interface#respond-to-presses-and-typing) | `key`、`label`、`onPress`、`hotkey`、`plain`、`dimColor`、`autoFocus`、`action` | ✓ | ✓ |260| [`Button`](/docs/zh-CN/plugins/mods/interface#respond-to-presses-and-typing) | `key`、`label`、`onPress`、`hotkey`、`plain`、`dimColor`、`autoFocus`、`action` | ✓ | ✓ |

261| `Link` | `href`、`label` | ✓ | ✓ |261| `Link` | `href`、`label` | ✓ | ✓ |

262| `Code` | 代码 | ✓ | ✓ |262| [`Code`](/docs/zh-CN/plugins/mods/gallery#show-code-and-changes) | `source`、`language`、`path`、`startLine`、`format`、`wrap` | ✓ | ✓ |

263| `Markdown` | `text`、`key`、`dimColor`、`onLinkPress`、`pressableLinks` | ✓ | ✓ |263| `Markdown` | `text`、`key`、`dimColor`、`onLinkPress`、`pressableLinks` | ✓ | ✓ |

264| [`Input`](/docs/zh-CN/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`、`label`、`placeholder`、`value`、`submitLabel`、`onSubmit`、`onInput`、`autoFocus` | ✓ | ✓ |264| [`Input`](/docs/zh-CN/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`、`label`、`placeholder`、`value`、`submitLabel`、`onSubmit`、`onInput`、`autoFocus` | ✓ | ✓ |

265| `Select` | `key`、`label`、`options`、`value`、`onSelect`、`autoFocus` | ✓ | ✓ |265| `Select` | `key`、`label`、`options`、`value`、`onSelect`、`autoFocus` | ✓ | ✓ |

266| `Svg` | 一个 SVG 文档,最多 131,072 个字符 | | ✓ |266| `Svg` | 一个 SVG 文档,最多 131,072 个字符 | | ✓ |

267| [`Client`](/docs/zh-CN/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key` | ✓ | ✓ |267| [`Client`](/docs/zh-CN/plugins/mods/interface#build-a-tree-from-elements) | `module`、`key` | ✓ | ✓ |

268| [`Raster`](/docs/zh-CN/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`、`columns`(最多 512)、`rows`(最多 256)、`cells`。请参阅[绘制彩色单元格网格](/docs/zh-CN/plugins/mods/interface#draw-a-grid-of-colored-cells)。 | ✓ | |268| [`Raster`](/docs/zh-CN/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`、`columns`(最多 512)、`rows`(最多 256)、`cells`。请参阅[绘制彩色单元格网格](/docs/zh-CN/plugins/mods/interface#draw-a-grid-of-colored-cells)。 | ✓ | |

269| `Image` | 最多 2 MiB 的 PNG 或 RGBA 字节,或文件路径 | ✓ | |269| `Image` | 最多 2 MiB 的 PNG 或 RGBA 字节,或文件路径,`columns` 和 `rows`(最多 255),以及 `alt` 文本。 | ✓ | |

270 270 

271更多 `Button` 规则:`action` 指定 Claude Code 自身的某个[快捷键操作](/docs/zh-CN/keybindings),当用户为该操作设置的绑定是组合键或带修饰键的按键时,该绑定会按下此按钮。当用户在空的输入框中只输入某个数字并停顿时,横栏中设置了该数字 `hotkey` 的按钮也会触发。当同一次绘制中的两个按钮指定相同的 `hotkey` 时,由后一个按钮获得它。`autoFocus` 在任何控件上都只接受 `true`,因此要关闭它,请省略该 prop。271更多 `Button` 规则:`action` 指定 Claude Code 自身的某个[快捷键操作](/docs/zh-CN/keybindings),当用户为该操作设置的绑定是组合键或带修饰键的按键时,该绑定会按下此按钮。当用户在空的输入框中只输入某个数字并停顿时,横栏中设置了该数字 `hotkey` 的按钮也会触发。当同一次绘制中的两个按钮指定相同的 `hotkey` 时,由后一个按钮获得它。`autoFocus` 在任何控件上都只接受 `true`,因此要关闭它,请省略该 prop。

272 272 


325| `CLAUDE_CODE_PLUGIN_DIRS` | 环境变量,或 `~/.claude/settings.json` 中的 `env` | 要像 `--plugin-dir` 那样加载的插件目录,用于无法传递标志的应用。以 `:` 分隔的绝对路径,在 Windows 上以 `;` 分隔。 |325| `CLAUDE_CODE_PLUGIN_DIRS` | 环境变量,或 `~/.claude/settings.json` 中的 `env` | 要像 `--plugin-dir` 那样加载的插件目录,用于无法传递标志的应用。以 `:` 分隔的绝对路径,在 Windows 上以 `;` 分隔。 |

326| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 环境变量 | `1` 使长时间运行的非交互式会话在保存时重新加载 `--plugin-dir` mod |326| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | 环境变量 | `1` 使长时间运行的非交互式会话在保存时重新加载 `--plugin-dir` mod |

327| `prependPlugins`, `appendPlugins` | 托管设置。仅在没有托管设置的机器上、且用户未使用 Team 或 Enterprise 套餐登录时,才可在用户设置中使用。 | 插件 id 列表,例如 `acme-guard@acme-tools`。`prependPlugins` 中的 mod 在用户安装的每个 mod 之前运行,`appendPlugins` 中的 mod 在之后运行,均按列出的顺序。请参阅 [mod 运行顺序](/docs/zh-CN/plugins/mods/events#the-order-mods-run-in)。 |327| `prependPlugins`, `appendPlugins` | 托管设置。仅在没有托管设置的机器上、且用户未使用 Team 或 Enterprise 套餐登录时,才可在用户设置中使用。 | 插件 id 列表,例如 `acme-guard@acme-tools`。`prependPlugins` 中的 mod 在用户安装的每个 mod 之前运行,`appendPlugins` 中的 mod 在之后运行,均按列出的顺序。请参阅 [mod 运行顺序](/docs/zh-CN/plugins/mods/events#the-order-mods-run-in)。 |

328| `allowManagedModsOnly` | 托管设置,作为[内置守卫的选项](/docs/zh-CN/plugins/mods/admin#set-options-on-the-built-in-guard) | 只加载[算作您组织的](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods) mod 以及 Claude Code 内置的 mod。用户的设置 hook 会继续运行。 |328| `allowManagedModsOnly` | 托管设置,作为[内置守卫的选项](/docs/zh-CN/plugins/mods/admin#set-options-on-the-built-in-guard) | 只有[算作您组织的](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods) mod 以及 Claude Code 内置的 mod 会运行其 hook。用户的设置 hook 会继续运行。 |

329| `allowModsToOverrideDenyRules` | 托管设置,作为[内置守卫的选项](/docs/zh-CN/plugins/mods/admin#set-options-on-the-built-in-guard) | 允许用户安装的 mod 批准被 `deny` 规则拒绝的工具调用 |329| `allowModsToOverrideDenyRules` | 托管设置,作为[内置守卫的选项](/docs/zh-CN/plugins/mods/admin#set-options-on-the-built-in-guard) | 允许用户安装的 mod 批准被 `deny` 规则拒绝的工具调用 |

330| `allowManagedHooksOnly` | 托管设置 | 阻止不属于您组织的 hook 和已安装的 mod。请参阅[哪些会继续运行](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly)。 |330| `allowManagedHooksOnly` | 托管设置 | 阻止不属于您组织的 hook 和已安装的 mod。请参阅[哪些会继续运行](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly)。 |

331| `disableAllHooks` | 任何设置文件 | 在托管设置中,来自已安装插件的任何 mod 或 hook 都不会运行。在您自己的设置中,您组织管理的内容会继续运行。请参阅 [`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks)。 |331| `disableAllHooks` | 任何设置文件 | 在托管设置中,来自已安装插件的任何 mod 或 hook 都不会运行。在您自己的设置中,您组织管理的内容会继续运行。请参阅 [`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks)。 |

Details

107 107 

108mods API 调用的 stub 返回一个带有 `value` 字段的对象,该字段保存调用在您的 mod 中解析的内容:`{ value: 7 }` 使 `$.store.get` 解析为 `7`。Claude Code 事件(例如 [`turn.step`](/docs/zh-CN/plugins/mods/reference#turns) 或 `tool.call`)的 stub 返回该事件自己的结果,例如 `{ result: 'ok' }`。`$.session.send` 和 `$.prompt.fill` 也采用其事件的结果,如表所示。[查看 stub 返回的内容](#look-up-what-a-stub-returns) 显示每个常见名称采用的形式。以下错误意味着 stub 是错误的或缺失的。失败的测试的输出包括一个以 `the engine reported:` 开头的块,每个错误都出现在那里:108mods API 调用的 stub 返回一个带有 `value` 字段的对象,该字段保存调用在您的 mod 中解析的内容:`{ value: 7 }` 使 `$.store.get` 解析为 `7`。Claude Code 事件(例如 [`turn.step`](/docs/zh-CN/plugins/mods/reference#turns) 或 `tool.call`)的 stub 返回该事件自己的结果,例如 `{ result: 'ok' }`。`$.session.send` 和 `$.prompt.fill` 也采用其事件的结果,如表所示。[查看 stub 返回的内容](#look-up-what-a-stub-returns) 显示每个常见名称采用的形式。以下错误意味着 stub 是错误的或缺失的。失败的测试的输出包括一个以 `the engine reported:` 开头的块,每个错误都出现在那里:

109 109 

110* `returned neither { value } nor { deny }`:mods API 调用的 stub 返回了一个裸值110* `returned neither { value } nor { deny }`:mods API 调用的 stub 返回了一个裸值,这会导致测试失败

111* `no implementation for` 后跟一个名称:您的 mod 进行了该调用,没有 stub 回答它111* `no implementation for` 后跟一个名称:您的 mod 进行了该调用,没有 stub 回答它

112 112 

113工具包还导出内存中的 mocks,为您回答整个命名空间。`mock.clock(on)` 回答 [`$.clock`](/docs/zh-CN/plugins/mods/api#run-work-in-the-background),`mock.store(on, { count: 7 })` 从以这些条目开始的存储中回答 `$.store`,`mock.env(on, { CI: 'true' })` 从这些变量中回答 `$.env.get`。`mock.clock` 返回一个您的测试可以推进的 mock 时钟,因此计时器的测试不会等待。`mock.store` 返回 nothing,因此要检查您的 mod 保存了什么,请自己编写两个 `store` stubs,如 [drawing test](#test-a-drawing) 所做的那样。113工具包还导出内存中的 mocks,为您回答整个命名空间。`mock.clock(on)` 回答 [`$.clock`](/docs/zh-CN/plugins/mods/api#run-work-in-the-background),`mock.store(on, { count: 7 })` 从以这些条目开始的存储中回答 `$.store`,`mock.env(on, { CI: 'true' })` 从这些变量中回答 `$.env.get`。`mock.clock` 返回一个您的测试可以推进的 mock 时钟,因此计时器的测试不会等待。`mock.store` 返回 nothing,因此要检查您的 mod 保存了什么,请自己编写两个 `store` stubs,如 [drawing test](#test-a-drawing) 所做的那样。


198 198 

199`expect` 有断言 `toBe`、`toEqual`、`toMatch`、`toMatchObject`、`toContain`、`toBeDefined`、`toBeUndefined` 和 `toThrow`,以及任何之前的 `.not`。199`expect` 有断言 `toBe`、`toEqual`、`toMatch`、`toMatchObject`、`toContain`、`toBeDefined`、`toBeUndefined` 和 `toThrow`,以及任何之前的 `.not`。

200 200 

201当 `expect` 在您以普通函数(而非异步生成器)形式传给 `on` 的 stub 或 hook 中失败时,测试会失败。引擎会跳过该 hook,失败输出会指出其名称,例如 `in the test's store.set hook`。

202 

201<h2 id="test-a-timer">203<h2 id="test-a-timer">

202 测试计时器204 测试计时器

203</h2>205</h2>

Details

32| `hooks modules are turned off here` | 一个设置正在阻止您的 mod:您自己的设置中的 `disableAllHooks`,或您的组织的策略 |32| `hooks modules are turned off here` | 一个设置正在阻止您的 mod:您自己的设置中的 `disableAllHooks`,或您的组织的策略 |

33| `hooks modules are turned off in this process` | Anthropic 已远程关闭已安装的 mod。您机器上的任何设置都无法将其打开。 |33| `hooks modules are turned off in this process` | Anthropic 已远程关闭已安装的 mod。您机器上的任何设置都无法将其打开。 |

34 34 

35组织还可以设置 `allowManagedModsOnly` 以仅允许其自己的 mod,此命令不会报告。在这种情况下,您安装的 mod 不会加载,[消息会说明原因](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard)。35组织还可以设置 `allowManagedModsOnly` 以仅允许其自己的 mod,此命令不会报告。在这种情况下,Claude Code 会拒绝您安装的 mod,并且[会有消息说明原因](/docs/zh-CN/plugins/mods/troubleshoot#messages-from-the-built-in-guard)。

36 36 

37<h2 id="the-mod-doesn’t-load">37<h2 id="the-mod-doesn’t-load">

38 mod 不加载38 mod 不加载


86 86 

87| 消息包含 | 这意味着什么 | 它出现在哪里 |87| 消息包含 | 这意味着什么 | 它出现在哪里 |

88| :- | :- | :- |88| :- | :- | :- |

89| `mods are limited to your organization's by policy (allowManagedModsOnly)` | 您的组织仅允许 [其自己的 mod](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods),因此您的 mod 未被加载 | 调试日志,以及 [热重新加载插件目录的会话](#find-out-why-a-mod-does-nothing) 中的成绩单 |89| `mods are limited to your organization's by policy (allowManagedModsOnly)` | 您的组织仅允许 [其自己的 mod](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods),因此您的 mod 被拒绝 | 调试日志,以及 [热重新加载插件目录的会话](#find-out-why-a-mod-does-nothing) 中的会话记录 |

90| `tried to lift a deny rule in your settings` | 您的 mod 的 [`tool.check`](/docs/zh-CN/plugins/mods/reference#tools) hook 批准了 `deny` 规则拒绝的调用。该调用保持被拒绝。 | 成绩单和调试日志,会话中每个 mod 一次。在 `claude -p` 运行中,仅调试日志。 |90| `tried to lift a deny rule in your settings` | 您的 mod 的 [`tool.check`](/docs/zh-CN/plugins/mods/reference#tools) hook 批准了 `deny` 规则拒绝的调用。该调用保持被拒绝。 | 成绩单和调试日志,会话中每个 mod 一次。在 `claude -p` 运行中,仅调试日志。 |

91| `the deny rules in your settings could not be checked for this call, so it is refused` | 保护在检查 mod 批准的调用时失败,因此它拒绝了该调用 | Claude 为被拒绝的调用读取的原因 |91| `the deny rules in your settings could not be checked for this call, so it is refused` | 保护在检查 mod 批准的调用时失败,因此它拒绝了该调用 | Claude 为被拒绝的调用读取的原因 |

92 92 

plugins/org.md +1 −1

Details

212| `pluginTrustMessage` | 将您的文本附加到 `/plugin` 在插件安装之前显示的信任警告 | 不改变警告自己的文本 |212| `pluginTrustMessage` | 将您的文本附加到 `/plugin` 在插件安装之前显示的信任警告 | 不改变警告自己的文本 |

213| `allowedChannelPlugins` | 替换允许推送频道消息的默认插件列表。需要 `channelsEnabled: true` | 请参阅[限制哪些频道插件可以运行](/docs/zh-CN/channels#restrict-which-channel-plugins-can-run) |213| `allowedChannelPlugins` | 替换允许推送频道消息的默认插件列表。需要 `channelsEnabled: true` | 请参阅[限制哪些频道插件可以运行](/docs/zh-CN/channels#restrict-which-channel-plugins-can-run) |

214| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/zh-CN/env-vars) | 停止交互式终端会话自动注册官方市场 | 不删除已注册的市场。允许列表和阻止列表在没有它的情况下门控相同的自动注册。在设置它的情况下启动一次的机器在您取消设置它后不会恢复自动注册 |214| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/zh-CN/env-vars) | 停止交互式终端会话自动注册官方市场 | 不删除已注册的市场。允许列表和阻止列表在没有它的情况下门控相同的自动注册。在设置它的情况下启动一次的机器在您取消设置它后不会恢复自动注册 |

215| [`allowManagedModsOnly`](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading) | 停止每个已安装的[mod](/docs/zh-CN/plugins/mods/overview),其不[计为您的组织的](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods)从加载 | 不停止包含 mod 的插件安装。为此,使用此表中的市场键 |215| [`allowManagedModsOnly`](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading) | 阻止每个不[算作您组织所有](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods)的已安装 [mod](/docs/zh-CN/plugins/mods/overview) 运行其 hook | 不停止包含 mod 的插件安装。为此,使用此表中的市场键 |

216 216 

217表中的每个键都是托管设置,除了 `enabledPlugins`、`syncClaudeAiPlugins`、`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 和 `allowManagedModsOnly`:217表中的每个键都是托管设置,除了 `enabledPlugins`、`syncClaudeAiPlugins`、`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 和 `allowManagedModsOnly`:

218 218 

Details

29插件可以包含在您的机器上使用您的用户权限运行代码的内容,以及作为指令进入 Claude 上下文的内容,所以[在安装前审查插件](#review-a-plugin-before-you-install)。以下是已安装的插件可以做的事情:29插件可以包含在您的机器上使用您的用户权限运行代码的内容,以及作为指令进入 Claude 上下文的内容,所以[在安装前审查插件](#review-a-plugin-before-you-install)。以下是已安装的插件可以做的事情:

30 30 

31* **Hooks**:插件的 [hooks](/docs/zh-CN/hooks) 在 Claude Code 生命周期中的特定点(例如工具调用之前或之后)作为 shell 命令运行。31* **Hooks**:插件的 [hooks](/docs/zh-CN/hooks) 在 Claude Code 生命周期中的特定点(例如工具调用之前或之后)作为 shell 命令运行。

32* **Monitors**:插件的 [monitors](/docs/zh-CN/plugins/components#monitors) 作为后台 shell 命令运行,Claude Code 会在会话开始时、您重新加载插件时,或某个指定的 skill 首次运行时自行启动它们。

32* **Mods**:插件的 [mod](/docs/zh-CN/plugins/mods/overview) 在 Claude Code 内使用您的权限运行 JavaScript。要在安装前列出 mod 的功能,请参阅[决定是否信任 mod](/docs/zh-CN/plugins/mods/overview#decide-whether-to-trust-a-mod)。33* **Mods**:插件的 [mod](/docs/zh-CN/plugins/mods/overview) 在 Claude Code 内使用您的权限运行 JavaScript。要在安装前列出 mod 的功能,请参阅[决定是否信任 mod](/docs/zh-CN/plugins/mods/overview#decide-whether-to-trust-a-mod)。

33* **MCP 和 LSP 服务器**:Claude Code 连接到启用的插件声明的 [MCP 服务器](/docs/zh-CN/mcp),并为 Claude 提供它们的工具。stdio MCP 服务器作为 Claude Code 在您的机器上启动的进程运行。Claude Code 也启动插件声明的语言服务器。34* **MCP 和 LSP 服务器**:Claude Code 连接到启用的插件声明的 [MCP 服务器](/docs/zh-CN/mcp),并为 Claude 提供它们的工具。stdio MCP 服务器作为 Claude Code 在您的机器上启动的进程运行。Claude Code 也启动插件声明的语言服务器。

34* **`bin/` 目录**:Claude Code 将每个启用的插件的 `bin/` 目录添加到 Bash 工具 shell 的 `PATH` 中,所以 Claude 的 Bash 命令可以运行那里的任何可执行文件。35* **`bin/` 目录**:Claude Code 将每个启用的插件的 `bin/` 目录添加到 Bash 工具 shell 的 `PATH` 中,所以 Claude 的 Bash 命令可以运行那里的任何可执行文件。


37 38 

38Claude Code 的[权限规则](/docs/zh-CN/permissions)和[沙箱](/docs/zh-CN/sandboxing)涵盖 Claude 进行的工具调用,而不是插件自己运行的代码:39Claude Code 的[权限规则](/docs/zh-CN/permissions)和[沙箱](/docs/zh-CN/sandboxing)涵盖 Claude 进行的工具调用,而不是插件自己运行的代码:

39 40 

40* **Hooks 和服务器进程**:命令 hooks 使用您的完整用户权限执行 shell 命令。Claude Code 在沙箱外运行 hook、MCP 服务器以及 [mod](/docs/zh-CN/plugins/mods/overview#what-a-mod-can-reach) 启动的进程。41* **Hooks、monitors 和服务器进程**:命令 hook 和 monitors 是使用您的完整用户权限运行的 shell 命令。Claude Code 在沙箱外运行 hook、monitors、MCP 服务器、LSP 服务器以及 [mod](/docs/zh-CN/plugins/mods/overview#what-a-mod-can-reach) 启动的进程。

41* **Claude 的工具调用**:对插件的 MCP 工具之一的调用,以及运行插件 `bin/` 中的可执行文件的 Bash 命令,都是工具调用,所以您的权限规则适用于它们。关于 mod 对工具调用可以做什么,请参阅[决定是否信任 mod](/docs/zh-CN/plugins/mods/overview#decide-whether-to-trust-a-mod)。42* **Claude 的工具调用**:对插件的 MCP 工具之一的调用,以及运行插件 `bin/` 中的可执行文件的 Bash 命令,都是工具调用,所以您的权限规则适用于它们。关于 mod 对工具调用可以做什么,请参阅[决定是否信任 mod](/docs/zh-CN/plugins/mods/overview#decide-whether-to-trust-a-mod)。

42 43 

43安装插件也会启用它,除非其清单或市场条目设置了 [`defaultEnabled: false`](/docs/zh-CN/plugins/install#choose-an-install-scope),并且您自己没有启用它。44安装插件也会启用它,除非其清单或市场条目设置了 [`defaultEnabled: false`](/docs/zh-CN/plugins/install#choose-an-install-scope),并且您自己没有启用它。

quickstart.md +16 −14

Details

57 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd57 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58 ```58 ```

59 59 

60 安装程序完成后,打开一个新的终端窗口并运行 `claude --version`。正常的安装会打印一个版本号。如果您的 shell 显示找不到 `claude` 或无法识别,说明安装目录还不在您的 PATH 中:请参阅[修复您的 PATH](/docs/zh-CN/troubleshoot-install#command-not-found-claude-after-installation)。60 安装命令在下载 Claude Code 期间不会显示进度。安装程序完成后,打开一个新的终端窗口并运行 `claude --version`。正常的安装会打印一个版本号。如果您的 shell 显示找不到 `claude` 或无法识别,说明安装目录还不在您的 PATH 中:请参阅[修复您的 PATH](/docs/zh-CN/troubleshoot-install#command-not-found-claude-after-installation)。

61 61 

62 如果您看到 `The token '&&' is not a valid statement separator`,说明您在 PowerShell 中,而不是 CMD。如果您看到 `'irm' is not recognized as an internal or external command`,说明您在 CMD 中,而不是 PowerShell。62 如果您看到 `The token '&&' is not a valid statement separator`,说明您在 PowerShell 中,而不是 CMD。如果您看到 `'irm' is not recognized as an internal or external command`,说明您在 CMD 中,而不是 PowerShell。

63 63 


233 步骤 7:试用其他常见工作流233 步骤 7:试用其他常见工作流

234</h2>234</h2>

235 235 

236您可以通过多种方式与 Claude 协作:236再尝试几个提示词。您可以让 Claude 重构代码、编写测试、更新文档或审查您的更改:

237 

238**重构代码**

239 237 

240```text wrap theme={null}238```text wrap theme={null}

241refactor the authentication module to use async/await instead of callbacks239refactor the authentication module to use async/await instead of callbacks

242```240```

243 241 

244**编写测试**

245 

246```text wrap theme={null}242```text wrap theme={null}

247write unit tests for the calculator functions243write unit tests for the calculator functions

248```244```

249 245 

250**更新文档**

251 

252```text wrap theme={null}246```text wrap theme={null}

253update the README with installation instructions247update the README with installation instructions

254```248```

255 249 

256**代码审查**

257 

258```text wrap theme={null}250```text wrap theme={null}

259review my changes and suggest improvements251review my changes and suggest improvements

260```252```


267 基本命令259 基本命令

268</h2>260</h2>

269 261 

270以下是日常使用中最重要的命令。Shell 命令从您的终端运行以启动或恢复 Claude Code。会话命令在 Claude Code 启动后在其内部运行。262以下是日常使用中最重要的命令,按运行位置分组。

271 263 

272**Shell 命令**264<h3 id="shell-commands">

265 Shell 命令

266</h3>

267 

268从终端运行这些命令以启动或恢复 Claude Code。

273 269 

274| 命令 | 功能 | 示例 |270| 命令 | 功能 | 示例 |

275| - | - | - |271| - | - | - |


279| `claude -c` | 在当前目录中继续最近的对话 | `claude -c` |275| `claude -c` | 在当前目录中继续最近的对话 | `claude -c` |

280| `claude -r` | 恢复之前的对话 | `claude -r` |276| `claude -r` | 恢复之前的对话 | `claude -r` |

281 277 

282**会话命令**278有关完整的 shell 命令列表,请参阅 [CLI 参考](/docs/zh-CN/cli-reference)。

279 

280<h3 id="session-commands">

281 会话命令

282</h3>

283 

284在 Claude Code 启动后,在其内部运行这些命令。

283 285 

284| 命令 | 功能 | 示例 |286| 命令 | 功能 | 示例 |

285| - | - | - |287| - | - | - |


287| `/help` | 显示可用命令 | `/help` |289| `/help` | 显示可用命令 | `/help` |

288| `/exit` 或 Ctrl+D 两次 | 退出 Claude Code | `/exit` |290| `/exit` 或 Ctrl+D 两次 | 退出 Claude Code | `/exit` |

289 291 

290有关完整的 shell 命令列表,请参阅 [CLI 参考](/docs/zh-CN/cli-reference),有关完整的会话命令列表,请参阅 [命令参考](/docs/zh-CN/commands)。292有关完整的会话命令列表,请参阅 [命令参考](/docs/zh-CN/commands)。

291 293 

292<h2 id="pro-tips-for-beginners">294<h2 id="pro-tips-for-beginners">

293 初学者专业提示295 初学者专业提示

Details

201* **`false`**:关闭自动连接,尽管来自[托管设置](/docs/zh-CN/managed-settings)的 `true` 会优先,因为 Claude Code 将选择保存到您的用户设置。项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中的 `false` 即使在托管 `true` 上也会关闭自动连接。201* **`false`**:关闭自动连接,尽管来自[托管设置](/docs/zh-CN/managed-settings)的 `true` 会优先,因为 Claude Code 将选择保存到您的用户设置。项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中的 `false` 即使在托管 `true` 上也会关闭自动连接。

202* **`default`**:清除您的选择并遵循您组织的管理员默认值(如果已设置),否则遵循 Claude Code 的当前默认值。202* **`default`**:清除您的选择并遵循您组织的管理员默认值(如果已设置),否则遵循 Claude Code 的当前默认值。

203 203 

204相同的切换出现在 CLI 之外:204VS Code 扩展和 Desktop 应用也有自动连接开关:

205 205 

206* **Desktop 应用**:**设置 > Claude Code > 将新会话连接到远程控制**。

207* **VS Code 扩展**:[命令菜单](/docs/zh-CN/vs-code#use-the-prompt-box)的设置部分中的**为所有会话启用远程控制**。206* **VS Code 扩展**:[命令菜单](/docs/zh-CN/vs-code#use-the-prompt-box)的设置部分中的**为所有会话启用远程控制**。

207* **Desktop 应用**:**Settings > Claude Code > Connect new sessions to Remote Control**。请参阅[控制哪些会话出现在您的其他设备上](/docs/zh-CN/desktop#control-which-sessions-appear-on-your-other-devices)。

208 208 

209要改为从设置文件打开自动连接,请在您的用户 `~/.claude/settings.json` 或[托管设置](/docs/zh-CN/managed-settings)中将 [`remoteControlAtStartup`](/docs/zh-CN/settings-reference#remotecontrolatstartup) 设置为 `true`。在项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中,Claude Code 遵守 `false` 并为该存储库关闭自动连接,但忽略 `true`,因此已检入的文件无法为打开存储库的每个人打开远程控制。209要改为从设置文件打开自动连接,请在您的用户 `~/.claude/settings.json` 或[托管设置](/docs/zh-CN/managed-settings)中将 [`remoteControlAtStartup`](/docs/zh-CN/settings-reference#remotecontrolatstartup) 设置为 `true`。在项目或本地设置(`.claude/settings.json`、`.claude/settings.local.json`)中,Claude Code 遵守 `false` 并为该存储库关闭自动连接,但忽略 `true`,因此已检入的文件无法为打开存储库的每个人打开远程控制。

210 210 

routines.md +1 −1

Details

93 为例程选择一个 [cloud environment](/docs/zh-CN/cloud-environments)。环境控制云会话可以访问的内容:93 为例程选择一个 [cloud environment](/docs/zh-CN/cloud-environments)。环境控制云会话可以访问的内容:

94 94 

95 * **Network access**:设置每次运行期间可用的互联网访问级别95 * **Network access**:设置每次运行期间可用的互联网访问级别

96 * **Environment variables**:提供 Claude 在每次运行期间可以使用的值。它们[对使用该环境的任何人都可见](/docs/zh-CN/cloud-environments#what-carries-over-from-your-setup),因此在 Pro 和 Max 计划上,请改为将 Claude 在运行期间调用的 API 的密钥存储为[网络密钥](/docs/zh-CN/cloud-environments#add-api-credentials)。该部分还列出了永远不会获得密钥的请求96 * **Environment variables**:提供 Claude 在每次运行期间可以使用的值。它们[对使用该环境的任何人都可见](/docs/zh-CN/cloud-environments#what-carries-over-from-your-setup),因此在 Pro 和 Max 计划上,请改为将 Claude 在运行期间调用的 API 的密钥存储为[网络密钥](/docs/zh-CN/cloud-environments#add-network-secrets)。该部分还列出了永远不会获得密钥的请求

97 * **Setup script**:安装例程需要的依赖项和工具。结果是 [cached](/docs/zh-CN/cloud-environments#environment-caching),因此脚本不会在每个会话上重新运行97 * **Setup script**:安装例程需要的依赖项和工具。结果是 [cached](/docs/zh-CN/cloud-environments#environment-caching),因此脚本不会在每个会话上重新运行

98 98 

99 提供了一个 **Default** 环境,具有 **Trusted** 网络访问,允许仅通过会话网络的 [default allowlist](/docs/zh-CN/cloud-environments#default-allowed-domains) 的包注册表、云提供商 API、容器注册表和常见开发域。您添加到例程的 Connectors 通过 Anthropic 的服务器到达其服务,因此不需要更改允许列表。如果您的例程需要直接到达您自己的服务或该列表之外的域,请在运行前编辑环境的 [network access](/docs/zh-CN/cloud-environments#network-access)。要使用单独的环境,请先 [create one](/docs/zh-CN/cloud-environments#configure-your-environment)。99 提供了一个 **Default** 环境,具有 **Trusted** 网络访问,允许仅通过会话网络的 [default allowlist](/docs/zh-CN/cloud-environments#default-allowed-domains) 的包注册表、云提供商 API、容器注册表和常见开发域。您添加到例程的 Connectors 通过 Anthropic 的服务器到达其服务,因此不需要更改允许列表。如果您的例程需要直接到达您自己的服务或该列表之外的域,请在运行前编辑环境的 [network access](/docs/zh-CN/cloud-environments#network-access)。要使用单独的环境,请先 [create one](/docs/zh-CN/cloud-environments#configure-your-environment)。

Details

22 22 

23| 方法 | 隔离的内容 | 需要 Docker | 设置工作量 |23| 方法 | 隔离的内容 | 需要 Docker | 设置工作量 |

24| :- | :- | :- | :- |24| :- | :- | :- | :- |

25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash、PowerShell 和 Monitor 命令及其子进程 | 否 | macOS 上最少;Linux 和 WSL2 上较少 |25| [Sandboxed Bash tool](#sandboxed-bash-tool) | Bash、PowerShell 和 Monitor 工具命令及其子进程 | 否 | macOS 上最少;Linux 和 WSL2 上较少 |

26| [Sandbox runtime](#sandbox-runtime) | 整个 Claude Code 进程,包括文件工具、MCP 服务器和 hooks | 否 | 较少 |26| [Sandbox runtime](#sandbox-runtime) | 整个 Claude Code 进程,包括文件工具、MCP 服务器和 hooks | 否 | 较少 |

27| [Dev container](#dev-containers) | 完整开发环境 | 是 | 中等 |27| [Dev container](#dev-containers) | 完整开发环境 | 是 | 中等 |

28| [Custom container](#custom-container) | 完整开发环境 | 是 | 中等到高 |28| [Custom container](#custom-container) | 完整开发环境 | 是 | 中等到高 |


76 此选项不支持本机 Windows。在 Windows 主机上,使用 WSL2 或下面的容器或虚拟机方法之一。76 此选项不支持本机 Windows。在 Windows 主机上,使用 WSL2 或下面的容器或虚拟机方法之一。

77</Note>77</Note>

78 78 

79Sandboxed Bash tool 内置于 Claude Code 中。它使用操作系统原语来限制 Claude 运行的每个 Bash、PowerShell 或 Monitor 命令的文件系统和网络访问。79Sandboxed Bash tool 内置于 Claude Code 中。它使用操作系统原语来限制 Claude 运行的 Bash、PowerShell 和 Monitor 工具命令的文件系统和网络访问。

80 80 

81运行 `/sandbox` 命令打开沙箱面板并选择一个模式。[Sandboxing](/docs/zh-CN/sandboxing) 指南涵盖批准模式、默认边界以及如何扩大或缩小它。81运行 `/sandbox` 命令打开沙箱面板并选择一个模式。[Sandboxing](/docs/zh-CN/sandboxing) 指南涵盖批准模式、默认边界以及如何扩大或缩小它。

82 82 

83按命令沙箱不涵盖会话中运行的所有内容:83按命令沙箱不涵盖会话中运行的所有内容:

84 84 

85* 其他 [built-in tools](/docs/zh-CN/tools-reference)(如 Read、Edit 和 WebFetch)在 Claude Code 进程内运行,不会生成任意代码。[Permission rules](/docs/zh-CN/permissions) 用于路径或域来控制它们。85* 其他 [built-in tools](/docs/zh-CN/tools-reference)(如 Read、Edit 和 WebFetch)在 Claude Code 进程内运行,不会生成任意代码。[Permission rules](/docs/zh-CN/permissions) 用于路径或域来控制它们。

86* [MCP](/docs/zh-CN/mcp) 服务器和 [command hooks](/docs/zh-CN/hooks#command-hook-fields) 是在主机上无约束运行的单独进程。86* [MCP](/docs/zh-CN/mcp) 服务器、[命令 hook](/docs/zh-CN/hooks#command-hook-fields) 和[插件监视器](/docs/zh-CN/plugins/components#monitors)是在主机上无约束运行的单独进程。有关以这种方式运行的其他进程,请参阅[哪些内容在沙箱外运行](/docs/zh-CN/sandboxing#what-runs-outside-the-sandbox)。

87 87 

88要将内置工具、MCP 服务器和 hooks 都放在一个操作系统边界后面,请在 [sandbox runtime](#sandbox-runtime)、[dev container](#dev-containers) 或 [custom container](#custom-container) 内运行整个 Claude Code 进程。88要将内置工具、MCP 服务器和 hooks 都放在一个操作系统边界后面,请在 [sandbox runtime](#sandbox-runtime)、[dev container](#dev-containers) 或 [custom container](#custom-container) 内运行整个 Claude Code 进程。

89 89 

sandboxing.md +1 −1

Details

698权限规则和沙箱隔离控制不同的事项:698权限规则和沙箱隔离控制不同的事项:

699 699 

700* **权限规则**控制 Claude Code 可以使用哪些工具,并在任何工具运行之前进行评估。它们适用于每个工具:Bash、Read、Edit、WebFetch、MCP 和其他工具,除了拒绝或询问规则无法阻止 [`EndConversation`](/docs/zh-CN/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。700* **权限规则**控制 Claude Code 可以使用哪些工具,并在任何工具运行之前进行评估。它们适用于每个工具:Bash、Read、Edit、WebFetch、MCP 和其他工具,除了拒绝或询问规则无法阻止 [`EndConversation`](/docs/zh-CN/tools-reference#endconversation-tool-behavior),而任何其他工具仍然存在。

701* **沙箱隔离**提供操作系统级别的强制执行,限制 shell 命令在文件系统和网络级别可以访问的内容。它仅适用于 Bash、PowerShell 和 [Monitor](/docs/zh-CN/tools-reference#monitor-tool) 命令及其子进程。701* **沙箱隔离**提供操作系统级别的强制执行,限制 shell 命令在文件系统和网络级别可以访问的内容。它适用于 Bash、PowerShell 和 [Monitor](/docs/zh-CN/tools-reference#monitor-tool) 工具的命令及其子进程。

702 702 

703这两个层级在强制执行方式上也有所不同。Claude Code 在命令运行之前根据命令字符串和在自动模式下单独分类器对命令是否安全的判断来评估权限决策。操作系统在运行的进程上强制执行沙箱边界,因此无论模型选择运行什么,即使允许的命令执行的操作超出其名称所示,它也会保持有效。703这两个层级在强制执行方式上也有所不同。Claude Code 在命令运行之前根据命令字符串和在自动模式下单独分类器对命令是否安全的判断来评估权限决策。操作系统在运行的进程上强制执行沙箱边界,因此无论模型选择运行什么,即使允许的命令执行的操作超出其名称所示,它也会保持有效。

704 704 

Details

348 348 

349由 [`apiKeyHelper`](/docs/zh-CN/settings-reference#apikeyhelper) 脚本返回的密钥和 [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 凭证都不会触发设置获取。349由 [`apiKeyHelper`](/docs/zh-CN/settings-reference#apikeyhelper) 脚本返回的密钥和 [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 凭证都不会触发设置获取。

350 350 

351会话接收的是其进行身份验证所用凭据所属组织的托管设置。来自 [Claude Console](https://platform.claude.com) 的 API 密钥属于创建该密钥的 Console 组织,该组织与您的 claude.ai Team 或 Enterprise 组织是相互独立的组织。因此,您在 claude.ai Admin Settings 中配置的设置不会到达使用该密钥进行身份验证的会话,例如使用贵公司 Console API 密钥的 CI 作业。要将这些设置应用于该作业,请使用以下选项之一。OAuth 令牌选项不适用于使用 [`--bare`](/docs/zh-CN/headless#start-faster-with-bare-mode) 运行的作业,因为 bare 模式不会读取 `CLAUDE_CODE_OAUTH_TOKEN`。

352 

353* **OAuth 令牌**:使用 [`claude setup-token`](/docs/zh-CN/authentication#generate-a-long-lived-token) 生成令牌,为您的 Team 或 Enterprise 组织授权该令牌,并在作业环境中将其设置为 `CLAUDE_CODE_OAUTH_TOKEN`。从该环境中移除任何[优先于](/docs/zh-CN/authentication#authentication-precedence)该令牌的凭据,例如 `ANTHROPIC_API_KEY`。

354* **端点管理的设置**:将[托管设置文件](/docs/zh-CN/managed-settings#delivery-mechanisms)部署到运行该作业的机器上。

355 

351在 Claude Desktop 应用中的 [Cowork](https://claude.com/docs/cowork/overview) 会话中,即使用户使用 Team 或 Enterprise 账户登录,Claude Code 也不会从 claude.ai 管理控制台获取服务器管理的设置。[策略应用的位置和时间](/docs/zh-CN/managed-settings#where-and-when-a-policy-applies) 涵盖了哪些策略到达用户机器上的 Cowork 会话和远程 Cowork 会话。claude.ai 在 Cowork 用户从 git 存储库或从 Cowork 标签中的**自定义**添加市场时,仍然会应用您的 [`strictKnownMarketplaces`](/docs/zh-CN/settings-reference#strictknownmarketplaces) 和 [`blockedMarketplaces`](/docs/zh-CN/settings-reference#blockedmarketplaces) 列表。[限制如何工作](/docs/zh-CN/plugins/org#restrict-what-users-can-install) 描述了该检查。356在 Claude Desktop 应用中的 [Cowork](https://claude.com/docs/cowork/overview) 会话中,即使用户使用 Team 或 Enterprise 账户登录,Claude Code 也不会从 claude.ai 管理控制台获取服务器管理的设置。[策略应用的位置和时间](/docs/zh-CN/managed-settings#where-and-when-a-policy-applies) 涵盖了哪些策略到达用户机器上的 Cowork 会话和远程 Cowork 会话。claude.ai 在 Cowork 用户从 git 存储库或从 Cowork 标签中的**自定义**添加市场时,仍然会应用您的 [`strictKnownMarketplaces`](/docs/zh-CN/settings-reference#strictknownmarketplaces) 和 [`blockedMarketplaces`](/docs/zh-CN/settings-reference#blockedmarketplaces) 列表。[限制如何工作](/docs/zh-CN/plugins/org#restrict-what-users-can-install) 描述了该检查。

352 357 

353如果您在 shell 中导出 `CLAUDE_CODE_USE_*` 提供商变量或非默认的 `ANTHROPIC_BASE_URL`,Claude Code 将跳过您的会话的设置获取。[`claude doctor` 和 `/status` 报告跳过的获取及其原因](#verify-settings-delivery)。358如果您在 shell 中导出 `CLAUDE_CODE_USE_*` 提供商变量或非默认的 `ANTHROPIC_BASE_URL`,Claude Code 将跳过您的会话的设置获取。[`claude doctor` 和 `/status` 报告跳过的获取及其原因](#verify-settings-delivery)。


379| 用户运行修改的 Claude Code 二进制文件 | 能够运行修改的客户端的用户可以绕过任何客户端控制 |384| 用户运行修改的 Claude Code 二进制文件 | 能够运行修改的客户端的用户可以绕过任何客户端控制 |

380| 用户运行较旧的 Claude Code 版本 | 早于服务器管理设置的版本不会获取或应用它们 |385| 用户运行较旧的 Claude Code 版本 | 早于服务器管理设置的版本不会获取或应用它们 |

381| API 不可用 | 如果可用,缓存的设置应用,但 Claude Code 在获取成功前暂扣的[值](#fetch-and-caching-behavior)除外。没有缓存的情况下,Claude Code 在下次成功获取前不强制执行任何服务器管理的设置,但仍然在设备上应用任何[端点管理的设置](/docs/zh-CN/managed-settings#delivery-mechanisms)。使用 `forceRemoteSettingsRefresh: true` 时,CLI 退出而不是继续,但[`claude auth` 子命令](#enforce-fail-closed-startup)除外。通过[Claude 应用网关](#platform-availability)登录的客户端在启动时退出而没有该设置,具有相同的 `claude auth` 豁免 |386| API 不可用 | 如果可用,缓存的设置应用,但 Claude Code 在获取成功前暂扣的[值](#fetch-and-caching-behavior)除外。没有缓存的情况下,Claude Code 在下次成功获取前不强制执行任何服务器管理的设置,但仍然在设备上应用任何[端点管理的设置](/docs/zh-CN/managed-settings#delivery-mechanisms)。使用 `forceRemoteSettingsRefresh: true` 时,CLI 退出而不是继续,但[`claude auth` 子命令](#enforce-fail-closed-startup)除外。通过[Claude 应用网关](#platform-availability)登录的客户端在启动时退出而没有该设置,具有相同的 `claude auth` 豁免 |

382| 用户使用不同的组织进行身份验证 | 不为托管组织外的账户传递设置 |387| 用户使用不同的组织进行身份验证 | 不为托管组织外的账户传递设置,包括使用 [Console API 密钥](#platform-availability)进行身份验证的会话 |

383| 用户配置[第三方模型提供商](#platform-availability) | 服务器管理的设置被绕过。这包括设置 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_MANTLE`、`CLAUDE_CODE_USE_VERTEX`、`CLAUDE_CODE_USE_FOUNDRY`、`CLAUDE_CODE_USE_ANTHROPIC_AWS` 或非默认的 `ANTHROPIC_BASE_URL` |388| 用户配置[第三方模型提供商](#platform-availability) | 服务器管理的设置被绕过。这包括设置 `CLAUDE_CODE_USE_BEDROCK`、`CLAUDE_CODE_USE_MANTLE`、`CLAUDE_CODE_USE_VERTEX`、`CLAUDE_CODE_USE_FOUNDRY`、`CLAUDE_CODE_USE_ANTHROPIC_AWS` 或非默认的 `ANTHROPIC_BASE_URL` |

384| 网络流量被拦截或重定向 | 禁用的 TLS 验证或拦截的流量可以改变客户端接收的设置 |389| 网络流量被拦截或重定向 | 禁用的 TLS 验证或拦截的流量可以改变客户端接收的设置 |

385 390 

Details

3164 `plansDirectory`3164 `plansDirectory`

3165</h3>3165</h3>

3166 3166 

3167选择 Claude Code 在[计划模式](/docs/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode)中写入的计划文件的存储位置。Claude Code 相对于项目根目录解析路径,当路径解析到项目外时保持默认值。3167选择 Claude Code 在[计划模式](/docs/zh-CN/permission-modes#analyze-before-you-edit-with-plan-mode)中写入的计划文件的存储位置。Claude Code 相对于项目根目录解析路径。

3168 3168 

3169* **Scope**: [`Any file`](#scopes)3169* **Scope**: [`Any file`](#scopes)

3170* **Type**: 字符串,相对于项目根目录的路径3170* **Type**: 字符串,相对于项目根目录的路径


3176}3176}

3177```3177```

3178 3178 

3179在以下情况下,Claude Code 会将计划存储在 `~/.claude/plans` 中,而不是您设置的目录中:

3180 

3181* **位于项目根目录之外**:路径解析到项目根目录之外,例如 `"../plans"`。

3182* **在 macOS、Linux 和 WSL 上包含反斜杠**:解析后的路径包含反斜杠,例如 Windows 风格的 `"docs\\plans"`。请写成 `"docs/plans"`,它在 Windows 上同样适用。

3183 

3179<h3 id="skilllistingbudgetfraction">3184<h3 id="skilllistingbudgetfraction">

3180 `skillListingBudgetFraction`3185 `skillListingBudgetFraction`

3181</h3>3186</h3>


4434在 Claude Code 的生命周期中的某些点(例如在工具调用之前或会话启动时)运行您自己的命令、提示、代理、HTTP 请求或 MCP 工具作为 [hooks](/docs/zh-CN/hooks);[hooks 参考](/docs/zh-CN/hooks#hook-events) 列出每个事件、其有效负载和其退出代码。每个事件映射到匹配器组列表,每个组列出在匹配器应用时运行的处理程序。4439在 Claude Code 的生命周期中的某些点(例如在工具调用之前或会话启动时)运行您自己的命令、提示、代理、HTTP 请求或 MCP 工具作为 [hooks](/docs/zh-CN/hooks);[hooks 参考](/docs/zh-CN/hooks#hook-events) 列出每个事件、其有效负载和其退出代码。每个事件映射到匹配器组列表,每个组列出在匹配器应用时运行的处理程序。

4435 4440 

4436* **作用域**: [`任何文件`](#scopes)。Hooks 在文件中合并而不是相互替换,来自托管设置的 hooks 无法从其他文件中删除。4441* **作用域**: [`任何文件`](#scopes)。Hooks 在文件中合并而不是相互替换,来自托管设置的 hooks 无法从其他文件中删除。

4437* **类型**: 由 [hook 事件](/docs/zh-CN/hooks#hook-events) 键入的对象;每个值是 `{ "matcher", "hooks" }` 组的数组,其 `hooks` 条目的 `type` 为 `"command"`、`"prompt"`、`"agent"`、`"http"` 或 `"mcp_tool"`4442* **类型**: 以 [hook 事件](/docs/zh-CN/hooks#hook-events) 为键的对象;每个值是 `{ "matcher", "hooks" }` 组的数组,其 `hooks` 条目的 `type` 为 `"command"`、`"prompt"`、`"agent"`、`"http"` 或 `"mcp_tool"`

4438* **默认值**: 未设置,因此没有 hooks 运行4443* **默认值**: 未设置,因此没有 hooks 运行

4439 4444 

4440此示例在每个 Bash 工具调用之前运行脚本:4445此示例在每个 Bash 工具调用之前运行脚本:


5416从托管设置向每个用户提供远程 MCP 服务器。用户保留他们自己添加的服务器,无法编辑或删除您提供的服务器。需要 Claude Code v2.1.259 或更高版本。5421从托管设置向每个用户提供远程 MCP 服务器。用户保留他们自己添加的服务器,无法编辑或删除您提供的服务器。需要 Claude Code v2.1.259 或更高版本。

5417 5422 

5418* **作用域**: [`Managed`](#scopes)。Claude Code 在用户、项目和本地设置中使用警告删除该密钥,并且不在 Claude Desktop 应用的代码选项卡中读取它(在第三方部署上)或在应用的 Cowork 会话中读取它,其中 Claude Desktop 提供并锁定这些会话的 MCP 服务器。5423* **作用域**: [`Managed`](#scopes)。Claude Code 在用户、项目和本地设置中使用警告删除该密钥,并且不在 Claude Desktop 应用的代码选项卡中读取它(在第三方部署上)或在应用的 Cowork 会话中读取它,其中 Claude Desktop 提供并锁定这些会话的 MCP 服务器。

5419* **类型**: 按服务器名称键入的对象。每个条目都具有 `http` 或 `sse` 服务器的 `.mcp.json` 形状:必需的 `https://` `url`,以及可选的 `headers`、`oauth` 和其他 HTTP 和 SSE 选项。Claude Code 删除验证失败的条目,[条目可以包含的内容](/docs/zh-CN/managed-mcp#what-an-entry-can-contain)列出了条件5424* **类型**: 以服务器名称为键的对象。每个条目都具有 `http` 或 `sse` 服务器的 `.mcp.json` 形状:必需的 `https://` `url`,以及可选的 `headers`、`oauth` 和其他 HTTP 和 SSE 选项。Claude Code 删除验证失败的条目,[条目可以包含的内容](/docs/zh-CN/managed-mcp#what-an-entry-can-contain)列出了条件

5420* **默认值**: 未设置,因此托管设置不提供任何服务器5425* **默认值**: 未设置,因此托管设置不提供任何服务器

5421 5426 

5422此示例提供一个名为 `search` 的 HTTP 服务器:5427此示例提供一个名为 `search` 的 HTTP 服务器:


5768 5773 

5769在[桌面应用](/docs/zh-CN/desktop#local-sessions-on-managed-devices)中关闭在设备上运行的 Code 会话,用于开发人员应该通过 SSH 在远程机器上工作的部署。在 Code 选项卡中,**本地**环境保留在环境下拉列表中,但呈灰显状态且无法选择,工具提示显示你的组织已关闭它;在 Windows 上,WSL 条目以相同方式呈灰显,尽管 WSL 会话是否在托管设备上运行[由单独管理](/docs/zh-CN/admin-setup#wsl-sessions-in-claude-code-desktop)。新会话默认为第一个[SSH 连接](/docs/zh-CN/desktop#ssh-sessions)(如果已配置),应用拒绝在设备上启动或恢复会话,包括返回同一机器的 SSH 连接。到其他主机的 SSH 会话和云会话不受影响。桌面应用读取此键;终端 CLI 忽略它。需要 Claude Desktop v1.37937.0 或更高版本。5774在[桌面应用](/docs/zh-CN/desktop#local-sessions-on-managed-devices)中关闭在设备上运行的 Code 会话,用于开发人员应该通过 SSH 在远程机器上工作的部署。在 Code 选项卡中,**本地**环境保留在环境下拉列表中,但呈灰显状态且无法选择,工具提示显示你的组织已关闭它;在 Windows 上,WSL 条目以相同方式呈灰显,尽管 WSL 会话是否在托管设备上运行[由单独管理](/docs/zh-CN/admin-setup#wsl-sessions-in-claude-code-desktop)。新会话默认为第一个[SSH 连接](/docs/zh-CN/desktop#ssh-sessions)(如果已配置),应用拒绝在设备上启动或恢复会话,包括返回同一机器的 SSH 连接。到其他主机的 SSH 会话和云会话不受影响。桌面应用读取此键;终端 CLI 忽略它。需要 Claude Desktop v1.37937.0 或更高版本。

5770 5775 

5771* **作用域**: [`托管`](#scopes)5776* **作用域**: [`托管`](#scopes)。默认情况下,桌面应用从[一个托管源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)读取此键。

5772* **类型**: 布尔值;仅 JSON 布尔值 `true` 生效5777* **类型**: 布尔值;仅 JSON 布尔值 `true` 生效

5773 * `true`: 桌面应用不提供设备上的 Code 会话;现有本地会话保留在列表中但无法继续5778 * `true`: 桌面应用不提供设备上的 Code 会话;现有本地会话保留在列表中但无法继续

5774 * `false`: 本地会话保持可用5779 * `false`: 本地会话保持可用


5915 5920 

5916将 SSH 连接添加到[桌面](/docs/zh-CN/desktop#pre-configure-ssh-connections-for-your-team)环境下拉列表。管理员使用它向团队分发共享连接。你在托管设置中定义的连接显示为托管,因此用户可以选择它们,但无法在应用中编辑或删除它们。5921将 SSH 连接添加到[桌面](/docs/zh-CN/desktop#pre-configure-ssh-connections-for-your-team)环境下拉列表。管理员使用它向团队分发共享连接。你在托管设置中定义的连接显示为托管,因此用户可以选择它们,但无法在应用中编辑或删除它们。

5917 5922 

5918* **作用域**: [`用户或托管`](#scopes)。桌面应用读取此键。5923* **作用域**: [`用户或托管`](#scopes)。桌面应用读取此键。默认情况下,它从[一个托管源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)读取托管连接。

5919* **类型**: 对象数组,每个都有必需的 `id`、`name` 和 `sshHost` 以及可选的 `sshPort` 和 `sshIdentityFile`5924* **类型**: 对象数组,每个都有必需的 `id`、`name` 和 `sshHost` 以及可选的 `sshPort` 和 `sshIdentityFile`

5920* **默认值**: 未设置5925* **默认值**: 未设置

5921 5926 


5939 5944 

5940限制[桌面 SSH 会话](/docs/zh-CN/desktop#restrict-which-ssh-hosts-users-can-connect-to)可以连接到的主机。仅桌面应用读取此键;CLI 不读取。模式不区分大小写:`*` 匹配任何主机,`*.example.com` 匹配 `example.com` 和每个子域,其他任何内容都是针对 `~/.ssh/config` 解析后的主机名的精确匹配。空数组关闭 SSH 会话。5945限制[桌面 SSH 会话](/docs/zh-CN/desktop#restrict-which-ssh-hosts-users-can-connect-to)可以连接到的主机。仅桌面应用读取此键;CLI 不读取。模式不区分大小写:`*` 匹配任何主机,`*.example.com` 匹配 `example.com` 和每个子域,其他任何内容都是针对 `~/.ssh/config` 解析后的主机名的精确匹配。空数组关闭 SSH 会话。

5941 5946 

5942* **作用域**: [`托管`](#scopes)5947* **作用域**: [`托管`](#scopes)。默认情况下,桌面应用从[一个托管源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)读取此键。

5943* **类型**: 主机名模式数组5948* **类型**: 主机名模式数组

5944* **默认值**: 未设置,因此允许任何主机5949* **默认值**: 未设置,因此允许任何主机

5945 5950 


5951}5956}

5952```5957```

5953 5958 

5959桌面应用无法读取为主机列表的值(例如 `true` 或对象)在您更正之前会被视为空数组,但 `null` 除外,它被视为未设置。需要 Claude Desktop v2.26454.0 或更高版本。

5960 

5961如果您在优先级最高的源中将 [`managedSourcesBehavior`](#managedsourcesbehavior) 设置为 `"merge"`,桌面应用会合并来自每个[管理员源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)的列表,并允许与其中任意一个列表匹配的主机。如果您在某个源中设置了空数组,对于另一个源列出的主机,SSH 会话仍保持开启。

5962 

5954<span id="authentication-and-login" />5963<span id="authentication-and-login" />

5955 5964 

5956<h2 id="authentication-and-providers">5965<h2 id="authentication-and-providers">

setup.md +12 −8

Details

63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```64 ```

65 65 

66 安装程序完成后,打开一个新的终端窗口并运行 `claude --version`。正常的安装会打印一个版本号。如果您的 shell 显示找不到 `claude` 或无法识别,说明安装目录还不在您的 PATH 中:请参阅[修复您的 PATH](/docs/zh-CN/troubleshoot-install#command-not-found-claude-after-installation)。66 安装命令在下载 Claude Code 期间不会显示进度。安装程序完成后,打开一个新的终端窗口并运行 `claude --version`。正常的安装会打印一个版本号。如果您的 shell 显示找不到 `claude` 或无法识别,说明安装目录还不在您的 PATH 中:请参阅[修复您的 PATH](/docs/zh-CN/troubleshoot-install#command-not-found-claude-after-installation)。

67 67 

68 如果您看到 `The token '&&' is not a valid statement separator`,说明您在 PowerShell 中,而不是 CMD。如果您看到 `'irm' is not recognized as an internal or external command`,说明您在 CMD 中,而不是 PowerShell。68 如果您看到 `The token '&&' is not a valid statement separator`,说明您在 PowerShell 中,而不是 CMD。如果您看到 `'irm' is not recognized as an internal or external command`,说明您在 CMD 中,而不是 PowerShell。

69 69 


119 119 

120| 选项 | 需要 | [沙箱](/docs/zh-CN/sandboxing) | 何时使用 |120| 选项 | 需要 | [沙箱](/docs/zh-CN/sandboxing) | 何时使用 |

121| - | - | - | - |121| - | - | - | - |

122| 原生 Windows | 无;[Git for Windows](https://git-scm.com/downloads/win) 是可选的 | 不支持 | Windows 原生项目和工具 |122| [原生 Windows](#install-on-native-windows) | 无;[Git for Windows](https://git-scm.com/downloads/win) 是可选的 | 不支持 | Windows 原生项目和工具 |

123| WSL 2 | WSL 2 已启用 | 支持 | Linux 工具链或沙箱命令执行 |123| [WSL 2](#install-in-wsl) | WSL 2 已启用 | 支持 | Linux 工具链或沙箱命令执行 |

124| WSL 1 | WSL 1 已启用 | 不支持 | 如果 WSL 2 不可用 |124| [WSL 1](#install-in-wsl) | WSL 1 已启用 | 不支持 | 如果 WSL 2 不可用 |

125 125 

126**选项 1:原生 Windows**126<h4 id="install-on-native-windows">

127 在原生 Windows 上安装

128</h4>

127 129 

128从 PowerShell 或 CMD 运行安装命令。您无需以管理员身份运行。安装 [Git for Windows](https://git-scm.com/downloads/win) 是可选的。它提供 Git Bash,[Bash 工具](/docs/zh-CN/tools-reference#bash-tool-behavior)和 [Monitor 工具](/docs/zh-CN/tools-reference#monitor-tool)需要用到它。130从 PowerShell 或 CMD 运行[安装命令](#install-claude-code)。您无需以管理员身份运行。安装 [Git for Windows](https://git-scm.com/downloads/win) 是可选的。它提供 Git Bash,[Bash 工具](/docs/zh-CN/tools-reference#bash-tool-behavior)和 [Monitor 工具](/docs/zh-CN/tools-reference#monitor-tool)需要用到它。

129 131 

130无论您从 PowerShell 还是 CMD 安装,只会影响您运行的安装命令。您的提示在 PowerShell 中显示为 `PS C:\Users\YourName>`,在 CMD 中显示为 `C:\Users\YourName>`(不带 `PS`)。如果您是终端新手,[终端指南](/docs/zh-CN/terminal-guide#windows)会逐步讲解每个步骤。132无论您从 PowerShell 还是 CMD 安装,只会影响您运行的安装命令。您的提示在 PowerShell 中显示为 `PS C:\Users\YourName>`,在 CMD 中显示为 `C:\Users\YourName>`(不带 `PS`)。如果您是终端新手,[终端指南](/docs/zh-CN/terminal-guide#windows)会逐步讲解每个步骤。

131 133 


144 146 

145安装 Git for Windows 后,PowerShell 工具可与 Bash 一起使用:在 claude.ai 和 Console 账户上默认启用,在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 会话中使用 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` 启用。将其设置为 `0` 以关闭该工具。有关设置和限制,请参阅 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool)。147安装 Git for Windows 后,PowerShell 工具可与 Bash 一起使用:在 claude.ai 和 Console 账户上默认启用,在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 会话中使用 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` 启用。将其设置为 `0` 以关闭该工具。有关设置和限制,请参阅 [PowerShell 工具](/docs/zh-CN/tools-reference#powershell-tool)。

146 148 

147**选项 2:WSL**149<h4 id="install-in-wsl">

150 在 WSL 中安装

151</h4>

148 152 

149打开您的 WSL 发行版并从上面的[安装说明](#install-claude-code)中运行 Linux 安装程序。您在 WSL 终端内安装和启动 `claude`,而不是从 PowerShell 或 CMD。153打开您的 WSL 发行版并按照[安装说明](#install-claude-code)运行 Linux 安装程序。您在 WSL 终端内安装和启动 `claude`,而不是从 PowerShell 或 CMD。

150 154 

151<h3 id="alpine-linux-and-musl-based-distributions">155<h3 id="alpine-linux-and-musl-based-distributions">

152 Alpine Linux 和基于 musl 的发行版156 Alpine Linux 和基于 musl 的发行版

skills.md +15 −0

Details

36 36 

37捆绑技能与内置命令一起列在[命令参考](/docs/zh-CN/commands)中,在"目的"列中标记为**技能**。37捆绑技能与内置命令一起列在[命令参考](/docs/zh-CN/commands)中,在"目的"列中标记为**技能**。

38 38 

39<h3 id="check-your-setup-with-/doctor">

40 使用 `/doctor` 检查您的设置

41</h3>

42 

43在 Claude Code 输入框中运行 `/doctor`,进行设置检查,诊断问题并可以修复它们。Claude 会先报告其发现,并在更改任何内容之前请求确认。检查涵盖以下方面:

44 

45* **安装健康状况**:重复或残留的安装、`PATH` 问题、无法解析的设置文件,以及您的[发布渠道](/docs/zh-CN/setup#configure-release-channel)上是否有更新版本可用

46* **扩展**:未使用的 skill、MCP 服务器和插件与其上下文成本的对比,以及缓慢的 [hook](/docs/zh-CN/hooks)

47* **`CLAUDE.md` 文件**:与已签入文件重复的本地 `CLAUDE.md` 文件、已签入的 [Claude 可以从代码库推导出的 `CLAUDE.md` 内容](/docs/zh-CN/memory#my-claude-md-is-too-large),以及其余始终加载的指导内容,Claude 会提议将其迁移到按需加载的 skill 和嵌套 `CLAUDE.md` 文件中

48* **权限**:提议将[自动模式](/docs/zh-CN/permissions#permission-modes)设为您的默认权限模式,并[预先批准](/docs/zh-CN/permissions)您经常拒绝的只读命令

49 

50如需在不启动会话的情况下进行只读安装诊断,请改为在终端中运行 `claude doctor`。

51 

52要审核您的指令而不是您的设置,请在 Claude Code 输入框中运行 `/doctor prompt-audit`。Claude 会[检查您的 `CLAUDE.md` 文件、skill 和其他配置](/docs/zh-CN/memory#audit-your-instruction-files)中是否存在过时或相互冲突的指令,而不是运行设置检查。`prompt-audit` 子命令需要 Claude Code v2.1.283 或更高版本。

53 

39<h3 id="run-and-verify-your-app">54<h3 id="run-and-verify-your-app">

40 运行并验证您的应用55 运行并验证您的应用

41</h3>56</h3>

statusline.md +105 −56

Details

143</Steps>143</Steps>

144 144 

145<h2 id="how-status-lines-work">145<h2 id="how-status-lines-work">

146 状态行如何工作146 状态栏如何工作

147</h2>147</h2>

148 148 

149Claude Code 运行你的脚本,通过 stdin 向其传输 [JSON 会话数据](#available-data),并显示脚本打印到 stdout 的任何内容。149Claude Code 运行您的脚本,通过 stdin 向其传输 [JSON 会话数据](#available-data),并显示脚本打印到 stdout 的任何内容。

150 150 

151**何时更新**151<Note>状态栏在本地运行,不消耗 API token。在某些 UI 交互期间,它会临时隐藏,包括帮助菜单和权限提示。</Note>

152 152 

153你的脚本在会话启动时运行一次,包括当你恢复一个会话时。之后,它在以下情况下再次运行:153<h3 id="when-the-status-line-updates">

154 状态栏何时更新

155</h3>

156 

157脚本在会话启动时运行一次,包括恢复会话时。之后,它在以下情况下再次运行:

154 158 

155* 新的助手消息到达159* 新的助手消息到达

156* `/compact` 完成160* `/compact` 完成

157* 权限模式更改161* 权限模式更改

158* Vim 模式切换162* Vim 模式切换

159* 你在 `statusLine` 设置中更改 `command`163* 您在 `statusLine` 设置中更改 `command`

160* 如果你设置了 [`refreshInterval`](#manually-configure-a-status-line),计时器会经过164* 如果您设置了 [`refreshInterval`](#manually-configure-a-status-line),其计时器到期

161* 你的脚本最后接收的数据中的 [速率限制窗口](#rate-limit-usage) 到达其 `resets_at` 时间165* 脚本最后接收的数据中的[速率限制窗口](#rate-limit-usage)到达其 `resets_at` 时间

162* 你的脚本最后接收的数据中的 [预热提示缓存](#prompt-cache-fields) 到达其 `expires_at` 时间166* 脚本最后接收的数据中的预热[提示词缓存](#prompt-cache-fields)到达其 `expires_at` 时间

163 167 

164Claude Code 在 300ms 处对更新进行防抖,因此快速更改会批处理在一起,你的脚本在更改停止后运行一次。对 `command` 本身的更改会跳过防抖:Claude Code 立即运行新命令。如果在你的脚本仍在运行时触发新的更新,Claude Code 会取消正在进行的脚本。如果你编辑你的脚本,更改会在下次更新触发重新运行它时出现。168Claude Code 以 300ms 对更新进行防抖,因此快速更改会批处理在一起,脚本在更改停止后运行一次。对 `command` 本身的更改会跳过防抖:Claude Code 立即运行新命令。如果在脚本仍在运行时触发新的更新,Claude Code 会取消正在进行的脚本。如果您编辑了脚本,更改会在下次更新触发重新运行它时出现。

165 169 

166当主会话空闲时,事件驱动的触发器可能会安静,例如当协调器等待后台子代理时。为了在空闲期间保持基于时间或外部来源的段的最新状态,设置 [`refreshInterval`](#manually-configure-a-status-line) 以也在固定计时器上重新运行命令。170当主会话空闲时,事件驱动的触发器可能会停止触发,例如当协调器等待后台子代理时。为了在空闲期间保持基于时间或外部来源的片段为最新状态,请设置 [`refreshInterval`](#manually-configure-a-status-line),以便同时按固定计时器重新运行命令。

171 

172<h3 id="what-your-script-can-output">

173 脚本可以输出什么

174</h3>

167 175 

168**你的脚本可以输出什么**176脚本可以打印的不仅仅是单行纯文本:

169 177 

170* **多行**:每个 `echo` 或 `print` 语句显示为单独的行。请参阅[多行示例](#display-multiple-lines)。178* **多行**:每个 `echo` 或 `print` 语句显示为单独的行。请参阅[多行示例](#display-multiple-lines)。

171* **颜色**:使用 [ANSI 转义码](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors),如 `\033[32m` 表示绿色(终端必须支持它们)。请参阅 [git 状态示例](#git-status-with-colors)。179* **颜色**:使用 [ANSI 转义码](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors),如 `\033[32m` 表示绿色(终端必须支持它们)。请参阅 [git 状态示例](#git-status-with-colors)。

172* **链接**:使用 [OSC 8 转义序列](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) 使文本可点击(macOS 上为 Cmd+click,Windows/Linux 上为 Ctrl+click)。需要支持超链接的终端,如 iTerm2、Kitty 或 WezTerm。请参阅[可点击链接示例](#clickable-links)。180* **链接**:使用 [OSC 8 转义序列](https://en.wikipedia.org/wiki/ANSI_escape_code#OSC) 使文本可点击(macOS 上为 Cmd+click,Windows/Linux 上为 Ctrl+click)。需要支持超链接的终端,如 iTerm2、Kitty 或 WezTerm。请参阅[可点击链接示例](#clickable-links)。

173 181 

174**调整输出大小以适应终端**182<h3 id="size-output-to-the-terminal">

175 183 调整输出大小以适应终端

176Claude Code 捕获你的脚本输出而不是直接将其连接到终端,因此 `tput cols` 和语言级宽度检测无法从脚本内部读取终端大小。改为读取 `COLUMNS` 和 `LINES` 环境变量。Claude Code 在运行你的脚本之前将这些设置为当前终端尺寸。184</h3>

177 185 

178<Note>状态行在本地运行,不消耗 API 令牌。在某些 UI 交互期间,它会临时隐藏,包括帮助菜单和权限提示。</Note>186Claude Code 捕获脚本的输出而不是直接将其连接到终端,因此 `tput cols` 和语言级宽度检测无法从脚本内部读取终端大小。请改为读取 `COLUMNS` 和 `LINES` 环境变量。Claude Code 在运行脚本之前会将这些变量设置为当前终端尺寸。

179 187 

180<h2 id="available-data">188<h2 id="available-data">

181 可用数据189 可用数据


1168}1176}

1169```1177```

1170 1178 

1171该命令在每个刷新周期运行一次,所有可见的子代理行作为单个 JSON 对象传递到 stdin。输入包括[基本钩子字段](/docs/zh-CN/hooks#common-input-fields)、`columns` 字段(可用行宽)和 `tasks` 数组。每个任务有 `id`、`name`、`type`、`status`、`description`、`label`、`startTime`、`model`、`effort`、`contextWindowSize`、`tokenCount`、`tokenSamples` 和 `cwd`。1179该命令在每个刷新周期运行一次,所有可见的子代理行作为单个 JSON 对象通过 stdin 传入。输入包括[基本 hook 字段](/docs/zh-CN/hooks#common-input-fields)、表示可用行宽的 `columns` 字段,以及每行对应一个条目的 `tasks` 数组,详见[任务字段](#task-fields)。

1172 

1173每个任务的 `model` 字段是任务运行的已解析模型 ID。`contextWindowSize` 是该模型的上下文窗口(以令牌计),计算方式与主状态行的 `context_window.context_window_size` 相同,因此你可以从 `tokenCount` 呈现每行百分比。这两个字段需要 Claude Code v2.1.205 或更高版本,对于模型尚未解析的任务会被省略。

1174 

1175每个任务的 `effort` 字段是为该子代理设置的推理 effort,在其[定义 frontmatter](/docs/zh-CN/sub-agents#supported-frontmatter-fields) 中或在单次调用时设置。该值要么是 effort 级别字符串 `low`、`medium`、`high`、`xhigh` 或 `max` 之一,要么是数字 token 预算。该字段按原样报告所配置的值:如果模型不支持该级别,Claude Code 实际应用的 effort 可能会有所不同。该字段需要 Claude Code v2.1.214 或更高版本,当未为该子代理设置级别时不存在。

1176 1180 

1177将一个 JSON 行写入 stdout,用于你想覆盖的每一行,形式为 `{"id": "<task id>", "content": "<row body>"}` 。`content` 字符串按原样呈现,包括 ANSI 颜色和 OSC 8 超链接。省略任务的 `id` 以保持该行的默认呈现;发出空 `content` 字符串以隐藏它。1181将一个 JSON 行写入 stdout,用于你想覆盖的每一行,形式为 `{"id": "<task id>", "content": "<row body>"}` 。`content` 字符串按原样呈现,包括 ANSI 颜色和 OSC 8 超链接。省略任务的 `id` 以保持该行的默认呈现;发出空 `content` 字符串以隐藏它。

1178 1182 

1179适用于 `statusLine` 的相同信任、`disableAllHooks` 和 [`allowManagedHooksOnly`](/docs/zh-CN/settings-reference#allowmanagedhooksonly) 门控也适用于此处。插件可以在其[`settings.json`](/docs/zh-CN/plugins/manifest-reference#standard-layout)中提供默认的 `subagentStatusLine`,但与钩子不同,即使插件在托管设置 `enabledPlugins` 中被强制启用,插件值也不会在 `allowManagedHooksOnly` 下运行。1183适用于 `statusLine` 的相同信任、`disableAllHooks` 和 [`allowManagedHooksOnly`](/docs/zh-CN/settings-reference#allowmanagedhooksonly) 门控也适用于此处。插件可以在其[`settings.json`](/docs/zh-CN/plugins/manifest-reference#standard-layout)中提供默认的 `subagentStatusLine`,但与钩子不同,即使插件在托管设置 `enabledPlugins` 中被强制启用,插件值也不会在 `allowManagedHooksOnly` 下运行。

1180 1184 

1185<h3 id="task-fields">

1186 任务字段

1187</h3>

1188 

1189`tasks` 数组中的每个条目使用以下字段描述一个子代理行。标记为可选的字段在没有值时会被省略,因此请在脚本中处理其缺失的情况。

1190 

1191| 字段 | 类型 | 描述 |

1192| :- | :- | :- |

1193| `id` | string | 任务的标识符。在为该行写回的行中将其作为 `id` 原样返回 |

1194| `name` | string,可选 | 子代理的[称呼名称](/docs/zh-CN/sub-agents#subagent-names)(如果有) |

1195| `type` | string | 任务类型:`local_agent` |

1196| `agentType` | string | 任务运行所用的子代理类型,例如内置的 [`Explore`](/docs/zh-CN/sub-agents#built-in-subagents) 或自定义的 `code-reviewer`。其值与 hook 接收到的 [`agent_type`](/docs/zh-CN/hooks#subagentstart) 相同。需要 Claude Code v2.1.293 或更高版本 |

1197| `status` | string | 任务状态,例如 `running`、`completed`、`failed` 或 `killed` |

1198| `description` | string | 任务的简短描述,例如 Claude 在生成该子代理时给出的描述 |

1199| `label` | string | Claude Code 提供的任务简短进度摘要(如果有),否则与 `description` 文本相同 |

1200| `startTime` | number | 任务开始时间,以自 Unix 纪元以来的毫秒数表示 |

1201| `model` | string,可选 | 任务运行所用的已解析模型 ID。在模型解析之前省略。需要 Claude Code v2.1.205 或更高版本 |

1202| `effort` | string 或 number,可选 | 在子代理的[定义 frontmatter](/docs/zh-CN/sub-agents#supported-frontmatter-fields) 中或单次调用时为其设置的推理 effort:`low`、`medium`、`high`、`xhigh`、`max` 或数字 token 预算。这是所配置的值,当模型不支持该级别时,Claude Code 实际应用的 effort 可能会有所不同。未设置 effort 时省略。需要 Claude Code v2.1.213 或更高版本 |

1203| `contextWindowSize` | number,可选 | `model` 的上下文窗口(以 token 计),计算方式与主状态栏的 [`context_window.context_window_size`](#context-window-fields) 相同,因此您可以根据 `tokenCount` 渲染每行百分比。当 `model` 被省略时也会省略。需要 Claude Code v2.1.205 或更高版本 |

1204| `tokenCount` | number | 子代理的累计 token 数,即默认行中显示的数值 |

1205| `tokenSamples` | array of numbers | 最近最多 16 个 `tokenCount` 读数,每个刷新周期一个,按从旧到新排列,最后一个为当前值 |

1206| `cwd` | string | 子代理的工作目录:如果子代理在自己的目录(例如隔离的 worktree)中运行,则为该目录,否则为会话的工作目录 |

1207 

1181<h2 id="tips">1208<h2 id="tips">

1182 提示1209 提示

1183</h2>1210</h2>


1192 故障排除1219 故障排除

1193</h2>1220</h2>

1194 1221 

1195**状态行未出现**1222如果状态栏为空白,请先查看[状态栏未出现](#status-line-not-appearing)。尚未信任的文件夹以及运行失败的脚本也会导致状态栏为空白,具体请参见[需要工作区信任](#workspace-trust-required)和[脚本错误或挂起](#script-errors-or-hangs)。

1196 1223 

1197* 验证你的脚本是可执行的:`chmod +x ~/.claude/statusline.sh`1224<h3 id="status-line-not-appearing">

1198* 检查你的脚本输出到 stdout,而不是 stderr1225 状态栏未出现

1199* 手动运行你的脚本以验证它产生输出1226</h3>

1200* 在安装了 Git Bash 的 Windows 上,`command` 路径中的反斜杠可能在脚本运行前被当作转义字符消耗。在路径中使用正斜杠。参见 [Windows 配置](#windows-configuration)。

1201* 如果在应用 [设置优先级](/docs/zh-CN/hooks#disable-or-remove-hooks) 后 `disableAllHooks` 在托管设置之外为 `true`,Claude Code 仅运行来自托管设置的 `statusLine`,如果没有托管 `statusLine`,状态行将被禁用。删除该设置,或在设置它的文件中将其设置为 `false` 以重新启用。参见 [`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks)。

1202* 如果你的组织在托管设置中设置了 `allowManagedHooksOnly`,你的自定义状态行会无警告地消失:你只能从那些托管设置中的 `statusLine` 值获得状态行。参见 [在 `allowManagedHooksOnly` 下运行的内容](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly) 了解完整行为,并询问你的管理员此设置是否适用于你。

1203* 运行 `claude --debug` 以在每次状态行调用时记录你的脚本的 stderr,以及在会话中第一次调用时的退出代码

1204* 要求 Claude 读取你的设置文件并直接执行 `statusLine` 命令以显示错误

1205 1227 

1206**状态行显示 `--` 或空值**1228如果您已配置状态栏,但界面底部没有任何显示,请逐项进行以下检查:

1207 1229 

1208* 在第一次 API 响应完成之前,字段可能为 `null`1230* 验证您的脚本是可执行的:`chmod +x ~/.claude/statusline.sh`

1209* 在你的脚本中使用回退处理 null 值,如 jq 中的 `// 0`1231* 检查您的脚本输出到 stdout,而不是 stderr

1210* 如果值在多条消息后仍然为空,请重新启动 Claude Code1232* 手动运行您的脚本以验证它产生输出

1233* 在安装了 Git Bash 的 Windows 上,`command` 路径中的反斜杠可能在脚本运行前被当作转义字符消耗。请在路径中使用正斜杠。参见 [Windows 配置](#windows-configuration)。

1234* 如果在应用[设置优先级](/docs/zh-CN/hooks#disable-or-remove-hooks)后 `disableAllHooks` 在托管设置之外为 `true`,Claude Code 仅运行来自托管设置的 `statusLine`,如果没有托管 `statusLine`,状态栏将被禁用。删除该设置,或在设置它的文件中将其设置为 `false` 以重新启用。参见 [`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks)。

1235* 如果您的组织在托管设置中设置了 `allowManagedHooksOnly`,您的自定义状态栏会无警告地消失:您只能从那些托管设置中的 `statusLine` 值获得状态栏。参见[在 `allowManagedHooksOnly` 下运行的内容](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly)了解完整行为,并询问您的管理员此设置是否适用于您。

1236* 运行 `claude --debug` 以在每次状态栏调用时记录您的脚本的 stderr,以及在会话中第一次调用时的退出码

1237* 要求 Claude 读取您的设置文件并直接执行 `statusLine` 命令以显示错误

1211 1238 

1212**上下文百分比显示意外值**1239<h3 id="status-line-shows-or-empty-values">

1240 状态栏显示 `--` 或空值

1241</h3>

1213 1242 

1214* 使用 `used_percentage` 获得最简单的准确上下文状态1243在第一次 API 响应完成之前,字段可能为 `null`,因此请在脚本中使用回退处理 null 值,如 jq 中的 `// 0`。如果值在多条消息后仍然为空,请重新启动 Claude Code。

1215* 状态行报告来自最后一次 API 响应的计数,而 `/context` 添加了自该响应以来添加的消息的估计值,因此 `/context` 可以读取更高的值,直到下一次响应

1216 1244 

1217**OSC 8 链接不可点击**1245<h3 id="context-percentage-shows-unexpected-values">

1246 上下文百分比显示意外值

1247</h3>

1248 

1249状态栏报告来自最后一次 API 响应的计数,而 `/context` 添加了自该响应以来新增消息的估计值,因此在下一次响应之前,`/context` 的读数可能更高。使用 `used_percentage` 获得最简单的准确上下文状态。有关 `used_percentage` 背后的计算公式,请参见[上下文窗口字段](#context-window-fields)。

1250 

1251<h3 id="osc-8-links-not-clickable">

1252 OSC 8 链接不可点击

1253</h3>

1254 

1255链接是否可点击取决于您的终端、Claude Code 是否在其中检测到超链接支持、SSH 或 tmux 是否剥离了转义序列,以及您的脚本如何打印它:

1218 1256 

1219* 验证你的终端支持 OSC 8 超链接(iTerm2、Kitty、WezTerm)1257* 验证您的终端支持 OSC 8 超链接(iTerm2、Kitty、WezTerm)

1220 1258 

1221* Terminal.app 不支持可点击链接1259* Terminal.app 不支持可点击链接

1222 1260 

1223* 如果链接文本出现但不可点击,Claude Code 可能未检测到你的终端中的超链接支持。在启动 Claude Code 之前设置 `FORCE_HYPERLINK` 环境变量以覆盖检测:1261* 如果链接文本出现但不可点击,Claude Code 可能未检测到您的终端中的超链接支持。在启动 Claude Code 之前设置 `FORCE_HYPERLINK` 环境变量以覆盖检测:

1224 1262 

1225 ```bash theme={null}1263 ```bash theme={null}

1226 FORCE_HYPERLINK=1 claude1264 FORCE_HYPERLINK=1 claude


1234 1272 

1235* SSH 和 tmux 会话可能根据配置剥离 OSC 序列1273* SSH 和 tmux 会话可能根据配置剥离 OSC 序列

1236 1274 

1237* 如果转义序列显示为文字文本,如 `\e]8;;`,使用 `printf '%b'` 而不是 `echo -e` 以获得更可靠的转义处理1275* 如果转义序列显示为文字文本,如 `\e]8;;`,请使用 `printf '%b'` 而不是 `echo -e` 以获得更可靠的转义处理

1276 

1277<h3 id="display-glitches-with-escape-sequences">

1278 转义序列显示故障

1279</h3>

1280 

1281复杂的转义序列(ANSI 颜色、OSC 8 链接)如果与其他 UI 更新重叠,偶尔会导致输出混乱。带有转义码的多行状态栏比单行纯文本更容易出现渲染问题。

1282 

1283如果您看到损坏的文本,请尝试将脚本简化为纯文本输出。

1238 1284 

1239**转义序列显示故障**1285<h3 id="workspace-trust-required">

1286 需要工作区信任

1287</h3>

1240 1288 

1241* 复杂的转义序列(ANSI 颜色、OSC 8 链接)如果与其他 UI 更新重叠,偶尔会导致输出混乱1289在您接受工作区信任对话框之前,状态栏会保持空白。因为 `statusLine` 执行 shell 命令,Claude Code 在与[设置文件中的 hook 相同的工作区信任规则](/docs/zh-CN/permissions#what-runs-before-you-trust-a-folder)下运行它。接受该文件夹的对话框,或接受其信任扩展到它的父目录,就足够了。

1242* 如果你看到损坏的文本,尝试简化你的脚本为纯文本输出

1243* 带有转义码的多行状态行比单行纯文本更容易出现渲染问题

1244 1290 

1245**工作区信任需要**1291在此之前,`claude --debug` 会记录 `Status line command skipped: workspace trust not accepted`。重新启动 Claude Code 并接受信任对话框以启用它。

1246 1292 

1247* 因为 `statusLine` 执行 shell 命令,Claude Code 在与 [设置文件中的 hooks 相同的工作区信任规则](/docs/zh-CN/permissions#what-runs-before-you-trust-a-folder) 下运行它。接受该文件夹的对话框,或接受其信任扩展到它的父目录,就足够了。1293<h3 id="script-errors-or-hangs">

1248* 在此之前,状态行保持空白,`claude --debug` 记录 `Status line command skipped: workspace trust not accepted`。重新启动 Claude Code 并接受信任对话框以启用它。1294 脚本错误或挂起

1295</h3>

1249 1296 

1250**脚本错误或挂起**1297Claude Code 仅在脚本以代码 0 退出后才显示其输出:

1251 1298 

1252* 以非零代码退出或不产生输出的脚本会导致状态行变为空白1299* 以非零代码退出或不产生输出的脚本会导致状态栏变为空白

1253* 慢速脚本会阻止状态行更新,直到它们完成。保持脚本快速以避免陈旧输出。1300* 慢速脚本会阻止状态栏更新,直到它们完成。保持脚本快速以避免陈旧输出。

1254* 如果在慢速脚本运行时触发新的更新,正在进行的脚本会被取消1301* 如果在慢速脚本运行时触发新的更新,正在进行的脚本会被取消

1255* 在配置之前使用模拟输入独立测试你的脚本1302* 在配置之前使用模拟输入独立测试您的脚本

1256 1303 

1257**通知共享状态行行**1304<h3 id="notifications-share-the-status-line-row">

1305 通知与状态栏共享同一行

1306</h3>

1258 1307 

1259在 [全屏渲染](/docs/zh-CN/fullscreen) 之外,Claude Code 在与你的状态行相同的行上显示通知。在全屏渲染中,Claude Code 为通知提供自己的行。1308在[全屏渲染](/docs/zh-CN/fullscreen)之外,Claude Code 在与您的状态栏相同的行上显示通知。在全屏渲染中,Claude Code 会为通知提供单独的一行。

1260 1309 

1261* 系统通知,如 MCP 服务器错误和自动更新,显示在行的右侧。临时通知,如上下文低警告,也会循环通过此区域。1310* 系统通知,如 MCP 服务器错误和自动更新,显示在该行的右侧。临时通知,如上下文不足警告,也会在此区域轮流显示。

1262* 启用详细模式会向此区域添加令牌计数器1311* 启用详细模式会向此区域添加 token 计数器

1263* 在窄终端上,这些通知可能会截断你的状态行输出1312* 在窄终端上,这些通知可能会截断您的状态栏输出

sub-agents.md +2 −0

Details

3793. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/zh-CN/model-config#environment-variables) 环境变量,当您将其设置为模型别名或模型 ID 时3793. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/zh-CN/model-config#environment-variables) 环境变量,当您将其设置为模型别名或模型 ID 时

3804. 主对话的模型3804. 主对话的模型

381 381 

382如果已安装的 [mod](/docs/zh-CN/plugins/mods/overview) 在其 [`agent.spawn`](/docs/zh-CN/plugins/mods/reference#subagents) hook 中设置了模型,Claude Code 会使用该模型来代替每次调用的参数。

383 

382在两种情况下,家族别名(例如 frontmatter 或每次调用的参数中的 `opus`)解析到主对话的模型,而不是 [alias points to](/docs/zh-CN/model-config#model-aliases) 的版本:384在两种情况下,家族别名(例如 frontmatter 或每次调用的参数中的 `opus`)解析到主对话的模型,而不是 [alias points to](/docs/zh-CN/model-config#model-aliases) 的版本:

383 385 

384* **主对话的模型属于该家族**:subagent 在主对话的确切模型上运行,包括任何 `[1m]` 后缀,因此它获得与主对话相同的 [extended context](/docs/zh-CN/model-config#extended-context) 窗口。386* **主对话的模型属于该家族**:subagent 在主对话的确切模型上运行,包括任何 `[1m]` 后缀,因此它获得与主对话相同的 [extended context](/docs/zh-CN/model-config#extended-context) 窗口。

Details

709搜索后端不可配置。要使用不同的提供商进行搜索,请添加一个[MCP 服务器](/docs/zh-CN/mcp)来公开搜索工具。709搜索后端不可配置。要使用不同的提供商进行搜索,请添加一个[MCP 服务器](/docs/zh-CN/mcp)来公开搜索工具。

710 710 

711<Note>711<Note>

712 WebSearch 在 Claude API 和 [AWS 上的 Claude Platform](/docs/zh-CN/claude-platform-on-aws) 上可用。在 Microsoft Foundry 上,它需要[部署在 Anthropic 上](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options):部署在 Azure 上的部署不支持服务器端工具,因此 WebSearch 调用失败。在 Google Cloud 的 Agent Platform 上,它适用于 Claude 4 及更高版本的模型,包括 Opus、Sonnet 和 Haiku。Amazon Bedrock 不公开服务器端网络搜索工具。712 WebSearch 在 Claude API、[AWS 上的 Claude Platform](/docs/zh-CN/claude-platform-on-aws) 和 Microsoft Foundry 上可用。在 Google Cloud 的 Agent Platform 上,它适用于 Claude 4 及更高版本的模型,包括 Opus、Sonnet 和 Haiku。Amazon Bedrock 不公开服务器端网络搜索工具。

713</Note>713</Note>

714 714 

715<h3 id="session-search-limit">715<h3 id="session-search-limit">

716 会话搜索限制716 会话搜索限制

717</h3>717</h3>

718 718 

719一个会话最多可以进行 200 次 WebSearch 调用,计数跨越主对话和它生成的每个[子代理](/docs/zh-CN/sub-agents),因此并行研究扇出进行的搜索计入同一限制。该限制需要 Claude Code v2.1.212 或更高版本。当 Claude 达到限制时,进一步的调用会返回一个通知,告诉 Claude 继续使用它已经收集的信息,而不是会邀请重试的错误。您看不到该通知:受限的调用在对话中显示为未执行任何操作的搜索,如果 Claude 需要更多搜索,该通知会告诉它要求您提高限制。719一个交互式终端会话最多可以进行 200 次 WebSearch 调用。来自主对话和[子代理](/docs/zh-CN/sub-agents)的搜索(例如并行研究扇出)计入同一限制。该限制需要 Claude Code v2.1.212 或更高版本。

720 720 

721设置 [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/zh-CN/env-vars) 环境变量来更改上限;它接受正整数,因此上限可以提高但不能关闭。运行 [`/clear`](/docs/zh-CN/commands#all-commands) 会重置计数。如果仍然可以生成[子代理](/docs/zh-CN/sub-agents)的工作(例如正在运行的工作流)在清除后继续存在,计数会改为继续。721当会话达到限制时,搜索在对话中显示为未执行任何操作的调用。Claude 会收到一个通知,告诉它继续使用已经收集的信息,如果需要更多搜索,则要求您提高限制。

722 

723要获得更多搜索次数,可以提高上限、等待限制恢复,或开始新的对话:

724 

725* **提高上限**:将 [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/zh-CN/env-vars#variables) 环境变量设置为正整数,例如 `500`。上限可以提高但不能关闭。

726* **等待恢复**:在 Claude Code v2.1.290 或更高版本中,交互式终端会话的限制大约每小时恢复 100 次调用。要更改该速率,请将 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/zh-CN/env-vars#variables) 设置为每小时的调用次数,例如 `50`。

727* **开始新的对话**:在 Claude Code 输入框中运行 [`/clear`](/docs/zh-CN/commands#all-commands) 也会重置计数。如果仍然可以生成子代理的工作(例如正在运行的工作流)在清除后继续存在,计数会改为延续。

722 728 

723<h2 id="write-tool-behavior">729<h2 id="write-tool-behavior">

724 Write tool 行为730 Write tool 行为

vs-code.md +1 −0

Details

623* **Claude 的回复**:该扩展在每条回复完成时宣布一次,在文本流入时保持沉默。您的屏幕阅读器将代码块读作行数摘要,按标签读取链接,逐个单元格读取表格;完整回复在记录中保持可读。623* **Claude 的回复**:该扩展在每条回复完成时宣布一次,在文本流入时保持沉默。您的屏幕阅读器将代码块读作行数摘要,按标签读取链接,逐个单元格读取表格;完整回复在记录中保持可读。

624* **权限请求和问题**:当权限提示出现时,该扩展会宣布请求,并命名 Claude 想要使用的工具。当 Claude 向您提问以及当 Claude 完成计划并等待您审查时,它以相同方式宣布。624* **权限请求和问题**:当权限提示出现时,该扩展会宣布请求,并命名 Claude 想要使用的工具。当 Claude 向您提问以及当 Claude 完成计划并等待您审查时,它以相同方式宣布。

625* **状态更改**:当 Claude 开始工作、Claude 准备好接收您的输入以及 Claude Code 开始压缩对话时,该扩展会宣布。625* **状态更改**:当 Claude 开始工作、Claude 准备好接收您的输入以及 Claude Code 开始压缩对话时,该扩展会宣布。

626* **排队的消息**:当您在 Claude 工作时发送消息,该扩展会为该消息宣布"Message queued."。

626* **错误和模型提示**:该扩展宣布对话中的错误,并在 [使用额度同意提示](/docs/zh-CN/model-config#fable-and-usage-credits) 或 [标记请求提示](/docs/zh-CN/model-config#ask-before-switching) 出现时宣布。627* **错误和模型提示**:该扩展宣布对话中的错误,并在 [使用额度同意提示](/docs/zh-CN/model-config#fable-and-usage-credits) 或 [标记请求提示](/docs/zh-CN/model-config#ask-before-switching) 出现时宣布。

627 628 

628当 Claude 工作时,您的屏幕阅读器会读取一个文本标签来代替进度旋转器的动画。629当 Claude 工作时,您的屏幕阅读器会读取一个文本标签来代替进度旋转器的动画。