跳转到内容

Unknown name "prompt_cache_key" cc-switch

Quick fix

升级 cc-switch 至 v3.16.2+ 修复 prompt_cache_key 注入问题,或改用 OpenRouter 原生 Claude Code 格式端点以规避兼容性报错。

报错原文
API Error: 400 [{"error":{"code":400,"details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"description":"Invalid JSON payload received. Unknown name \"prompt_cache_key\": Cannot find field."}]}],"message":"Invalid JSON payload received. Unknown name \"prompt_cache_key\": Cannot find field.","status":"INVALID_ARGUMENT"}}]

当 cc-switch 将 Claude 的请求转换为 OpenAI 格式时,会向请求体中注入 `prompt_cache_key` 字段。部分上游网关(如 Google AI Studio)不支持该字段,导致返回 400 错误。此外,集群中还混合了其他变体:使用 OpenRouter 时因 IP 限制或 Claude Code 初始化机制导致“地区错误”;以及配置 Gemini 时未填写 `base_url` 触发的配置错误。

  1. 升级 cc-switch 至 v3.16.2 或更高版本,该版本已调整适配器中 `prompt_cache_key` 的回退与注入逻辑,解决缓存串用及不兼容问题。

  2. 对于 OpenRouter 用户,建议直接使用其原生支持 Claude Code 格式的端点,无需开启本地代理。若遇地区错误,请先在终端环境变量中配置一次 API key 和请求地址,成功运行一次后再使用 cc-switch 切换。

  3. 若使用 Google AI Studio / Gemini,请确保在配置中正确填写 `base_url`,或直接使用 OpenRouter 进行转发以规避格式兼容性问题。

ToolClaude Code
Version未知
PlatformsWindowsmacOSLinux
为什么 OpenRouter 测试连接正常,但在 Claude Code 中一直报地区错误?
可能是 OpenRouter 封堵了国内 IP,或 Claude Code 需要先通过环境变量配置一次 key 和请求地址并成功运行后,才能在 cc-switch 中正常切换。建议直接使用 OpenRouter 原生支持 Claude Code 格式的端点。
提示“Gemini Provider 缺少 base_url 配置”怎么解决?
请在 cc-switch 的 Gemini 供应商配置中补充完整的 `base_url`,或者改用 OpenRouter 转发 Gemini 模型。

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