格式转换错误: Failed to parse upstream response - Claude Code
Quick fix
升级 cc-switch 修复流式响应解析错误,或为讯飞等非标 API 开启“填充完整请求路径”并补全 URL。
Symptom
Section titled “Symptom”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,路径拼接错误也会导致返回非预期格式从而触发此解析错误。
升级 cc-switch 到最新版本。官方已在 main 分支从结构上修复了该问题,代理会在解析失败时嗅探响应体,发现是 SSE 就聚合成正常的非流式响应返回。
如果使用的是讯飞 MaaS 等非标 API,请在 cc-switch 设置中开启“填充完整请求路径”功能。
在 API 地址配置中手动补全完整路径,例如在 URL 后追加 /chat/completions,或改用官方支持的 Anthropic 协议接口(如 https://maas-coding-api.cn-huabei-1.xf-yun.com/anthropic)。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.13.0 - 3.16.1
PlatformsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 3 个真实 issue
- 为什么第一条请求正常,后续请求频繁报 422 错误?
- 这是因为流式请求判断存在缺陷,代理只获取了第一次请求的 stream 值,导致后续请求有几率转换失败。请升级到最新版本以修复此问题。
- 报错提示 Your input exceeds the context window of this model 也是格式转换错误吗?
- 不是,这是由于输入内容超出了模型的上下文窗口限制。请压缩你的输入内容后再试。
Error running remote compact task在 Codex 设置中关闭远程上下文压缩(Remote Compaction),改用本地压缩即可临时绕过此协议转换缺陷。Error running remote compact task 报错 - Codex升级 cc-switch 至 v3.12.0 或更高版本,该版本在本地代理中新增了对 Codex `/responses/compact` 路由的转发支持,可解决 404 或 502 报错。invalid type: sequence备份并删除旧的 config.toml,让 Codex 重新生成默认配置以修复 hooks 格式不兼容问题。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。