跳转到内容

API Error: 422 格式转换错误: Empty choices array Claude Code

Quick fix

上游 NVIDIA NIM 的 GLM-5.2 模型偶发返回空 choices 数组,建议在 cc-switch 中开启故障转移或重试请求。

报错原文
API Error: 422 格式转换错误: Empty choices array

当使用 NVIDIA NIM 等上游 API 调用 z-ai/glm-5.2 模型时,API 偶尔会返回仅包含 usage 统计信息而 choices 为空数组的响应(特别是在 100-500KB 的大请求中,失败率约 10-20%)。

cc-switch 桌面版已在 v3.16.3 修复了流式场景下的此问题,但供 Claude Code 使用的 CLI 版本尚未完全修复该 OpenAI 格式转换逻辑,导致解析空数组时抛出 422 或 502 错误。

  1. 在 cc-switch 中为当前模型配置故障转移(Failover),当遇到空 choices 错误时自动降级调用其他 API 接口。

  2. 直接重试请求。该错误为上游 API 的间歇性问题,重新发送请求通常可以成功。

ToolClaude Code
Version3.16.5 - 3.19.1 (affected range)
PlatformsmacOSWindows
为什么桌面版不报错,只有 Claude Code 报错?
桌面版在 v3.16.3 已经修复了流式响应中 choices:[] 的 usage-only 尾包问题,但 Claude Code 依赖的 CLI 版本尚未同步修复此转换逻辑。
这个错误是 cc-switch 的问题还是上游 API 的问题?
根本原因是上游 API(如 NVIDIA NIM)返回了不符合标准 OpenAI 格式的空 choices 数组,但 cc-switch CLI 版缺乏对这种异常响应的容错处理。

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