Environment Variables¶
重要性:⭐⭐⭐ 目标读者:高级用户 / CI 集成者 / 调试者 关联:topics/authentication.md、FEATURE_FLAGS.md
1. 概览¶
Claude Code 通过 process.env 读取 ~30+ 环境变量。
5 类: - 鉴权 - 行为 - 调试 - 性能 - 集成
2. 5 个鉴权 ENV¶
2.1 ANTHROPIC_API_KEY¶
API key —— 主要鉴权。
2.2 CLAUDE_CODE_USE_BEDROCK¶
AWS Bedrock —— 启用。
2.3 CLAUDE_CODE_SKIP_BEDROCK_AUTH¶
跳过 Bedrock 预取。
2.4 CLAUDE_CODE_USE_VERTEX¶
GCP Vertex —— 启用。
2.5 CLAUDE_CODE_SKIP_VERTEX_AUTH¶
跳过 Vertex 预取。
3. 5 个行为 ENV¶
3.1 CLAUDE_CODE_SIMPLE¶
Bare 模式 —— 跳过 hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, CLAUDE.md auto-discovery。
3.2 CLAUDE_CODE_DISABLE_TERMINAL_TITLE¶
禁止修改 terminal title。
3.3 CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL¶
禁用虚拟滚动。
3.4 CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS¶
禁用消息操作。
3.5 CLAUDE_CODE_DISABLE_ATTACHMENTS¶
禁用附件。
4. 5 个调试 ENV¶
4.1 CLAUDE_CODE_DEBUG¶
debug mode。
4.2 CLAUDE_CODE_DEBUG_FILE¶
debug log 文件。
4.3 CLAUDE_CODE_DEBUG_TO_STDERR¶
debug 到 stderr。
4.4 CLAUDE_CODE_VERBOSE¶
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¶
仅测 perf —— 退出。
5.2 CLAUDE_CODE_DISABLE_TELEMETRY¶
关闭遥测。
5.3 CLAUDE_CODE_DISABLE_ERROR_REPORTING¶
关闭错误上报。
5.4 CLAUDE_CODE_MORERIGHT¶
MORERIGHT 模式。
5.5 CLAUDE_CODE_NO_FLICKER¶
无闪烁模式。
6. 10+ 个集成 ENV¶
6.1 GITHUB_ACTIONS¶
GitHub Actions 检测。
6.2 NODE_EXTRA_CA_CERTS¶
CA 证书。
6.3 CLAUDE_CODE_CLIENT_CERT¶
客户端证书。
6.4 CLAUDE_CODE_SESSION_ACCESS_TOKEN¶
远程 session token。
6.5 CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR¶
WS auth fd。
6.6 CLAUDE_CODE_ENVIRONMENT_KIND¶
环境种类。
6.7 CLAUDE_CODE_QUESTION_PREVIEW_FORMAT¶
问题预览格式。
6.8 MCP_CLIENT_SECRET¶
MCP OAuth secret。
6.9 OTEL_*¶
OTEL。
6.10 LANG / LC_ALL¶
Locale。
7. 5 个内部 ENV(ANT-ONLY)¶
7.1 CLAUDE_CODE_TASK_LIST_ID¶
Task list ID。
7.2 CLAUDE_CODE_CHANNELS¶
Channels。
7.3 CLAUDE_CODE_DANGEROUSLY_LOAD_DEVELOPMENT_CHANNELS¶
Dev channels。
7.4 CLAUDE_CODE_REMOTE_CONTROL¶
Remote control。
7.5 CLAUDE_CODE_PROACTIVE¶
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 个最佳实践¶
- 不要在 shell history 留 secrets —— 用 .env 文件
- 不要在 CI 公开 secrets —— 用 secret store
- 环境特定 .env ——
.env.development/.env.production - 明确默认值 —— 缺失时清楚
- 文档化 —— 团队共享
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 拼写错¶
拼写。
11.2 Bedrock 凭据不匹配¶
不匹配。
11.3 NO_COLOR 与 telemetry 冲突¶
冲突。
11.4 子进程继承¶
继承。
11.5 macOS keychain 优先级¶
优先级。
12. ENV 优先级¶
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