VibeCoding · 文章
Claude Code:API Error: 400 Deferred问题的解决方案
问题复现
最近把 Claude Code 接到 OpenRouter 的 z-ai/glm-5.3-flash,中间踩了两个坑。钱已经充在 OpenRouter 上,不想再转到 Z.ai。所以想把我的完整链路和最终能用的配置记下来。也许可以帮到一些人。
为了方便做对比,这里先贴一下我之前的cc-switch的配置:

重点需要关注的地方玩已经用红色圈出来,主要是请求地址和上游格式的配置上,如果你也是这样配置的,当然,这也是最快的方式,几乎是填个密钥就可以用了。但是当你的ClaudeCode用着用着很可能就会出现我遇到的问题:
API Error: 400 Deferred custom tools are only supported on Anthropic models
and on Anthropic-compatible provider endpoints that implement deferral.
Other endpoints cannot call tools omitted from tools[].
Received z-ai/glm-5.3-flash-20260826原因是Claude Code 会把一部分工具标成 deferred(Tool Search / 按需加载),请求里可以先不把这些工具放进 tools[],后面再用 tool_reference 拉起来。这是 Anthropic 自家能力。
OpenRouter 看到目标模型是 GLM,不是 Claude,也不是“实现了 deferral 的兼容端点”,直接拒。同一类报错更早出现在 stealth/ox-alpha 上。Ox Alpha 后来被官方认成 GLM-5.3-Flash,所以这不是偶发,是协议不匹配。
解决
哪些很直接的解决方案我这里就不赘述了,比如直接改为GLM官方支持的Anthropic协议的接口,使用GLM官方API接入 ,当然,这个方案我自己并没有亲自验证过可行性,因为我的钱都充在了openrouter,所以懒得用官方API。
我用的方法是使用cc-switch提供的本地路由的方式,打开CC的设置界面,选择路由,参考配置如下:

这是第一步,我们还需要更改CC中的模型配置:
上游格式:OpenAI Chat Completions(需开启路由)
大致流程就这样,配置好之后重新打开Claude,应该就可以解决这个问题,至少解决了我的问题。所以写一篇博客分享一下....
版权声明
本文内容版权归作者或相关权利人所有。转载、引用或其他使用请遵循相应授权条款,并保留本文链接。