跳转到主要内容
Claude Code 支持以下环境变量来控制其行为。在启动 claude 之前在 shell 中设置它们,或在 settings.json 中的 env 键下配置它们,以将其应用于每个会话或在团队中推出。
变量目的
ANTHROPIC_API_KEY作为 X-Api-Key 标头发送的 API 密钥。设置后,即使您已登录,此密钥也会用于替代您的 Claude Pro、Max、Team 或 Enterprise 订阅。在非交互模式(-p)中,存在时始终使用该密钥。在交互模式中,系统会提示您在密钥覆盖订阅之前批准一次。要改用您的订阅,请运行 unset ANTHROPIC_API_KEY
ANTHROPIC_AUTH_TOKENAuthorization 标头的自定义值(您在此处设置的值将以 Bearer 为前缀)
ANTHROPIC_BASE_URL覆盖 API 端点以通过代理或网关路由请求。设置为非第一方主机时,MCP 工具搜索默认禁用。如果您的代理转发 tool_reference 块,请设置 ENABLE_TOOL_SEARCH=true
ANTHROPIC_CUSTOM_HEADERS要添加到请求的自定义标头(Name: Value 格式,多个标头用换行符分隔)
ANTHROPIC_CUSTOM_MODEL_OPTION要在 /model 选择器中添加为自定义条目的模型 ID。使用此选项可以使非标准或网关特定的模型可选择,而无需替换内置别名。请参阅模型配置
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION/model 选择器中自定义模型条目的显示描述。未设置时默认为 Custom model (<model-id>)
ANTHROPIC_CUSTOM_MODEL_OPTION_NAME/model 选择器中自定义模型条目的显示名称。未设置时默认为模型 ID
ANTHROPIC_DEFAULT_HAIKU_MODEL请参阅模型配置
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION请参阅模型配置
ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME请参阅模型配置
ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES请参阅模型配置
ANTHROPIC_DEFAULT_OPUS_MODEL请参阅模型配置
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION请参阅模型配置
ANTHROPIC_DEFAULT_OPUS_MODEL_NAME请参阅模型配置
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES请参阅模型配置
ANTHROPIC_DEFAULT_SONNET_MODEL请参阅模型配置
ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION请参阅模型配置
ANTHROPIC_DEFAULT_SONNET_MODEL_NAME请参阅模型配置
ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES请参阅模型配置
ANTHROPIC_FOUNDRY_API_KEYMicrosoft Foundry 身份验证的 API 密钥(请参阅 Microsoft Foundry
ANTHROPIC_FOUNDRY_BASE_URLFoundry 资源的完整基础 URL(例如,https://my-resource.services.ai.azure.com/anthropic)。ANTHROPIC_FOUNDRY_RESOURCE 的替代方案(请参阅 Microsoft Foundry
ANTHROPIC_FOUNDRY_RESOURCEFoundry 资源名称(例如,my-resource)。如果未设置 ANTHROPIC_FOUNDRY_BASE_URL,则为必需(请参阅 Microsoft Foundry
ANTHROPIC_MODEL要使用的模型设置的名称(请参阅模型配置
ANTHROPIC_SMALL_FAST_MODEL[已弃用] 用于后台任务的 Haiku 级模型的名称
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION使用 Bedrock 时覆盖 Haiku 级模型的 AWS 区域
AWS_BEARER_TOKEN_BEDROCK用于身份验证的 Bedrock API 密钥(请参阅 Bedrock API 密钥
BASH_DEFAULT_TIMEOUT_MS长时间运行的 bash 命令的默认超时
BASH_MAX_OUTPUT_LENGTHbash 输出中的最大字符数,超过此数字后将进行中间截断
BASH_MAX_TIMEOUT_MS模型可以为长时间运行的 bash 命令设置的最大超时
CLAUDECODE在 Claude Code 生成的 shell 环境中设置为 1(Bash 工具、tmux 会话)。在 hooks状态行命令中未设置。用于检测脚本何时在 Claude Code 生成的 shell 内运行
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE设置触发自动压缩的上下文容量百分比(1-100)。默认情况下,自动压缩在大约 95% 容量时触发。使用较低的值(如 50)可更早进行压缩。高于默认阈值的值无效。适用于主对话和 subagents。此百分比与状态行中可用的 context_window.used_percentage 字段一致
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR在每个 Bash 命令后返回到原始工作目录
CLAUDE_CODE_ACCOUNT_UUID已认证用户的帐户 UUID。由 SDK 调用者使用,以同步提供帐户信息,避免早期遥测事件缺少帐户元数据的竞态条件。需要同时设置 CLAUDE_CODE_USER_EMAILCLAUDE_CODE_ORGANIZATION_UUID
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD设置为 1 以从使用 --add-dir 指定的目录加载 CLAUDE.md 文件。默认情况下,其他目录不加载内存文件
CLAUDE_CODE_AUTO_COMPACT_WINDOW设置用于自动压缩计算的上下文容量(以令牌为单位)。默认为模型的上下文窗口:标准模型为 200K,或扩展上下文模型为 1M。在 1M 模型上使用较低的值(如 500000)可将窗口视为 500K 用于压缩目的。该值上限为模型的实际上下文窗口。CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 作为此值的百分比应用。设置此变量会将压缩阈值与状态行的 used_percentage 解耦,后者始终使用模型的完整上下文窗口
CLAUDE_CODE_API_KEY_HELPER_TTL_MS应刷新凭证的间隔(以毫秒为单位)(使用 apiKeyHelper 时)
CLAUDE_CODE_CLIENT_CERT用于 mTLS 身份验证的客户端证书文件的路径
CLAUDE_CODE_CLIENT_KEY用于 mTLS 身份验证的客户端私钥文件的路径
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE加密 CLAUDE_CODE_CLIENT_KEY 的密码短语(可选)
CLAUDE_CODE_DISABLE_1M_CONTEXT设置为 1 以禁用1M 上下文窗口支持。设置后,1M 模型变体在模型选择器中不可用。对于具有合规要求的企业环境很有用
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING设置为 1 以禁用 Opus 4.6 和 Sonnet 4.6 的自适应推理。禁用后,这些模型会回退到由 MAX_THINKING_TOKENS 控制的固定思考预算
CLAUDE_CODE_DISABLE_AUTO_MEMORY设置为 1 以禁用自动内存。设置为 0 以在逐步推出期间强制启用自动内存。禁用后,Claude 不会创建或加载自动内存文件
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS设置为 1 以从 Claude 的系统提示中删除内置的提交和 PR 工作流说明和 git 状态快照。在使用您自己的 git 工作流 skills 时很有用。设置后优先于 includeGitInstructions 设置
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS设置为 1 以禁用所有后台任务功能,包括 Bash 和 subagent 工具上的 run_in_background 参数、自动后台处理和 Ctrl+B 快捷键
CLAUDE_CODE_DISABLE_CRON设置为 1 以禁用计划任务/loop skill 和 cron 工具变为不可用,任何已计划的任务停止触发,包括已在会话中运行的任务
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS设置为 1 以从 API 请求中删除 Anthropic 特定的 anthropic-beta 请求标头和 beta 工具架构字段(如 defer_loadingeager_input_streaming)。当代理网关拒绝请求并出现”Unexpected value(s) for the anthropic-beta header”或”Extra inputs are not permitted”之类的错误时,请使用此选项。标准字段(namedescriptioninput_schemacache_control)被保留。
CLAUDE_CODE_DISABLE_FAST_MODE设置为 1 以禁用快速模式
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY设置为 1 以禁用”Claude 表现如何?“会话质量调查。在设置 DISABLE_TELEMETRYCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 时也会禁用调查。请参阅会话质量调查
CLAUDE_CODE_DISABLE_MOUSE设置为 1 以禁用全屏渲染中的鼠标跟踪。使用 PgUpPgDn 的键盘滚动仍然有效。使用此选项可保持终端的原生选择复制行为
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC等同于设置 DISABLE_AUTOUPDATERDISABLE_FEEDBACK_COMMANDDISABLE_ERROR_REPORTINGDISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK设置为 1 以禁用流式请求在中途失败时的非流式回退。流式错误会传播到重试层。当代理或网关导致回退产生重复的工具执行时很有用
CLAUDE_CODE_DISABLE_TERMINAL_TITLE设置为 1 以禁用基于对话上下文的自动终端标题更新
CLAUDE_CODE_EFFORT_LEVEL为支持的模型设置努力级别。值:lowmediumhighmax(仅限 Opus 4.6)或 auto 以使用模型默认值。优先于 /efforteffortLevel 设置。请参阅调整努力级别
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION设置为 false 以禁用提示建议(/config 中的”提示建议”切换)。这些是在 Claude 响应后出现在提示输入中的灰显预测。请参阅提示建议
CLAUDE_CODE_ENABLE_TASKS设置为 true 以在非交互模式(-p 标志)中启用任务跟踪系统。任务在交互模式中默认启用。请参阅任务列表
CLAUDE_CODE_ENABLE_TELEMETRY设置为 1 以启用 OpenTelemetry 数据收集以获取指标和日志。在配置 OTel 导出器之前需要。请参阅监控
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY查询循环变为空闲后自动退出前等待的时间(以毫秒为单位)。对于使用 SDK 模式的自动化工作流和脚本很有用
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS设置为 1 以启用代理团队。代理团队是实验性的,默认禁用
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS覆盖文件读取的默认令牌限制。当您需要完整读取较大文件时很有用
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL跳过 IDE 扩展的自动安装。等同于将 autoInstallIdeExtension 设置为 false
CLAUDE_CODE_MAX_OUTPUT_TOKENS设置大多数请求的最大输出令牌数。默认值和上限因模型而异;请参阅最大输出令牌。增加此值会减少在自动压缩触发之前可用的有效上下文窗口。
CLAUDE_CODE_NEW_INIT设置为 true 以使 /init 运行交互式设置流程。该流程会询问要生成哪些文件,包括 CLAUDE.md、skills 和 hooks,然后再探索代码库并编写它们。没有此变量,/init 会自动生成 CLAUDE.md 而不提示。
CLAUDE_CODE_NO_FLICKER设置为 1 以启用全屏渲染,这是一个研究预览,可减少闪烁并在长对话中保持内存平坦
CLAUDE_CODE_ORGANIZATION_UUID已认证用户的组织 UUID。由 SDK 调用者使用,以同步提供帐户信息。需要同时设置 CLAUDE_CODE_ACCOUNT_UUIDCLAUDE_CODE_USER_EMAIL
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS刷新动态 OpenTelemetry 标头的间隔(以毫秒为单位)(默认值:1740000 / 29 分钟)。请参阅动态标头
CLAUDE_CODE_PLAN_MODE_REQUIRED在需要计划批准的代理团队队友上自动设置为 true。只读:由 Claude Code 在生成队友时设置。请参阅需要计划批准
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS安装或更新插件时 git 操作的超时(以毫秒为单位)(默认值:120000)。对于大型存储库或网络连接缓慢的情况,请增加此值。请参阅Git 操作超时
CLAUDE_CODE_PLUGIN_SEED_DIR一个或多个只读插件种子目录的路径,在 Unix 上用 : 分隔,在 Windows 上用 ; 分隔。使用此选项可将预填充的插件目录捆绑到容器镜像中。Claude Code 在启动时从这些目录注册市场,并使用预缓存的插件而无需重新克隆。请参阅为容器预填充插件
CLAUDE_CODE_PROXY_RESOLVES_HOSTS设置为 true 以允许代理执行 DNS 解析而不是调用者。对于代理应处理主机名解析的环境选择加入
CLAUDE_CODE_SCROLL_SPEED全屏渲染中设置鼠标滚轮滚动倍数。接受 1 到 20 的值。设置为 3 以匹配 vim(如果您的终端每个刻度线发送一个滚轮事件而不进行放大)
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MSSessionEnd hooks 完成的最大时间(以毫秒为单位)(默认值:1500)。适用于会话退出、/clear 和通过交互式 /resume 切换会话。每个 hook 的 timeout 值也受此预算的限制
CLAUDE_CODE_SHELL覆盖自动 shell 检测。当您的登录 shell 与您的首选工作 shell 不同时很有用(例如,bashzsh
CLAUDE_CODE_SHELL_PREFIX命令前缀以包装所有 bash 命令(例如,用于日志记录或审计)。示例:/path/to/logger.sh 将执行 /path/to/logger.sh <command>
CLAUDE_CODE_SIMPLE设置为 1 以使用最小系统提示和仅 Bash、文件读取和文件编辑工具运行。MCP 工具来自 --mcp-config 仍然可用。禁用 hooks、skills、plugins、MCP servers、自动内存和 CLAUDE.md 的自动发现。--bare CLI 标志设置此选项
CLAUDE_CODE_SKIP_BEDROCK_AUTH跳过 Bedrock 的 AWS 身份验证(例如,使用 LLM 网关时)
CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS设置为 1,当组织状态检查因网络错误失败时允许快速模式。当企业代理阻止状态端点时很有用。API 仍然单独强制执行组织级别的禁用
CLAUDE_CODE_SKIP_FOUNDRY_AUTH跳过 Microsoft Foundry 的 Azure 身份验证(例如,使用 LLM 网关时)
CLAUDE_CODE_SKIP_VERTEX_AUTH跳过 Vertex 的 Google 身份验证(例如,使用 LLM 网关时)
CLAUDE_CODE_SUBAGENT_MODEL请参阅模型配置
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB设置为 1 以从子进程环境(Bash 工具、hooks、MCP stdio 服务器)中删除 Anthropic 和云提供商凭证。父 Claude 进程为 API 调用保留这些凭证,但子进程无法读取它们,减少了通过 shell 扩展尝试窃取机密的提示注入攻击的暴露。当配置了 allowed_non_write_users 时,claude-code-action 会自动设置此选项
CLAUDE_CODE_TASK_LIST_ID跨会话共享任务列表。在多个 Claude Code 实例中设置相同的 ID 以协调共享任务列表。请参阅任务列表
CLAUDE_CODE_TEAM_NAME此队友所属的代理团队的名称。在代理团队成员上自动设置
CLAUDE_CODE_TMPDIR覆盖用于内部临时文件的临时目录。Claude Code 将 /claude/ 附加到此路径。默认值:Unix/macOS 上为 /tmp,Windows 上为 os.tmpdir()
CLAUDE_CODE_USER_EMAIL已认证用户的电子邮件地址。由 SDK 调用者使用,以同步提供帐户信息。需要同时设置 CLAUDE_CODE_ACCOUNT_UUIDCLAUDE_CODE_ORGANIZATION_UUID
CLAUDE_CODE_USE_BEDROCK使用 Bedrock
CLAUDE_CODE_USE_FOUNDRY使用 Microsoft Foundry
CLAUDE_CODE_USE_POWERSHELL_TOOL设置为 1 以在 Windows 上启用 PowerShell 工具(选择加入预览)。启用后,Claude 可以本地运行 PowerShell 命令,而不是通过 Git Bash 路由。仅在本机 Windows 上支持,不支持 WSL。请参阅 PowerShell 工具
CLAUDE_CODE_USE_VERTEX使用 Vertex
CLAUDE_CONFIG_DIR自定义 Claude Code 存储其配置和数据文件的位置
CLAUDE_ENV_FILEClaude Code 在每个 Bash 命令之前获取的 shell 脚本的路径。用于在命令之间保持 virtualenv 或 conda 激活。也由 SessionStartCwdChangedFileChanged hooks 动态填充
CLAUDE_STREAM_IDLE_TIMEOUT_MS流式空闲监视程序关闭停滞连接前的超时(以毫秒为单位)。默认值:90000(90 秒)。如果长时间运行的工具或缓慢的网络导致过早超时错误,请增加此值
DISABLE_AUTOUPDATER设置为 1 以禁用自动更新。
DISABLE_COST_WARNINGS设置为 1 以禁用成本警告消息
DISABLE_ERROR_REPORTING设置为 1 以选择退出 Sentry 错误报告
DISABLE_FEEDBACK_COMMAND设置为 1 以禁用 /feedback 命令。也接受较旧的名称 DISABLE_BUG_COMMAND
DISABLE_INSTALLATION_CHECKS设置为 1 以禁用安装警告。仅在手动管理安装位置时使用,因为这可能会掩盖标准安装的问题
DISABLE_PROMPT_CACHING设置为 1 以禁用所有模型的 prompt caching(优先于每个模型的设置)
DISABLE_PROMPT_CACHING_HAIKU设置为 1 以禁用 Haiku 模型的 prompt caching
DISABLE_PROMPT_CACHING_OPUS设置为 1 以禁用 Opus 模型的 prompt caching
DISABLE_PROMPT_CACHING_SONNET设置为 1 以禁用 Sonnet 模型的 prompt caching
DISABLE_TELEMETRY设置为 1 以选择退出 Statsig 遥测(请注意,Statsig 事件不包括用户数据,如代码、文件路径或 bash 命令)
ENABLE_CLAUDEAI_MCP_SERVERS设置为 false 以禁用 Claude Code 中的 claude.ai MCP servers。对于已登录的用户默认启用
ENABLE_TOOL_SEARCH控制 MCP 工具搜索。未设置:默认延迟所有 MCP 工具,但当 ANTHROPIC_BASE_URL 指向非第一方主机时提前加载。值:true(始终延迟,包括代理)、auto(阈值模式:如果工具适合在上下文的 10% 内则提前加载)、auto:N(自定义阈值,例如 auto:5 表示 5%)、false(提前加载所有)
FORCE_AUTOUPDATE_PLUGINS设置为 true 以强制插件自动更新,即使主自动更新程序通过 DISABLE_AUTOUPDATER 禁用
HTTP_PROXY为网络连接指定 HTTP 代理服务器
HTTPS_PROXY为网络连接指定 HTTPS 代理服务器
IS_DEMO设置为 true 以启用演示模式:隐藏 UI 中的电子邮件和组织,跳过入门,隐藏内部命令。对于流式传输或录制会话很有用
MAX_MCP_OUTPUT_TOKENSMCP 工具响应中允许的最大令牌数。当输出超过 10,000 个令牌时,Claude Code 显示警告(默认值:25000)
MAX_THINKING_TOKENS覆盖扩展思考令牌预算。上限是模型的最大输出令牌减一。设置为 0 以完全禁用思考。在具有自适应推理的模型(Opus 4.6、Sonnet 4.6)上,除非通过 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING 禁用自适应推理,否则预算被忽略
MCP_CLIENT_SECRET需要预配置凭证的 MCP 服务器的 OAuth 客户端密钥。在使用 --client-secret 添加服务器时避免交互式提示
MCP_OAUTH_CALLBACK_PORTOAuth 重定向回调的固定端口,作为在使用预配置凭证添加 MCP 服务器时 --callback-port 的替代方案
MCP_TIMEOUTMCP 服务器启动的超时(以毫秒为单位)
MCP_TOOL_TIMEOUTMCP 工具执行的超时(以毫秒为单位)
NO_PROXY域和 IP 列表,对其的请求将直接发出,绕过代理
SLASH_COMMAND_TOOL_CHAR_BUDGET覆盖显示给 Skill tool 的 skill 元数据的字符预算。预算在上下文窗口的 1% 处动态扩展,回退为 8,000 个字符。为了向后兼容而保留的旧名称
USE_BUILTIN_RIPGREP设置为 0 以使用系统安装的 rg 而不是 Claude Code 附带的 rg
VERTEX_REGION_CLAUDE_3_5_HAIKU使用 Vertex AI 时覆盖 Claude 3.5 Haiku 的区域
VERTEX_REGION_CLAUDE_3_7_SONNET使用 Vertex AI 时覆盖 Claude 3.7 Sonnet 的区域
VERTEX_REGION_CLAUDE_4_0_OPUS使用 Vertex AI 时覆盖 Claude 4.0 Opus 的区域
VERTEX_REGION_CLAUDE_4_0_SONNET使用 Vertex AI 时覆盖 Claude 4.0 Sonnet 的区域
VERTEX_REGION_CLAUDE_4_1_OPUS使用 Vertex AI 时覆盖 Claude 4.1 Opus 的区域

另请参阅

  • 设置:在 settings.json 中配置环境变量,使其应用于每个会话
  • CLI 参考:启动时标志
  • 网络配置:代理和 TLS 设置