VibeCoding · 文章

Claude Code:API Error: 400 Deferred问题的解决方案

问题复现

最近把 Claude Code 接到 OpenRouter 的 z-ai/glm-5.3-flash,中间踩了两个坑。钱已经充在 OpenRouter 上,不想再转到 Z.ai。所以想把我的完整链路和最终能用的配置记下来。也许可以帮到一些人。

为了方便做对比,这里先贴一下我之前的cc-switch的配置:

image-20260827220827017.png

重点需要关注的地方玩已经用红色圈出来,主要是请求地址和上游格式的配置上,如果你也是这样配置的,当然,这也是最快的方式,几乎是填个密钥就可以用了。但是当你的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的设置界面,选择路由,参考配置如下:

image-20260827221629629.png

这是第一步,我们还需要更改CC中的模型配置:

大致流程就这样,配置好之后重新打开Claude,应该就可以解决这个问题,至少解决了我的问题。所以写一篇博客分享一下....


版权声明

本文内容版权归作者或相关权利人所有。转载、引用或其他使用请遵循相应授权条款,并保留本文链接。

本文链接:https://xuyi.dev/2026-08-27-guprsh