确认错误类型

如果 Claude Code 能进入 CLI,但发出第一轮请求后返回 model not found、not_found_error 或模型不存在,先保留错误片段,再按入口、Key、模型名和网关映射逐层查。

不要同时修改 URL、Token、模型名和代理地址。这个错误有时确实是模型名错了,但入口格式错、Key 对不上供应商、网关没有映射、旧终端变量残留,也会落到同一个表现。

Text
model: not_found_error
message: model not found

保存错误日志片段

先把错误里和模型、入口、状态码有关的几行保存下来。不要保存真实 API Key、Authorization header 或完整 Token。

如果日志里出现的是 404 endpoint not found,优先去看入口路径;如果明确出现 model not found,再继续检查模型名和网关映射。

  • 错误名:not_found_error、model not found、model not available
  • 请求入口:当前 ANTHROPIC_BASE_URL 指向哪个服务
  • 模型名:Claude Code 实际发出的主模型和 Haiku / 子任务模型
  • 网关:是否经过 LiteLLM、OpenRouter、公司代理或本地转发

检查 ANTHROPIC_BASE_URL

第一步检查 ANTHROPIC_BASE_URL。Claude Code 需要 Anthropic-compatible 入口,不是 OpenAI-compatible 入口。入口填错时,错误不一定写成 404,也可能表现成 model not found。

DeepSeek 的 Anthropic 格式入口是 https://api.deepseek.com/anthropic。不要填 https://api.deepseek.com,也不要自己追加 /v1/messages。

DeepSeek Anthropic 入口https://api.deepseek.com/anthropic
不要填成https://api.deepseek.com
不要手动追加/v1/messages
PowerShell
$env:ANTHROPIC_BASE_URL

核对 Key 和模型名来源

入口、Key 和模型名要来自同一家供应商。DeepSeek 的入口配 GLM、MiniMax 或公司网关里的模型名,不一定会请求到你以为的模型;经过网关时,还可能返回 model not found。

Token 不要完整打印到屏幕。只看长度,再确认当前 shell 里读到的主模型名、Haiku 模型名和子任务模型名。

PowerShell
$env:ANTHROPIC_AUTH_TOKEN.Length
$env:ANTHROPIC_MODEL
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL
$env:CLAUDE_CODE_SUBAGENT_MODEL

如果你使用 ANTHROPIC_API_KEY 而不是 ANTHROPIC_AUTH_TOKEN,也要用同样方式确认当前 shell 里读到的是目标供应商的 Key。

设置最小复现配置

如果你改过很多轮配置,先开一个新的 PowerShell,只放入口、Key 和一个明确模型。这样可以把“当前进程没读到配置”和“模型名不可用”分开。

这里的模型名用 DeepSeek 官方 Claude Code 示例里的模型。DeepSeek 文档说明,不支持的模型名会映射到 deepseek-v4-flash;如果你接的是其它供应商或网关,把入口、Key 和模型名全部换成同一家文档里的值。

PowerShell
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="<你的 DeepSeek API Key>"
$env:ANTHROPIC_MODEL="deepseek-v4-flash"

指定模型启动验证

最小配置进入当前 PowerShell 后,再启动 Claude Code。这里先指定同一个明确模型,避免 DEFAULT 模型变量把请求切到另一个名字。

如果这一步成功,再把 Opus、Sonnet、Haiku 和子任务模型逐个加回去。加回某一项后又报 model not found,问题就在那一个模型名或网关映射上。

PowerShell
claude --model deepseek-v4-flash

核对网关模型映射

如果你通过 LiteLLM、OpenRouter、公司代理或本地转发访问模型,供应商原始模型名不一定能直接用。网关可能要求你使用它自己的模型别名。

这时不要继续猜模型名。去网关配置或网关文档里确认 Claude Code 发出的模型名会被映射到哪个真实模型,以及这个模型是否允许当前 Key 调用。

网关只配置了真实模型名,没有配置 Claude Code 发出的别名

在网关里增加模型别名映射,或者把 ANTHROPIC_MODEL 改成网关已经允许的别名。

主模型能用,Haiku 或子任务模型报找不到

继续检查 ANTHROPIC_DEFAULT_HAIKU_MODEL 和 CLAUDE_CODE_SUBAGENT_MODEL。Claude Code 不只会请求主模型。

同一个模型在 OpenAI SDK 能用,在 Claude Code 不能用

先确认网关是否支持 Anthropic Messages。OpenAI-compatible 可用,不等于 Claude Code 的 Anthropic 请求可用。

清理旧环境变量后重试

旧终端里可能还留着之前的 ANTHROPIC_BASE_URL、ANTHROPIC_MODEL 或 DEFAULT 模型变量。你在系统设置或 settings 文件里改了值,旧进程不一定会刷新。

临时排查时,建议新开 PowerShell。需要在当前窗口继续排查时,可以先清理这几个变量,再重新放入最小配置。

PowerShell
Remove-Item Env:ANTHROPIC_BASE_URL -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_MODEL -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_DEFAULT_OPUS_MODEL -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_DEFAULT_SONNET_MODEL -ErrorAction SilentlyContinue
Remove-Item Env:ANTHROPIC_DEFAULT_HAIKU_MODEL -ErrorAction SilentlyContinue
Remove-Item Env:CLAUDE_CODE_SUBAGENT_MODEL -ErrorAction SilentlyContinue

确认模型权限和可用状态

只有当入口、Key、当前变量和网关映射都确认没问题时,再判断模型是否下线、改名或没有权限。供应商模型名会变,旧教程里的模型名最容易在这里失效。

重新打开供应商模型列表,按当前文档填模型名。本文最后审校日期是 2026-06-05;如果你隔一段时间再看,先复查模型列表和网关入口。

  • 官方文档里已经没有这个模型名:按新模型名更新 ANTHROPIC_MODEL 和 DEFAULT 模型变量。
  • 账号没有权限调用这个模型:换成当前账号可用的模型,或在供应商后台开通权限。
  • 网关管理员限制了模型列表:使用网关允许的别名,不要直接套供应商原始模型名。

验证修复结果

修复后不要只看 Claude Code 有没有启动。成功标准是第一轮请求能返回、子任务模型不再报找不到、启动后没有同时出现 404 或 unsupported parameter。

如果同一个项目里多个人共用配置,把能跑通的入口、模型名、日期和 Claude Code 版本记录下来。不要记录真实 Key。

Text
日期:2026-06-05
Claude Code:填你的版本
入口:填当前 ANTHROPIC_BASE_URL
主模型:填当前 ANTHROPIC_MODEL
Haiku / 子任务模型:填当前 DEFAULT_HAIKU 和 SUBAGENT 模型
结果:首轮请求成功 / 子任务成功 / 仍失败的错误片段

参考来源

Claude Code LLM gateway 文档官方文档DeepSeek 模型与价格文档官方文档DeepSeek Anthropic API 文档官方文档

相关文章

Claude Code 接入 DeepSeek API:配置方法和报错处理智能编程 / 约 20 分钟ANTHROPIC_BASE_URL 配置入口选择配置解释 / 约 10 分钟DeepSeek Anthropic API 404 错误排查步骤错误日志 / 约 12 分钟