环境变量
控制 Claude Code 行为的环境变量参考。
环境变量可以控制 Claude Code 的行为,例如模型选择、身份验证、请求路由和功能切换。许多相同的行为也可以通过设置文件字段、CLI 标志或会话内命令(如 /model)进行配置。
本页面涵盖以下内容:
设置环境变量
在 shell 中设置的变量仅在该终端会话期间有效,而在设置文件中的变量每次运行 claude 时都会应用。
在 shell 中
在启动 claude 之前设置变量:
export API_TIMEOUT_MS="1200000"
claude
要为每个会话设置它,请将 export 行添加到 ~/.bashrc、~/.zshrc 或您的 shell 配置文件中。
$env:API_TIMEOUT_MS = "1200000"
claude
要为每个会话设置它,请运行 [Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User") 并打开一个新终端。
set API_TIMEOUT_MS=1200000
claude
要为每个会话设置它,请运行 setx API_TIMEOUT_MS "1200000" 并打开一个新终端。
赋值行在成功时不会打印任何内容,因此在运行 claude 之前,通过在同一 shell 中打印变量来确认它已设置:
echo $API_TIMEOUT_MS
echo $env:API_TIMEOUT_MS
echo %API_TIMEOUT_MS%
在设置文件中
在 settings.json 文件中的 env 键下添加变量,如果文件不存在则创建它。Claude Code 直接从文件中读取它们,因此无论如何启动 claude,它们都会生效。运行中的会话在您保存文件时会将新值和更改的值应用到其环境中,但在启动时读取其变量一次的功能(例如 OpenTelemetry 监控)会保持其启动值,直到您重新启动。从文件中删除变量不会在运行中的会话中取消设置它;删除在您下次启动 claude 时生效。
{
"env": {
"API_TIMEOUT_MS": "1200000",
"BASH_DEFAULT_TIMEOUT_MS": "300000"
}
}
您选择的文件控制变量应用于谁:
| 文件 | 应用于 |
|---|---|
~/.claude/settings.json |
您,在每个项目中 |
.claude/settings.json |
在项目中工作的每个人,检入源代码控制 |
.claude/settings.local.json |
您,仅在此项目中,当 Claude Code 将设置保存到它时被 gitignore;如果您手动创建它,请将其添加到您的 gitignore |
| 托管设置 | 您组织中的每个人,由管理员部署 |
请参阅 设置文件 了解每个文件的位置,以及 设置优先级 了解当多个文件设置相同变量时它们如何组合。
优先级
某些行为同时具有环境变量和专用设置键,Claude Code 读取哪一个的顺序因键而异。对于 ANTHROPIC_MODEL 和 CLAUDE_CODE_AUTO_CONNECT_IDE,Claude Code 首先读取变量,仅当变量未设置时才使用 model 或 autoConnectIde 设置。对于您正在设置的对,请检查下面变量的行和 设置参考 上的键条目。
当同一变量在您的 shell 和设置文件 env 块中都设置时,设置文件值适用。Claude Code 将每个 env 条目写入进程环境,替换从 shell 继承的值。env 设置 说明何时应用它们。少数变量是特殊情况;env 设置 列出了例外。
在设置文件中,您可以设置变量,但不能删除变量。要覆盖无法取消设置的变量,例如由您无法控制的 shell 配置文件导出的过时 CLAUDE_CODE_USE_VERTEX,请在 env 块中将其设置为空字符串:"CLAUDE_CODE_USE_VERTEX": ""。Claude Code 将空值视为未设置以进行提供程序选择。子进程仍然继承空值。
在设置文件之间,env 值遵循 设置优先级,因此托管设置条目覆盖用户或项目设置中的相同变量。
环境变量与 CLI 标志和会话内命令的交互方式因功能而异:--model 和 /model 覆盖 ANTHROPIC_MODEL,而 CLAUDE_CODE_EFFORT_LEVEL 覆盖 --effort 和 /effort。当变量与另一个配置源交互时,变量 列表中的其行说明优先级或链接到记录它的页面。
Claude Code 在启动时读取 shell 环境变量,因此对它们的更改在您下次启动 claude 时生效。在设置文件中 env 键下设置的变量在文件更改时重新应用到运行中的会话,但 在设置文件中 描述的仅启动时例外除外。
变量
数值变量(如超时、令牌预算和重试次数)除了接受纯数字外,还接受科学记数法和数字分隔符拼写,除非变量的行注明仅接受纯数字。例如,Claude Code 将 2e3 读作 2000,将 64_000 读作 64000。在 v2.1.211 之前,这些拼写可能会无声地设置一个更小的值,例如 1e6 将超时设置为 1。
对于打开或关闭行为的变量,设置 1 或 true 以打开它,设置 0 或 false 以关闭它,不区分大小写。
某些变量仅读取您是否设置了它们,因此任何非空值(包括 0)都会打开该行为,而通过取消设置变量或将其设置为空值来关闭该行为。这些变量的工作方式如下:
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_TELEMETRYDISABLE_ERROR_REPORTINGCLAUDE_CODE_TMUX_TRUECOLORFALLBACK_FOR_ALL_PRIMARY_MODELSIS_DEMO
另一个变量有自己的规则:FORCE_HYPERLINK 读取一个数字,所以只有 0 会关闭它。每个变量的行也说明了自己的规则。
| 变量 | 目的 |
|---|---|
ANTHROPIC_API_KEY |
作为 X-Api-Key 标头发送的 API 密钥。设置此密钥后,即使您已登录,此密钥也会被用来代替您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(-p)中,存在密钥时始终使用该密钥。在交互模式中,在密钥覆盖您的订阅之前,系统会提示您批准一次。要改用您的订阅,请运行 unset ANTHROPIC_API_KEY |
ANTHROPIC_AUTH_TOKEN |
Authorization 标头的自定义值(您设置的值将以 Bearer 为前缀) |
ANTHROPIC_AWS_API_KEY |
Claude Platform on AWS 的工作区 API 密钥,在 AWS 控制台中生成。作为 x-api-key 发送,优先于 AWS SigV4 |
ANTHROPIC_AWS_BASE_URL |
覆盖 Claude Platform on AWS 端点 URL。用于自定义区域或通过 LLM 网关 路由时。默认为 https://aws-external-anthropic.{region}.api.aws。Claude Code 使用 与 Amazon Bedrock 相同的优先级 解析区域 |
ANTHROPIC_AWS_WORKSPACE_ID |
Claude Platform on AWS 所需。在每个请求上作为 anthropic-workspace-id 标头发送 |
ANTHROPIC_BASE_URL |
覆盖 API 端点以通过代理或网关路由请求。设置为非第一方主机时,MCP 工具搜索 默认被禁用。如果您的代理转发 tool_reference 块,请设置 ENABLE_TOOL_SEARCH=true。从 v2.1.196 开始,当这指向 api.anthropic.com 以外的主机时,Remote Control 被禁用,与其在 Amazon Bedrock、Google Cloud's Agent Platform 和 Microsoft Foundry 上的行为相匹配 |
ANTHROPIC_BEDROCK_BASE_URL |
覆盖 Amazon Bedrock 端点 URL。用于自定义 Amazon Bedrock 端点或通过 LLM 网关 路由时。请参阅 Amazon Bedrock |
ANTHROPIC_BEDROCK_MANTLE_BASE_URL |
覆盖 Amazon Bedrock Mantle 端点 URL。请参阅 Mantle 端点 |
ANTHROPIC_BEDROCK_REGION_PREFIX |
跨区域推理配置文件前缀(us、eu、apac、jp、au 或 global)Claude Code 首先尝试而不是从 AWS 区域派生的前缀。在 AWS GovCloud 区域中被忽略。需要 Claude Code v2.1.224 或更高版本。请参阅 Amazon Bedrock |
ANTHROPIC_BEDROCK_SERVICE_TIER |
Amazon Bedrock 服务层(default、flex 或 priority)。作为 X-Amzn-Bedrock-Service-Tier 标头发送。请参阅 Amazon Bedrock |
ANTHROPIC_BETAS |
逗号分隔的其他 anthropic-beta 标头值列表,包含在 API 请求中。Claude Code 已发送它需要的测试版标头;在 Claude Code 添加原生支持之前,使用此选项选择加入 Anthropic API 测试版。与 --betas 标志 不同,后者需要 API 密钥身份验证,此变量适用于所有身份验证方法,包括 Claude.ai 订阅 |
ANTHROPIC_CUSTOM_HEADERS |
要添加到请求的自定义标头(Name: Value 格式,多个标头用换行符分隔)。如果名称或值包含 HTTP 标头无法携带的字符(如弯引号或零宽空格),请求将失败并显示按位置标识该对的错误。需要 Claude Code v2.1.227 或更高版本。Invalid request header value 列出了确切的字符集和检查运行的位置。设置凭证、组织或租户、路由或 API 行为标头(如 Authorization 或 Host)的值计为 需要批准的设置(当服务器管理的设置传递它时)。从项目或本地设置,此类值遵循 何时应用 env 值的规则 |
ANTHROPIC_CUSTOM_MODEL_OPTION |
模型 ID,作为自定义条目添加到 /model 选择器中。使用此选项可以选择非标准或网关特定的模型,而无需替换内置别名。请参阅 模型配置 |
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION |
/model 选择器中自定义模型条目的显示描述。未设置时默认为 Custom model (<model-id>) |
ANTHROPIC_CUSTOM_MODEL_OPTION_NAME |
/model 选择器中自定义模型条目的显示名称。未设置时,如果 Claude Code 识别 ID,条目显示模型的名称,否则显示模型 ID |
ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES |
逗号分隔的自定义模型支持的 功能 列表,例如 effort,thinking。请参阅 模型配置 |
ANTHROPIC_DEFAULT_FABLE_MODEL |
fable 别名解析为的模型 ID,以及 Claude Code 识别为 Fable 模型的 ID,用于第三方提供商上的 自动模型回退。请参阅 模型配置 |
ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION |
/model 选择器中固定 Fable 模型的显示描述。未设置时,行显示以 Custom Fable model 开头的默认描述。请参阅 模型配置 |
ANTHROPIC_DEFAULT_FABLE_MODEL_NAME |
/model 选择器中固定 Fable 模型的显示名称。未设置时,如果 Claude Code 识别固定 ID,行显示模型的名称,否则显示固定 ID。请参阅 模型配置 |
ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES |
逗号分隔的固定 Fable 模型支持的 功能 列表,例如 effort,thinking。请参阅 模型配置 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
haiku 别名解析为的模型 ID,也用于 后台功能。请参阅 模型配置 |
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION |
/model 选择器中固定 Haiku 模型的显示描述。未设置时,行显示以 Custom Haiku model 开头的默认描述。请参阅 模型配置 |
ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME |
/model 选择器中固定 Haiku 模型的显示名称。未设置时,如果 Claude Code 识别固定 ID,行显示模型的名称,否则显示固定 ID。请参阅 模型配置 |
ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES |
逗号分隔的固定 Haiku 模型支持的 功能 列表,例如 effort,thinking。请参阅 模型配置 |
ANTHROPIC_DEFAULT_MODEL |
新会话默认启动的模型。需要 Claude Code v2.1.236 或更高版本。请参阅 为新会话设置默认模型 |
ANTHROPIC_DEFAULT_OPUS_MODEL |
opus 别名解析为的模型 ID,以及 Plan Mode 活跃时 opusplan 使用的模型 ID。请参阅 模型配置 |
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION |
/model 选择器中固定 Opus 模型的显示描述。未设置时,行显示以 Custom Opus model 开头的默认描述。请参阅 模型配置 |
ANTHROPIC_DEFAULT_OPUS_MODEL_NAME |
/model 选择器中固定 Opus 模型的显示名称。未设置时,如果 Claude Code 识别固定 ID,行显示模型的名称,否则显示固定 ID。请参阅 模型配置 |
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES |
逗号分隔的固定 Opus 模型支持的 功能 列表,例如 effort,thinking。请参阅 模型配置 |
ANTHROPIC_DEFAULT_SONNET_MODEL |
sonnet 别名解析为的模型 ID,以及 Plan Mode 不活跃时 opusplan 使用的模型 ID。请参阅 模型配置 |
ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION |
/model 选择器中固定 Sonnet 模型的显示描述。未设置时,行显示以 Custom Sonnet model 开头的默认描述。请参阅 模型配置 |
ANTHROPIC_DEFAULT_SONNET_MODEL_NAME |
/model 选择器中固定 Sonnet 模型的显示名称。未设置时,如果 Claude Code 识别固定 ID,行显示模型的名称,否则显示固定 ID。请参阅 模型配置 |
ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES |
逗号分隔的固定 Sonnet 模型支持的 功能 列表,例如 effort,thinking。请参阅 模型配置 |
ANTHROPIC_FEDERATION_RULE_ID |
Workload Identity Federation 的联合规则 ID。当您将其与 ANTHROPIC_ORGANIZATION_ID 一起设置时,Claude Code 选择联合凭证,其优先级高于您的 /login 凭证。请参阅 身份验证优先级 |
ANTHROPIC_FOUNDRY_API_KEY |
Microsoft Foundry 身份验证的 API 密钥(请参阅 Microsoft Foundry) |
ANTHROPIC_FOUNDRY_AUTH_TOKEN |
Microsoft Foundry 身份验证的 Bearer 令牌,例如 Microsoft Entra 访问令牌。Claude Code 将其作为 Authorization: Bearer 标头发送。优先于 ANTHROPIC_FOUNDRY_API_KEY 和 Azure 默认凭证链。请参阅 Microsoft Foundry。需要 Claude Code v2.1.203 或更高版本 |
ANTHROPIC_FOUNDRY_BASE_URL |
Microsoft Foundry 资源的完整基础 URL(例如,https://my-resource.services.ai.azure.com/anthropic)。ANTHROPIC_FOUNDRY_RESOURCE 的替代方案(请参阅 Microsoft Foundry) |
ANTHROPIC_FOUNDRY_RESOURCE |
Microsoft Foundry 资源名称(例如,my-resource)。如果未设置 ANTHROPIC_FOUNDRY_BASE_URL,则为必需(请参阅 Microsoft Foundry) |
ANTHROPIC_MODEL |
要使用的模型设置的名称(请参阅 模型配置) |
ANTHROPIC_ORGANIZATION_ID |
Workload Identity Federation 的组织 ID。将其与 ANTHROPIC_FEDERATION_RULE_ID 一起设置。请参阅 身份验证优先级 |
ANTHROPIC_PROFILE |
要使用的 Anthropic 配置文件的名称,例如由 ant auth login 创建的或通过 在没有 API 密钥的情况下登录到控制台帐户。请参阅 身份验证优先级 |
ANTHROPIC_SMALL_FAST_MODEL |
[已弃用] Haiku 级模型用于后台任务 的名称 |
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 模型或主模型 上运行后台任务 |
ANTHROPIC_VERTEX_BASE_URL |
覆盖 Google Cloud's Agent Platform 端点 URL。用于自定义 Google Cloud's Agent Platform 端点或通过 LLM 网关 路由时。请参阅 Google Cloud's Agent Platform |
ANTHROPIC_VERTEX_PROJECT_ID |
Google Cloud's Agent Platform 请求所针对的 GCP 项目 ID。请参阅 配置 GCP 凭证 |
ANTHROPIC_WORKSPACE_ID |
工作负载身份联合 的工作区 ID。当您的联合规则的范围涵盖多个工作区时设置此项,以便令牌交换知道要针对哪个工作区 |
API_FORCE_IDLE_TIMEOUT |
覆盖 5 分钟的正文空闲超时,当没有字节到达时中止流式模型响应。设置为 0 以关闭超时,例如当缓慢的 网关 或本地模型在块之间暂停超过 5 分钟时,或 1 以为每个提供商保持打开。未设置时,超时在除直接 Anthropic API 和 Claude Platform on AWS 之外的提供商上处于活跃状态。流监视程序 独立运行,即使您在此处设置 0,也会中止长时间的无声暂停 |
API_TIMEOUT_MS |
API 请求的超时时间(以毫秒为单位)(默认值:600000,或 10 分钟;最大值:2147483647)。在缓慢网络上请求超时或通过代理路由时增加此值。超过最大值的值会导致底层计时器溢出,导致请求立即失败 |
AWS_BEARER_TOKEN_BEDROCK |
Amazon Bedrock API 密钥用于身份验证(请参阅 Amazon Bedrock API 密钥) |
BASH_DEFAULT_TIMEOUT_MS |
长时间运行的 bash 命令的默认超时时间(默认值:120000,或 2 分钟) |
BASH_MAX_OUTPUT_LENGTH |
Claude Code 读回到命令结果中的 bash 输出的最大字符数(默认值:30000;最大值:150000)。如果您设置了 bashOutputMaxChars 设置,Claude Code 会忽略此变量。请参阅 输出限制 |
BASH_MAX_TIMEOUT_MS |
模型可以为长时间运行的 bash 命令设置的最大超时时间(默认值:600000,或 10 分钟)。有效的上限是此值和 BASH_DEFAULT_TIMEOUT_MS 中的较大者 |
BETA_TRACING_ENDPOINT |
详细测试版跟踪 的 OTLP 端点:使用 ENABLE_BETA_TRACING_DETAILED=1,日志和跟踪转到那里而不是配置的导出器。在您的 shell、用户设置或托管设置中设置它。在 项目和本地设置 中被忽略 |
CCR_FORCE_BUNDLE |
设置为 1 以强制 claude --cloud 捆绑并上传您的本地存储库,而不是从其远程克隆 |
CLAUDECODE |
在 Claude Code 生成的子进程中设置为 1(Bash 和 PowerShell 工具、tmux 会话、hook 命令、状态行 命令、stdio MCP 服务器 子进程)。IDE 扩展也在其集成终端中设置此项。用于检测脚本何时在 Claude Code 生成的子进程内运行。要检查当前进程是由工具调用或 hook 直接生成的,而不是在 Claude Code 启动的 stdio MCP 服务器内,请改用 CLAUDE_CODE_CHILD_SESSION |
CLAUDE_AFK_COUNTDOWN_MS |
自动继续前屏幕倒计时在未回答的 AskUserQuestion 对话框上出现的毫秒数。默认 20000(20 秒),上限为自动继续超时。除非自动继续打开,否则无效;请参阅 askUserQuestionTimeout 设置和 CLAUDE_AFK_TIMEOUT_MS。需要 Claude Code v2.1.198 或更高版本 |
CLAUDE_AFK_TIMEOUT_MS |
未回答的 AskUserQuestion 对话框在没有您的情况下自动继续之前的空闲时间(以毫秒为单位)。自动继续默认关闭;使用 askUserQuestionTimeout 设置选择加入。此变量是演示和自动化测试的覆盖:设置时,它优先于该设置,即使设置未设置或为 never,也会打开自动继续。设置 0 不会关闭超时;它会立即关闭对话框。在 v2.1.198 和 v2.1.199 中,自动继续默认打开,超时为 60000(60 秒)。需要 Claude Code v2.1.198 或更高版本 |
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS |
设置为 1 以禁用所有内置 子代理 类型,例如 Explore 和 Plan。仅在非交互模式(-p 标志)中应用。对于想要空白板的 SDK 用户很有用。这也会删除 general-purpose,即当 Agent 工具调用省略 subagent_type 时 Claude Code 运行的子代理。此类调用随后失败,显示 subagent_type is required |
CLAUDE_AGENT_SDK_MCP_NO_PREFIX |
设置为 1 以跳过 SDK 创建的 MCP 服务器中工具名称上的 mcp__<server>__ 前缀。工具使用其原始名称。仅限 SDK 使用 |
CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS |
子代理的停滞超时时间(以毫秒为单位)。默认 600000(10 分钟);如果您在流监视程序打开时提高 CLAUDE_STREAM_IDLE_TIMEOUT_MS,默认值会随之上升,如 处理缓慢或停滞的 API 响应 所述。计时器在每个流式进度事件上重置;如果在窗口内没有进度到达,Claude Code 会中止子代理并向父代理报告停滞 |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
设置自动压缩窗口的百分比(1-100),在该百分比处自动压缩触发。使用较低的值(如 50)以更早压缩;该变量无法提高阈值,因此高于默认百分比的值会被忽略。它仅适用于在模型的上下文限制之前 压缩的会话。适用于主对话和子代理 |
CLAUDE_AUTO_BACKGROUND_TASKS |
设置为 1 以强制启用长时间运行的代理任务的自动后台处理。启用后,子代理在运行约两分钟后移到后台。在 Claude Code v2.1.212 或更高版本的非交互模式中,也启用 长 MCP 工具调用的自动后台处理 |
CLAUDE_AX_PREPARK_MS |
在 屏幕阅读器模式 中,Claude Code 在光标位于行首时等待的毫秒数,然后写入新行或更改的行。默认 50。设置 0 以立即写入。Claude Code 将等待上限设置为 5000。需要 Claude Code v2.1.233 或更高版本 |
CLAUDE_AX_SCREEN_READER |
设置为 1 以呈现屏幕阅读器友好的输出:没有装饰性边框或动画的平面文本。设置为 0 以强制关闭屏幕阅读器模式,即使 axScreenReader 为 true。--ax-screen-reader 标志优先。需要 Claude Code v2.1.181 或更高版本 |
CLAUDE_AX_STARTUP_QUIET_MS |
在 屏幕阅读器模式 中,Claude Code 在启动确认行后保持第一个界面呈现的毫秒数,以便您的屏幕阅读器可以在新输出中断之前完整地说出该行。默认 3000。设置 0 以立即呈现。Claude Code 将保持上限设置为 600000(10 分钟)。您的第一次按键会提前结束保持。需要 Claude Code v2.1.217 或更高版本 |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR |
在主会话中每个 Bash 或 PowerShell 命令后返回到原始工作目录 |
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS |
字节级流式空闲监视程序的超时时间(以毫秒为单位);设置时,它优先于 CLAUDE_STREAM_IDLE_TIMEOUT_MS 用于该监视程序,并保持事件级监视程序不变。Claude Code 将此变量限制在 10 秒到 30 分钟之间。需要 Claude Code v2.1.210 或更高版本 |
CLAUDE_CLIENT_PRESENCE_FILE |
外部工具(如屏幕锁定侦听器)在您解锁屏幕时创建并在您锁定屏幕时删除的文件路径。文件存在时,Claude Code 跳过 Remote Control 移动推送通知,因此当您主动使用计算机时,您停止接收推送。文件不存在或不可读时,通知照常发送。Claude Code 每个推送触发事件检查一次文件,而不是轮询它。需要 Claude Code v2.1.181 或更高版本 |
CLAUDE_CODE_ACCESSIBILITY |
设置为 1 以保持本机终端光标可见并禁用反向文本光标指示器。允许 macOS Zoom 等屏幕放大镜跟踪光标位置 |
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD |
设置为 1 以从使用 --add-dir 指定的目录加载内存文件。加载 CLAUDE.md、.claude/CLAUDE.md、.claude/rules/*.md 和 CLAUDE.local.md。默认情况下,其他目录不加载内存文件 |
CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT |
设置为 1 以在 全屏呈现 中的每一帧上重新绘制整个屏幕,而不是发送增量更新。如果全屏模式显示陈旧或错位的文本片段,请使用此选项。Claude Code 在 Windows 上的后台会话和 代理视图 上自动启用此选项 |
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT |
设置为 1 以为每个请求发送 effort 参数,即使 Claude Code 不将模型 ID 识别为支持 effort 的。在通过 LLM 网关 或第三方提供商以自定义标识符提供模型时使用。在 API 处拒绝 effort 参数的模型(包括 Claude 3 模型、Sonnet 4.0 和 4.5、Opus 4.0 和 4.1 以及 Haiku 4.5)仍被排除,因此请求不会失败 |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS |
应刷新凭证的间隔(以毫秒为单位)(使用 apiKeyHelper 时) |
CLAUDE_CODE_ARTIFACT_AUTO_OPEN |
设置为 0 以停止 Claude Code 在发布新 artifact 时自动打开浏览器 |
CLAUDE_CODE_ARTIFACT_COMMENTS |
设置为 0 以停止 Claude 读取和回复 artifact 上的评论。当 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 关闭 artifact 时无效。需要 Claude Code v2.1.221 或更高版本 |
CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT |
设置为 0 以停止 Claude 自动回复发送给它的评论。需要 Claude Code v2.1.228 或更高版本 |
CLAUDE_CODE_ATTRIBUTION_HEADER |
设置为 0 以从系统提示的开头省略 归属块,该块携带客户端版本和提示指纹。直接连接到 Anthropic API 的缓存无论如何都不受影响。在某些直接连接设置中,Claude Code 在 自动模式 分类器请求上保持块,即使您设置 0。在 系统提示归属块 中,检查此覆盖的连接和凭证。在 v2.1.181 之前,该块在自定义基础 URL 和 Microsoft Foundry 连接上包含每个请求的令牌,因此在这些版本上,当您的 LLM 网关在请求正文上缓存或将请求转发给第三方提供商时,或当您直接连接到 Microsoft Foundry 时,将其设置为 0 |
CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS |
启用 CLAUDE_AUTO_BACKGROUND_TASKS 时,Claude 检查仍在运行的 后台子代理 的提醒之间的秒数。仅接受 1 到 86400 的纯整数;任何其他值或拼写读作未设置。未设置时,没有检查提醒。需要 Claude Code v2.1.248 或更高版本 |
CLAUDE_CODE_AUTO_COMPACT_WINDOW |
设置 自动压缩窗口(以令牌为单位),从 100000 到 1000000。仅接受纯整数(如 500000):像 500k 这样的值读作 500 并限制到 100K 最小值。有效窗口也上限为模型的上下文窗口。优先于 /autocompact 命令、--autocompact 标志和 autoCompactWindow 设置。状态行的 used_percentage 始终针对模型的完整上下文窗口进行测量,因此一旦设置此变量,该百分比不再指示何时压缩将运行 |
CLAUDE_CODE_AUTO_CONNECT_IDE |
覆盖自动 IDE 连接。默认情况下,在支持的 IDE 的集成终端内启动时,Claude Code 会自动连接。设置为 false 以防止这种情况。设置为 true 以在自动检测失败时强制连接尝试,例如当 tmux 隐藏父终端时。优先于 autoConnectIde 全局配置设置 |
CLAUDE_CODE_AUTO_MODE_SERVER |
控制 Claude Code 是否要求服务器 审查自动模式操作。未设置时,Claude Code 在 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 上要求服务器,以及当您将 ANTHROPIC_BASE_URL 指向 LLM 网关或代理时。设置为 0 以改用 Claude Code 自己的分类器请求。在直接连接到 Anthropic API 时不读取。需要 Claude Code v2.1.271 或更高版本;默认要求服务器需要 v2.1.278 或更高版本 |
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS |
Claude Code 等待 AWS 默认凭证提供商链生成凭证的时间(以毫秒为单位),然后请求失败,显示 AWS default-chain credential resolve timed out(默认值:60000)。当链中的步骤合理需要更长时间时提高它,例如通过 aws-vault 等包装器进行基于浏览器的 SSO 登录和 MFA。适用于 Claude Code 使用默认链签名的任何地方:Amazon Bedrock、Claude Platform on AWS 和 Mantle 端点。需要 Claude Code v2.1.207 或更高版本 |
CLAUDE_CODE_BASH_EDIT_DIFF |
设置为 0 以关闭 Bash 命令运行时更改的文件的差异,或 1 以在每个权限模式中记录它。优先于 bashEditDiffEnabled 设置。需要 Claude Code v2.1.269 或更高版本 |
CLAUDE_CODE_BG_TASKS_REPORT_RUNNING |
设置为 0 以使非交互式会话在每个转弯结束时向其主机报告空闲状态,即使后台工作仍在运行。默认情况下,会话在后台工作(如后台代理或 工作流 运行)仍在进行时,继续在转弯结束后报告运行状态。这使得监视状态的主机(如远程会话列表)不会在工作中途宣布 Claude 正在等待您的输入。后台 shell 命令(如开发服务器)不保持运行状态。运行状态默认值和 0 选择退出需要 Claude Code v2.1.269 或更高版本;在早期版本上,设置 1 以保持运行状态 |
CLAUDE_CODE_BRIDGE_SESSION_ID |
在会话有活跃 Remote Control 连接时,在 Bash 工具和 hook 命令 子进程中自动设置,连接结束时删除。值是会话的 ID(session_ 形式),与会话的 claude.ai/code URL 中出现的标识符相同,因此脚本可以链接回运行它的会话。需要 Claude Code v2.1.199 或更高版本。在 云会话 中,改为读取 CLAUDE_CODE_REMOTE_SESSION_ID |
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。在 Windows 终端中设置 0,其中 Backspace 删除整个单词 |
CLAUDE_CODE_CERT_STORE |
TLS 连接的 CA 证书源的逗号分隔列表。bundled 是随 Claude Code 一起提供的 Mozilla CA 集。system 是操作系统信任存储,仅在具有 tls.getCACertificates 的运行时上读取:本机二进制文件或 npm 安装的 Node 22.15 或更高版本。请参阅 CA 证书存储。默认为 bundled,system |
CLAUDE_CODE_CHILD_SESSION |
在 Claude Code 通过 Bash、PowerShell 和 Monitor 工具、hook 命令和 状态行 命令生成的子进程中设置为 1。未为 stdio MCP 服务器 子进程设置,这些子进程是长期存在的,超过生成它们的会话。与 CLAUDECODE 不同,这仅在 Claude Code 启动子进程时由 Claude Code 本身设置,而不是由 IDE 扩展设置,因此它可靠地将嵌套会话与在 IDE 集成终端中启动的顶级 claude 区分开来。以这种方式启动的嵌套交互式 claude TUI 自动从 --resume、--continue、向上箭头历史和 claude agents 列表中排除。非交互式 claude -p 会话仍然持续。设置 CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1 以覆盖此排除。需要 Claude Code v2.1.172 或更高版本 |
CLAUDE_CODE_CLIENT_CERT |
mTLS 身份验证的客户端证书文件路径 |
CLAUDE_CODE_CLIENT_KEY |
mTLS 身份验证的客户端私钥文件路径 |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE |
加密 CLAUDE_CODE_CLIENT_KEY 的密码(可选) |
CLAUDE_CODE_CONNECT_TIMEOUT_MS |
在 v2.1.186 中删除,现在是无操作。以前为流式 API 请求的连接、TLS 和响应标头阶段设置单独的超时。使用 API_TIMEOUT_MS 获取每个请求的超时。对于流式请求的响应标头阶段,请参阅 CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS |
CLAUDE_CODE_DEBUG_LOGS_DIR |
覆盖调试日志文件路径。尽管名称如此,这是文件路径,而不是目录。需要通过 --debug、/debug 或 DEBUG 环境变量单独启用调试模式:仅设置此变量不会启用日志记录。--debug-file 标志同时执行两者。默认为 ~/.claude/debug/<session-id>.txt |
CLAUDE_CODE_DEBUG_LOG_LEVEL |
写入调试日志文件的最小日志级别。值:verbose、debug(默认)、info、warn、error。设置为 verbose 以包含高容量诊断(如完整状态行命令输出),或提高到 error 以减少噪音 |
CLAUDE_CODE_DISABLE_1M_CONTEXT |
设置为 1 以禁用 1M 上下文窗口 支持。设置时,1M 模型变体在模型选择器中不可用,Claude Code 将具有本机 1M 窗口的模型上的会话保持在 200K 窗口,例如 Sonnet 5 和 Fable 模型;请参阅 扩展上下文 了解如何强制执行保持。对于具有合规要求的企业环境很有用。对于其在为无法识别的 [1m] 模型 ID 纠正窗口中的作用,请参阅 为网关或自定义模型 ID 纠正窗口 |
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING |
设置为 1 以在 Opus 4.6 和 Sonnet 4.6 上禁用 自适应推理,并回退到由 MAX_THINKING_TOKENS 控制的固定思考预算。对 Fable 模型、Sonnet 5 或 Opus 4.7 及更高版本无效,它们始终使用自适应推理 |
CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION |
设置为 1 以停止 Claude Code 在管理员源之间按键合并 托管设置 env 块,因此仅应用最高优先级源的整个 env 块,如 v2.1.223 之前的情况。在启动 Claude Code 的环境中设置它,因为 Claude Code 忽略通过设置 env 块传递的副本。需要 Claude Code v2.1.223 或更高版本 |
CLAUDE_CODE_DISABLE_ADVISOR_TOOL |
设置为 1 以禁用 advisor 工具。/advisor 命令变为不可用,任何配置的 advisorModel 被忽略,--advisor 标志被接受但无效,因此传递它的现有脚本继续工作而不出错 |
CLAUDE_CODE_DISABLE_AGENT_VIEW |
设置为 1 以关闭 后台代理和代理视图:claude agents、--bg、/background 和按需主管。等同于 disableAgentView 设置 |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN |
设置为 1 以禁用 全屏呈现 并使用经典主屏幕渲染器。对话保留在您的终端的本机滚动条中,因此 Cmd+f 和 tmux 复制模式照常工作。优先于 CLAUDE_CODE_NO_FLICKER 和 tui 设置。您也可以使用 /tui default 切换。不适用于从 代理视图 打开的后台会话,它们始终使用全屏呈现 |
CLAUDE_CODE_DISABLE_ARTIFACT |
设置为 1 以关闭 Artifact 工具,该工具将会话输出发布为 claude.ai 上的私有网页。一旦您设置它,没有设置文件会打开该工具。要改为从设置文件关闭该工具,请将 enableArtifact 设置为 false;已弃用的 disableArtifact 密钥也会关闭它 |
CLAUDE_CODE_DISABLE_ATTACHMENTS |
设置为 1 以禁用附件处理。带有 @ 语法的文件提及作为纯文本发送,而不是扩展为文件内容 |
CLAUDE_CODE_DISABLE_AUTO_MEMORY |
设置为 1 以禁用 自动内存。设置为 0 以强制打开自动内存,即使 --bare 模式或 autoMemoryEnabled: false 会禁用它。禁用时,Claude 不创建或加载自动内存文件 |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS |
设置为 1 以禁用所有后台任务功能,包括 Bash 和子代理工具上的 run_in_background 参数、自动后台处理和 Ctrl+B 快捷键 |
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT |
设置为 1 以停止 Claude Code 将缺少或空的 Content-Type 标头的 Amazon Bedrock 流式响应视为 Amazon Bedrock 的二进制事件流。默认情况下,Claude Code 假设网关从其他未修改的响应中删除了标头,因此它解码正文,流式处理继续工作。仅为也将流重新发出为服务器发送事件的网关设置此选项;Claude Code 随后将无标头正文读作服务器发送事件。需要 Claude Code v2.1.239 或更高版本 |
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD |
设置为 1 以跳过检查 Amazon Bedrock 流式响应是否携带 application/vnd.amazon.eventstream 内容类型。没有此变量,当响应携带不同的内容类型时,Claude Code 会因命名该类型的错误而失败请求,这意味着 网关或代理正在转换响应。配置网关以转发 Content-Type 标头和正文未修改,而不是设置此变量。需要 Claude Code v2.1.208 或更高版本 |
CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF |
设置为 1 以在 主管 停止、重启或更新该会话的进程时,停止 后台会话的 运行后台 shell 命令、动态工作流,以及从 v2.1.198 开始的后台子代理,而不是将它们交给会话的下一个进程。仅影响该交接:使用 ← 或 /background 后台处理会话仍会进行中的工作,CLAUDE_DISABLE_ADOPT 关闭两者。需要 Claude Code v2.1.196 或更高版本 |
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP |
设置为 1 以停止 Claude Code 在内存压力下终止 后台 shell 命令。默认情况下,在 macOS 和 Linux 上,当操作系统报告严重内存压力且会话已空闲 30 分钟且没有转弯或子代理运行时,Claude Code 会终止后台 shell。Windows 没有内存压力信号,因此此变量在那里无效。需要 Claude Code v2.1.193 或更高版本 |
CLAUDE_CODE_DISABLE_BUNDLED_SKILLS |
设置为 1 以禁用 Claude Code 包含的 skills 和工作流:捆绑的 skills 和工作流被完全删除,而内置命令(如 /init)保持可输入但对模型隐藏。/doctor 保持可输入,如内置命令;使用 DISABLE_DOCTOR_COMMAND 隐藏它。来自插件、.claude/skills/ 和 .claude/commands/ 的 Skills 不受影响。等同于 disableBundledSkills 设置 |
CLAUDE_CODE_DISABLE_CFC_PROMPT |
设置为 1 以保持 Claude in Chrome 浏览器工具可用,同时省略系统提示的 Chrome 部分和 /claude-in-chrome 捆绑 skill。对于嵌入 Claude Code 并提供自己的浏览器指导的主机。需要 Claude Code v2.1.257 或更高版本 |
CLAUDE_CODE_DISABLE_CLAUDE_MDS |
设置为 1 以防止将任何 CLAUDE.md 内存文件加载到上下文中,包括用户、项目和自动内存文件 |
CLAUDE_CODE_DISABLE_CRON |
设置为 1 以禁用 计划任务。/loop skill 和 cron 工具变为不可用,任何已计划的任务停止触发,包括已在运行的任务 |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS |
设置为 1 以从 API 请求中删除 Anthropic 特定的 anthropic-beta 请求标头和测试版工具模式字段(如 defer_loading 和 eager_input_streaming)。当代理网关拒绝带有错误的请求时使用,例如"Unexpected value(s) for the anthropic-beta header"或"Extra inputs are not permitted"。标准字段(name、description、input_schema、cache_control)被保留。MCP 工具搜索 被禁用,所有 MCP 工具预先加载,即使您设置 ENABLE_TOOL_SEARCH。在 Claude Code v2.1.227 或更高版本上,托管设置 可以保持工具搜索打开。禁用预发布功能 涵盖覆盖应用的位置 |
CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS |
设置为 1 以禁用内置 Explore 和 Plan 子代理。Claude 使用其搜索工具或通用子代理进行探索,plan mode 直接读取文件而不是启动 Explore 和 Plan 代理。名为 Explore 或 Plan 的自定义子代理不受影响。要在 Agent SDK 或非交互模式中删除每个内置子代理类型,请改用 CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS。需要 Claude Code v2.1.198 或更高版本 |
CLAUDE_CODE_DISABLE_FAST_MODE |
设置为 1 以禁用 快速模式 |
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY |
设置为 1 以禁用"Claude 表现如何?"会话质量调查。当设置 DISABLE_TELEMETRY、DO_NOT_TRACK 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 时,调查也被禁用,除非 CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL 选择重新加入。要改为设置样本率而不是完全禁用,请使用 feedbackSurveyRate 设置。请参阅 会话质量调查 |
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING |
设置为 1 以禁用文件 checkpointing。/rewind 命令将无法恢复代码更改。覆盖 fileCheckpointingEnabled 设置 |
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS |
设置为 1 以从 Claude 的系统提示中删除内置提交和 PR 工作流说明以及 git 状态快照。在使用您自己的 git 工作流 skills 时很有用。当设置时优先于 includeGitInstructions 设置 |
CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP |
设置为 1 以防止在 Anthropic API 上自动重新映射 Opus 4.0 和 4.1 到当前 Opus 版本。在您想有意固定较旧模型时使用。重新映射不在 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 上运行 |
CLAUDE_CODE_DISABLE_MOUSE |
设置为 1 以在 全屏呈现 中禁用鼠标跟踪。使用 PgUp 和 PgDn 的键盘滚动仍然有效。使用此选项保持您的终端的本机选择复制行为 |
CLAUDE_CODE_DISABLE_MOUSE_CLICKS |
设置为 1 以在 全屏呈现 中禁用点击、拖动和悬停处理,同时保持鼠标滚轮滚动。当您希望滚轮滚动在 Claude Code 内工作但不希望点击定位光标、展开工具输出或打开链接时使用。当两者都设置时,CLAUDE_CODE_DISABLE_MOUSE 优先。需要 Claude Code v2.1.195 或更高版本 |
CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION |
设置为 1 以停止 Claude Code 在 API 请求因连接级错误(如连接重置或 TLS 握手错误)失败时重新读取 mTLS 客户端证书和密钥。禁用重新加载后,Claude Code 仅在下次应用设置或下次启动时加载轮换的文件。需要 Claude Code v2.1.232 或更高版本 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
设置为任何非空值(如 1)以禁用非必要网络流量:自动更新、遥测、错误报告、/feedback 命令、Claude 起草的反馈、发行说明、PR 和 MR 状态徽章 检查以及可用性检查(如 快速模式 检查)。它还停止 插件 command 源的后台运行,这是本地命令而不是网络流量,因为它们可以触发依赖项安装。将其设置为 0 或 false 仍会禁用此流量,与大多数打开/关闭变量不同;取消设置变量以再次允许它。也禁用功能标志获取,这使 Remote Control 和其他 需要功能标志获取的功能 不可用。官方插件市场自动安装不涵盖;使用 CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL 禁用它。不影响 网关模型发现,它有自己的选择加入 |
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK |
设置为 1 以禁用流式请求在中途失败时的非流式回退。流式错误传播到重试层。当代理或网关导致回退产生重复工具执行时很有用 |
CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK |
设置为 1 以在您在终端中输入或专注时发送 PushNotification 工具的桌面通知。默认情况下,当工具检测到最近的键盘活动或终端焦点时,工具会跳过桌面通知和 移动推送。此变量仅禁用该本地检查,因此服务器仍可在检测到您处于活跃状态时抑制移动推送。需要 Claude Code v2.1.193 或更高版本 |
CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL |
设置为 1 以禁用官方插件市场的自动注册。Claude Code 在即将注册市场时读取变量,通常在机器的第一次交互启动期间。如果变量在该点设置,Claude Code 永久跳过注册。稍后取消设置变量不会撤销跳过。随时运行 claude plugin marketplace add anthropics/claude-plugins-official 以注册市场 |
CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS |
设置为 1 以停止 Claude Code 在 Claude Code 将它们发送到 Agent SDK 的 canUseTool 回调的会话中运行您的 Notification 未回答权限请求的 hooks,这是 Claude Desktop 和 VS Code 扩展如何托管 Claude Code 的方式。在终端会话中无效。需要 Claude Code v2.1.233 或更高版本 |
CLAUDE_CODE_DISABLE_POLICY_SKILLS |
设置为 1 以跳过从系统范围的托管 skills 目录加载 skills。对于不应加载操作员配置的 skills 的容器或 CI 会话很有用 |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE |
设置为 1 以禁用基于对话上下文的自动终端标题更新。这也跳过生成 会话标题 的后台小/快速模型请求 |
CLAUDE_CODE_DISABLE_THINKING |
设置为 1 以从 API 请求中完全省略 thinking 参数。这是代理和网关拒绝该参数的兼容性选项。在默认思考的模型上,省略参数意味着模型仍可能思考。要在 Anthropic API 上明确禁用 扩展思考,请改用 MAX_THINKING_TOKENS=0。两个变量都不会在 Fable 模型上关闭思考,Fable 模型无法关闭思考。在 第三方提供商 上,MAX_THINKING_TOKENS=0 同样省略参数,因此两个变量在那里的行为相同 |
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT |
设置为 1 以在 Claude Code 不识别模型 ID 时跳过主动 自动压缩,例如 LLM 网关 别名。没有此变量,Claude Code 在它为 ID 假设的上下文窗口处压缩。CLAUDE_CODE_MAX_CONTEXT_TOKENS 可以改为纠正假设的窗口;请参阅 为网关或自定义模型 ID 纠正窗口 了解何时应用每个变量。需要 Claude Code v2.1.223 或更高版本 |
CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL |
设置为 1 以在 全屏呈现 中禁用虚拟滚动并呈现转录中的每条消息。如果全屏模式中的滚动显示应显示消息的空白区域,请使用此选项 |
CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER |
设置为 1 以在 Windows 上直接启动 PowerShell 工具 命令,而不是通过 cmd.exe 启动器。默认情况下,启动器让在后台 运行的 PowerShell 命令 转移到会话的下一个进程,例如当您 后台处理会话 时。如果您设置变量,后台处理的 PowerShell 命令在会话的进程退出时停止。Bash 命令不受影响。需要 Claude Code v2.1.269 或更高版本 |
CLAUDE_CODE_DISABLE_WORKFLOWS |
设置为 1 以禁用 工作流。等同于 disableWorkflows 设置 |
CLAUDE_CODE_EFFORT_LEVEL |
为支持的模型设置 effort 级别。值:low、medium、high、xhigh、max 或 auto 以使用模型默认值。可用级别取决于模型。优先于 --effort、/effort 和 modelSettings 和 effortLevel 设置。maxEffortLevel 上限仍然适用。请参阅 调整 effort 级别 |
CLAUDE_CODE_ENABLE_AUTO_MODE |
为了与较旧版本兼容而接受,无效。自动模式在每个提供商上默认可用,包括 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和已登录的 Claude 应用网关 会话。在 v2.1.158 到 v2.1.206 中,需要将其设置为 1 以在这些提供商上提供 自动模式 |
CLAUDE_CODE_ENABLE_AWAY_SUMMARY |
覆盖 会话回顾 可用性。设置为 0 以强制关闭回顾,无论 /config 切换如何。设置为 1 以在 awaySummaryEnabled 为 false 时强制打开回顾。优先于设置和 /config 切换 |
CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH |
设置为 1 以在后台安装完成后在转弯边界处刷新 非交互模式 中的插件状态。默认关闭,因为刷新在会话中期更改系统提示,这会使该转弯的 提示缓存 失效 |
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL |
设置为 1 以在阻止 Anthropic 绑定的非必要流量时将"Claude 表现如何?"会话质量调查路由到您自己的 OpenTelemetry 收集器。调查评级仅作为 OTEL 事件发出到您配置的收集器。在此模式下,没有调查数据发送到 Anthropic。当设置 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC、DISABLE_TELEMETRY 或 DO_NOT_TRACK 时应用,否则无效。CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY 和组织产品反馈政策优先 |
CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING |
控制工具调用输入是否在 Claude 生成时从 API 流式传输。关闭此选项时,大型工具输入(如长文件写入)仅在 Claude 完成生成后到达,这可能看起来像它挂起了。在 Anthropic API 上默认启用。在 Amazon Bedrock 和 Google Cloud's Agent Platform 上,在部署的容器支持的每个模型上启用。设置为 0 以选择退出。设置为 1 以在通过 ANTHROPIC_BASE_URL、ANTHROPIC_VERTEX_BASE_URL 或 ANTHROPIC_BEDROCK_BASE_URL 通过代理路由时强制打开。在 Microsoft Foundry 和 网关 连接上默认关闭 |
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY |
设置为 1 以在 ANTHROPIC_BASE_URL 指向 Anthropic 兼容网关(如 LiteLLM、Kong 或内部代理)时从您的网关的 /v1/models 端点填充 /model 选择器。默认关闭,因为由共享 API 密钥支持的网关会显示密钥可以访问的每个模型给每个用户。发现的模型仍由会话接收的 availableModels 允许列表过滤;通过 MDM 或托管设置文件 传递列表,因为 服务器管理的传递在网关配置上不可用 |
CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE |
在 v2.1.142 中删除,当 快速模式 默认从 Opus 4.6 移到 Opus 4.7 时 |
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION |
设置为 false 以关闭提示建议,即在您的提示输入中出现的灰显预测。优先于 promptSuggestionEnabled 设置,这是 /config 中的提示建议切换写入的内容。Claude Code 也 在您的帐户接近或达到使用限制时暂停建议。设置为 true 以在达到限制之前保持它们打开。需要 Claude Code v2.1.238 或更高版本。请参阅 提示建议 |
CLAUDE_CODE_ENABLE_TASKS |
选择 Claude Code 在 具有它们的会话 中提供的任务跟踪工具。默认情况下,Claude Code 提供 Task 工具 TaskCreate、TaskUpdate、TaskGet 和 TaskList。设置为 0 以改为获取旧版 TodoWrite 工具。请参阅 任务列表 |
CLAUDE_CODE_ENABLE_TELEMETRY |
设置为 1 以启用指标和日志记录的 OpenTelemetry 数据收集。在配置 OTel 导出器之前需要。请参阅 监控 |
CLAUDE_CODE_ENABLE_TODO_TOOLS |
设置为 1 以在每个模型上获取任务跟踪工具。没有它,Claude Code 仅在 任务工具可用性 下列出的模型上默认提供它们。CLAUDE_CODE_ENABLE_TASKS 仍选择 Task 工具或 TodoWrite。需要 Claude Code v2.1.233 或更高版本 |
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY |
查询循环变为空闲后自动退出前等待的时间(以毫秒为单位)。对自动化工作流和使用 SDK 模式的脚本很有用 |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS |
设置为 1 以启用 代理团队。代理团队是实验性的,默认禁用 |
CLAUDE_CODE_EXTRA_BODY |
JSON 对象以合并到每个 API 请求正文的顶级。对于传递 Claude Code 不直接公开的提供商特定参数很有用。在您的 shell 中导出的值也适用于您使用 claude agents 或 --bg 分派的 后台会话。在 v2.1.206 之前,后台会话忽略了 shell 导出的值,并使用后台主管进程继承的任何副本 |
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS |
覆盖文件读取的默认令牌限制。当您需要完整读取较大文件时很有用 |
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 无效,其中它覆盖的嵌套会话检测被删除 |
CLAUDE_CODE_FORCE_STRIKETHROUGH |
设置为 1 以在您的终端支持但未自动检测时强制 ~~text~~ 的删除线呈现,例如通过 SSH 而不转发 TERM_PROGRAM。没有这个,未检测到的终端显示文字 ~~ 标记而不是呈现文本为删除线。需要 Claude Code v2.1.186 或更高版本 |
CLAUDE_CODE_FORCE_SYNC_OUTPUT |
设置为 1 以在您的终端支持但未自动检测时强制启用 DEC 私有模式 2026 同步输出。对于实现 BSU/ESU 但不回复功能探针的模拟器(如 Emacs eat)很有用。在 tmux 下无效。与 全屏呈现 的 CLAUDE_CODE_NO_FLICKER 不同,这不会改变渲染器 |
CLAUDE_CODE_FORK_SUBAGENT |
控制 fork 模式,它让 Claude 生成 forked 子代理 本身,在交互式会话中默认打开。设置为 1 以在 claude -p 和 Agent SDK 中也打开它,或 0 以在每种会话中关闭它。无论 fork 模式是否打开,您都可以运行 /subtask。交互式默认需要 Claude Code v2.1.232 或更高版本;在早期版本上,设置变量为 1 以打开 fork 模式 |
CLAUDE_CODE_FORWARD_SUBAGENT_TEXT |
设置为 1 以在 claude -p --output-format stream-json 输出中发出 子代理 文本和思考块,与 --forward-subagent-text 标志相同的行为。当启动 claude 的工具无法自己传递标志时使用变量。与标志不同,后者在非交互模式下使用 stream-json 输出时以错误退出,变量在那里被忽略,以便嵌套调用在设置进程范围时继续工作。需要 Claude Code v2.1.211 或更高版本 |
CLAUDE_CODE_GATEWAY_HINT_HEADERS |
设置为 1 以在自定义代理或第三方提供商(如 Amazon Bedrock 或 Claude Platform on AWS)上发送 网关提示标头(如 x-claude-code-request-class 和 x-claude-code-compaction)。设置为 0 以停止在每个连接上发送它们,包括 Claude Code 默认发送它们的直接 Anthropic API 连接。需要 Claude Code v2.1.273 或更高版本 |
CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS |
由 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY 打开的 网关模型发现 请求的超时时间(以毫秒为单位)(默认值:3000)。当您的网关需要超过三秒来回答启动时的 /v1/models 时提高它。仅接受纯数字;0、负值和其他拼写保持默认值。需要 Claude Code v2.1.269 或更高版本 |
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 设置 |
CLAUDE_CODE_GLOB_HIDDEN |
设置为 false 以在 Claude 调用 Glob 工具 时从结果中排除点文件。默认包含。不影响 @ 文件自动完成、ls、Grep 或 Read |
CLAUDE_CODE_GLOB_NO_IGNORE |
设置为 false 以使 Glob 工具 尊重 .gitignore 模式。默认情况下,Glob 返回所有匹配的文件,包括 gitignored 的文件。不影响 @ 文件自动完成,它有自己的 respectGitignore 设置 |
CLAUDE_CODE_GLOB_TIMEOUT_SECONDS |
Glob 工具文件发现的超时时间(以秒为单位)。在大多数平台上默认为 20 秒,在 WSL 上为 60 秒 |
CLAUDE_CODE_GOAL_CHECKIN_MINUTES |
后台工作可以让活跃目标等待多少分钟,然后 Claude Code 要求 Claude 检查它。默认 30。设置 0 以关闭检查。以纯数字给出整分钟,最多 10080,即一周。Claude Code 将任何其他值视为未设置并使用默认值。需要 Claude Code v2.1.234 或更高版本 |
CLAUDE_CODE_HIDE_CWD |
设置为 1 以在启动徽标中隐藏工作目录。对于屏幕共享或录制,其中路径暴露您的 OS 用户名很有用 |
CLAUDE_CODE_IDE_HOST_OVERRIDE |
覆盖用于连接到 IDE 扩展的主机地址。默认情况下 Claude Code 自动检测正确的地址,包括 WSL 到 Windows 路由 |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL |
设置为 1 以跳过 IDE 扩展的自动安装。等同于将 autoInstallIdeExtension 设置为 false |
CLAUDE_CODE_IDE_SKIP_VALID_CHECK |
设置为 1 以跳过连接期间 IDE 锁定文件条目的验证。当自动连接无法找到您的 IDE 尽管它正在运行时使用 |
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS |
在一个会话中运行的 子代理 数量,在此之后 Agent 工具拒绝生成另一个(默认值:20)。仅接受纯数字的正整数;任何其他值都被忽略,因此变量可以调整上限但不能禁用它。需要 Claude Code v2.1.217 或更高版本 |
CLAUDE_CODE_MAX_CONTEXT_TOKENS |
覆盖 Claude Code 为活跃模型假设的上下文窗口大小。从 v2.1.193 开始,它如何应用取决于 Claude Code 如何解析模型 ID;请参阅 为网关或自定义模型 ID 纠正窗口。在通过 ANTHROPIC_BASE_URL 路由到其上下文窗口与其名称的内置大小不匹配的模型时使用 |
CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH |
Claude Code 发送给模型的每个 MCP 工具描述和每个 MCP 服务器说明的最大长度(以字符为单位)(默认值:2048)。Claude Code 截断较长的文本。仅接受纯数字的正整数。任何其他值都被忽略,默认值适用。需要 Claude Code v2.1.280 或更高版本 |
CLAUDE_CODE_MAX_OUTPUT_TOKENS |
为大多数请求设置最大输出令牌数。默认值和上限因模型而异;请参阅 最大输出令牌。Claude Code 为它不识别的模型 ID(如网关特定的名称)默认为 32000,并将高于模型上限的值降低到上限。增加此值会减少 自动压缩 触发前可用的有效上下文窗口 |
CLAUDE_CODE_MAX_RETRIES |
覆盖重试失败 API 请求的次数(默认值:10)。从 v2.1.186 开始上限为 15;从 v2.1.199 开始,CLAUDE_CODE_RETRY_WATCHDOG 提高默认值并删除上限。对于需要等待更长中断的无人值守会话,改为设置 CLAUDE_CODE_RETRY_WATCHDOG |
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION |
在 v2.1.224 中删除,现在是无操作。以前上限了 Claude 可以在一个会话中使用 Agent 工具生成的 子代理 总数(默认值:200);超过上限生成失败,显示 Subagent spawn limit reached。并发子代理限制 和 深度限制 仍然适用 |
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH |
主对话下方允许的 子代理层 数量(默认值:3)。在默认值处,子代理可以生成自己的子代理,第三层的子代理无法进一步生成;设置 1 以关闭嵌套。在 v2.1.217 到 v2.1.218 中,默认值为 1,因此子代理无法生成自己的,除非您提高限制;v2.1.219 将默认值提高到 3。仅接受纯数字的正整数;任何其他值都被忽略,因此限制可以调整但不能删除。需要 Claude Code v2.1.217 或更高版本 |
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY |
可以并行执行的只读工具和子代理的最大数量(默认值:10)。较高的值增加并行性但消耗更多资源 |
CLAUDE_CODE_MAX_TURNS |
当没有传递显式限制时,限制代理转弯的数量。等同于传递 --max-turns,当两者都设置时优先。不是正整数的值在启动时被拒绝,显示错误,而不是视为无上限 |
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION |
一个会话可以进行的 WebSearch 调用总数的上限(默认值:200)。当 Claude 达到上限时,进一步的 WebSearch 调用返回通知,告诉它继续使用已收集的信息。接受没有上限的正整数。任何其他值都被忽略,默认值适用,因此上限可以提高但不能关闭。需要 Claude Code v2.1.212 或更高版本 |
CLAUDE_CODE_MCP_ALLOWLIST_ENV |
设置为 1 以使用仅安全基线环境加上服务器的配置 env 生成 stdio MCP 服务器,而不是继承您的 shell 环境 |
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS |
经过的时间(以毫秒为单位),在此之后仍在运行的 MCP 工具调用 移到后台任务(默认值:120000,或 2 分钟)。设置为 0 以关闭自动后台处理。需要 Claude Code v2.1.212 或更高版本 |
CLAUDE_CODE_MCP_STARTUP_WAIT_MS |
非交互式 会话的第一个转弯等待仍在连接的 MCP 服务器的毫秒数,代替默认 第一个转弯等待。设置时,等待涵盖每个待处理的服务器。设置为 0 以跳过等待。--permission-prompt-tool 服务器无论值如何都保持自己的 MCP_TIMEOUT 等待。需要 Claude Code v2.1.274 或更高版本 |
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT |
MCP 工具调用的空闲超时时间(以毫秒为单位)。当 stdio、HTTP、SSE、WebSocket 或 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 服务器免除空闲超时 |
CLAUDE_CODE_MESSAGING_SOCKET |
由 Claude Code 设置,不由您设置:在绑定 收件箱套接字 的会话中,Claude Code 在绑定套接字时将该套接字的路径导出到 hooks 和 Bash 命令。在以消息打开启动的会话中,Claude Code 在任何 hook 运行之前绑定套接字。机器上的其他会话将消息传递到此路径。每个会话导出自己的套接字而不是从父级继承的套接字,到达它的消息通过会话的 入站控制 进行。设置 env 块无法设置它。需要 Claude Code v2.1.224 或更高版本 |
CLAUDE_CODE_MESSAGING_TOKEN |
由 Claude Code 设置,不由您设置:在绑定 收件箱套接字 的会话中,Claude Code 将此每个会话令牌与 CLAUDE_CODE_MESSAGING_SOCKET 一起导出到 hooks 和 Bash 命令。发布到套接字的脚本可以发送 {"type":"auth","token":"<token>"} 作为其第一行以证明它属于会话。在本机 Windows 上,Claude Code 需要此行并关闭任何不以有效行打开的连接。自有子规则 说明 Claude Code 何时查询令牌。每个会话导出自己的令牌,从不从父会话继承的令牌。设置 env 块无法设置它。需要 Claude Code v2.1.228 或更高版本 |
CLAUDE_CODE_NATIVE_CURSOR |
设置为 1 以在输入插入符处显示终端自己的光标而不是绘制的块。光标尊重终端的闪烁、形状和焦点设置 |
CLAUDE_CODE_NEW_INIT |
设置为 1 以使 /init 运行交互式设置流程。流程在探索代码库并写入它们之前询问要生成哪些文件,包括 CLAUDE.md、skills 和 hooks。没有此变量,/init 自动生成 CLAUDE.md 而不提示 |
CLAUDE_CODE_NONBLOCKING_STDOUT |
设置为 1 以通过第二个非阻塞文件描述符写入终端输出,因此停止读取的终端(如暂停的 tmux 控制模式窗格或停滞的 SSH 连接)无法在会话中期冻结 Claude Code。在 macOS、Linux 和 WSL 上应用,当 stdout 是终端时。需要 Claude Code v2.1.261 或更高版本 |
CLAUDE_CODE_NO_FLICKER |
设置为 1 以启用 全屏呈现,一个减少闪烁并在长对话中保持内存平坦的研究预览。覆盖 tui 设置;您也可以使用 /tui fullscreen 切换 |
CLAUDE_CODE_OAUTH_REFRESH_TOKEN |
Claude.ai 身份验证的 OAuth 刷新令牌。设置时,claude auth login 直接交换此令牌而不是打开浏览器。需要 CLAUDE_CODE_OAUTH_SCOPES。对于在自动化环境中配置身份验证很有用 |
CLAUDE_CODE_OAUTH_SCOPES |
刷新令牌颁发的空格分隔 OAuth 范围,例如 "user:profile user:inference user:sessions:claude_code"。设置 CLAUDE_CODE_OAUTH_REFRESH_TOKEN 时需要 |
CLAUDE_CODE_OAUTH_TOKEN |
claude.ai 身份验证的 OAuth 访问令牌。/login 对 SDK 和自动化环境的替代方案。优先于钥匙串存储的凭证。使用 claude setup-token 生成一个。除非您运行 /login,Claude Code 为整个会话使用您设置的令牌。要替换过期的令牌,生成一个新令牌并重启 |
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE |
在 v2.1.160 中删除,现在是无操作。以前将 快速模式 固定到 Claude Opus 4.6 而不是当前默认值。Opus 4.6 不再支持快速模式 |
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH |
内容承载 OpenTelemetry 属性(模型响应、工具内容、系统提示、原始 API 正文)的最大长度,截断标记包括在内,以 UTF-16 代码单位为单位(默认值:61440,即 60 KB)。仅当您的遥测后端接受大于 64 KB 的属性值时才提高它,或降低它以减少遥测量。需要 Claude Code v2.1.214 或更高版本。请参阅 监控 |
CLAUDE_CODE_OTEL_DIAG_STDERR |
设置为 1 以将 OpenTelemetry 导出器诊断错误写入 stderr。默认情况下这些错误仅与 --debug 一起出现,因此配置错误的导出器(如 Prometheus 端口冲突)否则会无声地失败。需要 Claude Code v2.1.179 或更高版本。请参阅 监控 |
CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS |
刷新待处理 OpenTelemetry 跨度的超时时间(以毫秒为单位)(默认值:5000)。请参阅 监控 |
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS |
刷新动态 OpenTelemetry 标头的间隔(以毫秒为单位)(默认值:1740000 / 29 分钟)。请参阅 动态标头 |
CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS |
OpenTelemetry 导出器在关闭时完成的超时时间(以毫秒为单位)(默认值:2000)。如果指标在退出时被删除,请增加。请参阅 监控 |
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE |
设置为 1 以让 Claude Code 在新版本可用时在后台运行您的包管理器的升级命令。适用于 Homebrew 和 WinGet 安装。其他包管理器继续显示升级命令而不运行它。请参阅 自动更新 |
CLAUDE_CODE_PERFORCE_MODE |
设置为 1 以启用 Perforce 感知写入保护。设置时,如果目标文件缺少所有者写入位(Perforce 在同步文件上清除,直到 p4 edit 打开它们),Edit、Write 和 NotebookEdit 会失败,显示 p4 edit <file> 提示。这防止 Claude Code 绕过 Perforce 更改跟踪 |
CLAUDE_CODE_PLUGIN_CACHE_DIR |
覆盖插件根目录。尽管名称如此,这设置了父目录,而不是缓存本身:市场和插件缓存位于此路径下的子目录中。默认为 ~/.claude/plugins |
CLAUDE_CODE_PLUGIN_DIRS |
要为会话加载的插件目录,每个加载方式与 --plugin-dir 标志加载它的方式相同。在 Unix 上用 : 分隔多个路径,在 Windows 上用 ; 分隔。将每个路径作为绝对路径给出或以 ~ 开头,因为 Claude Code 跳过相对路径。需要 Claude Code v2.1.280 或更高版本 |
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS |
安装或更新插件时 git 操作的超时时间(以毫秒为单位)(默认值:120000)。对于大型存储库或缓慢网络连接,增加此值。请参阅 Git 操作超时 |
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE |
设置为 1 以在市场刷新无法到达或验证远程时跳过重新克隆尝试并继续使用现有市场检出。在离线或隔离环境中很有用,其中重新克隆会以相同方式失败。请参阅 市场更新在离线环境中失败 |
CLAUDE_CODE_PLUGIN_PREFER_HTTPS |
设置为 1 以通过 HTTPS 而不是 SSH 克隆 GitHub owner/repo 速记源。适用于插件安装和更新,以及 /plugin marketplace add 和 update。在 CI 运行器、容器或任何没有为 github.com 配置 SSH 密钥的环境中很有用 |
CLAUDE_CODE_PLUGIN_SEED_DIR |
一个或多个只读插件种子目录的路径,在 Unix 上用 : 分隔,在 Windows 上用 ; 分隔。使用此选项将预填充的插件目录捆绑到容器镜像中。Claude Code 在启动时从这些目录注册市场,并使用预缓存的插件而不重新克隆。请参阅 为容器预填充插件 |
CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY |
设置为 1 以停止 Claude Code 在为工具调用、hooks 和状态行命令生成 PowerShell 时传递 -ExecutionPolicy Bypass,并改为尊重机器的有效执行策略。默认情况下 Claude Code 在进程范围内绕过执行策略,以便 .ps1 脚本和模块导入在默认受限的 Windows 安装上工作。进程范围绕过从不覆盖 Group Policy MachinePolicy 或 UserPolicy,无论此设置如何 |
CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS |
在 非交互模式 中使用 -p 标志的最后转弯后,等待后台子代理和工作流的空闲等待的上限(以毫秒为单位)。空闲等待在 Claude 采取转弯处理后台结果时重新开始。默认值:600000,或 10 分钟。当空闲等待达到上限时,Claude Code 停止等待剩余的后台任务并退出。设置为 0 以无限期等待。此上限与适用于纯后台 shell 的五秒宽限期分开。需要 Claude Code v2.1.182 或更高版本 |
CLAUDE_CODE_PROCESS_WRAPPER |
通过给定为 argv 前缀的公司启动器(如 /opt/corp/launcher)启动 Claude Code 从其自己的二进制文件启动的进程,例如托管 代理视图 会话的后台服务。在用户或 托管设置 的 env 块中设置它,而不是作为 shell 导出,以便分离的后台服务继承它;项目和本地设置无法设置它。等同于 processWrapper 设置,需要 Claude Code v2.1.210 或更高版本;当两者都设置时此变量优先。VS Code 扩展通过其 claudeProcessWrapper 设置单独配置自己的启动器。在 Windows 上被忽略。请参阅 在公司启动器后面运行 Claude Code 了解值格式、启动器涵盖的内容以及启动器必须满足的合同。需要 Claude Code v2.1.208 或更高版本 |
CLAUDE_CODE_PROJECT_DIR_NAME |
与 CLAUDE_CONFIG_DIR 一起设置以选择 projects/ 目录名称 Claude Code 在其下存储该会话的转录和自动内存,代替从工作目录路径派生的名称。例如,使用 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 块。请参阅 自己命名项目目录。需要 Claude Code v2.1.234 或更高版本 |
CLAUDE_CODE_PROMPT_CACHE_TTL |
设置 5m 或 1h,Claude Code 接受的唯一值,以选择主对话的 提示缓存 TTL:您的交互式、-p 和 SDK 转弯,加上与它们内联运行的帮助程序。优先于 promptCacheTtl 设置和 ENABLE_PROMPT_CACHING_1H,FORCE_PROMPT_CACHING_5M 覆盖它。API 以更高的速率计费 1 小时缓存写入。需要 Claude Code v2.1.242 或更高版本 |
CLAUDE_CODE_PROPAGATE_TRACEPARENT |
设置为 1 以在 ANTHROPIC_BASE_URL 指向自定义代理时传播 W3C 跟踪上下文。传播涵盖模型和 HTTP MCP 请求上的 traceparent 标头以及 Bash、PowerShell 和 hook 子进程的 TRACEPARENT 环境变量。默认情况下,传播仅在直接连接到 Anthropic API 时启用。在 v2.1.152 中添加。请参阅 跟踪(测试版) |
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST |
由嵌入 Claude Code 并代表其管理模型提供商路由的主机平台设置。设置时,Claude Code 忽略设置文件中的提供商选择、端点和身份验证变量(如 CLAUDE_CODE_USE_BEDROCK、ANTHROPIC_BASE_URL 和 ANTHROPIC_API_KEY),因此用户设置无法覆盖主机的路由。Claude Code 也忽略 托管设置 中的模型选择密钥(如 model、fallbackModel 和 modelOverrides),无论哪个托管源传递它们,因此主机的模型配置优先于过时的托管模型固定。Claude Code 也忽略托管 env 块中的模型选择变量(如 ANTHROPIC_MODEL 和 ANTHROPIC_DEFAULT_*_MODEL 系列);托管设置中的 availableModels 允许列表仍然适用,除非主机提供自己的。Claude Code 也跳过它在第三方提供商(如 Amazon Bedrock、Claude Platform on AWS、Google Cloud's Agent Platform 和 Microsoft Foundry)上应用的自动遥测选择退出,因此遥测遵循标准 DISABLE_TELEMETRY 选择退出。请参阅 按 API 提供商的默认行为 |
CLAUDE_CODE_PROXY_RESOLVES_HOSTS |
设置为 1 以允许代理执行 DNS 解析而不是调用者。对于代理应处理主机名解析的环境选择加入 |
CLAUDE_CODE_REMOTE |
当 Claude Code 作为 云会话 运行时自动设置为 true。从 hook 或设置脚本读取此项以检测您是否在云会话中 |
CLAUDE_CODE_REMOTE_SESSION_ID |
在 云会话 中自动设置为当前会话的 ID。读取此项以构造回到会话转录的链接。请参阅 将输出链接回会话 |
CLAUDE_CODE_RESTRICTED |
设置为 1 以在受限模式下启动会话,与传递 --restricted 相同。Claude Code 在设置文件的 env 块中忽略此变量。需要 Claude Code v2.1.248 或更高版本 |
CLAUDE_CODE_RESUME_INTERRUPTED_TURN |
设置为 1 以在前一个会话在转弯中期结束时自动恢复。在 SDK 模式中使用,以便模型继续而不需要 SDK 重新发送提示。要关闭此功能,取消设置变量或将其设置为 0。在 v2.1.221 之前,Claude Code 忽略 0 和其他虚假值,因此在非交互模式中设置 0 仍会触发恢复,取消设置变量是关闭它的唯一方法 |
CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS |
最后转录消息的最大年龄(以毫秒为单位),用于在恢复时在转弯中期结束的会话自动继续。当最后一条消息比此界限更旧时,Claude Code 跳过 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 自动恢复和注入的 CLAUDE_CODE_RESUME_PROMPT 继续消息,会话启动空闲,以便您明确继续。未设置或 0 意味着没有界限,除了最后一个请求因 API 错误失败的转弯仅在该错误少于六小时时恢复。正值界限每个转弯,包括那些;负值或非数值值应用一小时界限。长时间运行的代理的生成脚本可以设置此项,以便针对旧转录的重启不会重新运行陈旧的提示。Claude Code 在重启继承其对话的崩溃 代理视图 会话时自己设置一小时界限。需要 Claude Code v2.1.211 或更高版本 |
CLAUDE_CODE_RESUME_PROMPT |
覆盖在恢复在转弯中期结束的会话时注入的继续消息。默认为 Continue from where you left off.。长时间运行的代理的生成脚本可以设置此项为更指令性的启动消息。空字符串使用默认值 |
CLAUDE_CODE_RETRY_WATCHDOG |
对于无人值守的会话(如评估工具、CI 作业或远程工作者),设置为 1。无限期重试 429 和 529 容量错误,而不是在 CLAUDE_CODE_MAX_RETRIES 尝试后失败。当标准速度请求获得报告支出限制或耗尽使用信用的 429 时,Claude Code 立即失败,即使来自 网关支出上限 按计划重置。在 v2.1.239 之前,监视程序无限期重试这些。对于快速模式请求,请参阅 处理速率限制。监视程序在尝试之间退避最多 5 分钟,或直到限制重置(当响应携带速率限制重置时间时),因此命中使用限制的会话等待剩余窗口。在 v2.1.199 或更高版本上,它也为其他瞬时错误(如服务器错误、超时和丢弃的连接)提高默认重试计数到 300,大约三小时的退避,如果您明确设置该变量,则删除 CLAUDE_CODE_MAX_RETRIES 的 15 上限。需要 Claude Code v2.1.186 或更高版本 |
CLAUDE_CODE_SAFE_MODE |
设置为 1 以在安全模式下启动:CLAUDE.md、skills、插件、hooks、MCP 服务器、自定义命令和代理、输出样式、工作流、自定义主题、自定义快捷键、状态行和文件建议命令、LSP 服务器和自动内存不加载,用于故障排除破损的配置。托管设置策略仍然适用,包括策略配置的 hooks、状态行和文件建议命令;托管插件、托管 skills、托管 CLAUDE.md 和策略配置的 MCP 服务器不加载。等同于传递 --safe-mode。直接生成的子进程继承变量 |
CLAUDE_CODE_SCRIPT_CAPS |
JSON 对象限制当设置 CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 时特定脚本在每个会话中可能被调用的次数。密钥是与命令文本匹配的子字符串;值是整数调用限制。例如,{"deploy.sh": 2} 允许 deploy.sh 最多被调用两次。匹配是基于子字符串的,因此 shell 扩展技巧(如 ./scripts/deploy.sh $(evil))仍然计入上限。运行时通过 xargs 或 find -exec 的扇出未被检测;这是深度防御控制 |
CLAUDE_CODE_SCROLL_SPEED |
在 全屏呈现 中设置鼠标滚轮滚动乘数。接受任何正值最多 20,包括低于 1 的分数值(如 0.5)以减慢已经放大滚轮和轨迹板事件的终端中的加速滚轮和轨迹板滚动。设置为 3 以匹配 vim(如果您的终端在没有放大的情况下每个凹口发送一个滚轮事件)。在 JetBrains IDE 终端中被忽略,Claude Code 在那里使用自己的滚动处理 |
CLAUDE_CODE_SEND_FEEDBACK |
设置为 0 以为会话关闭 Claude 起草的反馈。设置为 1 以在您的帐户已有访问权限的地方打开它;变量本身无法授予访问权限,关闭反馈的其他开关(如 DISABLE_FEEDBACK_COMMAND 和 feedbackDrafts 设置的 off 值)仍然适用 |
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS |
覆盖 SessionEnd hooks 的时间预算(以毫秒为单位)。值也是未设置自己 timeout 的每个 hook 的超时。适用于会话退出、/clear 和通过交互式 /resume 切换会话。默认预算为 1.5 秒,自动提高到设置文件中配置的最高每个 hook timeout,最多 60 秒。插件提供的 hooks 上的超时不提高预算 |
CLAUDE_CODE_SESSION_ID |
在 Bash 和 PowerShell 工具子进程、hook 命令 子进程和 stdio MCP 服务器 子进程中自动设置为当前会话 ID。对于 Bash、PowerShell 和 hooks,这与 hook JSON 输入中的 session_id 字段匹配,并在 /clear 上更新。MCP 服务器子进程保留它生成时的 ID。在 --resume <session-id> 上它接收恢复的 ID,与 hooks 和 Bash 匹配。在 --continue 或 --resume 没有显式 ID 上它可能接收初始启动 ID。用于将脚本和外部工具与启动它们的 Claude Code 会话相关联 |
CLAUDE_CODE_SHELL |
设置 Claude Code 用于运行 Bash 工具命令的 shell。接受 bash 或 zsh 二进制文件的路径,例如 /opt/homebrew/bin/bash。不支持 fish 等其他 shell。如果值不是工作的 bash 或 zsh 路径,Claude Code 忽略它并回退到自动检测。自动检测在指向 bash 或 zsh 时使用您的 $SHELL,否则它选择在您的 PATH 和标准安装位置上找到的第一个工作 zsh 然后 bash |
CLAUDE_CODE_SHELL_PREFIX |
包装 Claude Code 生成的 shell 命令的命令前缀:Bash 工具调用、hook 命令、状态行 命令和 stdio MCP 服务器 启动命令。PowerShell hooks 和 exec 形式 hooks 运行而不带前缀。对于日志记录或审计很有用。设置裸可执行文件路径(如 /path/to/logger.sh)将每个命令作为 /path/to/logger.sh '<command>' 运行。包装器在 $1 中接收命令行作为单个 shell 引用的参数,因此包装器必须用 shell 重新评估 $1,例如 exec bash -c "$1"。将 $1 视为裸可执行文件路径会破坏传递参数的 stdio MCP 服务器,例如 npx -y <package>。对于 Bash 工具调用,$1 包含 Claude Code 组装的完整 shell 调用,包括环境设置,而不仅仅是 Claude 运行的命令 |
CLAUDE_CODE_SIMPLE |
设置为 1 以使用最小系统提示和仅 Bash、文件读取和文件编辑工具运行。来自 --mcp-config 的 MCP 工具仍然可用。禁用 hooks、skills、自定义命令、子代理、插件、MCP 服务器、自动内存和 CLAUDE.md 的自动发现。您使用 --add-dir 传递的目录中的 Skills 仍然加载。OAuth 令牌和钥匙串凭证不被读取,因此 Anthropic 身份验证必须来自 ANTHROPIC_API_KEY 或 --settings 中的 apiKeyHelper。等同于传递 --bare |
CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT |
设置为 1 以在任何模型上使用较短的系统提示和缩写的工具描述。设置为 0、false、no 或 off 以选择退出,即使在实验或服务器配置会启用它的模型上。完整的工具集、hooks、MCP 服务器和 CLAUDE.md 发现保持启用 |
CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH |
跳过 Claude Platform on AWS 的客户端身份验证,用于自己签署请求的网关 |
CLAUDE_CODE_SKIP_AWS_CRED_CACHE |
设置为 1 以关闭从 AWS 默认凭证提供商链解析的凭证的进程内缓存,因此 Claude Code 在每个 API 请求上解析链。禁用缓存后,由 SSO 支持的配置文件在每个请求上从 IAM Identity Center 请求凭证。请参阅 凭证缓存和解析超时。需要 Claude Code v2.1.207 或更高版本 |
CLAUDE_CODE_SKIP_BEDROCK_AUTH |
跳过 Amazon Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时) |
CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS |
设置为 1 以将失败的 快速模式 可用性检查视为可用,用于阻止检查对 api.anthropic.com 的直接请求的网络。Claude Code 仍然尊重"您的组织禁用了快速模式"响应 |
CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK |
设置为 1 以跳过客户端 快速模式 可用性检查,用于拦截检查请求的代理而不是拒绝它。API 仍然在您的组织禁用快速模式时拒绝快速模式请求 |
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 之前,此变量使 Microsoft Foundry 客户端无法发送请求,除非也设置了 API 密钥 |
CLAUDE_CODE_SKIP_MANTLE_AUTH |
跳过 Amazon Bedrock Mantle 的 AWS 身份验证(例如,使用 LLM 网关时) |
CLAUDE_CODE_SKIP_PROMPT_HISTORY |
设置为 1 以跳过将提示历史和会话转录写入磁盘。使用此变量启动的会话不出现在 --resume、--continue 或向上箭头历史中。对于临时脚本会话很有用 |
CLAUDE_CODE_SKIP_VERTEX_AUTH |
跳过 Google Cloud's Agent Platform 的 Google 身份验证(例如,使用 LLM 网关时) |
CLAUDE_CODE_STARTUP_FAILURE_RESULTS |
设置为 1 以让使用 --output-format stream-json 启动的会话为启动失败写入 结果消息,命名 Claude Code 拒绝启动的原因,否则仅以 stderr 结束。需要 Claude Code v2.1.274 或更高版本 |
CLAUDE_CODE_STOP_HOOK_BLOCK_CAP |
Stop 或 SubagentStop hook 可能在 Claude Code 覆盖它并结束转弯之前阻止转弯结束的最大连续次数(默认值:8)。设置为 0 以禁用上限。如果您的 hook 合理需要更多迭代来解决,请提高此值 |
CLAUDE_CODE_SUBAGENT_MODEL |
子代理、代理团队 队友和 工作流 代理的默认模型,这些代理没有以其他方式分配模型。接受别名(如 haiku)或完整模型名称。两个来源优先于它:Claude 生成代理时传递的模型,以及代理定义中的 model 字段,包括 inherit。要改变那个,设置 CLAUDE_CODE_SUBAGENT_MODEL_FORCE。请参阅 选择模型 了解完整顺序。将其设置为 inherit 与留下它未设置相同。在 v2.1.251 之前,此变量覆盖了每个调用模型和定义的 model 字段 |
CLAUDE_CODE_SUBAGENT_MODEL_FORCE |
设置为 1 以强制一个模型到子代理、队友和工作流代理。在一个模型上运行每个子代理 说明那是哪个。需要 Claude Code v2.1.257 或更高版本 |
CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL |
设置 5m 或 1h,Claude Code 接受的唯一值,以选择 提示缓存 TTL 用于主对话外的请求,例如 子代理、工作流和后台工作。优先于 subagentPromptCacheTtl 设置和 ENABLE_PROMPT_CACHING_1H,FORCE_PROMPT_CACHING_5M 覆盖它。API 以更高的速率计费 1 小时缓存写入。需要 Claude Code v2.1.242 或更高版本 |
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB |
设置为 1 以从子进程环境中删除凭证(Bash 工具、hooks、MCP stdio 服务器):Anthropic 和云提供商凭证、Claude Code 识别为凭证的任何其他变量以及嵌入在包注册表 URL 中的凭证。父 Claude 进程为 API 调用保留这些凭证,但子进程无法读取它们,减少了试图通过 shell 扩展窃取秘密的提示注入攻击的暴露。在 v2.1.251 或更高版本上,擦除也删除 Claude Code 自己的配置存储指针变量(如 CLAUDE_CONFIG_DIR),因此子进程无法定位重新定位的配置目录。如果子进程需要这些变量,请留下擦除未设置。在 Linux 上,这也在隔离的 PID 命名空间中运行 Bash 子进程,因此它们无法通过 /proc 读取主机进程环境;作为副作用,ps、pgrep 和 kill 无法看到或信号主机进程。claude-code-action 在配置 allowed_non_write_users 时自动设置此项 |
CLAUDE_CODE_SYNC_PLUGIN_INSTALL |
在非交互模式(-p 标志)中设置为 1 以等待插件安装完成,然后第一个查询。没有这个,插件在后台安装,可能在第一个转弯上不可用。与 CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS 结合以界限等待 |
CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS |
同步插件安装的超时时间(以毫秒为单位)。超过时,Claude Code 继续而不带插件并记录错误。无默认值:没有此变量,同步安装等待直到完成 |
CLAUDE_CODE_SYNC_SKILLS |
在非交互模式中设置为 1,使用 -p 标志,使 Claude Code 下载为您的 claude.ai 帐户启用的 skills 在该运行中,并等待它们的列表,最多 CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS,然后它运行第一个查询。下载本身在后台完成,Claude 在调用 skill 时等待 skill 的下载。需要 claude.ai 身份验证。在您使用 claude.ai 帐户登录的终端会话中 下载这些 skills 到 ~/.claude/skills/synced/ 并大约每 10 分钟重新同步,没有此变量,因此仅在 -p 运行需要您当前 skills 在其第一个查询上时设置它。在 v2.1.273 之前,终端会话仅在带此变量集的 -p 运行中下载它们。synced 文件夹名称是 为此下载保留的。在 v2.1.227 之前,skills 直接下载到 ~/.claude/skills/ 中。Claude Code 对下载的 skills 应用 额外规则,例如不在您的机器上运行它们的 ! 命令 |
CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS |
当 Agent SDK 上构建的应用重新加载 skills 时运行的 skills 重新同步的超时时间(以毫秒为单位)(默认值:30000)。超过时,重新加载继续使用已到达的任何 skills,剩余下载在后台完成 |
CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS |
当设置 CLAUDE_CODE_SYNC_SKILLS 时第一个查询等待初始 skill 列表的超时时间(以毫秒为单位)(默认值:5000)。超过时,第一个查询使用已到达的任何 skills 运行。下载无论如何都在后台完成,Claude 在调用 skill 时等待 skill 的下载 |
CLAUDE_CODE_SYNTAX_HIGHLIGHT |
设置为 false 以在差异输出中禁用语法突出显示。当颜色干扰您的终端设置时很有用。要也在代码块和文件预览中禁用突出显示,请使用 syntaxHighlightingDisabled 设置 |
CLAUDE_CODE_TASK_LIST_ID |
跨会话共享任务列表。在多个 Claude Code 实例中设置相同的 ID 以在 具有 Task 工具的会话 中协调共享任务列表。请参阅 任务列表 |
CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS |
覆盖非交互式会话在退出时等待其 代理团队 完成拆卸的毫秒数。接受 1000 到 60000;超出范围的值被忽略,默认值 10000 适用。需要 Claude Code v2.1.206 或更高版本 |
CLAUDE_CODE_TMPDIR |
覆盖用于内部临时文件的临时目录。Claude Code 在 Unix 上追加 /claude-{uid}/ 或在 Windows 上追加 /claude/ 到此路径。默认值:macOS 上 /tmp,Linux 和 Windows 上 os.tmpdir()。在 macOS 和 Linux 上,沙箱化 Bash 子进程在您的覆盖是长路径时在系统默认下接收短回退 $TMPDIR,因为某些工具在临时路径变得太长时失败。未沙箱化的 Bash 命令在设置时继承您的 shell 的 $TMPDIR。Claude Code 自己的临时文件始终使用您的覆盖。在您的 shell、用户设置或托管设置中设置它。在 项目和本地设置 中被忽略 |
CLAUDE_CODE_TMUX_TRUECOLOR |
设置为任何非空值(如 1)以允许 tmux 内的 24 位真彩色输出。将其设置为 0 或 false 仍允许真彩色,与大多数打开/关闭变量不同;取消设置变量以恢复 256 色限制。默认情况下,当设置 $TMUX 时 Claude Code 限制到 256 色,因为 tmux 不通过真彩色转义序列,除非配置为。在将 set -ga terminal-overrides ',*:Tc' 添加到您的 ~/.tmux.conf 后设置此项。请参阅 终端配置 了解其他 tmux 设置 |
CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE |
在 Linux 和 WSL 上,设置为 Claude Code 从工具内存上限排除的 进程类型的逗号分隔列表,例如 mcp 或 lsp。设置 none 以限制每种类型,或 all-new 以仅限制 Bash、PowerShell 和 Monitor 工具命令。Claude Code 无论您列出什么都将 Bash、PowerShell 和 Monitor 工具命令保持在上限下。需要 Claude Code v2.1.246 或更高版本 |
CLAUDE_CODE_TOOL_MEMORY_LIMIT |
在 Linux 和 WSL 上,设置为大小(如 4G)以 限制 Bash 和 PowerShell 工具命令可以使用的内存,以及 v2.1.246 或更高版本上的 Monitor 工具命令。以纯数字单独写入大小(以字节为单位)或带有 K、M、G 或 T 后缀。设置 0 或 off 以关闭上限。一旦 Claude Code 启动的第一个进程打开或关闭了上限,更改的值在您下次启动 claude 时生效。需要 Claude Code v2.1.233 或更高版本 |
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS |
Claude Code 在取消它转发给远程客户端(如 Remote Control 或 SDK 主机)的对话之前的截止时间(以毫秒为单位),或 保持的跨会话消息 的批准对话;权限提示和 AskUserQuestion 问题使用自己的流程,不受它管理。在 Claude Code v2.1.236 或更高版本上,它也界限可能无人值守运行的会话中的中期 Fable 使用信用同意提示。控制入站消息 和 非交互式会话 涵盖完整的保持消息过期规则,包括截止时间不适用的情况。覆盖 dialogExpiry 设置。0 或负值禁用截止时间 |
CLAUDE_CODE_USE_ANTHROPIC_AWS |
使用 Claude Platform on AWS |
CLAUDE_CODE_USE_BEDROCK |
使用 Amazon Bedrock |
CLAUDE_CODE_USE_FOUNDRY |
使用 Microsoft Foundry |
CLAUDE_CODE_USE_MANTLE |
使用 Amazon Bedrock Mantle 端点 |
CLAUDE_CODE_USE_NATIVE_FILE_SEARCH |
设置为 1 以使用 Node.js 文件 API 而不是 ripgrep 发现自定义命令、子代理和输出样式。如果捆绑的 ripgrep 二进制文件在您的环境中不可用或被阻止,请设置此项。不影响 Grep 或文件搜索工具 |
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 工具 |
CLAUDE_CODE_USE_VERTEX |
使用 Google Cloud's Agent Platform |
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS |
设置为 WebFetch 保持每个获取 URL 的响应缓存的毫秒数。默认值为 900000,即 15 分钟。仅接受纯数字;0、小数或任何其他拼写保持默认值。Claude Code 每次启动读取一次值,因此设置 env 块中的更改在您下次启动 claude 时应用。需要 Claude Code v2.1.233 或更高版本 |
CLAUDE_CODE_WEBFETCH_DEADLINE_MS |
WebFetch 等待页面下载的上限(以毫秒为单位),包括它遵循的任何重定向。未在那时完成的下载因截止时间错误而失败。默认值为 300000,即五分钟。设置为 0 以删除限制。仅接受纯数字;小数或任何其他拼写保持默认值。需要 Claude Code v2.1.268 或更高版本 |
CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS |
单个 工作流 运行一次执行的代理数量,从 1 到 256。默认情况下,运行一次执行最多 16 个代理,当 Claude Code 有更少 CPU 可用时更少;排队的 agent() 调用等待空闲槽。每个运行中的代理的转录保留在 Claude Code 的内存中,因此较高的值提高内存使用。仅接受纯数字;超出范围的值和其他拼写保持默认值。需要 Claude Code v2.1.269 或更高版本 |
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS |
工作流 代理等待相同前缀兄弟的第一个响应开始的上限(以毫秒为单位),然后发送自己的第一个请求。当扇出启动共享 提示缓存前缀 的多个代理时,Claude Code 将除第一个代理外的所有代理保持最多这么长时间,以便其余代理读取缓存的前缀而不是每个未缓存处理它。默认 5000。设置为 0 以禁用等待。当设置 DISABLE_PROMPT_CACHING 时,代理从不等待。需要 Claude Code v2.1.229 或更高版本 |
CLAUDE_CONFIG_DIR |
覆盖配置目录(默认值:~/.claude)。所有设置、会话历史和插件存储在此路径下。对于凭证,请参阅 Claude Code 存储凭证的位置。对于并排运行多个帐户很有用:例如,alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'。在您的 shell、用户设置或托管设置中设置它。在 项目和本地设置 中被忽略 |
CLAUDE_DISABLE_ADOPT |
设置为 1 以在通过按 ← 或使用 /background 后台处理会话时停止进行中的后台工作,而不是进行中的工作。Claude Code 要求您在后台处理前确认,然后停止否则会进行的任务。需要 Claude Code v2.1.195 或更高版本 |
CLAUDE_EFFORT |
在 Bash 工具子进程和 hook 命令中自动设置为启动子进程时生效的 effort 级别:low、medium、high、xhigh 或 max。Ultracode 不是不同的级别,报告为 xhigh。与传递给 hooks 的 effort.level 字段匹配。仅在当前模型支持 effort 参数时设置 |
CLAUDE_ENABLE_BYTE_WATCHDOG |
设置为 1 以强制启用字节级流式空闲监视程序,或设置为 0 以强制禁用它。0 也关闭运行该截止时间的连接上的 第一字节截止时间。未设置时,监视程序在直接 Anthropic API 和 Claude Platform on AWS 连接上默认启用,以及通过 ANTHROPIC_BASE_URL 或 ANTHROPIC_AWS_BASE_URL 到达的 网关 连接上的流式响应;在 v2.1.222 之前,它在这些网关连接上不运行,因此事件级监视程序可能在那里报告停滞,即使保活 ping 正在到达。对于超时以及计时器如何交互,请参阅 流式空闲监视程序 |
CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK |
设置为 1 以在 Amazon Bedrock vnd.amazon.eventstream 响应上启用字节级流式空闲监视程序,这也启用 第一字节截止时间 在 Bedrock 流式请求上。默认关闭。使用 CLAUDE_STREAM_IDLE_TIMEOUT_MS 配置超时 |
CLAUDE_ENABLE_STREAM_WATCHDOG |
设置为 0 以强制禁用事件级流式空闲监视程序,或设置为 1 以强制启用它。未设置时,监视程序在所有提供商上默认打开。在 v2.1.196 之前,未设置默认值在直接 Anthropic API 上由服务器控制,在其他提供商上关闭。使用 CLAUDE_STREAM_IDLE_TIMEOUT_MS 配置超时;对于与此一起运行的其他停滞计时器,请参阅 流式空闲监视程序 |
CLAUDE_ENV_FILE |
shell 脚本的路径,其内容 Claude Code 在同一 shell 进程中的每个 Bash 命令之前运行,因此文件中的导出对命令可见。用于在命令之间保持 virtualenv 或 conda 激活。也由 SessionStart、Setup、CwdChanged 和 FileChanged hooks 动态填充 |
CLAUDE_JOB_DIR |
由 Claude Code 在每个 后台会话 中设置为该会话的 ~/.claude/jobs/<id> 目录。会话运行的 shell 命令继承它。将暂存文件写入 $CLAUDE_JOB_DIR/tmp。Claude 的 Write 和 Edit 调用那里不提示权限,目录在会话被删除时被删除 |
CLAUDE_PID |
Claude Code 在它生成的子进程中将其设置为自己的进程 ID:Bash 和 PowerShell 工具命令和 hook 命令。在 Linux 上,Bash 工具的 shell 集成使用它来拒绝会匹配 Claude Code 进程本身的 pkill 模式;请参阅 错误参考。从您自己的脚本读取它以有意识地识别或信号父 Claude Code 进程。需要 Claude Code v2.1.214 或更高版本 |
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX |
当未提供显式名称时,自动生成的 Remote Control 会话名称的前缀。默认为您的机器的主机名,生成名称如 myhost-graceful-unicorn。--remote-control-session-name-prefix CLI 标志为单个调用设置相同的值 |
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS |
流式请求的第一个响应字节的截止时间(以毫秒为单位),在 第一字节截止时间 运行的连接上。对于 Claude Code 如何限制它、它为大型请求正文添加的额外时间以及当您留下此未设置时如何选择截止时间,请参阅 来自 API 的无响应。需要 Claude Code v2.1.242 或更高版本 |
CLAUDE_STREAM_IDLE_TIMEOUT_MS |
事件级和字节级流式空闲监视程序在关闭停滞连接之前的超时时间(以毫秒为单位)。当您明确设置此变量时,最小值为 300000(5 分钟);较低的值被无声地限制以吸收扩展思考暂停和代理缓冲,字节级监视程序将值上限为 30 分钟。CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS 优先于此变量用于字节级监视程序。对于每个监视程序未设置默认值,请参阅 流式空闲监视程序 |
CLAUDE_SUBAGENT_BG_SHELL_MAX_MS |
在 v2.1.260 中删除,现在是无操作。以前上限了 后台 shell 命令(子代理 启动的)可以运行的时间(以毫秒为单位),默认 60 分钟。请参阅 后台命令生命周期规则 |
DEBUG |
设置为 1 以启用调试模式,等同于使用 --debug 启动。调试日志写入 ~/.claude/debug/<session-id>.txt,或写入由 CLAUDE_CODE_DEBUG_LOGS_DIR 设置的路径。仅真值 1、true、yes 和 on 启用调试模式,因此为其他工具设置的命名空间模式(如 DEBUG=express:*)不会触发它 |
DISABLE_AUTOUPDATER |
设置为 1 以禁用自动后台更新。手动 claude update 仍然有效。使用 DISABLE_UPDATES 阻止两者 |
DISABLE_AUTO_COMPACT |
设置为 1 以在接近上下文限制时禁用自动压缩。手动 /compact 命令保持可用。当您想明确控制何时压缩时使用。覆盖 autoCompactEnabled 设置 |
DISABLE_COMPACT |
设置为 1 以禁用所有压缩:自动压缩和手动 /compact 命令 |
DISABLE_COST_WARNINGS |
设置为 1 以禁用成本警告消息 |
DISABLE_DOCTOR_COMMAND |
设置为 1 以隐藏 /doctor 设置检查 skill 及其 /checkup 别名。对于用户不应从会话运行设置诊断的托管部署很有用。不影响 claude doctor 终端命令。在 v2.1.205 之前,此变量隐藏了 /doctor 诊断屏幕命令 |
DISABLE_ERROR_REPORTING |
设置为任何非空值(如 1)以选择退出错误报告。将其设置为 0 或 false 仍会选择退出,与大多数打开/关闭变量不同;取消设置变量以重新打开错误报告 |
DISABLE_EXTRA_USAGE_COMMAND |
设置为 1 以隐藏 /usage-credits 命令,让用户购买超过速率限制的额外使用 |
DISABLE_FEEDBACK_COMMAND |
设置为 1 以禁用 /feedback 命令和 Claude 起草的反馈。也禁用 /bug 和 /share,它们通过相同路径报告;在 v2.1.212 之前它们是 /feedback 的别名,因此命令在每个名称下被禁用。较旧的名称 DISABLE_BUG_COMMAND 也被接受 |
DISABLE_GROWTHBOOK |
设置为 1 或 true 以禁用 GrowthBook 功能标志获取并为每个标志使用代码默认值。这使 Remote Control 和其他 需要功能标志获取的功能 不可用。将其设置为 0 或 false 保持获取打开。遥测事件日志记录保持打开,除非也设置了 DISABLE_TELEMETRY |
DISABLE_INSTALLATION_CHECKS |
设置为 1 以禁用安装警告。仅在手动管理安装位置时使用,因为这可能掩盖标准安装的问题 |
DISABLE_INSTALL_GITHUB_APP_COMMAND |
设置为 1 以隐藏 /install-github-app 命令。当使用第三方提供商(Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry)时已隐藏 |
DISABLE_INTERLEAVED_THINKING |
设置为 1 以防止发送交错思考测试版标头。当您的 LLM 网关或提供商不支持 交错思考 时很有用 |
DISABLE_LOGIN_COMMAND |
设置为 1 以隐藏 /login 命令。当身份验证通过 API 密钥或 apiKeyHelper 外部处理时很有用 |
DISABLE_LOGOUT_COMMAND |
设置为 1 以隐藏 /logout 命令 |
DISABLE_PROMPT_CACHING |
设置为 1 以为所有模型禁用 提示缓存(优先于每个模型设置) |
DISABLE_PROMPT_CACHING_FABLE |
设置为 1 以为 Fable 模型禁用提示缓存 |
DISABLE_PROMPT_CACHING_HAIKU |
设置为 1 以为 Haiku 模型禁用提示缓存 |
DISABLE_PROMPT_CACHING_OPUS |
设置为 1 以为 Opus 模型禁用提示缓存 |
DISABLE_PROMPT_CACHING_SONNET |
设置为 1 以为 Sonnet 模型禁用提示缓存 |
DISABLE_TELEMETRY |
设置为任何非空值(如 1)以选择退出遥测。将其设置为 0 或 false 仍会选择退出,与大多数打开/关闭变量不同;取消设置变量以重新打开遥测。遥测事件不包括用户数据,如代码、文件路径或 bash 命令。也禁用功能标志获取,效果与 DISABLE_GROWTHBOOK 相同,这使 Remote Control 和其他 需要功能标志获取的功能 不可用。请参阅 为您的组织关闭遥测 |
DISABLE_UPDATES |
设置为 1 以阻止所有更新,包括手动 claude update 和 claude install。比 DISABLE_AUTOUPDATER 更严格。在通过您自己的渠道分发 Claude Code 且用户不应自我更新时使用 |
DISABLE_UPGRADE_COMMAND |
设置为 1 以隐藏 /upgrade 命令 |
DO_NOT_TRACK |
设置为 1 以选择退出遥测,效果与 DISABLE_TELEMETRY 相同,包括使 Remote Control 和其他 需要功能标志获取的功能 不可用。Claude Code 将此变量读作标准布尔值,因此 0 保持遥测打开,并将其视为许多开发者 CLI 识别的跨工具约定 |
ENABLE_BETA_TRACING_DETAILED |
与 BETA_TRACING_ENDPOINT 一起设置为 1 以打开 详细测试版跟踪,它添加内容承载跨度属性和 claude_code.hook 跨度。交互式 CLI 会话也需要您的组织被列入测试版白名单。两个变量在 项目和本地设置 中被忽略 |
ENABLE_CLAUDEAI_MCP_SERVERS |
设置为 false 以停止 Claude Code 从 claude.ai MCP 服务器 获取。对于已登录的用户默认启用。要按项目或按组织禁用,改为在设置中设置 disableClaudeAiConnectors |
ENABLE_PROMPT_CACHING_1H |
设置为 1 以请求 1 小时 提示缓存 TTL 而不是默认 5 分钟。用于 API 密钥、Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 和 Claude Platform on AWS 用户。订阅用户在包含的使用范围内自动在 主对话 上接收 1 小时 TTL。订阅用户从 使用信用 中提取可以设置它以保持 1 小时 TTL。1 小时缓存写入以更高的速率计费。要改为按请求桶选择 TTL,请使用 CLAUDE_CODE_PROMPT_CACHE_TTL 和 CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL,它们优先于此变量 |
ENABLE_PROMPT_CACHING_1H_BEDROCK |
已弃用。改用 ENABLE_PROMPT_CACHING_1H |
ENABLE_TOOL_SEARCH |
控制 MCP 工具搜索。未设置时,Claude Code 默认延迟所有 MCP 工具。它仍在早于 Claude 4.5 代的 Google Cloud's Agent Platform 模型上预先加载它们,在 Azure 上托管的 Microsoft Foundry 部署上,以及当 ANTHROPIC_BASE_URL 指向非第一方主机时。true 始终延迟并发送测试版标头,除了那些相同的 Agent Platform 模型和 Microsoft Foundry 部署;请求在不支持 tool_reference 的代理上失败。auto 在工具定义适合上下文的 10% 内时预先加载。auto:N 设置自定义阈值,例如 auto:5 为 5%。false 预先加载所有工具。当设置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 时,您自己设置的值被忽略。在 v2.1.221 之前,Claude Code 在 Google Cloud's Agent Platform 上为所有模型禁用工具搜索,除非您将此变量设置为 true |
FALLBACK_FOR_ALL_PRIMARY_MODELS |
设置为任何非空值(如 1)以使 Claude Code 在没有配置回退模型时停止在重复过载错误上重试每个模型。将其设置为 0 或 false 仍会启用此,与大多数打开/关闭变量不同;取消设置变量以恢复默认重试行为。没有它,Claude Code 在您使用 API 密钥或 第三方提供商 而不是 Claude 订阅进行身份验证时,停止在 Opus、Fable 或 Mythos 模型上重试这种方式。在 Claude Code v2.1.160 或更高版本上,Claude Code 在重复过载错误时切换到您配置的 回退模型链,用于任何主模型,因此此变量不影响切换到回退模型 |
FORCE_AUTOUPDATE_PLUGINS |
设置为 1 以强制插件自动更新,即使主自动更新器通过 DISABLE_AUTOUPDATER 禁用 |
FORCE_HYPERLINK |
设置为 1 以在您的终端支持但未自动检测时启用可点击的 OSC 8 超链接,或 0 以禁用它们。未设置时,Claude Code 仅在检测到终端支持时启用超链接。Claude Code 将此值解析为数字,而不是布尔值,因此 false、no 或 off 等值启用超链接而不是禁用它们。页脚 PR 或合并请求徽章 呈现为超链接,即使 Claude Code 无法检测到终端支持(如通过 SSH)。设置 0 以呈现徽章为纯文本 |
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 设置 |
HTTP_PROXY |
为网络连接指定 HTTP 代理服务器 |
HTTPS_PROXY |
为网络连接指定 HTTPS 代理服务器 |
IS_DEMO |
设置为任何非空值(如 1)以启用演示模式:从标头和 /status 输出隐藏您的电子邮件和组织名称,并跳过入职。将其设置为 0 或 false 仍会启用演示模式,与大多数打开/关闭变量不同;取消设置变量以关闭它。在流式传输或录制会话时很有用 |
MAX_MCP_OUTPUT_TOKENS |
MCP 工具响应中允许的最大令牌数。Claude Code 在输出超过 10,000 令牌时显示警告。声明 anthropic/maxResultSizeChars 的工具对文本内容使用该字符限制,但来自这些工具的图像内容仍受此变量约束(默认值:25000) |
MAX_STRUCTURED_OUTPUT_RETRIES |
当模型的响应在非交互模式下使用 -p 标志的 --json-schema 验证失败时,Claude Code 允许的尝试次数;在那么多失败的尝试后没有有效输出,运行失败。当 工作流 子代理的结构化输出验证失败时,相同的上限适用。默认为 5,第一次尝试加四次重试 |
MAX_THINKING_TOKENS |
扩展思考 的固定令牌预算。Claude Code 将其上限设置为请求的最大输出令牌下方一个令牌,从不低于 1,024。请参阅 CLAUDE_CODE_MAX_OUTPUT_TOKENS 了解如何设置该限制。未设置时,具有 自适应推理 的模型选择自己的思考深度,其他模型使用上限。设置为 0 以在 Anthropic API 上禁用思考,除了 Fable 模型,无法关闭思考。在 第三方提供商 上,0 改为省略 thinking 参数。在 Anthropic API 上关闭思考时,Claude Code 向它知道 不接受该组合 的模型(如 Opus 5)发送 effort high 而不是更高级别。Claude Code 忽略自适应推理模型上的非零值,除了 Claude Code 关闭自适应推理的模型(使用 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING) |
MCP_CLIENT_SECRET |
需要 预配置凭证 的 MCP 服务器的 OAuth 客户端密钥。在使用 --client-secret 添加服务器时避免交互式提示 |
MCP_CONNECTION_NONBLOCKING |
控制启动是否在第一个查询之前等待 MCP 服务器连接。MCP 启动默认非阻塞:服务器在后台连接,它们的工具在完成时变为可用。设置为 0 以使 Claude Code 在第一个查询之前等待服务器连接。配置为 alwaysLoad: true 的服务器仍然使启动等待,除非从 发现缓存 提供,因为它们的工具必须在构建第一个提示时存在。在非交互模式(-p)中没有 --input-format stream-json,Claude Code 也在第一个转弯之前等待仍然待处理的服务器,无论此变量如何。当您明确传递 --mcp-config 时,等待有更长的截止时间;请参阅该标志的条目了解缓存服务器异常 |
MCP_CONNECT_TIMEOUT_MS |
阻塞 MCP 启动在快照工具列表之前等待连接批次的时间(以毫秒为单位)(默认值:5000)。当 MCP_CONNECTION_NONBLOCKING=0 或对于标记为 alwaysLoad: true 的服务器时应用。仍然待处理的服务器在截止时间处继续在后台连接。与 MCP_TIMEOUT 不同,后者界限单个服务器的连接尝试 |
MCP_DISCOVERY_CACHE |
打开或关闭 MCP 发现缓存。缓存打开时,您之前使用过的远程 HTTP 或 SSE 服务器可以显示 cached 状态,Claude Code 在其第一个工具调用时连接它,而不是在启动时。缓存默认关闭,除非逐步推出为您的帐户启用了它。设置为 1 以打开它,或 0 以保持关闭,即使推出已启用它。在 v2.1.238 之前,缓存默认打开。cached 状态需要 Claude Code v2.1.221 或更高版本 |
MCP_DISCOVERY_CACHE_MAX_STALE_S |
发现缓存 条目的最大年龄(以秒为单位)(默认值:14400,或 4 小时)。在条目比那更旧的启动处,Claude Code 丢弃它并在启动时连接服务器,就像缓存关闭时一样。Claude Code 将值上限为 7 天。在 v2.1.238 之前,默认值为 86400,或 24 小时,Claude Code 没有上限值 |
MCP_DISCOVERY_CACHE_STRIKES |
在 发现缓存 条目比 MCP_DISCOVERY_CACHE_TTL_S 更旧的启动处,Claude Code 在后台刷新它。此变量设置在 Claude Code 丢弃条目并在下一个启动时连接服务器之前,刷新可以连续失败多少次(默认值:1)。如果您的网络连接偶尔断开,请提高它,以便一次失败的刷新不会丢弃条目。需要 Claude Code v2.1.238 或更高版本 |
MCP_DISCOVERY_CACHE_TTL_S |
Claude Code 使用 发现缓存 条目而不刷新它的秒数(默认值: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 没有上限值 |
MCP_OAUTH_CALLBACK_PORT |
OAuth 重定向回调的固定端口,作为在使用 预配置凭证 添加 MCP 服务器时 --callback-port 的替代方案 |
MCP_PROTOCOL_NEGOTIATION |
仅在 v2 MCP 客户端运行时 上,Claude Code 是否探测服务器以获取 MCP 协议修订 2026-07-28。设置 auto 以探测 HTTP、claude.ai 连接器和 stdio 服务器;不回答探测的服务器在较早的协议上连接,SSE 和 WebSocket 服务器始终这样做。设置 legacy 以跳过每个服务器的探测。没有变量,Claude Code 探测 HTTP 服务器,也在 获取功能标志 的会话中探测 claude.ai 连接器服务器。任何其他值被忽略,在调试日志中显示警告。需要 Claude Code v2.1.221 或更高版本 |
MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE |
启动期间并行连接的远程 MCP 服务器(HTTP/SSE)的最大数量(默认值:20) |
MCP_SDK_GENERATION |
固定此进程连接 MCP 服务器的 MCP 客户端运行时:v1,基于 MCP TypeScript SDK 1.x,或 v2,基于 MCP TypeScript SDK 2.0。没有变量,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 或更高版本 |
MCP_SERVER_CONNECTION_BATCH_SIZE |
启动期间并行连接的本地 MCP 服务器(stdio)的最大数量(默认值:3) |
MCP_TIMEOUT |
MCP 服务器启动的超时时间(以毫秒为单位)(默认值:30000,或 30 秒) |
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 或更高版本。对于 env 变量,低于 1000 的值下限为一秒;对于每个服务器字段,低于 1000 的值被忽略 |
NO_PROXY |
请求将直接发出的域和 IP 列表,绕过代理 |
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 或更高版本。请参阅 监控 |
OTEL_LOG_ASSISTANT_RESPONSES |
设置为 1 以在 assistant_response OpenTelemetry 日志事件上包含模型的响应文本。未设置时,使用 OTEL_LOG_USER_PROMPTS 的值。设置为 0 以保持响应被编辑,即使 OTEL_LOG_USER_PROMPTS 被设置。需要 Claude Code v2.1.193 或更高版本。请参阅 监控 |
OTEL_LOG_MANAGED_SETTINGS |
设置为 1 以将编辑的托管设置和设置编辑前的 SHA-256 摘要添加到 managed_settings_resolved OpenTelemetry 日志事件。默认禁用。在您的 shell、用户设置或托管设置中设置它;项目或本地设置中的值不会打开它。需要 Claude Code v2.1.274 或更高版本。请参阅 监控 |
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、用户设置或托管设置中设置它。在 项目和本地设置 中被忽略。请参阅 监控 |
OTEL_LOG_TOOL_CONTENT |
设置为 1 以在 tool.output OpenTelemetry 跨度事件中包含工具内容。跨度属性在 自己的门 下携带工具内容。需要 跟踪。默认禁用以保护敏感数据。请参阅 监控 |
OTEL_LOG_TOOL_DETAILS |
设置为 1 以在 OpenTelemetry 跟踪和日志中包含工具输入参数、MCP 服务器名称、用户创作的工作流名称、工具失败上的原始错误字符串、api_refusal 事件上的拒绝 category 和其他工具详情。默认禁用以保护 PII。请参阅 监控 |
OTEL_LOG_USER_PROMPTS |
设置为 1 以在 OpenTelemetry 跟踪和日志中包含用户提示文本。默认禁用(提示被编辑)。请参阅 监控 |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID |
设置为 false 以从指标属性中排除帐户 UUID(默认值:包含)。请参阅 监控 |
OTEL_METRICS_INCLUDE_ENTRYPOINT |
设置为 true 以在指标属性中包含会话入口点(默认值:排除)。在 v2.1.152 中添加。请参阅 监控 |
OTEL_METRICS_INCLUDE_REPOSITORY |
设置为 true 以使用标识会话存储库的 vcs.* 属性标记 OpenTelemetry 指标和事件(默认值:排除)。需要 Claude Code v2.1.269 或更高版本。请参阅 存储库属性 |
OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES |
从 v2.1.161 开始,Claude Code 将 OTEL_RESOURCE_ATTRIBUTES 密钥附加到指标数据点标签。设置为 false 以排除它们(默认值:包含)。请参阅 监控 |
OTEL_METRICS_INCLUDE_SESSION_ID |
设置为 false 以从指标属性中排除会话 ID(默认值:包含)。请参阅 监控 |
OTEL_METRICS_INCLUDE_VERSION |
设置为 true 以在指标属性中包含 Claude Code 版本(默认值:排除)。请参阅 监控 |
SLASH_COMMAND_TOOL_CHAR_BUDGET |
覆盖 Skill 工具 显示的 skill 元数据的字符预算。预算在上下文窗口的 1% 处动态缩放,回退为 8,000 字符。为了向后兼容保留的旧名称 |
TASK_MAX_OUTPUT_LENGTH |
在 v2.1.277 中删除,现在是无操作,与它大小的 TaskOutput 工具一起。以前设置 后台任务 的最大字符数,TaskOutput 工具保留。Claude 改为使用 Read 读取后台任务的输出文件 |
USE_BUILTIN_RIPGREP |
设置为 0 以使用系统安装的 rg 而不是 Claude Code 包含的 rg |
VERTEX_REGION_CLAUDE_3_5_HAIKU |
使用 Google Cloud's Agent Platform 时覆盖 Claude 3.5 Haiku 的区域 |
VERTEX_REGION_CLAUDE_3_5_SONNET |
使用 Google Cloud's Agent Platform 时覆盖 Claude 3.5 Sonnet 的区域 |
VERTEX_REGION_CLAUDE_3_7_SONNET |
使用 Google Cloud's Agent Platform 时覆盖 Claude 3.7 Sonnet 的区域 |
VERTEX_REGION_CLAUDE_4_0_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude 4.0 Opus 的区域 |
VERTEX_REGION_CLAUDE_4_0_SONNET |
使用 Google Cloud's Agent Platform 时覆盖 Claude 4.0 Sonnet 的区域 |
VERTEX_REGION_CLAUDE_4_1_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude 4.1 Opus 的区域 |
VERTEX_REGION_CLAUDE_4_5_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude Opus 4.5 的区域 |
VERTEX_REGION_CLAUDE_4_5_SONNET |
使用 Google Cloud's Agent Platform 时覆盖 Claude Sonnet 4.5 的区域 |
VERTEX_REGION_CLAUDE_4_6_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude Opus 4.6 的区域 |
VERTEX_REGION_CLAUDE_4_6_SONNET |
使用 Google Cloud's Agent Platform 时覆盖 Claude Sonnet 4.6 的区域 |
VERTEX_REGION_CLAUDE_4_7_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude Opus 4.7 的区域 |
VERTEX_REGION_CLAUDE_4_8_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude Opus 4.8 的区域 |
VERTEX_REGION_CLAUDE_5_5_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude Opus 5.5 的区域。在 v2.1.280 中添加 |
VERTEX_REGION_CLAUDE_5_OPUS |
使用 Google Cloud's Agent Platform 时覆盖 Claude Opus 5 的区域。在 v2.1.219 中添加 |
VERTEX_REGION_CLAUDE_5_SONNET |
使用 Google Cloud's Agent Platform 时覆盖 Claude Sonnet 5 的区域。在 v2.1.197 中添加 |
VERTEX_REGION_CLAUDE_FABLE_5 |
使用 Google Cloud's Agent Platform 时覆盖 Claude Fable 5 的区域。在 v2.1.170 中添加 |
VERTEX_REGION_CLAUDE_FABLE_5_1 |
使用 Google Cloud's Agent Platform 时覆盖 Claude Fable 5.1 的区域。在 v2.1.257 中添加 |
VERTEX_REGION_CLAUDE_HAIKU_4_5 |
使用 Google Cloud's Agent Platform 时覆盖 Claude Haiku 4.5 的区域 |
标准 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 和信号特定变体)也被支持。请参阅 监控 了解配置详情。
需要特性标志获取的功能
Claude Code 通过从 Anthropic 获取的特性标志来启用某些功能。Claude Code 在以下会话中跳过该获取:
- 一个会话中,你设置了
DISABLE_GROWTHBOOK、DISABLE_TELEMETRY、DO_NOT_TRACK或CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC;变量表中每个变量的行说明了哪些值会关闭获取 - 一个第三方提供商上的会话,例如 Amazon Bedrock、AWS 上的 Claude Platform、Google Cloud 的 Agent Platform 或 Microsoft Foundry,除非嵌入 Claude Code 的主机平台设置了
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST - 一个 Claude apps gateway 会话
关闭获取后,你无法:
- 在 Pro、Max 和 Team 计划上默认以自动模式启动会话
- 让 VS Code 扩展读取设置文件以获取起始权限模式
- 运行
/auto-mode-setup来草拟autoMode.environment条目 - 使用 Remote Control
- 消息会话超出此机器;此机器上会话之间的消息传递在关闭获取的情况下也能工作
- 运行
claude import或/import命令 - 运行
/skill-doctor或在/pluginStats 标签中打开其报告 - 同步为你的 claude.ai 账户启用的技能和插件到你的终端会话中
- 使用顾问工具
- 读取或回复工件上的评论
- 让 Claude Code 探测 claude.ai 连接器服务器以获取 MCP 协议修订版本 2026-07-28,除非你设置
MCP_PROTOCOL_NEGOTIATION=auto - 默认为 claude.ai 和 Console 账户在安装了 Git Bash 的 Windows 上获取 PowerShell 工具;Claude Code 通过 Git Bash 路由 shell 命令,除非你设置
CLAUDE_CODE_USE_POWERSHELL_TOOL=1。在没有 Git Bash 的 Windows 上,该工具保持启用 - 获取 Claude 草拟的反馈,Claude Code 通过获取的标志来启用它
- 让 Claude 将大型粘贴视为粘贴而非输入的文本;
[Pasted text #N]占位符后面的内容到达 Claude 时未标记 - 让 Claude Code 排除 MCP 工具,其输入架构 API 会拒绝;它仍然发送架构,包含它的请求失败并显示按工具位置命名的 400 错误
安装或升级后的第一个会话
在你安装 Claude Code 后的第一个会话中,或升级到添加功能的版本后,特性标志门控功能可能会丢失,会话可能在原本会以自动模式启动的计划上以手动模式启动。Claude Code 在该会话期间获取标志,所以两者都会在你的下一个会话中出现。
在全新安装后,在非交互式会话中(例如 claude -p、Agent SDK 或 VS Code 扩展),Claude Code 仍然可以在选择起始权限模式之前获取标志。