把 Claude Code 指向
自定义 API 端点
官方网关文档(2026-09-02 查):两个变量就够了——ANTHROPIC_BASE_URL 指端点,ANTHROPIC_AUTH_TOKEN 提供凭据并被放进 Authorization 头。也可以写进 settings.json 的 env 块。🔴 Anthropic 托管的网页版与云端会话不走网关,那里设的变量不生效。
四个要点
最小配置
ANTHROPIC_BASE_URL 指向端点,ANTHROPIC_AUTH_TOKEN 提供凭据。多数情况这两个就够。
凭据落在哪个头
官方文档写明:这个环境变量就是把 key 放进网关读取的 Authorization 头的那个东西。
第二个配置位置
不想用环境变量的话,可以写进 settings.json 的 env 块,形态与环境变量一一对应。
网页版与云端会话
官方明写:Anthropic 托管的产品始终走 Anthropic 自己的 API;在云端会话环境里设的网关变量不会被应用。
为什么这两个变量就够
Claude Code 的请求出口是可配置的:ANTHROPIC_BASE_URL 决定发到哪里,ANTHROPIC_AUTH_TOKEN 决定带什么凭据。官方文档把后者说得很直白——这个环境变量就是把 key 放进 Authorization 头的那一步,而网关读的正是那个头。所以只要你的端点接受 Anthropic 协议、并按 Authorization 头鉴权,接入就成立,不需要改客户端代码。
官方文档给的两种写法(2026-09-02 查)
写法一是环境变量:ANTHROPIC_BASE_URL 设为你的端点,ANTHROPIC_AUTH_TOKEN 设为凭据。写法二是写进 settings.json 的 env 块,键名与环境变量相同。文档另外给了 apiKeyHelper:它是 Claude Code 用来取凭据的一条命令,替代静态环境变量,适合凭据需要轮换的场景。文档里还有「把网关模型加进模型选择器」和「关掉网关路径之外的流量」两节,企业部署时值得一并看。
接入的三步
设两个变量:ANTHROPIC_BASE_URL 指向端点,ANTHROPIC_AUTH_TOKEN 填凭据。先在一个干净的 shell 里试,别一上来就写进全局配置。
发一个最小请求确认通了。看响应里回显的 model 是不是你请求的那个——这一步顺带验证了中间有没有改写层。
稳定之后再固化:写进 settings.json 的 env 块,或者在 CI 里用密钥管理注入(文档给的 CI 形态是把凭据从 secrets 传给 ANTHROPIC_AUTH_TOKEN)。凭据需要轮换就换成 apiKeyHelper。
官方文档写了的 vs 需要问你的端点方
官方文档写了
① ANTHROPIC_BASE_URL 与 ANTHROPIC_AUTH_TOKEN 两个变量的作用;② 凭据经 Authorization 头传递;③ settings.json 的 env 块是等价的第二种写法;④ apiKeyHelper 用命令取凭据替代静态变量;⑤ Anthropic 托管的网页版与云端会话不走网关,那里的网关变量不生效。
需要问你的端点方
base URL 到底该不该带路径后缀、支持哪些模型 id、是否支持 1M 上下文与缓存、并发上限是多少——这些取决于你接的那个端点,官方文档不会替它回答。收到 404 时先核对 base URL 的路径部分与端点文档是否一致;收到 401 先确认凭据是走 Authorization 头而不是别的头。
两种配置位置
环境变量
改起来最快,适合先试通。缺点是容易漏——换个终端、换个 CI runner 就没了,而且凭据会出现在进程环境里。适合验证阶段和一次性任务。
settings.json 的 env 块
跟着配置走,不依赖你当前 shell 的状态,适合固化。凭据仍然是明文落盘,需要轮换或不想落盘的场景应该改用 apiKeyHelper:它是一条命令,由 Claude Code 在需要时调用取凭据。
三个最常见的卡点
① 变量设了但没生效:确认你设的是当前进程能看到的环境,且没有被 settings.json 里的同名键覆盖;两处都有时以实际加载顺序为准。② 网页版或云端会话里不生效:这是官方明确说明的行为——那些是 Anthropic 托管的产品,始终走 Anthropic 自己的 API。③ 某些依赖账号身份的功能异常:文档提到,用 ANTHROPIC_AUTH_TOKEN 认证的会话在做可用性检查时可能得到与组织设置不一致的结果,因为那个检查需要 claude.ai 登录或 Anthropic API key。
在 QCode 上
我们提供 Anthropic 协议兼容的端点,配置方式就是上面那两个变量。接通之后建议立刻做两件事:一是发一个最小请求看响应里回显的 model 与你请求的是否一致;二是把 usage 与账单对一次,确认扣减口径符合预期。这两步花不了几分钟,但能在放量之前把「接错了」和「计价与预期不符」这两类问题挡在前面。
常见问题
最少要设哪几个变量?
两个:ANTHROPIC_BASE_URL 指向端点,ANTHROPIC_AUTH_TOKEN 提供凭据。官方文档说明后者就是把 key 放进 Authorization 头的那个变量。
base URL 要不要带路径后缀?
取决于你接的端点,官方文档不替它回答。最快的判断方式是先按端点方文档写,发一个最小请求;如果收到 404,第一个要核对的就是路径部分。
能不写环境变量吗?
可以,写进 settings.json 的 env 块即可,键名与环境变量相同。凭据需要轮换、或不想让它明文落盘时,改用 apiKeyHelper——它是一条由 Claude Code 调用来取凭据的命令。
为什么网页版里设了不生效?
这是官方明确说明的行为:Anthropic 托管的网页版等产品始终使用 Anthropic 自己的 API,不属于网关部署的一部分,在云端会话环境配置里设的网关变量不会被应用。要让流量必须走网关,就不要依赖那条路径。
CI 里怎么配?
官方文档给的形态是把凭据从密钥管理里传给 ANTHROPIC_AUTH_TOKEN,base URL 照常设。不要把凭据写进仓库里的配置文件——那和写进代码没有区别。
接通之后第一件该验的事是什么?
看响应里回显的 model 是不是你请求的那个。如果多了请求里没有的前缀、后缀或供应商名,说明中间存在改写层。这不必然是坏事,但它决定了你后面读账单时该怎么归因。
信息来源
两个环境变量的作用、凭据经 Authorization 头传递、settings.json 的 env 块写法、apiKeyHelper 的定义、以及「Anthropic 托管的产品始终使用 Anthropic 的 API,云端会话环境里设的网关变量不会被应用」:Anthropic 官方文档「Connect Claude Code to an LLM gateway」(code.claude.com/docs/en/llm-gateway-connect,2026-09-02 抓取)。具体端点的路径形态、可用模型与限额取决于你所接的服务方,本页不代其回答。
相关阅读
Cline 的 OpenAI 兼容配置
另一类客户端的自定义端点配置形态。
怎么判断一个 AI API 中转值不值得用
接通之后该验什么:响应回显、缓存命中、usage 对账。
Claude Code 完全指南
从安装到日常工作流的整体说明。
本页引用的官方文档抓取于 2026-09-02,可能更新。具体端点的路径形态、模型集合与限额以你所接服务方的文档为准;客户端行为以 Anthropic 官方文档为准。