unsupported call: - Codex
Quick fix
Upgrade cc-switch to v3.16.4+ to fix tool call name/id overwritten by empty deltas during streaming conversion.
Symptom
Section titled “Symptom”unsupported call:When cc-switch converts upstream Chat Completions streaming responses into Responses-API events, it accumulates tool call arguments by index. Some providers (e.g., GLM, MiniMax) send name and id only in the first tool_calls delta; later chunks have empty fields. In v3.16.3 and earlier, the accumulator is overwritten by these empty values, so Codex receives empty name and call_id and refuses to run. This affects models using opaque IDs (e.g., call_<hash>); models whose IDs encode the name (e.g., Kimi) are not affected.
Upgrade cc-switch to v3.16.4 or later. This version fixes the defect where accumulated tool-call state was overwritten by empty deltas and no longer relies on names encoded in IDs.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 1 real issues
- Why does kimi-k2.7-code work, but glm-5.2 and MiniMax-M2.5 fail?
- kimi-k2.7-code encodes the name in its ID (e.g., functions.run:0), so older cc-switch can recover the name. GLM and MiniMax use opaque IDs (e.g., call_<hash>), which v3.16.3 cannot recover, leaving the name empty.
- The model can chat normally, but tool calls return empty. Is this an upstream API issue?
- No. This is not an upstream API issue. cc-switch loses the tool call name and ID during streaming conversion. Upgrade cc-switch to v3.16.4 to resolve it.
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.