当前位置: 首页 > news >正文

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 使用环境变量来控制行为,这些变量可以通过以下方式设置:

环境变量优先级从高到低:命令行 > 项目级 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_KEY="sk-ant-xxxxx"
export ANTHROPIC_BASE_URL="https://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-5claude-sonnet-4-5claude-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 做复杂推理,子代理统一用 Sonnet
export ANTHROPIC_MODEL="claude-opus-4-5"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5"


工具与命令变量

变量名说明
CLAUDE_CODE_DISABLE_SLASH_COMMANDS禁用所有斜杠命令1
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS禁用内置的 Git 相关系统提示词(优先级高于 settings.json 中的includeGitInstructions1
CLAUDE_CODE_USE_POWERSHELL_TOOL在 Windows 上启用 PowerShell 工具(需要配合defaultShell: "powershell"设置)1
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL跳过自动安装 IDE 扩展(替代autoInstallIdeExtension设置)1
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS禁用后台任务功能1

权限与安全变量

变量名说明
CLAUDE_CODE_PERMISSION_MODE设置默认权限模式(详见子代理章节)defaultacceptEditsdontAskbypassPermissionsplan
CLAUDE_CODE_ALLOWED_TOOLS允许 Claude 使用的工具白名单(逗号分隔)工具列表
CLAUDE_CODE_DISALLOWED_TOOLS禁止 Claude 使用的工具黑名单工具列表

权限模式详解

实例

# 在 CI 环境中使用只读模式
export CLAUDE_CODE_PERMISSION_MODE="plan"
export CLAUDE_CODE_ALLOWED_TOOLS="Read,Grep,Glob,Bash(gh *)"


日志与调试变量

变量名说明
CLAUDE_CODE_DEBUG启用调试输出1
CLAUDE_CODE_ENABLE_TELEMETRY启用遥测数据收集1
OTEL_METRICS_EXPORTEROpenTelemetry 指标导出器otlp

会话与历史变量

变量名说明
CLAUDE_CODE_DISABLE_HISTORY禁用对话历史保存1
CLAUDE_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 自动清理1

GitHub Actions 专用变量

变量名说明
ANTHROPIC_VERTEX_PROJECT_IDVertex AI 项目 ID(使用 Vertex 时由认证步骤设置)GCP 项目 ID
CLOUD_ML_REGIONVertex AI 区域区域代码(如us-east5

settings.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 API
export ANTHROPIC_BASE_URL="https://proxy.company.com/anthropic/v1"
export ANTHROPIC_API_KEY="your-api-key"

场景二:优化成本配置

实例

# 主对话用 Sonnet,子代理统一用 Haiku
export ANTHROPIC_MODEL="claude-sonnet-4-5"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-haiku-3-5"

场景三:CI/CD 环境安全配置

实例

# CI 环境中使用只读模式
export CLAUDE_CODE_PERMISSION_MODE="plan"
export CLAUDE_CODE_DISABLE_HISTORY="1"
export CLAUDE_CODE_ALLOWED_TOOLS="Read,Grep,Glob,Bash(gh *)"

场景四:Windows PowerShell 环境

实例

# Windows 上启用 PowerShell
$env:CLAUDE_CODE_USE_POWERSHELL_TOOL = "1"
# 在 settings.json 中设置 defaultShell


优先级与覆盖

环境变量的优先级(从高到低):

  1. 命令行export设置
  2. 项目级.claude/settings.json
  3. 用户级~/.claude/settings.json
  4. Claude Code 默认值

settings.json中配置的变量会覆盖同名的 shell 环境变量。这是因为 settings.json 在 Claude Code 进程启动时被显式读取,优先级更高。


查看当前配置

使用/config命令可以查看当前的完整配置:

/config

这会显示所有当前生效的设置,包括环境变量和 settings.json 中的配置。


最佳实践

1、敏感信息处理

2、按环境配置

3、集中管理


常见问题

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_TOOL=1,同时在 settings.json 中设置defaultShell: "powershell"

Q:如何禁用所有斜杠命令?

设置CLAUDE_CODE_DISABLE_SLASH_COMMANDS=1环境变量。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

http://www.cnnetsun.cn/news/2705127.html

相关文章:

  • 用C# WinForm给汇川H3U PLC写个上位机:从API下载到读写数据的完整流程
  • 别再死记硬背卷积公式了!用Python手搓一个动态卷积模块,理解CondConv和Dynamic Conv的核心差异
  • python爬虫(爬取王者荣耀英雄图片)
  • PHP服务器监控与性能指标采集
  • 别再只玩AutoGPT了!手把手教你用Python+LangChain从零搭建一个ReAct智能体(附完整代码)
  • 告别虚拟机卡顿:用WSL2+Docker搭建韦东山同款嵌入式Linux开发环境(保姆级避坑)
  • 空间转录组去卷积工具怎么选?CARD、Cell2location、SPOTlight实战对比与避坑指南
  • 告别DOM和JAXB!用Hutool的XmlUtil搞定XML读写,5分钟上手Java数据交换
  • 别再只用PLY和OBJ了!聊聊PCL库的‘亲儿子’PCD格式,为什么它才是点云处理的‘瑞士军刀’?
  • 卫星像片图
  • 新手别慌!用Pikachu靶场从零理解SQL注入的10种花样(附详细Payload)
  • 纳什均衡:博弈论中的“非合作”思想及其工程应用
  • 从CHI 2011看人机交互范式演进:环境式交互与无触控技术实践
  • Spring项目启动报NoClassDefFoundError?别慌,手把手教你搞定Commons Logging依赖冲突
  • GLIP实战:用自定义提示词玩转零样本目标检测,从‘沙发电视’到‘泡泡头手办’
  • 基于机构位移分析的索杆张力结构形态解析方案【附仿真】
  • 避坑指南:Proteus 8.6在Win10/Win11系统下的安装常见问题与解决方案
  • 告别手动下载!用Flutter auto_updater给你的Windows/Mac桌面应用加上自动更新(保姆级配置流程)
  • 告别环境配置焦虑:用PHPStudy+VSCode搭建PHP调试环境,手把手教你搞定XDebug
  • 手把手教你为TMS320F28377D项目移植IQMath库(附16位/30位精度选择指南)
  • 别再乱配了!华为交换机MQC实战:用流策略精准限制不同部门网速(附完整配置命令)
  • 别再死记硬背了!用生活中的例子秒懂CPU、内存和I/O(比如点奶茶)
  • Microsoft Biology Foundation:高性能.NET生物信息学框架实战指南
  • 别光顾着‘爆库’:用sqli-labs靶场系统梳理SQL注入的完整攻击链(附思维导图)
  • NLP如何重塑SEO:从关键词匹配到语义理解的实战指南
  • 别再只盯着损失曲线了!可视化卷积VAE潜在空间,教你‘看懂’模型学到了什么
  • 保姆级教程:用ESPFlashDownloadTool_v3.6.3给NodeMCU烧录固件(附Flash地址详解)
  • FPGA时序约束入门:手把手教你用Vivado给跨时钟域路径‘上保险’
  • 从‘存不了Emoji’到‘乱码’:一次搞懂MySQL字符集utf8mb4的完整配置流程
  • 别再死记硬背OSI七层模型了!用eNSP+Wireshark抓个包,亲手‘看见’网络协议