先判断你的情况:代理、官方 Key、公司网关还是中转地址
| 你的情况 | 该做什么 | 要注意 |
|---|---|---|
| 网络不通,请求发不到官方地址 | 设置网络代理,不是中转 | 见 Claude Code 代理设置 |
| 用官方账号或官方 API Key | 不需要 ANTHROPIC_BASE_URL | 设置了它,请求就不再发往官方地址 |
| 公司或自建的 LLM 网关 | 按管理员给的地址和凭据配置,可能已通过托管设置下发 | 先运行 /status 看 Anthropic base URL 一行是否已有值 |
| 第三方提供的中转地址 | 同样填 ANTHROPIC_BASE_URL 与凭据 | 地址的运营方会收到你的请求内容和凭据,是否信任由你自己判断,本文不推荐任何服务 |
| 想在多套地址和密钥之间切换 | 手动保存多份配置,或用切换工具 | 见下文「多套配置怎么切换」 |
Claude Code 中转 API 怎么配置:settings.json 的 env 写法
文件必须是严格 JSON,不能有注释和多余的逗号。地址 relay.example.com 和令牌都是占位,换成你自己的。
凭据变量的优先级高于已保存的 claude.ai 登录。用 ANTHROPIC_API_KEY 时,交互模式下会先问你是否批准一次。出现两种凭据冲突的警告时,运行 /logout 保留中转凭据,或去掉变量改回登录。
{
"env": {
"ANTHROPIC_BASE_URL": "https://relay.example.com",
"ANTHROPIC_AUTH_TOKEN": "sk-your-token"
}
}拿到两样东西
对方提供的 base URL,和一个凭据。凭据是 Bearer 令牌就用 ANTHROPIC_AUTH_TOKEN;对方说 API Key、x-api-key,就用 ANTHROPIC_API_KEY。官方写明:令牌变量以 Authorization: Bearer 头发送,API Key 变量以 x-api-key 头发送,用错变量会得到 401。
写进 ~/.claude/settings.json 的 env 块
这个文件对你的所有项目生效,终端、VS Code 扩展共用。官方提醒:不要把凭据写进项目里的 .claude/settings.json,它会被提交并分享给克隆仓库的人。
运行 claude,用 /status 核对
/status 的 Anthropic base URL 一行应显示你的地址,Auth token 或 API key 一行说明用的是你设置的凭据,而不是已保存的登录。
VS Code、桌面版里的中转地址怎么填
- 终端 CLI
- 读取 shell 里导出的变量和 settings.json 的 env 块。两处都设置同一变量时,官方写明以 settings.json 的值为准。
- VS Code 扩展
- 官方建议把网关变量写在 VS Code 用户设置的 claudeCode.environmentVariables 里,扩展在启动前会检查这里的凭据。写在 ~/.claude/settings.json 的值会传给 Claude 进程,但扩展自己的登录检查看不到。
- Claude 桌面版
- 桌面版本地会话的 ANTHROPIC_BASE_URL 由桌面版自己设置,写进 settings.json 或环境变量都不会改变它。要用网关,在桌面版的第三方推理配置里填地址。
配置前先验证:用 curl 确认地址和凭据可用
在终端先 export 两个变量,再发一次只要 1 个 token 的请求,能在打开 Claude Code 之前确认地址和凭据。返回以 {"id":"msg_ 开头的 JSON,说明地址通、凭据有效。官方说明返回「未知模型」之类的错误同样证明地址和凭据没问题,因为网关先验证了请求才拒绝模型名;返回 401 说明凭据被拒,换另一个凭据变量再试。
这条命令里的 model 换成对方支持的模型名。Claude Code 向网关发送的请求格式,官方在网关兼容性指南里有说明,地址需要兼容这套接口才能正常工作。
export ANTHROPIC_BASE_URL=https://relay.example.com
export ANTHROPIC_AUTH_TOKEN=sk-your-token
curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'多套中转配置怎么切换:手动、cc switch 与 Pax
手动切换最简单的办法,是把每套地址和凭据各存成一个 JSON 文件,用 claude --settings 指定。官方说明 --settings 可以传 JSON 字符串或文件路径,它只对这一次会话有效,不改写你的设置文件。
CC Switch 是 GitHub 上的第三方桌面应用,MIT 许可,在 Windows、macOS 和 Linux 上管理多个 AI 编程工具的 API 提供方配置。按项目自己的说明,它只改写连接字段,改写前会备份原文件。它和 Pax 的 AI Profile 解决的是同一类问题,选哪个看你需不需要同时看用量和网络。
# ~/.claude/relay-a.json 里放一份 env 块,然后这样启动
claude --settings ~/.claude/relay-a.json用 Pax 怎么做:用 AI Profile 保存并切换中转配置
Pax Connect 是基于 sing-box 的 Mac 代理客户端,让 Claude Code、Codex 无需环境变量即可走代理,配置中转 API,并在本机统计 Token 用量与费用。App 界面目前只有中文。
AI Profile 保存一套服务地址、Key、费用倍率和模型。应用到 Claude Code 时,Pax 只改写 ~/.claude/settings.json 的 env:写入 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN;如果文件里原本使用 ANTHROPIC_API_KEY,则保留该变量。文件里其他设置保持不变。Pax 接受任意地址,不内置也不推荐任何中转服务。应用到 Codex 时则写入 ~/.codex/config.toml 的 base_url 和 auth.json。
打开「模型用量 → Profile」
新建 Profile,填你自己的服务地址、Key,并选模型。图中的 test.example 是演示地址,不能调用。
保存之后,明确应用到 Claude Code
保存和应用是两步。列表里显示「未应用」的配置,Claude Code 还没有切换过去。
回到终端,用 /status 核对
确认 Anthropic base URL 是你刚应用的地址。切换另一套时,重复应用即可。
验证与排查:中转配置了却用不了
先分清是网络问题还是账号问题。curl 都连不上,或报连接被拒、域名解析失败,是网络或地址问题,网络不通的做法见 Claude Code 代理设置。curl 能通但 Claude Code 报错,多半是凭据、模型名或网关兼容性。
想知道中转用了多少 Token、花了多少钱,可以用 Claude Code 用量查看里的方法,在本机日志里统计,不依赖中转方的账单页面。
| 症状 | 原因 | 处理 |
|---|---|---|
| 401,提示令牌无效 | 凭据填错了变量,或已被撤销 | 令牌用 ANTHROPIC_AUTH_TOKEN,API Key 用 ANTHROPIC_API_KEY;必要时重新生成 |
| Connection refused 或 ENOTFOUND | 地址写错,或 VPN、防火墙挡住了路径 | 用上面的 curl 复现,确认地址和网络 |
| 400,提示 Extra inputs are not permitted 之类 | 网关上游不接受 Claude Code 发送的新字段 | 设置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
| 403,网页形式的 Forbidden | 网关前面的防火墙拦截了请求体 | 需要网关一侧放行 /v1/messages,客户端无法解决 |
| /model 里没有中转提供的模型 | 模型名不在 Claude Code 内置列表 | 开启 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1,或按官方的模型配置变量添加模型名 |
| 已设置中转,却还要求登录 | 凭据变量没有被读到 | 把变量放在 shell 或 ~/.claude/settings.json,而不是项目里的设置文件 |
常见问题
claude code 中转 api 怎么配置?
在 ~/.claude/settings.json 的 env 块里写 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN(或 ANTHROPIC_API_KEY),保存后运行 claude,用 /status 核对地址和凭据来源。
claude code 代理地址填在哪里?
如果你说的代理地址是 API 请求发往的地址,填 ANTHROPIC_BASE_URL。如果是网络代理(例如 127.0.0.1:7890),填 HTTPS_PROXY,见 Claude Code 代理设置。两者可以同时使用。
claude code 第三方代理要注意什么?
地址的运营方能收到你的请求内容和凭据,所以先想清楚信任谁。其次要确认对方兼容 Claude Code 发送的接口,用 curl 验证。配置写对不代表账号可用或模型能调用。
cc switch 能用来切换 claude code 中转吗?
可以,这正是它的用途:CC Switch 是第三方桌面应用,管理多个 AI 工具的 API 提供方配置。Pax 的 AI Profile 做同样的事,区别是 Pax 同时提供网络接管和用量统计。
ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 选哪个?
看对方给的凭据类型:Bearer 令牌用 ANTHROPIC_AUTH_TOKEN,API Key 或 x-api-key 用 ANTHROPIC_API_KEY。不确定时官方建议先用 ANTHROPIC_AUTH_TOKEN,401 再换另一个。
中转配好了却连不上,是网络问题还是账号问题?
用 curl 直接请求 /v1/messages。连接被拒或解析失败是网络或地址问题;返回 401 是凭据问题;返回未知模型说明地址和凭据没问题,只是模型名不对。
