跳转到内容

usage null - Claude Code Qwen DashScope

Quick fix

升级到 cc-switch v3.16.3+,自动修复 OpenAI 兼容接口流式用量为 null 的问题。

报错原文
Cannot read properties of null (reading 'output_tokens')

当使用 cc-switch 作为本地代理,且上游提供商(如 DashScope/Qwen、OpenRouter 等)采用 OpenAI 兼容协议时,cc-switch 在将 Claude Code 的流式请求转换为 OpenAI 格式时,未注入 `stream_options: { include_usage: true }`。这导致上游服务商不在 SSE chunk 中返回 token 用量数据,最终代理转换出的 Anthropic `message_delta.usage` 字段为 null。Claude Code 客户端尝试读取该 null 值中的 `output_tokens` 属性时抛出错误。

虽然 Issue #3752 也涉及用量问题,但其描述的是“用量查询失效/显示过期”,通常指余额检测功能而非推理过程中的 token 统计,且用户反馈其自行恢复,疑似上游服务波动或 API 变更导致的暂时性故障。而 Issue #1957 描述的 usage null 是代码逻辑缺失,已通过升级版本解决。两者虽都关联“用量”,但成因和解决方案不同。

  1. 卸载当前旧版本的 cc-switch

  2. 安装 v3.16.3 或更高版本的 cc-switch

  3. 重启 Claude Code 或 Codex,验证流式输出末尾是否包含正确的 usage 数据

ToolClaude Code
Version3.16.1
PlatformsmacOS
为什么我的 token 用量全部为零?
这是因为上游 OpenAI 兼容接口(如 Qwen/DashScope)默认不在流式响应中返回 usage 数据。升级到 cc-switch v3.16.3+ 后,工具会自动注入必要参数来修复此问题。
Issue #3752 提到的用量查询失败怎么解决?
如果是指 Claude Code 界面显示的‘余额已过期’或‘查询失败’,这通常是上游服务商(如火山方舟、百炼)的临时故障或 API 变更,与 cc-switch 的代码逻辑无关。建议等待服务商恢复或检查你的账户订阅状态。如果是推理过程中报错,请参考本页面关于 usage null 的修复方案。
Codex 也会遇到这个问题吗?
是的。Issue #1957 的修复同时覆盖了 Claude Code 和 Codex Chat 的路径,确保两个方向的行为一致。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。