Console Go: Upstream request failed - Claude Code
Quick fix
该 400 错误由 OpenCode Go 网关拒绝不兼容的请求负载引起。可通过重启代理恢复会话映射,或避免使用 WebSearch 和图片功能等待后续修复。
Symptom
Section titled “Symptom”{
"error": {
"message": "Error from provider (Console Go): Upstream request failed",
"type": "invalid_request_error",
"param": null,
"code": "invalid_request_error"
}
}在 cc-switch 代理转发请求至 OpenCode Go (Console Go) 时,由于负载格式不兼容或上下文丢失,上游网关会拒绝请求并返回 400 invalid_request_error。具体表现为三种变体:1) 技能重新导入 (skill re-import) 导致代理内部状态重载,清除了 session 关联,使得模型名映射被静默跳过,原生 Claude 模型名被直接发送至上游;2) Claude Code 内置 WebSearch 强制发送 Anthropic 风格的 server_tool tool_choice,而上游 DeepSeek 仅支持 auto 或 {"type":"web_search"};3) 粘贴图片时,尽管模型声明支持视觉,但 Console Go 网关反序列化仅识别 text 块,直接拒绝 image_url。
针对技能重新导入导致的模型映射失效,重启 cc-switch 代理或等待其自动恢复 Live 配置,以重建 session 上下文。
针对 WebSearch 和图片报错,当前版本暂无完美绕过方案,建议暂时避免在 Claude Code 中使用内置 WebSearch 或直接粘贴图片,等待 cc-switch 后续版本修复协议转换与 Vision Proxy 功能。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version未知
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 3 个真实 issue
- 为什么流健康检查 (stream health check) 显示正常,但请求依然报 400?
- 因为健康检查仅测试了上游端点的可达性(如返回 HTTP 404 即视为 Reachable),并未验证模型映射或负载格式是否正确。
- 配置了视觉 MCP 为什么粘贴图片还是会报错?
- 视觉 MCP 只能被模型主动调用,而图片在用户粘贴时已被编码为 image_url 进入消息。Console Go 网关在反序列化时直接拒绝了 image_url,导致请求在到达 MCP 之前就已失败。
api failed deserialize json body into按错误类型回退 Claude Code、升级 cc-switch、关闭本地代理或停止发送不支持的字段。Request body format invalid 报错 Claude Code升级 cc-switch 并开启 Rectifier 整流器,或添加环境变量 MAX_THINKING_TOKENS=0 以兼容第三方 API 格式。CC Switch local proxy failed while handling升级 CC Switch 到最新版并重开 Codex 对话;旧会话历史中残留的非法 schema 或图片块会持续触发 400。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。