Gateway /v1/models returned an unexpected body:Claude Code
Quick fix
原帖尚无可验证解法;需让本地代理向 Claude Code 返回 Anthropic data 模型列表格式。
Symptom
Section titled “Symptom”Gateway /v1/models returned an unexpected body. The connection test needs
at least one model — add entries under Models to skip discovery, or fix
the provider's model list endpoint. (httpStatus: 200)在报告环境中,Claude Code 通过 CC Switch 本地代理访问 Claude 槽位。上游自建网关的 `GET /v1/models` 返回 Codex/ChatGPT 风格的 `{"models":[{"slug":...}]}` 响应,本地代理将其原样透传;Claude Code 期望 Anthropic 风格的 `{"data":[{"id":...}]}`,因此在 HTTP 200 时仍解析不到模型并报错。
`POST /v1/messages` 在该报告中可正常转换并完成对话,问题仅涉及模型发现。将 `/v1/models` 按目标应用协议转换为 Anthropic 格式是报告者提出的修复建议,原帖仍为 open,尚未提供可验证的解法。
原帖尚未提供可验证的解法。可关注源 issue 中关于 CC Switch 本地代理为 Claude 槽位转换 `/v1/models` 响应格式的后续进展。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.20.1(受影响报告环境)
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
(暂无 FAQ)
401 Unauthorized升级到 cc-switch 4.0.x;或手动清空 ~/.codex/auth.json 中残留的第三方 OPENAI_API_KEY 后重启 Codex,重新走 ChatGPT OAuth 登录。Auth conflict退出 Claude 官方登录、清理冲突的 ANTHROPIC_* 环境变量,并将 ~/.claude.json 的 hasCompletedOnboarding 设为 true 后重启终端。供应商 API Key 被覆盖:Codex 重启或切换后升级到 cc-switch v4.0.0 或更高版本;该版本重写了切换逻辑,避免供应商密钥互相覆盖并恢复官方登录态。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。