跳转到内容

格式转换错误: Failed to parse upstream response - Claude Code

Quick fix

升级 cc-switch 修复流式响应解析错误,或为讯飞等非标 API 开启“填充完整请求路径”并补全 URL。

报错原文
API Error: 422 {"error":{"message":"格式转换错误: Failed to parse upstream response: expected value at line 1 column 1","type":"proxy_error"}}

该 422 格式转换错误由多种原因共用同一个错误信封导致。最常见的原因是部分中转或 MaaS 网关在收到 stream:false 的请求时仍返回 SSE 流式响应,却将 Content-Type 标为 application/json,导致 cc-switch 按 JSON 解析失败。此外,对于讯飞等使用非标准路径(如 /v2 而非 /v1)的 API,路径拼接错误也会导致返回非预期格式从而触发此解析错误。

  1. 升级 cc-switch 到最新版本。官方已在 main 分支从结构上修复了该问题,代理会在解析失败时嗅探响应体,发现是 SSE 就聚合成正常的非流式响应返回。

  2. 如果使用的是讯飞 MaaS 等非标 API,请在 cc-switch 设置中开启“填充完整请求路径”功能。

  3. 在 API 地址配置中手动补全完整路径,例如在 URL 后追加 /chat/completions,或改用官方支持的 Anthropic 协议接口(如 https://maas-coding-api.cn-huabei-1.xf-yun.com/anthropic)。

ToolClaude Code
Version3.13.0 - 3.16.1
PlatformsmacOS
为什么第一条请求正常,后续请求频繁报 422 错误?
这是因为流式请求判断存在缺陷,代理只获取了第一次请求的 stream 值,导致后续请求有几率转换失败。请升级到最新版本以修复此问题。
报错提示 Your input exceeds the context window of this model 也是格式转换错误吗?
不是,这是由于输入内容超出了模型的上下文窗口限制。请压缩你的输入内容后再试。

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