Skip to main content
环境变量可以控制 Claude Code 的行为,例如模型选择、身份验证、请求路由和功能切换。许多相同的行为也可以通过设置文件字段、CLI 标志或会话内命令(如 /model)进行配置。 本页面涵盖以下内容:

设置环境变量

在 shell 中设置的变量仅在该终端会话期间有效,而在设置文件中的变量在每次运行 claude 时都适用。

在 shell 中

在启动 claude 之前设置变量:
要为每个会话设置它,请将 export 行添加到 ~/.bashrc~/.zshrc 或您的 shell 配置文件中。

在设置文件中

settings.json 文件中的 env 键下添加变量。Claude Code 在启动时直接从文件读取它们,因此无论如何启动 claude,它们都会生效。
~/.claude/settings.json
您选择的文件控制变量适用于谁: 请参阅设置文件了解每个文件的位置,以及设置优先级了解当多个文件设置相同变量时它们如何组合。

优先级

当相同的行为同时具有环境变量和设置字段时,环境变量优先。例如,ANTHROPIC_MODEL 覆盖 model 设置,CLAUDE_CODE_AUTO_CONNECT_IDE 覆盖 autoConnectIde。当环境变量未设置时,设置字段适用。 当相同的变量在您的 shell 和设置文件 env 块中都设置时,设置文件值适用。Claude Code 在启动时将每个 env 条目写入进程环境,替换从 shell 继承的值。少数变量是特殊情况;env 设置列出了例外。 在设置文件之间,env 值遵循设置优先级,因此托管设置条目覆盖用户或项目设置中的相同变量。 环境变量与 CLI 标志和会话内命令的交互因功能而异:--model/model 覆盖 ANTHROPIC_MODEL,而 CLAUDE_CODE_EFFORT_LEVEL 覆盖 /effort。当变量与另一个配置源交互时,其在变量列表中的行说明优先级或链接到记录它的页面。 Claude Code 在启动时读取环境变量,因此更改在您下次启动 claude 时生效。

变量

标准 OpenTelemetry 导出器变量(OTEL_METRICS_EXPORTEROTEL_LOGS_EXPORTEROTEL_EXPORTER_OTLP_ENDPOINTOTEL_EXPORTER_OTLP_PROTOCOLOTEL_EXPORTER_OTLP_HEADERSOTEL_METRIC_EXPORT_INTERVALOTEL_RESOURCE_ATTRIBUTES 和信号特定变体)也受支持。请参阅监控了解配置详情。

另请参阅