HoRain云--Claude Code 环境变量
HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍环境变量概述认证相关变量配置示例实例实例模型配置变量使用场景实例工具与命令变量权限与安全变量权限模式详解实例日志与调试变量会话与历史变量MCP 相关变量工作流相关变量GitHub Actions 专用变量settings.json 配置方式实例VS Code 插件配置实例常见使用场景场景一使用代理或自定义 API 端点实例场景二优化成本配置实例场景三CI/CD 环境安全配置实例场景四Windows PowerShell 环境实例优先级与覆盖查看当前配置最佳实践1、敏感信息处理2、按环境配置3、集中管理常见问题环境变量是控制 Claude Code 行为的重要方式无需编辑配置文件即可灵活调整各项设置。本章详细介绍 Claude Code 支持的所有环境变量、它们的用途、配置方式以及常见使用场景。环境变量概述Claude Code 使用环境变量来控制行为这些变量可以通过以下方式设置直接在 shell 中export在~/.claude/settings.json的env字段中配置在项目级.claude/settings.json中配置通过 IDE 插件的设置界面配置环境变量优先级从高到低命令行 项目级 settings.json 用户级 settings.json shell 环境变量。在 settings.json 中配置的变量会自动传递给 Claude 进程。认证相关变量变量名说明值ANTHROPIC_API_KEYClaude API 密钥从 claude.ai 获取API 密钥字符串ANTHROPIC_BASE_URLAPI 请求的目标地址用于代理或自定义端点URL 地址ANTHROPIC_AUTH_TOKEN认证令牌用于 VS Code 插件等场景令牌字符串配置示例实例# 在 shell 中设置export ANTHROPIC_API_KEYsk-ant-xxxxxexport ANTHROPIC_BASE_URLhttps://api.anthropic.com实例// 在 settings.json 中配置{env: {ANTHROPIC_API_KEY: sk-ant-xxxxx,ANTHROPIC_BASE_URL: https://custom-proxy.com/v1}}模型配置变量变量名说明值ANTHROPIC_MODEL默认使用的模型claude-opus-4-5、claude-sonnet-4-5、claude-haiku-3-5等ANTHROPIC_SMALL_FAST_MODEL快速响应模式使用的模型用于简单任务模型名称CLAUDE_CODE_SUBAGENT_MODEL统一设置所有子代理使用的模型模型名称CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS使用 Bedrock 或 Vertex 的 Anthropic Messages 格式时禁用实验性功能1使用场景子代理默认继承主对话的模型。通过CLAUDE_CODE_SUBAGENT_MODEL可以统一设置将简单任务交给 Haiku将复杂分析交给 Sonnet从而优化成本实例# 主对话用 Opus 做复杂推理子代理统一用 Sonnetexport ANTHROPIC_MODELclaude-opus-4-5export CLAUDE_CODE_SUBAGENT_MODELclaude-sonnet-4-5工具与命令变量变量名说明值CLAUDE_CODE_DISABLE_SLASH_COMMANDS禁用所有斜杠命令1CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS禁用内置的 Git 相关系统提示词优先级高于 settings.json 中的includeGitInstructions1CLAUDE_CODE_USE_POWERSHELL_TOOL在 Windows 上启用 PowerShell 工具需要配合defaultShell: powershell设置1CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL跳过自动安装 IDE 扩展替代autoInstallIdeExtension设置1CLAUDE_CODE_DISABLE_BACKGROUND_TASKS禁用后台任务功能1权限与安全变量变量名说明值CLAUDE_CODE_PERMISSION_MODE设置默认权限模式详见子代理章节default、acceptEdits、dontAsk、bypassPermissions、planCLAUDE_CODE_ALLOWED_TOOLS允许 Claude 使用的工具白名单逗号分隔工具列表CLAUDE_CODE_DISALLOWED_TOOLS禁止 Claude 使用的工具黑名单工具列表权限模式详解default正常权限提示每次操作前询问acceptEdits自动接受文件编辑无需确认dontAsk自动拒绝未授权操作不中断执行bypassPermissions跳过所有权限检查仅限完全可信环境plan只读规划模式不执行写操作实例# 在 CI 环境中使用只读模式export CLAUDE_CODE_PERMISSION_MODEplanexport CLAUDE_CODE_ALLOWED_TOOLSRead,Grep,Glob,Bash(gh *)日志与调试变量变量名说明值CLAUDE_CODE_DEBUG启用调试输出1CLAUDE_CODE_ENABLE_TELEMETRY启用遥测数据收集1OTEL_METRICS_EXPORTEROpenTelemetry 指标导出器otlp等会话与历史变量变量名说明值CLAUDE_CODE_DISABLE_HISTORY禁用对话历史保存1CLAUDE_CODE_SESSION_TIMEOUT会话超时时间秒数字CLAUDE_CODE_MAX_SESSIONS最大保存的会话数量数字MCP 相关变量当 Claude Code 执行 MCP 工具时会设置以下环境变量变量名说明值CLAUDE_CODE_MCP_SERVER_NAMEMCP 服务器名称字符串CLAUDE_CODE_MCP_TOOL_NAME正在调用的 MCP 工具名称字符串CLAUDE_CODE_MCP_TOOL_ARGS传递给 MCP 工具的参数JSON 字符串工作流相关变量变量名说明值CLAUDE_CODE_WORKTREE_CLEANUP_PERIOD_DAYS孤立 worktree 的自动清理周期天数CLAUDE_CODE_DISABLE_WORKTREE_AUTO_CLEANUP禁用 worktree 自动清理1GitHub Actions 专用变量变量名说明值ANTHROPIC_VERTEX_PROJECT_IDVertex AI 项目 ID使用 Vertex 时由认证步骤设置GCP 项目 IDCLOUD_ML_REGIONVertex AI 区域区域代码如us-east5settings.json 配置方式所有环境变量都可以在settings.json中配置这种方式更加声明式和可移植实例{env: {ANTHROPIC_MODEL: claude-sonnet-4-5,CLAUDE_CODE_SUBAGENT_MODEL: claude-haiku-3-5,CLAUDE_CODE_PERMISSION_MODE: plan,CLAUDE_CODE_ALLOWED_TOOLS: Read,Grep,Glob,Bash,CLAUDE_CODE_ENABLE_TELEMETRY: 1,OTEL_METRICS_EXPORTER: otlp}}VS Code 插件配置在 VS Code 中使用 Claude Code 插件时可以通过environmentVariables设置实例{claudeCode.environmentVariables: [{name: ANTHROPIC_BASE_URL,value: https://custom-proxy.com/api},{name: ANTHROPIC_AUTH_TOKEN,value: your-token-here},{name: ANTHROPIC_MODEL,value: claude-sonnet-4-5}]}常见使用场景场景一使用代理或自定义 API 端点实例# 通过企业内部代理访问 Claude APIexport ANTHROPIC_BASE_URLhttps://proxy.company.com/anthropic/v1export ANTHROPIC_API_KEYyour-api-key场景二优化成本配置实例# 主对话用 Sonnet子代理统一用 Haikuexport ANTHROPIC_MODELclaude-sonnet-4-5export CLAUDE_CODE_SUBAGENT_MODELclaude-haiku-3-5场景三CI/CD 环境安全配置实例# CI 环境中使用只读模式export CLAUDE_CODE_PERMISSION_MODEplanexport CLAUDE_CODE_DISABLE_HISTORY1export CLAUDE_CODE_ALLOWED_TOOLSRead,Grep,Glob,Bash(gh *)场景四Windows PowerShell 环境实例# Windows 上启用 PowerShell$env:CLAUDE_CODE_USE_POWERSHELL_TOOL 1# 在 settings.json 中设置 defaultShell优先级与覆盖环境变量的优先级从高到低命令行export设置项目级.claude/settings.json用户级~/.claude/settings.jsonClaude Code 默认值在settings.json中配置的变量会覆盖同名的 shell 环境变量。这是因为 settings.json 在 Claude Code 进程启动时被显式读取优先级更高。查看当前配置使用/config命令可以查看当前的完整配置/config这会显示所有当前生效的设置包括环境变量和 settings.json 中的配置。最佳实践1、敏感信息处理API 密钥等敏感信息不要硬编码在 settings.json 中使用环境变量或 shell 配置文件~/.bashrc、~/.zshrc确保包含敏感信息的文件不在 git 版本控制中2、按环境配置本地开发使用更宽松的权限模式CI/CD使用只读模式plan生产调试启用CLAUDE_CODE_DEBUG3、集中管理通用配置放在~/.claude/settings.json项目特有配置放在项目目录的.claude/settings.json敏感配置通过 shell 环境变量或 CI Secrets 提供常见问题Q环境变量和 settings.json 哪个优先在 settings.json 中配置的变量优先级更高会覆盖同名的 shell 环境变量。Q如何让 Claude Code 使用不同的 API 端点设置ANTHROPIC_BASE_URL环境变量指向你的代理或自定义端点。Q子代理如何控制使用的模型可以通过CLAUDE_CODE_SUBAGENT_MODEL统一设置所有子代理的模型也可以在每个子代理的 frontmatter 中单独指定。Q在 Windows 上如何启用 PowerShell设置环境变量CLAUDE_CODE_USE_POWERSHELL_TOOL1同时在 settings.json 中设置defaultShell: powershell。Q如何禁用所有斜杠命令设置CLAUDE_CODE_DISABLE_SLASH_COMMANDS1环境变量。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧