先说结论:Claude Code这个工具本身很不错,但我猜很多人跟我一样,装完VS Code插件后第一件事就是想把模型换成自己常用的——要么是本地部署的模型,要么是其他服务商的API,要么是公司内部网关。这时候你就会在VS Code设置里翻到一个叫claudeCode.environmentVariables的配置项,网上的教程大多一句话带过,真正能把这玩意儿配明白的没几个。
这篇文章我打算把这个设置项彻底掰开揉碎,讲清楚它背后的原理、每个环境变量的作用、配完之后的验证方法,以及我实际踩过的坑。不管你是想接DeepSeek、Kimi这类国内模型服务,还是想接本地跑的模型服务,或者是公司内部封装好的网关,只要按这篇文章来配,基本不会卡太久。
这个内容适合三类人看:一是刚接触Claude Code、看官方文档看懵了的VS Code用户;二是已经能跑通官方模型、但想切到自定义模型省成本的开发者;三是单纯想知道环境变量到底怎么影响一个插件运行、想搞明白底层原理的技术爱好者。前者能照着抄,中间能看明白门道,后者能理解这个配置项为什么存在。
1. 先搞清楚claudeCode.environmentVariables是什么
1.1 这个设置项的真正身份:进程环境变量注入器
在VS Code里打开设置,搜索claudeCode.environmentVariables,你会看到它要求你填一个对象,形如:
json复制"claudeCode.environmentVariables": {
"ANTHROPIC_BASE_URL": "http://localhost:8000",
"ANTHROPIC_MODEL": "my-model"
}
这个设置项的底层机制其实很简单:VS Code插件启动Claude Code这个命令行工具时,会把这些键值对作为额外的环境变量注入到子进程里。换句话说,它相当于你在终端里先执行了一堆export命令,然后再跑claude命令。
理解这一层特别关键,因为很多人的困惑来源于“我在系统里明明配了环境变量,为什么插件就是不生效”。原因很简单:VS Code插件启动的进程是一个独立的子进程,它未必会加载你的shell配置文件(.bashrc、.zshrc这些),即使加载了,也可能被系统级配置覆盖。所以插件专门提供了这个设置项,让你在VS Code这个应用层面直接控制传给Claude Code进程的环境变量。
这个设计其实挺巧妙的。Claude Code的核心逻辑就是通过读环境变量来决定“你要连哪个服务、用哪个模型、拿哪个身份认证”。VS Code插件作为一个前端壳子,不需要在代码里写死任何模型逻辑,只要提供一个透传环境变量的入口就够了。
1.2 为什么自定义模型只能靠环境变量,没有图形化界面
不少人第一次找“自定义模型”选项时会在Claude Code的界面里翻半天,结果发现只有一个模型选择器,里面都是官方模型。这其实是设计取舍:Claude Code把模型相关的参数全部放到了环境变量这一层,而不是做成UI选项。
那图形界面里能选的那些模型是怎么回事?是插件内部根据环境变量算出来的。它会读取你现在配置的ANTHROPIC_MODEL和ANTHROPIC_SMALL_FAST_MODEL,然后在界面上显示出来。换句话说,环境变量配好了,界面上能选的模型自然就变了;环境变量没配,界面只能显示默认值。
还有个容易忽略的点:Claude Code的架构是VS Code插件 + CLI命令行工具的组合。官方推荐用npm安装CLI:npm install -g @anthropic-ai/claude-code,VS Code插件运行时会在PATH里找这个CLI。如果两个版本不匹配,或者CLI没装好,插件会报连接错误,这个坑后面会在问题排查里细说。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
