跳转至

Environment Variables

重要性:⭐⭐⭐ 目标读者:高级用户 / CI 集成者 / 调试者 关联topics/authentication.mdFEATURE_FLAGS.md


1. 概览

Claude Code 通过 process.env 读取 ~30+ 环境变量。

5 类: - 鉴权 - 行为 - 调试 - 性能 - 集成


2. 5 个鉴权 ENV

2.1 ANTHROPIC_API_KEY

export ANTHROPIC_API_KEY=sk-ant-...

API key —— 主要鉴权。

2.2 CLAUDE_CODE_USE_BEDROCK

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...

AWS Bedrock —— 启用。

2.3 CLAUDE_CODE_SKIP_BEDROCK_AUTH

export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

跳过 Bedrock 预取

2.4 CLAUDE_CODE_USE_VERTEX

export CLAUDE_CODE_USE_VERTEX=1
export GOOGLE_APPLICATION_CREDENTIALS=...

GCP Vertex —— 启用。

2.5 CLAUDE_CODE_SKIP_VERTEX_AUTH

export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

跳过 Vertex 预取


3. 5 个行为 ENV

3.1 CLAUDE_CODE_SIMPLE

export CLAUDE_CODE_SIMPLE=1
# 等同 --bare

Bare 模式 —— 跳过 hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, CLAUDE.md auto-discovery。

3.2 CLAUDE_CODE_DISABLE_TERMINAL_TITLE

export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=1

禁止修改 terminal title

3.3 CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL

export CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL=1

禁用虚拟滚动

3.4 CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS

export CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS=1

禁用消息操作

3.5 CLAUDE_CODE_DISABLE_ATTACHMENTS

export CLAUDE_CODE_DISABLE_ATTACHMENTS=1

禁用附件


4. 5 个调试 ENV

4.1 CLAUDE_CODE_DEBUG

export CLAUDE_CODE_DEBUG=api,hooks,bash
# 类别过滤
# api / hooks / bash / mcp / auth / ...

debug mode

4.2 CLAUDE_CODE_DEBUG_FILE

export CLAUDE_CODE_DEBUG_FILE=/path/to/debug.log

debug log 文件

4.3 CLAUDE_CODE_DEBUG_TO_STDERR

export CLAUDE_CODE_DEBUG_TO_STDERR=1

debug 到 stderr

4.4 CLAUDE_CODE_VERBOSE

export CLAUDE_CODE_VERBOSE=1

verbose 模式

4.5 CLAUDE_CODE_ENTRYPOINT

export CLAUDE_CODE_ENTRYPOINT=sdk-ts
# sdk-ts / sdk-py / sdk-cli / claude-vscode / local-agent / claude-desktop / remote

入口点


5. 5 个性能 ENV

5.1 CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER

export CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER=1

仅测 perf —— 退出。

5.2 CLAUDE_CODE_DISABLE_TELEMETRY

export CLAUDE_CODE_DISABLE_TELEMETRY=1

关闭遥测

5.3 CLAUDE_CODE_DISABLE_ERROR_REPORTING

export CLAUDE_CODE_DISABLE_ERROR_REPORTING=1

关闭错误上报

5.4 CLAUDE_CODE_MORERIGHT

export CLAUDE_CODE_MORERIGHT=1
# ANT-ONLY

MORERIGHT 模式

5.5 CLAUDE_CODE_NO_FLICKER

export CLAUDE_CODE_NO_FLICKER=0

无闪烁模式


6. 10+ 个集成 ENV

6.1 GITHUB_ACTIONS

# 自动设置(GitHub Actions)
export GITHUB_ACTIONS=true

GitHub Actions 检测

6.2 NODE_EXTRA_CA_CERTS

export NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.crt

CA 证书

6.3 CLAUDE_CODE_CLIENT_CERT

export CLAUDE_CODE_CLIENT_CERT=/path/to/cert.pem

客户端证书

6.4 CLAUDE_CODE_SESSION_ACCESS_TOKEN

# 自动设置(远程 session)

远程 session token

6.5 CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR

# 自动设置(remote)

WS auth fd

6.6 CLAUDE_CODE_ENVIRONMENT_KIND

export CLAUDE_CODE_ENVIRONMENT_KIND=bridge
# bridge / ...

环境种类

6.7 CLAUDE_CODE_QUESTION_PREVIEW_FORMAT

export CLAUDE_CODE_QUESTION_PREVIEW_FORMAT=markdown
# markdown / html

问题预览格式

6.8 MCP_CLIENT_SECRET

export MCP_CLIENT_SECRET=...
# OAuth client secret

MCP OAuth secret

6.9 OTEL_*

export OTEL_EXPORTER_OTLP_ENDPOINT=...
# OpenTelemetry

OTEL

6.10 LANG / LC_ALL

# 推测
export LANG=zh_CN.UTF-8

Locale


7. 5 个内部 ENV(ANT-ONLY)

7.1 CLAUDE_CODE_TASK_LIST_ID

export CLAUDE_CODE_TASK_LIST_ID=my-tasks
# ANT-ONLY

Task list ID

7.2 CLAUDE_CODE_CHANNELS

# 推测
# ANT-ONLY

Channels

7.3 CLAUDE_CODE_DANGEROUSLY_LOAD_DEVELOPMENT_CHANNELS

# 推测
# ANT-ONLY

Dev channels

7.4 CLAUDE_CODE_REMOTE_CONTROL

# 推测
# ANT-ONLY

Remote control

7.5 CLAUDE_CODE_PROACTIVE

# 推测
# ANT-ONLY

Proactive


8. ENV 读取位置

// 推测
const apiKey = process.env.ANTHROPIC_API_KEY
const useBedrock = process.env.CLAUDE_CODE_USE_BEDROCK
const isBare = process.env.CLAUDE_CODE_SIMPLE
const telemetryOff = process.env.CLAUDE_CODE_DISABLE_TELEMETRY

process.env 全文 grep。


9. 5 个最佳实践

  1. 不要在 shell history 留 secrets —— 用 .env 文件
  2. 不要在 CI 公开 secrets —— 用 secret store
  3. 环境特定 .env —— .env.development / .env.production
  4. 明确默认值 —— 缺失时清楚
  5. 文档化 —— 团队共享

5 条


10. 完整示例

# .env
ANTHROPIC_API_KEY=sk-ant-...
CLAUDE_CODE_USE_BEDROCK=0
CLAUDE_CODE_DISABLE_TELEMETRY=0
CLAUDE_CODE_DEBUG=api
CLAUDE_CODE_ENTRYPOINT=cli

5 ENV 组合


11. 5 个常见错误

11.1 API key 拼写错

# ❌
export ANTHROPIC_API_KEY=sk_ant_...  # 错的字符

# ✅
export ANTHROPIC_API_KEY=sk-ant-...

拼写

11.2 Bedrock 凭据不匹配

# ❌ Bedrock enable + Vertex creds
CLAUDE_CODE_USE_BEDROCK=1
GOOGLE_APPLICATION_CREDENTIALS=...

不匹配

11.3 NO_COLOR 与 telemetry 冲突

# 推测
NO_COLOR=1
CLAUDE_CODE_DISABLE_TELEMETRY=0
# telemetry 还是关

冲突

11.4 子进程继承

# ❌ 子进程继承
ANTHROPIC_API_KEY=... bash -c 'claude ...'

# ✅ 显式传
ANTHROPIC_API_KEY=... exec claude

继承

11.5 macOS keychain 优先级

# env 优先于 keychain
export ANTHROPIC_API_KEY=...  # 用 env
# 删 env 才用 keychain

优先级


12. ENV 优先级

CLI flag  >  env  >  settings  >  default

4 级


13. ENV 验证

function isEnvTruthy(value: string | undefined): boolean {
  if (!value) return false
  return ['1', 'true', 'yes', 'on'].includes(value.toLowerCase().trim())
}

truthy 判断

13.1 接受的值

  • 1, true, yes, on —— true
  • 其他 / 缺失 —— false

4 个 truthy 值


14. 总结

ENV 是 配置 Claude Code 的主要方式

核心: - 5 类 ENV - ~30+ 变量 - 优先级:CLI > env > settings > default - truthy 判断标准化

下一步: - 看 FEATURE_FLAGS.md - 看 authentication.md