跳转到内容

Gateway rejected model "claude-haiku-4-5" (HTTP 404) - CC Switch

Quick fix

在配置中开启 isFullUrl=true 并填写完整 API 路径,禁止 cc-switch 自动拼接 /v1/messages。

报错原文
Inference — Gateway rejected model "claude-haiku-4-5" (HTTP 404)

当使用支持 OpenAI Responses API 的第三方提供商(如火山方舟 Agent Plan、GMI Cloud 等)时,cc-switch 默认的 URL 拼接逻辑会导致请求路径错误。cc-switch 会将用户配置的 Base URL 作为前缀,并自动追加 `/v1/messages` 或 `/v1/responses` 后缀。

例如,若提供商的正确接口为 `https://ark.cn-beijing.volces.com/api/plan/v3/responses`,cc-switch 可能会将其拼接为 `.../api/plan/v3/v1/messages`,导致上游服务返回 HTTP 404 Not Found。此外,cc-switch 的 Claude Desktop 编辑表单有时会自动清除 `isFullUrl` 标记,导致配置无法持久保存正确的完整 URL。

  1. 打开 cc-switch 配置文件,找到对应提供商的配置项。

  2. 将 provider 的 url 设置为完整的 API 端点地址(包含协议、域名和具体路径),不要只填域名。

  3. 强制设置 isFullUrl 为 true,确保 cc-switch 不再自动追加 /v1/messages 或 /v1/responses 路径。

ToolClaude Code
Version3.16.3 - 3.16.4
PlatformsmacOS
为什么 curl 能通,但 cc-switch 报错?
因为 curl 使用的是你手动构造的正确完整 URL,而 cc-switch 默认会在你提供的 Base URL 后面自动拼接路径(如 /v1/messages)。如果提供商的接口路径不是标准的 /v1/chat/completions 或 /v1/messages,就会报 404。
我在界面上修改了配置,保存后还是报错怎么办?
这是 cc-switch 3.16.x 版本的一个已知缺陷,界面编辑器可能会自动删除 `isFullUrl` 标记。请直接编辑本地配置文件 `~/.cc-switch/config.json`,手动添加或确保 `isFullUrl: true` 存在且未被移除。
火山方舟的正确 URL 应该怎么写?
应填写完整的响应式 API 地址,例如 `https://ark.cn-beijing.volces.com/api/plan/v3/responses`,并在同配置块中设置 `isFullUrl: true`。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。