API Error: 422 格式转换错误: Empty choices array Claude Code
Quick fix
上游 NVIDIA NIM 的 GLM-5.2 模型偶发返回空 choices 数组,建议在 cc-switch 中开启故障转移或重试请求。
Symptom
Section titled “Symptom”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 错误。
在 cc-switch 中为当前模型配置故障转移(Failover),当遇到空 choices 错误时自动降级调用其他 API 接口。
直接重试请求。该错误为上游 API 的间歇性问题,重新发送请求通常可以成功。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.16.5 - 3.19.1 (affected range)
PlatformsmacOSWindows
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 为什么桌面版不报错,只有 Claude Code 报错?
- 桌面版在 v3.16.3 已经修复了流式响应中 choices:[] 的 usage-only 尾包问题,但 Claude Code 依赖的 CLI 版本尚未同步修复此转换逻辑。
- 这个错误是 cc-switch 的问题还是上游 API 的问题?
- 根本原因是上游 API(如 NVIDIA NIM)返回了不符合标准 OpenAI 格式的空 choices 数组,但 cc-switch CLI 版缺乏对这种异常响应的容错处理。
Claude Code无法调用工具 NVIDIA代理 - CC Switch修复NVIDIA免费通道模型不稳定,建议切换至deepseek-ai/deepseek-v4-flash等稳定提供商。401 Unauthorized: Incorrect API key provided切换到 OpenAI Official 或关闭代理后,需手动清空 ~/.codex/auth.json 中残留的第三方 OPENAI_API_KEY 并重启 Codex 以恢复官方 OAuth 登录。api failed deserialize json body into按错误类型回退 Claude Code、升级 cc-switch、关闭本地代理或停止发送不支持的字段。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。