如果你在 VS Code 里装了 Claude Code 插件,大概率迟早会冒出这么一个需求:不想一直用官方 API Key,或者想接本地模型、第三方模型,甚至是团队内部自建的服务。这时候你会发现插件界面里能选的模型就那么几个,你想接的模型根本不在列表里。别急,插件留了一个非常关键的配置口子——claudeCode.environmentVariables,把环境变量配对了,几乎任何 Anthropic 协议兼容的模型服务都能被这个插件驱动起来。
今天就围绕这个配置项,从原理到实操,再到我踩过的坑,一次性聊透。这篇文章适合已经装好 VS Code 和 Claude Code 插件、但被自定义模型卡住的人,也适合想搞懂环境变量到底怎么生效的进阶用户。我会给出可直接复制的配置模板,也会解释为什么这么配,保证你照着做就能跑通。
1. claudeCode.environmentVariables 是什么,为什么自定义模型绕不开它
1.1 插件和 CLI 的关系,决定了配置方式
先理清一个底层逻辑:Claude Code 本身是一个命令行工具,VS Code 里的 Claude Code 插件只是在这个 CLI 外面包了一层图形界面。插件做的事情本质上是在 VS Code 内部启动一个 Claude Code 会话,然后把对话、文件读写、终端命令这些能力接到编辑器里来。
既然底层都是同一个 CLI,那它的配置方式就和命令行版本一致:通过环境变量。VS Code 插件单独暴露了一个 JSON 配置项 claudeCode.environmentVariables,专门让你往这个插件启动的会话里注入环境变量。这也是官方留给用户自定义模型的唯一正路。
很多人一开始会走弯路,比如去改插件的 JS 文件、去改系统全局环境变量、或者在网上找一些 hack 方式。其实都不用,插件设计者早就考虑到了这个需求,只是入口比较隐蔽。你只需要在 VS Code 的设置文件里写一段 JSON,就能完成模型服务地址、鉴权令牌、模型名称这几个核心参数的替换。
1.2 三个最关键的变量,先记住它们
要让 Claude Code 插件放弃默认的 Anthropic 官方服务,转向你自己的模型,只需要关注三个环境变量:
ANTHROPIC_BASE_URL:模型服务的请求地址。默认是 Anthropic 官方 API 地址。自定义模型时,把它指到你的模型服务商或者本地网关,比如http://localhost:11434/v1或者某个云服务的专属地址。ANTHROPIC_AUTH_TOKEN:请求时携带的鉴权令牌。Claude Code 会把它放在 HTTP 请求的Authorization: Bearer <token>头里。即使目标服务不校验令牌,也必须填一个非空字符串,不然 Claude Code 自己会先报鉴权错误。ANTHROPIC_MODEL:主模型名称。所有核心对话、代码生成、工具调用都走这个模型。另一个相关的变量是ANTHROPIC_SMALL_FAST_MODEL,它负责轻量任务,比如补全提示词、生成会话标题、简单分类。我强烈建议两个都配,否则部分小功能还是会尝试去请求默认模型,轻则报错,重则悄悄消耗官方额度。
打个比方:ANTHROPIC_BASE_URL 是把快递默认发往总部仓库的地址改成了你家附近的快递站,ANTHROPIC_AUTH_TOKEN 是进快递站的通行证,ANTHROPIC_MODEL 是你要取的货品编号。三个都对了,货才能顺利到你手上。
1.3 为什么不能直接在插件界面里选模型
这也是被问得最多的问题。Claude Code 自带的模型选择器里只有官方那几款模型,比如 Opus、Sonnet、Haiku。这是产品设计决定的,官方没有把“自定义供应商”做成可视化选项。但环
