Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

其他变量

BASH_*、CLAUDE_*、DISABLE_*、ENABLE_*、MCP_*、OTEL_*、代理和调试类环境变量:Bash 超时与输出、流式空闲看门狗、压缩与提示缓存、遥测退出、MCP 启动与发现缓存、OpenTelemetry 属性。

取值约定与总览一致。注意:DISABLE_TELEMETRY、DISABLE_ERROR_REPORTING、CLAUDE_CODE_TMUX_TRUECOLOR、IS_DEMO 这类变量设为 0 或 false 的效果与设为 1 相同(任意非空值都生效),要恢复默认必须取消设置;而 DO_NOT_TRACK 按标准布尔值读取,0 表示不退出。默认值、上限和版本要求以官方为准。

Bash 与工具

变量用途
BASH_DEFAULT_TIMEOUT_MS前台 Bash/PowerShell 工具命令的默认超时(毫秒,默认 120000);设得超过 30 分钟时也成为后台命令的默认时限
BASH_MAX_OUTPUT_LENGTH读回命令结果的 bash 输出最大字符数(默认 30000,最大 150000);设置了 bashOutputMaxChars 时本变量被忽略
BASH_MAX_TIMEOUT_MS模型可为前台 Bash/PowerShell 命令设置的最大超时(毫秒,默认 600000);有效上限取它与 BASH_DEFAULT_TIMEOUT_MS 中较大者
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR主会话里每条 Bash/PowerShell 命令之后回到原始工作目录
CLAUDE_ENV_FILE一个 shell 脚本的路径,Claude Code 在每条 Bash 命令之前、在同一个 shell 进程里运行它,所以其中的 export 对命令可见;用来持久化 virtualenv 或 conda 激活等
USE_BUILTIN_RIPGREP0:使用系统安装的 rg 而不是 Claude Code 附带的
SLASH_COMMAND_TOOL_CHAR_BUDGET覆盖展示给 Skill 工具的 Skill 元数据字符预算(默认按上下文窗口的 1% 动态缩放,回退 8000 字符;旧名保留以兼容)
TASK_MAX_OUTPUT_LENGTH已在 v2.1.277 移除,连同它所调整的 TaskOutput 工具一起成为空操作
MAX_THINKING_TOKENS扩展思考的固定 token 预算;Claude Code 把它限制在比请求最大输出 token 少一个、且不低于 1024
MAX_STRUCTURED_OUTPUT_RETRIES非交互 -p 模式下,模型响应未通过 --json-schema 校验时允许的尝试次数

CLAUDE_* 变量:运行环境、流式看门狗与无障碍

变量用途
CLAUDECODE在 Claude Code 派生的子进程(Bash、PowerShell 工具、tmux 会话、Hook 命令、状态栏命令、stdio MCP 服务器子进程)里设为 1;IDE 扩展也在其集成终端里设置
CLAUDE_CONFIG_DIR覆盖配置目录(默认 ~/.claude),所有设置、会话历史和插件都存在该路径下;用于隔离多套配置
CLAUDE_EFFORT由 Claude Code 在 Bash 工具子进程和 Hook 命令里自动设为当前努力等级(low/medium/high/xhigh/max),与传给 Hook 的 effort.level 一致
CLAUDE_PIDClaude Code 在其派生的子进程(Bash 与 PowerShell 工具命令、Hook 命令)里设为自己的进程 ID;Linux 上 Bash 工具的 shell 集成用它拒绝会杀掉 Claude Code 自己的 pkill
CLAUDE_JOB_DIR由 Claude Code 在每个后台会话里设为该会话的 ~/.claude/jobs/<id> 目录,会话运行的 shell 命令会继承;临时文件写到 $CLAUDE_JOB_DIR/tmp
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE自动压缩窗口的百分比(1 到 100),到此比例时触发自动压缩;用 50 之类的较低值提前压缩,不能把阈值抬高到默认之上
CLAUDE_AUTO_BACKGROUND_TASKS1:强制启用长时间运行的智能体任务的自动转后台(子智能体运行约两分钟后移到后台)
CLAUDE_AFK_TIMEOUT_MS未回答的 AskUserQuestion 对话框空闲多久后无需你而自动继续(毫秒);自动继续默认关闭,用 askUserQuestionTimeout 设置选择开启
CLAUDE_AFK_COUNTDOWN_MS自动继续前多少毫秒屏幕上出现倒计时(默认 20000,不超过自动继续超时)
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS1:禁用所有内置子智能体类型(Explore、Plan 等),只在非交互 -p 模式有效,适合想要「白板」的 SDK 用户
CLAUDE_AGENT_SDK_MCP_NO_PREFIX1:SDK 创建的 MCP 服务器的工具名不加 mcp__<server>__ 前缀,沿用原名(仅 SDK 使用)
CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS子智能体的停滞超时(毫秒,默认 600000,即 10 分钟)
CLAUDE_STREAM_IDLE_TIMEOUT_MS事件级和字节级流式空闲看门狗关闭停滞连接前的超时(毫秒);显式设置时最小 300000(5 分钟),更低的值被抬到下限
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS字节级流式空闲看门狗的超时(毫秒),设置后对该看门狗优先于 CLAUDE_STREAM_IDLE_TIMEOUT_MS,事件级看门狗不变
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS流式请求第一个响应字节的期限(毫秒),在执行首字节期限的连接上生效
CLAUDE_ENABLE_STREAM_WATCHDOG0 强制禁用事件级流式空闲看门狗,1 强制启用;未设置时对所有服务商默认开启
CLAUDE_ENABLE_BYTE_WATCHDOG1 强制启用字节级流式空闲看门狗,0 强制禁用(同时关闭运行首字节期限的连接上的首字节期限)
CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK1:在 Bedrock 的 vnd.amazon.eventstream 响应上启用字节级看门狗(同时启用 Bedrock 流式请求的首字节期限),默认关闭
CLAUDE_SUBAGENT_BG_SHELL_MAX_MS已在 v2.1.260 移除,现为空操作
CLAUDE_DISABLE_ADOPT1:用 ← 或 /background 把会话转到后台时,停止进行中的后台工作而不是把它们一并带过去(转后台前会请你确认)
CLAUDE_CLIENT_PRESENCE_FILE外部工具(如锁屏监听器)在你解锁屏幕时创建、锁屏时删除的文件路径;文件存在期间 Claude Code 跳过 Remote Control 移动端推送
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX没有显式名称时自动生成的 Remote Control 会话名前缀,默认是机器主机名(生成形如 myhost-graceful-unicorn 的名字)
CCR_FORCE_BUNDLE1:让 claude --cloud 打包并上传你的本地仓库,而不是从其远端克隆
CLAUDE_AX_SCREEN_READER1:渲染对屏幕阅读器友好的输出(无装饰边框或动画的平文本);0 即使 axScreenReader 为 true 也强制关闭
CLAUDE_AX_PREPARK_MS屏幕阅读器模式下写入新行或改动行之前等待的毫秒数(默认 0;v2.1.287 之前默认 50)
CLAUDE_AX_STARTUP_QUIET_MS屏幕阅读器模式下,启动确认行之后保持首次界面渲染多少毫秒,让屏幕阅读器念完整行再被新输出打断

更新、命令隐藏、压缩与提示缓存

变量用途
DEBUG1:启用调试模式,等价于 --debug;调试日志写到 ~/.claude/debug/<session-id>.txt 或 CLAUDE_CODE_DEBUG_LOGS_DIR 指定的路径
DISABLE_AUTOUPDATER1:禁用后台自动更新(手动 claude update 仍可用;DISABLE_UPDATES 则两者都阻止)
DISABLE_UPDATES1:阻止所有更新,含手动 claude update 和 claude install,比 DISABLE_AUTOUPDATER 更严格;适合用自己的渠道分发 Claude Code 时
FORCE_AUTOUPDATE_PLUGINS1:即使主自动更新器被 DISABLE_AUTOUPDATER 禁用,也强制插件自动更新
DISABLE_INSTALLATION_CHECKS1:禁用安装警告(只在手动管理安装位置时用,可能掩盖标准安装的问题)
DISABLE_AUTO_COMPACT1:接近上下文上限时禁用自动压缩,手动 /compact 仍可用
DISABLE_COMPACT1:禁用所有压缩,包括自动压缩和手动 /compact
DISABLE_COST_WARNINGS1:禁用成本警告消息
DISABLE_DOCTOR_COMMAND1:隐藏 /doctor 设置体检 Skill 及其 /checkup 别名(不影响 claude doctor 命令)
DISABLE_EXTRA_USAGE_COMMAND1:隐藏让用户购买超出速率限制的额外用量的 /usage-credits 命令
DISABLE_FEEDBACK_COMMAND1:禁用 /feedback 命令和 Claude 起草的反馈,也禁用 /bug 和 /share(它们经同一路径上报)
DISABLE_INSTALL_GITHUB_APP_COMMAND1:隐藏 /install-github-app(使用第三方服务商时本就隐藏)
DISABLE_LOGIN_COMMAND / DISABLE_LOGOUT_COMMAND1:隐藏 /login(认证由 API Key 或 apiKeyHelper 在外部处理时有用)/ /logout
DISABLE_UPGRADE_COMMAND1:隐藏 /upgrade 命令
DISABLE_INTERLEAVED_THINKING1:不发送交错思考 beta 头(LLM 网关或服务商不支持时)
DISABLE_PROMPT_CACHING1:对所有模型禁用提示缓存(优先于按模型的设置)
DISABLE_PROMPT_CACHING_FABLE / _HAIKU / _OPUS / _SONNET1:分别对 Fable 模型、默认 Haiku、默认 Opus、默认 Sonnet 禁用提示缓存
ENABLE_PROMPT_CACHING_1H1:请求 1 小时而不是默认 5 分钟的提示缓存 TTL(面向 API Key、Bedrock、Agent Platform、Foundry 和 Claude Platform on AWS 用户)
ENABLE_PROMPT_CACHING_1H_BEDROCK已弃用,改用 ENABLE_PROMPT_CACHING_1H
FORCE_PROMPT_CACHING_5M1:即使本该适用 1 小时 TTL,也强制 5 分钟 TTL,覆盖 CLAUDE_CODE_PROMPT_CACHE_TTL、CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL、ENABLE_PROMPT_CACHING_1H 等
ENABLE_TOOL_SEARCH控制 MCP 工具搜索:未设置时 Claude Code 默认推迟加载所有 MCP 工具(在某些服务商和旧模型上仍然预先加载,细节见官方)
ENABLE_CLAUDEAI_MCP_SERVERSfalse:不拉取 claude.ai 的 MCP 服务器(登录用户默认开启;要按项目或按组织禁用,改用设置里的 disableClaudeAiConnectors)
MAX_MCP_OUTPUT_TOKENSMCP 工具响应允许的最大 token 数(超过 10000 token 时显示警告;声明了 anthropic/maxResultSizeChars 的工具用该字符上限)

终端显示、代理与遥测

变量用途
FORCE_HYPERLINK1:终端支持但未被自动检测到时启用可点击的 OSC 8 超链接;0 禁用
IS_DEMO设为任意非空值启用演示模式:在页眉和 /status 输出里隐藏邮箱和组织名并跳过引导(设为 0 或 false 仍然启用)
HTTP_PROXY / HTTPS_PROXY指定网络连接使用的 HTTP / HTTPS 代理服务器
NO_PROXY请求直接发出、绕过代理的域名和 IP 列表
DISABLE_TELEMETRY设为任意非空值退出遥测(设为 0 或 false 仍然是退出;取消设置才恢复);遥测关闭同时会让依赖功能开关拉取的功能不可用
DO_NOT_TRACK1:与 DISABLE_TELEMETRY 效果相同(含功能开关拉取);它按标准布尔值读取,所以 0 保持遥测开启
DISABLE_ERROR_REPORTING设为任意非空值退出错误上报(设为 0 或 false 仍然是退出)
DISABLE_GROWTHBOOK1 或 true:禁用 GrowthBook 功能开关拉取,所有开关使用代码默认值;Remote Control 等需要功能开关的功能因此不可用

MCP 变量

变量用途
MCP_TIMEOUTMCP 服务器启动超时(毫秒,默认 30000)
MCP_TOOL_TIMEOUTMCP 工具执行超时(毫秒,默认 100000000,约 28 小时);HTTP、SSE 或 claude.ai 连接器服务器的每个请求默认另有 60 秒超时
MCP_CONNECTION_NONBLOCKING控制启动是否等 MCP 服务器连上再处理第一个查询:默认非阻塞,服务器在后台连接、工具陆续可用
MCP_CONNECT_TIMEOUT_MS阻塞式 MCP 启动在快照工具列表之前等待连接批次多久(毫秒,默认 5000;MCP_CONNECTION_NONBLOCKING=0 或标记为 always-load 的服务器适用)
MCP_SERVER_CONNECTION_BATCH_SIZE启动时并行连接的本地(stdio)MCP 服务器最大数量(默认 3)
MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE启动时并行连接的远程(HTTP/SSE)MCP 服务器最大数量(默认 20)
MCP_DISCOVERY_CACHE开关 MCP 发现缓存:开启后曾用过的远程 HTTP 或 SSE 服务器可显示 cached 状态,Claude Code 在第一次工具调用时才连接它而不是启动时
MCP_DISCOVERY_CACHE_TTL_S发现缓存条目不经刷新直接使用的秒数(默认 900);过期后仍使用但在后台刷新
MCP_DISCOVERY_CACHE_MAX_STALE_S发现缓存条目的最大年龄(秒,默认 14400 即 4 小时);更旧则丢弃并在启动时连接服务器
MCP_DISCOVERY_CACHE_STRIKES缓存条目在后台刷新连续失败多少次后 Claude Code 放弃该条目(见官方)
MCP_CLIENT_SECRET需要预配置凭证的 MCP 服务器的 OAuth 客户端密钥,免去用 --client-secret 添加服务器时的交互提示
MCP_OAUTH_CALLBACK_PORTOAuth 重定向回调的固定端口,是添加带预配置凭证的 MCP 服务器时 --callback-port 的替代
MCP_PROTOCOL_NEGOTIATION仅 v2 MCP 客户端运行时:Claude Code 是否探测服务器的 MCP 协议修订 2026-07-28;auto 探测 HTTP、claude.ai 连接器和 stdio 服务器
MCP_SDK_GENERATION固定本进程连接 MCP 服务器所用的客户端运行时:v1(基于 MCP TypeScript SDK 1.x)或 v2(SDK 2.0);不设则用 v2

OpenTelemetry 变量

使用前先设置 CLAUDE_CODE_ENABLE_TELEMETRY=1;下列变量都应设在 shell、用户设置或托管设置里,在项目和本地设置里被忽略(为防止仓库悄悄打开内容采集)。

变量用途
OTEL_LOG_USER_PROMPTS1:在 OpenTelemetry 追踪和日志里包含用户提示文本(默认脱敏)
OTEL_LOG_ASSISTANT_RESPONSES1:在 assistant_response 日志事件里包含模型回复文本;未设置时沿用 OTEL_LOG_USER_PROMPTS 的值,0 则保持回复不记录
OTEL_LOG_TOOL_CONTENT1:在 tool.output span 事件里包含工具内容(需要追踪;默认关闭以保护敏感数据)
OTEL_LOG_TOOL_DETAILS1:包含工具输入参数、MCP 服务器名、用户编写的工作流名、工具失败的原始错误字符串、api_refusal 事件的拒绝类别等
OTEL_LOG_RAW_API_BODIES把 Anthropic Messages API 请求与响应 JSON 作为 api_request_body/api_response_body 日志事件发出:1 为按内容上限截断的内联正文,file:<dir> 则把未截断的正文写到目录
OTEL_LOG_MANAGED_SETTINGS1:把脱敏后的托管设置及其脱敏前的 SHA-256 摘要加到 managed_settings_resolved 日志事件(默认关闭)
OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT标准 OpenTelemetry SDK 的属性值长度上限;含内容的遥测属性取它与 CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH 中较小者
OTEL_METRICS_INCLUDE_ACCOUNT_UUIDfalse:指标属性里排除账号 UUID(默认包含)
OTEL_METRICS_INCLUDE_SESSION_IDfalse:指标属性里排除会话 ID(默认包含)
OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES自 v2.1.161 起,OTEL_RESOURCE_ATTRIBUTES 的键附加到指标数据点标签;false 排除(默认包含)
OTEL_METRICS_INCLUDE_ENTRYPOINTtrue:指标属性里包含会话入口点(默认排除,v2.1.152 加入)
OTEL_METRICS_INCLUDE_VERSIONtrue:指标属性里包含 Claude Code 版本(默认排除)
OTEL_METRICS_INCLUDE_REPOSITORYtrue:给指标和事件标上标识会话仓库的 vcs.* 属性(默认排除,需要 v2.1.269+)
ENABLE_BETA_TRACING_DETAILED1:与 BETA_TRACING_ENDPOINT 一起开启详细 beta 追踪,增加含内容的 span 属性和 claude_code.hook span

另有 CLAUDE_CODE_OTEL_*(在 F 到 O 页)控制导出器的刷新、关闭、诊断和动态头。监控与 OTel 配置的整体说明见监控用量。