Invalid schema for function 'codex_app__automation_update' - CC Switch
Quick fix
升级 cc-switch 至 v3.18.0+,修复 Codex 工具参数缺失 type: object 导致的上游 400 报错。
Symptom
Section titled “Symptom”CC Switch local proxy failed while handling Codex endpoint /responses. Provider: DeepSeek; model: deepseek-v4-flash; upstream_status: HTTP 400; cause: Invalid schema for function 'codex_app__automation_update': schema must be a JSON Schema of 'type: "object"', got 'type: null'.当 Codex 调用内置工具(如 `codex_app__automation_update`,通常用于自动化或定时任务)时,其生成的 JSON Schema 中 `parameters` 字段可能为 `null`,或者顶层使用了 `oneOf`/`anyOf` 联合类型但缺少显式的 `type: "object"`。CC Switch 在将 Codex 的 Responses API 请求转换为 Chat Completions 格式转发给 DeepSeek、Kimi 等上游提供商时,如果未对这些非标准 Schema 进行兜底补全,上游因严格校验直接返回 HTTP 400 错误。
此前版本(如 v3.17.0)仅修复了部分缺失场景,未覆盖 `type: null` 及顶层联合类型缺 `type` 的情况。该问题已在 v3.18.0 通过 PR #5315 / #4706 修复,代理转换层现在会将此类工具参数统一归一化为包含 `type: "object"` 的标准 Schema。
检查当前 cc-switch 版本,若低于 v3.18.0 请升级至最新版本。
重启 cc-switch 服务及 Codex 客户端,使新的 Schema 转换逻辑生效。
Affected Versions
Section titled “Affected Versions”ToolCodex
Versioncc-switch < 3.18.0
PlatformsWindowsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 5 个真实 issue
- #4741CC Switch local proxy failed while handling Codex endpoint /responses. Provider: DeepSeek; model: gpt-5.5; upstream_status: HTTP 400; cause: Messages with role 'tool' must be a response to a preceding message with 'tool_calls'
- #4864用codex连cc switch时报错,只能换其他中转,应该是deepseek的规则变了,需要尽快更新一下
- #5046Codex桌面端通过CC Switch接入Kimi K2.7报400
- #5590codex使用deepseek时报错
- #5809CC API 都一直报错如何解决啊
- 为什么只有 codex_app__automation_update 报错,其他工具正常?
- 因为 Codex 生成该特定工具的 Schema 时使用了特殊的联合类型写法或缺失 type 声明,而其他 25 个常用工具的 Schema 结构符合常规标准,所以只有这个工具触发了上游的严格校验失败。
- 升级到 v3.18.0 后仍然报错怎么办?
- 请确认是否完全重启了 cc-switch 和 Codex。如果问题依旧,请检查日志中是否涉及其他工具或不同的错误代码,那可能是由其他 Issue(如 #6385 模型名不匹配)引起的不同问题。
Error running remote compact task在 Codex 设置中关闭远程上下文压缩(Remote Compaction),改用本地压缩即可临时绕过此协议转换缺陷。unsupported call: - Codex升级 cc-switch 至 v3.16.4 或更高版本,修复流式转换中工具调用 name/id 被空 delta 覆盖的问题。为 Claude Code 添加 CoderPlan provider这是功能请求:为 cc-switch 增加 CoderPlan provider preset,作者已准备 Claude Code preset PR,但维护者仅要求通过 readme 邮箱沟通,合并状态未确认。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。