Claude Code 接入自定义 API:用自己的 Key 和反代

Claude Code 接入自定义 API:用自己的 Key 和反代
Claude Code 是 Anthropic 官方的命令行 AI 编程助手,默认需要登录官方账号或付费订阅。但如果你已经有了 API Key,或者搭了自己的反代服务,完全可以绕过官方登录,直接用自己的后端。
这篇文章教你怎么配置。5 分钟搞定。
效果
配置完成后:
- 启动 Claude Code 不再需要登录
- 请求走你指定的 API 地址
- 可以自定义默认模型(比如用 Gemini 当 Haiku)
- 多 Key 轮询、成本控制都在你自己手里
快速开始
整个配置只需要改 3 个文件,都在 ~/.claude/ 目录下。
第一步:跳过登录
编辑 ~/.claude.json(注意不是 ~/.claude/ 目录下的),加一行:
{
"hasCompletedOnboarding": true
}
这告诉 Claude Code "我已经完成了新手引导",启动时就不会强制你登录了。
第二步:占位 API Key
编辑 ~/.claude/config.json:
{
"primaryApiKey": "any"
}
这个值随便填,只是个占位符。真正的 Key 在下一步通过环境变量注入。
第三步:配置反代地址和 Key
编辑 ~/.claude/settings.json,在 env 字段里配置:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "<REDACTED_TOKEN>",
"ANTHROPIC_BASE_URL": "<REDACTED_URL>"
}
}
注意:ANTHROPIC_BASE_URL 不需要带 /v1 后缀,Claude Code 会自己拼。
完整示例:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-xxx",
"ANTHROPIC_BASE_URL": "<REDACTED_URL>",
"ANTHROPIC_MODEL": "claude-sonnet-4-5-20250514"
},
"alwaysThinkingEnabled": true,
"includeCoAuthoredBy": false
}
保存后重启 Claude Code,搞定。
进阶:自定义模型映射
Claude Code 内部会用三个模型:Opus(最强)、Sonnet(默认)、Haiku(快)。你可以通过环境变量把它们映射到任意模型:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "<REDACTED_TOKEN>",
"ANTHROPIC_BASE_URL": "<REDACTED_URL>",
"ANTHROPIC_MODEL": "claude-opus-4-5-thinking",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5-thinking",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5-thinking",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gemini-2.5-flash"
}
}
这样做的好处:
- Haiku 用 Gemini Flash 替代,省钱又快
- Opus 用 thinking 版本,推理更强
- 反代那边可以做模型名映射,Claude Code 这边不用改
我踩过的坑
1. 环境变量名不要写错
是 ANTHROPIC_AUTH_TOKEN,不是 ANTHROPIC_API_KEY。写错了不报错,但请求会 401。
2. Base URL 不要带 /v1
写 <REDACTED_URL>,不要写 <REDACTED_URL>/v1。Claude Code 会自己拼路径,你写了 /v1 反而会变成 /v1/v1/messages。
3. hasCompletedOnboarding 的位置
这个配置要写在 ~/.claude.json,不是 ~/.claude/config.json。两个文件名很像,别搞混了。
配置文件速查
| 文件 | 用途 |
|---|---|
~/.claude.json |
用户状态(onboarding、tips 历史等) |
~/.claude/config.json |
API Key 占位 |
~/.claude/settings.json |
主配置(环境变量、权限、插件等) |
下一步
- 想自建反代?可以用 one-api 或 Cloudflare Worker
- 想多 Key 轮询?反代层做负载均衡,Claude Code 这边只配一个入口
- 想降低成本?把 Haiku 映射到 Gemini Flash,又快又便宜
附录:Claude Code Skill 配置
如果你用 Claude Code 帮别人配置这个,可以把下面这个 Skill 放到 .claude/skills/claude-api-setup/SKILL.md:
---
name: claude-api-setup
description: "配置 Claude Code 使用自定义 API 地址和 Key。触发词:配置反代、自定义 API、跳过登录"
---
# Claude Code API 配置
## 功能
帮用户配置 Claude Code 使用自己的 API Key 和反代服务,跳过官方登录。
## 使用方式
- "帮我配置 Claude Code 用自己的 API"
- "怎么让 Claude Code 走反代"
- "Claude Code 跳过登录怎么弄"
## 配置步骤
1. 编辑 `~/.claude.json`,添加:
```json
{ "hasCompletedOnboarding": true }
编辑
~/.claude/config.json,添加:{ "primaryApiKey": "any" }编辑
~/.claude/settings.json,在 env 字段添加:{ "env": { "ANTHROPIC_AUTH_TOKEN": "<REDACTED_TOKEN>", "ANTHROPIC_BASE_URL": "<REDACTED_URL>" } }
验证
运行 claude 命令,应该不再要求登录,直接进入对话。
---
## 附录:给 AI 的复现指令
```text
帮我配置 Claude Code 使用自定义 API。
目标:让 Claude Code 走我自己的反代,不用官方登录。
配置文件:
- ~/.claude.json - 加 hasCompletedOnboarding: true
- ~/.claude/config.json - 加 primaryApiKey: "any"
- ~/.claude/settings.json - 在 env 里加 ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_BASE_URL
我的反代地址:<REDACTED_URL>
我的 API Key:sk-xxx
注意:
- Base URL 不要带 /v1
- 环境变量名是 ANTHROPIC_AUTH_TOKEN 不是 ANTHROPIC_API_KEY
成功标志:运行 claude 命令不再要求登录