"Expecting property name enclosed in double quotes" Codex
Quick fix
升级 CC Switch 至 v3.16.4 或更高版本,以修复大请求体未正确解压导致的 JSON 解析错误。
Symptom
Section titled “Symptom”CC Switch local proxy failed while handling Codex endpoint /responses. Provider: Agnes; model: agnes-2.0-flash; upstream_status: HTTP 400; cause: ***.BadRequestError: OpenAIException - {"error":{"message":"Expecting property name enclosed in double quotes: line 1 column 2 (char 1)","type":"BadRequestError","param":null,"code":400}}在使用 Codex 发送大型或复杂请求时,CC Switch 的 Responses 到 Chat Completions 转换层会出现 JSON 序列化错误,导致上游提供商拒绝请求并返回 HTTP 400 错误。
根本原因是大请求体在 JSON 解析前未被正确解压(涉及 gzip、br、deflate 及 zstd 等叠加编码)。代理将原始压缩字节直接交给 serde_json 解析,生成了缺少双引号的非法 JSON 格式(例如 {property_name: "value"})。此问题已在 v3.16.4 中通过修复解压逻辑解决。
将 CC Switch 升级至 v3.16.4 或更高版本,该版本修复了大型请求体在 JSON 解析前未正确解压的问题。
Affected Versions
Section titled “Affected Versions”ToolCodex
Version<= 3.16.3 (在 v3.16.4 中修复)
PlatformsWindowsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 升级到 v3.16.4 后不再报 JSON 错误,但缓存命中 token 一直是 0 且输入 token 持续累加,这是为什么?
- 这属于另一个问题。缓存命中为 0 通常与上游提供商(如 Agnes AI)的缓存机制或 API 实现有关,并非 CC Switch 的 JSON 解析故障。
ANTHROPIC_BASE_URL 被改成 127.0.0.1开启本地路由时 ANTHROPIC_BASE_URL 指向 http://127.0.0.1:15721 是预期;把插件等公共字段移进「通用配置」,切换后重启 Claude Code 生效。Your access token could not be refreshed升级 cc-switch 至 v3.17.0+,修复接管时写入 PROXY_MANAGED 占位符污染 OAuth 凭证或导致 401 的问题。temporarily unavailable, so auto mode cannot升级 cc-switch 至 v3.15.0+ 以修复模型映射与 thinking 转换,或在通用配置中手动覆盖默认模型环境变量以匹配第三方后端。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。