跳到正文
funcoding.ai
← Claude Code

Claude Code · 自定义模型

Claude Code 配置自定义模型:切换模型、接入网关与第三方兼容接口

用 /model 和环境变量指定模型,通过 ANTHROPIC_BASE_URL 接入 LLM 网关,以及接入 DeepSeek 等提供 Anthropic 兼容接口的服务。

2 分钟读完

Claude Code 的「自定义模型」分三个层次,从简单到复杂:

  1. 在 Claude 模型之间切换
  2. 通过云厂商或公司网关使用 Claude 模型
  3. 接入第三方提供的 Anthropic 兼容接口(非官方支持)

一、切换 Claude 模型

按优先级从高到低,任选一种方式:

Terminal window
# 会话中切换(不带参数会打开选择器)
/model sonnet
# 启动时指定
claude --model opus
# 环境变量
export ANTHROPIC_MODEL=opus

也可以写进 ~/.claude/settings.json:

~/.claude/settings.json
{
"model": "opus"
}

常用别名:default、sonnet、opus、haiku、opusplan(Plan 模式用 Opus,执行时切到 Sonnet),以及带 [1m] 后缀的 1M 上下文版本,例如 sonnet[1m]。

别名实际指向哪个模型,可以用下面这些环境变量覆盖:

环境变量 作用
ANTHROPIC_DEFAULT_OPUS_MODEL opus 别名对应的模型
ANTHROPIC_DEFAULT_SONNET_MODEL sonnet 别名对应的模型
ANTHROPIC_DEFAULT_HAIKU_MODEL haiku 别名,以及后台任务使用的模型
CLAUDE_CODE_SUBAGENT_MODEL 子智能体默认使用的模型

ANTHROPIC_SMALL_FAST_MODEL 已弃用,请改用 ANTHROPIC_DEFAULT_HAIKU_MODEL。

二、接入 LLM 网关

如果公司自建了 LLM 网关(例如 LiteLLM),把 Claude Code 指向它只需要两个变量:

Terminal window
export ANTHROPIC_BASE_URL=https://llm-gateway.example.com
export ANTHROPIC_AUTH_TOKEN=sk-gateway-key
  • ANTHROPIC_AUTH_TOKEN 以 Authorization: Bearer 请求头发送,网关要求 x-api-key 时改用 ANTHROPIC_API_KEY
  • 想长期生效,写进 ~/.claude/settings.json 的 env 字段;不要写进项目里会提交到 Git 的 .claude/settings.json
~/.claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",
"ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"
}
}

配置好后启动 claude,运行 /status,看到 Anthropic base URL 一行显示网关地址就说明生效了。

如果网关提供了 Claude 以外的模型名,设置 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1,这些模型会出现在 /model 选择器里。

设置了网关凭据后,请求走网关按量计费,不再消耗 Claude 订阅的额度。

三、接入第三方 Anthropic 兼容接口

一些模型厂商提供了兼容 Anthropic Messages API 的接口,可以用同样的变量把 Claude Code 接到它们的模型上。以 DeepSeek 官方给出的配置为例:

~/.claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "<你的 DeepSeek API Key>",
"ANTHROPIC_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}

需要注意:

  • Anthropic 官方不支持通过网关把 Claude Code 路由到非 Claude 模型,出了问题只能找对应厂商
  • 第三方接口不一定支持 Claude Code 的全部特性,如果遇到 400 报错提示不认识某些字段,可以尝试设置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
  • 模型名、地址以各厂商最新文档为准

排查问题

现象 处理
返回 401 凭据放错了变量,在 ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 之间切换试试
启动时提示两个凭据冲突 运行 /logout 退出已保存的 claude.ai 登录,或取消设置环境变量
修改变量后没生效 环境变量只在启动时读取,需要重启 claude