跳转到内容

CC Switch 开启代理后 Claude Code 报错或模型映射失败

Quick fix

先升级到 v3.15.0 以上,再在 cc-switch 中显式配置全局出站代理,避免系统代理被旧进程缓存。

报错原文
开启ccswitch代理后,在vscode中使用cc插件,会出现Cannot read properties of null (reading 'output_tokens')导致对话中断,但通过ccswitch的会话管理,可以看到对话其实并没有真的中断

这个 cluster 覆盖了 cc-switch 代理与网络层的多个相关问题,核心是代理请求转发、模型映射和系统代理状态同步不稳定。最典型的已修复问题是:开启 cc-switch 代理后,Claude Code 的 VS Code 插件或 CLI 在读取上游响应时遇到空字段,导致前端报 Cannot read properties of null (reading 'output_tokens'),但 cc-switch 会话管理显示对话仍在继续;维护者确认该问题已在 v3.15.0 修复。

其余变体包括:cc-switch 不会自动跟随系统代理,关闭或切换代理软件后仍可能沿用旧代理地址,需重启 cc-switch 或显式配置全局出站代理;代理端口保存异常;模型映射不完整或日期别名未注册导致路由失败;macOS 上与 Surge 等工具冲突;以及部分未关闭的模型透传、system role 转换、图片 tool_result 序列化等问题。这些问题同属代理/网络/路由链路,但修复状态不同,若升级后仍出现需分别排查。

  1. 升级 cc-switch 到 v3.15.0 或更高版本,维护者确认该版本修复了开启代理后 Claude Code 插件/CLI 报 Cannot read properties of null (reading 'output_tokens') 的问题。

  2. 如果你使用 Surge、Clash、mihomo、v2ray 等系统代理工具,不要依赖 cc-switch 自动识别系统代理;在 cc-switch 的 设置 -> 路由 -> 全局出站代理 中显式填写代理地址和端口。

  3. 如果关闭或切换系统代理后 Claude Code 仍然请求失败,重启 cc-switch,让它重新读取当前网络/代理状态。

  4. 如果报错是模型不存在、模型未注册或模型映射失败,检查供应商的模型映射是否完整,尤其是 Claude Code / Claude Desktop / Cowork 可能请求带日期后缀的模型名,例如 claude-haiku-4-5-20251001,需要映射到实际可用的上游模型。

ToolClaude Code
Version3.12.2 - 3.16.5,其中 Cannot read properties of null (reading 'output_tokens') 已在 v3.15.0 修复
PlatformsWindowsmacOS

本页汇总自 21 个真实 issue

升级到 v3.15.0 后仍然报 Cannot read properties of null (reading 'output_tokens') 怎么办?
维护者要求重新打开原 issue,并补充最新版本号、复现步骤和相关日志,说明该问题可能在新版本中仍有残留或属于另一个代理链路问题。
cc-switch 会自动使用系统代理吗?
不会可靠地自动跟随系统代理。多个 issue 表明关闭或切换系统代理后,cc-switch 可能仍使用旧代理,建议显式配置全局出站代理或重启 cc-switch。
macOS 上使用 Surge 时 cc-switch 代理不可用怎么办?
可以尝试在 Surge 中配置分流避免拦截 cc-switch 的 HTTP 请求,或在 cc-switch 的 设置 -> 路由 -> 全局出站代理 中配置 Surge 的代理地址;该问题在部分用户处仍未完全确认解决。
模型映射失败、提示模型不存在或没有权限,和代理有关系吗?
有关系。cc-switch 代理层需要把 Claude Code 请求的模型名映射到上游供应商支持的模型;如果映射不完整,或者上游不支持带日期后缀的模型名,就会表现为模型不存在、无权限或路由失败。

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