Skip to content

环境变量参考

Claude Code 通过环境变量精细控制各种行为,包括 API 认证(ANTHROPIC_API_KEY)、模型选择(ANTHROPIC_MODEL)、Bash 超时、上下文压缩触发、Bedrock/Vertex/Foundry 企业提供商、MCP 服务器、遥测开关等。可在 Shell 中临时设置,也可写入 ~/.bashrc 永久生效,或通过 settings.json 的 env 字段统一下发给团队。

Claude Code 通过环境变量控制各种行为。在启动 claude 前在 Shell 中设置,或者在 settings.jsonenv 字段中配置,以便应用到每次会话或在团队中统一下发。

如果你是在排查 settings 相关问题,可以先按这个规则分工:权限、默认模型、statusLine、插件市场写进 settings;API Key、云服务商认证、代理、临时调试开关更适合放环境变量。不要把明文密钥提交到项目 .claude/settings.json

settings 和环境变量怎么分工

目标更适合放哪里原因
权限规则、Hooks、MCP 白名单.claude/settings.json团队需要共享,且不包含密钥
个人默认模型、statusLine~/.claude/settings.json属于个人偏好,跨项目生效
API Key、代理、云服务商凭证Shell 环境变量或密钥脚本避免明文进入仓库
项目临时覆盖.claude/settings.local.json只影响当前仓库,不应提交
CI 或自动化 TokenCI Secret + 环境变量便于轮换和审计

快速设置方法

临时生效(当前会话):

bash
export ANTHROPIC_API_KEY="your-key"
claude

永久生效(写入 ~/.zshrc 或 ~/.bashrc):

bash
echo 'export ANTHROPIC_API_KEY="your-key"' >> ~/.zshrc
source ~/.zshrc

Windows PowerShell 当前会话:

powershell
$env:ANTHROPIC_API_KEY = "your-key"
claude

Windows 用户级永久环境变量:

powershell
[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "your-key", "User")

重新打开终端后生效。

通过 settings.json 配置:

json
{
  "env": {
    "ANTHROPIC_MODEL": "claude-sonnet-4-6",
    "BASH_DEFAULT_TIMEOUT_MS": "60000"
  }
}

如果改完没生效,按这个顺序查:新终端是否已经重新打开;/status 里当前认证方式是否符合预期;同名变量是否被 shell profile、IDE、CI 或项目本地配置覆盖;Desktop/Web 版是否支持对应变量。

API 认证

变量说明
ANTHROPIC_API_KEYAPI 密钥,作为 X-Api-Key 请求头发送。设置后优先于 Pro/Max/Team/Enterprise 订阅,即使已登录也会使用此 Key。交互模式下首次使用会提示确认。恢复使用订阅请运行 unset ANTHROPIC_API_KEY
ANTHROPIC_AUTH_TOKEN自定义 Authorization 请求头值(自动添加 Bearer 前缀)
ANTHROPIC_BASE_URL覆盖 API 端点,用于通过代理或网关路由请求。指向非 Anthropic 主机时默认禁用 MCP 工具搜索
ANTHROPIC_CUSTOM_HEADERS添加到请求的自定义请求头(Name: Value 格式,多个请求头用换行分隔)

模型配置

变量说明
ANTHROPIC_MODEL使用的模型名称
ANTHROPIC_DEFAULT_HAIKU_MODEL自定义 Haiku 类模型
ANTHROPIC_DEFAULT_SONNET_MODEL自定义 Sonnet 类模型
ANTHROPIC_DEFAULT_OPUS_MODEL自定义 Opus 类模型
ANTHROPIC_CUSTOM_MODEL_OPTION/model 选择器中添加自定义模型条目(不替换内置别名)
ANTHROPIC_CUSTOM_MODEL_OPTION_NAME自定义模型条目的显示名称
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION自定义模型条目的描述(默认为 Custom model (<model-id>)
CLAUDE_CODE_SUBAGENT_MODEL子代理使用的模型
CLAUDE_CODE_EFFORT_LEVEL模型思考深度:low/medium/high/max(仅 Opus 4.6)/auto。优先于 /efforteffortLevel 设置
MAX_THINKING_TOKENS覆盖扩展思考的 Token 预算。设为 0 完全禁用思考

Bash 执行控制

变量说明
BASH_DEFAULT_TIMEOUT_MS长时间运行的 Bash 命令的默认超时时间(毫秒)
BASH_MAX_TIMEOUT_MS模型可以为 Bash 命令设置的最大超时时间(毫秒)
BASH_MAX_OUTPUT_LENGTHBash 输出在被中间截断前的最大字符数
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR每次 Bash 命令后返回原始工作目录
CLAUDE_CODE_SHELL覆盖自动 Shell 检测(如 bash vs zsh
CLAUDE_CODE_SHELL_PREFIX包装所有 Bash 命令的前缀命令(用于日志记录或审计)。示例:/path/to/logger.sh 会执行 /path/to/logger.sh <命令>
CLAUDE_ENV_FILEClaude Code 在每次 Bash 命令前 source 的 Shell 脚本路径。用于跨命令持久化 virtualenv 或 conda 激活

上下文和记忆

变量说明
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE触发自动压缩的上下文容量百分比(1-100)。默认约 95%,设低值(如 50)更早压缩
CLAUDE_CODE_AUTO_COMPACT_WINDOW用于自动压缩计算的上下文容量 Token 数。标准模型默认 200K,扩展上下文模型默认 1M
CLAUDE_CODE_DISABLE_AUTO_MEMORY设为 1 禁用自动记忆功能
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS覆盖文件读取的默认 Token 限制
CLAUDE_CODE_MAX_OUTPUT_TOKENS设置大多数请求的最大输出 Token 数
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD设为 1--add-dir 指定的目录加载 CLAUDE.md 文件

会话和任务

变量说明
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS设为 1 禁用所有后台任务功能(包括 Ctrl+B 快捷键)
CLAUDE_CODE_DISABLE_CRON设为 1 禁用定时任务(/loop 命令和 cron 工具不可用)
CLAUDE_CODE_ENABLE_TASKS设为 true 在非交互模式(-p)启用任务追踪系统
CLAUDE_CODE_TASK_LIST_ID跨会话共享任务列表的 ID
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY查询循环空闲后自动退出前等待的毫秒数
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION设为 false 禁用提示词建议(灰色预测)
CLAUDE_CODE_NEW_INIT设为 true/init 运行交互式设置流程

检测和调试

变量说明
CLAUDECODEClaude Code 在其衍生的 Shell 环境中设为 1。用于检测脚本是否在 Claude Code 衍生的 Shell 中运行
CLAUDE_CODE_REMOTE云端远程会话中设为 true。可用于区分本地和云端环境
CLAUDE_CODE_DISABLE_TERMINAL_TITLE设为 1 禁用基于对话上下文的终端标题自动更新

企业级提供商

AWS Bedrock

变量说明
CLAUDE_CODE_USE_BEDROCK使用 Amazon Bedrock
AWS_BEARER_TOKEN_BEDROCKBedrock API 密钥
CLAUDE_CODE_SKIP_BEDROCK_AUTH跳过 AWS 认证(用于 LLM 网关)
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION使用 Bedrock 时 Haiku 类模型的 AWS 区域

Google Vertex AI

变量说明
CLAUDE_CODE_USE_VERTEX使用 Google Vertex AI
CLAUDE_CODE_SKIP_VERTEX_AUTH跳过 Google 认证(用于 LLM 网关)
VERTEX_REGION_CLAUDE_4_0_SONNETSonnet 4.6 在 Vertex AI 上的区域
VERTEX_REGION_CLAUDE_4_0_OPUSOpus 4.6 在 Vertex AI 上的区域
VERTEX_REGION_CLAUDE_3_5_HAIKUHaiku 4.5 在 Vertex AI 上的区域
VERTEX_REGION_CLAUDE_3_7_SONNETSonnet 3.7 在 Vertex AI 上的区域

Microsoft Foundry

变量说明
CLAUDE_CODE_USE_FOUNDRY使用 Microsoft Foundry
ANTHROPIC_FOUNDRY_API_KEYFoundry 认证 API 密钥
ANTHROPIC_FOUNDRY_RESOURCEFoundry 资源名称(如 my-resource
ANTHROPIC_FOUNDRY_BASE_URLFoundry 资源的完整 Base URL
CLAUDE_CODE_SKIP_FOUNDRY_AUTH跳过 Azure 认证(用于 LLM 网关)

网络和代理

变量说明
HTTP_PROXYHTTP 代理服务器
HTTPS_PROXYHTTPS 代理服务器
NO_PROXY绕过代理直接请求的域名和 IP 列表
CLAUDE_CODE_PROXY_RESOLVES_HOSTS设为 true 允许代理执行 DNS 解析
CLAUDE_CODE_CLIENT_CERTmTLS 认证的客户端证书文件路径
CLAUDE_CODE_CLIENT_KEYmTLS 认证的客户端私钥文件路径
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE加密客户端密钥的密码(可选)

MCP 配置

变量说明
MCP_TIMEOUTMCP 服务器启动超时时间(毫秒)
MCP_TOOL_TIMEOUTMCP 工具执行超时时间(毫秒)
MAX_MCP_OUTPUT_TOKENSMCP 工具响应的最大 Token 数(默认 25000)
MCP_CLIENT_SECRET需要预配置凭证的 MCP 服务器的 OAuth 客户端密钥
MCP_OAUTH_CALLBACK_PORTOAuth 重定向回调的固定端口
ENABLE_CLAUDEAI_MCP_SERVERS设为 false 禁用 claude.ai MCP 服务器(登录用户默认启用)
ENABLE_TOOL_SEARCH控制 MCP 工具搜索:true/auto/auto:N/false

遥测和隐私

变量说明
DISABLE_TELEMETRY设为 1 退出 Statsig 遥测
DISABLE_ERROR_REPORTING设为 1 退出 Sentry 错误报告
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY设为 1 禁用会话质量调查
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC相当于同时设置 DISABLE_AUTOUPDATERDISABLE_FEEDBACK_COMMANDDISABLE_ERROR_REPORTINGDISABLE_TELEMETRY
DISABLE_PROMPT_CACHING设为 1 禁用所有模型的提示词缓存
DISABLE_PROMPT_CACHING_HAIKU设为 1 禁用 Haiku 模型的提示词缓存
DISABLE_PROMPT_CACHING_SONNET设为 1 禁用 Sonnet 模型的提示词缓存
DISABLE_PROMPT_CACHING_OPUS设为 1 禁用 Opus 模型的提示词缓存
CLAUDE_CODE_ENABLE_TELEMETRY设为 1 启用 OpenTelemetry 数据收集

自动更新和安装

变量说明
DISABLE_AUTOUPDATER设为 1 禁用自动更新
DISABLE_COST_WARNINGS设为 1 禁用费用警告消息
DISABLE_FEEDBACK_COMMAND设为 1 禁用 /feedback 命令
DISABLE_INSTALLATION_CHECKS设为 1 禁用安装警告(仅在手动管理安装位置时使用)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL跳过 IDE 扩展自动安装

实验性功能

变量说明
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS设为 1 启用 Agent Teams(实验性,默认关闭)
CLAUDE_CODE_DISABLE_1M_CONTEXT设为 1 禁用 1M 上下文窗口支持
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING设为 1 禁用 Opus 4.6 和 Sonnet 4.6 的自适应推理
CLAUDE_CODE_DISABLE_FAST_MODE设为 1 禁用 Fast 模式
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS设为 1 删除系统提示中内置的 commit 和 PR 工作流指令
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS设为 1 移除请求中的 anthropic-beta 头(解决某些代理的兼容问题)

目录和路径

变量说明
CLAUDE_CONFIG_DIR自定义 Claude Code 配置和数据文件的存储位置
CLAUDE_CODE_TMPDIR覆盖内部临时文件使用的临时目录(Claude Code 会在此路径后追加 /claude/
CLAUDE_CODE_PLUGIN_SEED_DIR只读插件种子目录路径(多个路径用 : 分隔,Windows 用 ;

安全隔离

变量说明
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB设为 1 从子进程环境(Bash、Hooks、MCP stdio)中清除 Anthropic 和云提供商凭证,防止提示注入攻击通过 Shell 展开泄露密钥
CLAUDE_CODE_SCRIPT_CAPS限制每个会话中特定脚本的最大调用次数(JSON 对象,键匹配命令文本的子串)
CLAUDE_CODE_PERFORCE_MODE设为 1 启用 Perforce 感知写保护,防止绕过 Perforce 变更跟踪

SDK 集成

变量说明
CLAUDE_CODE_OAUTH_TOKENOAuth 访问令牌(SDK 和自动化环境中替代 /login)。用 claude setup-token 生成长期令牌
CLAUDE_CODE_OAUTH_REFRESH_TOKENOAuth 刷新令牌(配合 CLAUDE_CODE_OAUTH_SCOPES 用于自动化环境中的认证供给)
CLAUDE_CODE_OAUTH_SCOPES刷新令牌颁发的 OAuth 作用域(需配合 CLAUDE_CODE_OAUTH_REFRESH_TOKEN 使用)
CLAUDE_CODE_RESUME_INTERRUPTED_TURN设为 1 在 SDK 模式下上一轮次中断时自动继续
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS设为 1 禁用所有内置子代理类型(仅限非交互模式)
CLAUDE_AGENT_SDK_MCP_NO_PREFIX设为 1 跳过 SDK 创建的 MCP 服务器工具名前缀(仅 SDK 使用)

演示模式

变量说明
IS_DEMO设为 true 启用演示模式:隐藏邮箱和组织、跳过引导(适用于直播或录制)

相关资源

常见问题

Q: 如何通过环境变量为 Claude Code 配置 API Key?

设置 ANTHROPIC_API_KEY 环境变量即可。临时用 export ANTHROPIC_API_KEY="your-key" 设置,或写入 ~/.zshrc/~/.bashrc 永久生效。注意:设置后它会优先于 Pro/Max/Team 订阅被使用,如要恢复订阅认证请运行 unset ANTHROPIC_API_KEY

Q: 如何通过环境变量切换 Claude Code 使用的模型?

设置 ANTHROPIC_MODEL 为目标模型名(如 claude-sonnet-4-6)。也可分别用 ANTHROPIC_DEFAULT_HAIKU_MODELANTHROPIC_DEFAULT_SONNET_MODELANTHROPIC_DEFAULT_OPUS_MODEL 重新映射三种基础别名。

Q: Claude Code 如何在企业代理后面工作?

设置 HTTP_PROXYHTTPS_PROXY 环境变量指向企业代理,或将代理 URL 写入 settings.json 的 env 字段统一下发。如果代理做 TLS 检查,还需要通过 NODE_EXTRA_CA_CERTS 指定企业 CA 证书。