tools.function.parameters.type is required and must be "object" — Codex
Quick fix
Upgrade cc-switch to v3.18.0 to fix Codex tool parameter schemas rejected by strict upstreams with HTTP 400.
Symptom
Section titled “Symptom”CC Switch local proxy failed while handling Codex endpoint /responses. Provider: Kimi For Coding; model: kimi-for-coding; upstream_status: HTTP 400; cause: tools.function.parameters.type is required and must be "object"Codex's built-in tool `codex_app__automation_update` may carry a schema whose `parameters` is `null`, lacks `type`, or uses a top-level `oneOf` union without an explicit `type: "object"`. When cc-switch converts Codex Responses requests into Chat Completions requests for upstreams such as DeepSeek and Kimi, upstreams that strictly validate schemas return HTTP 400.
The maintainer states this was fixed in v3.18.0: the proxy conversion layer normalizes tool `parameters` into an object schema, covering the `null`, missing, and top-level union cases.
Upgrade cc-switch to v3.18.0, then use Codex to call the provider.
If it still reproduces after upgrading, attach debug logs as requested by the maintainer and reopen the corresponding issue.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 4 real issues
- Is it true that the cc-switch API cannot let Codex call tools and can only chat?
- No. This HTTP 400 is a tool parameter schema conversion compatibility issue; the maintainer states it was fixed in v3.18.0.
- Both Kimi K2.7 and DeepSeek report 400; how do I fix it?
- These reports are the same class of tool parameter schema validation failure; upgrade to v3.18.0 and verify.
Related problems
Section titled “Related problems”This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.