跳转到内容

开启 CC Switch 代理后无法使用或请求被系统代理拦截

Quick fix

在 CC Switch 设置中配置全局出站代理指向你的代理软件地址,或在系统代理软件中配置分流避免拦截本地请求,然后重启 CC Switch。

报错原文
开启ccswitch代理后,在vscode中使用cc插件,会出现Cannot read properties of null (reading 'output_tokens')导致对话中断

CC Switch 的本地代理功能与系统代理软件(如 Surge、Clash、Mihomo、V2Ray 等)之间存在冲突。当开启 CC Switch 代理时,如果系统代理软件也在运行,可能会出现请求被拦截、路由混乱或连接失败的情况。此外,当系统代理软件关闭或清除代理设置后,CC Switch 可能仍然尝试使用已失效的系统代理配置,导致请求失败。部分用户还遇到代理端口配置无法正确保存、代理设置不生效等问题。

  1. 如果使用 Surge、Clash 等系统代理软件,在 CC Switch 中打开设置 -> 路由 -> 全局出站代理,填入你的系统代理软件的代理地址(如 http://127.0.0.1:7890),让 CC Switch 的请求通过系统代理软件转发

    在 CC Switch 设置界面中配置
    设置 -> 路由 -> 全局出站代理: http://127.0.0.1:7890
  2. 或者在系统代理软件(如 Surge)中添加分流规则,将 CC Switch 本地代理的地址(通常是 127.0.0.1:8045 或类似地址)加入直连列表,避免其拦截本地请求

  3. 如果关闭系统代理软件后 CC Switch 无法连接,重启 CC Switch 应用使其重新检测网络环境

  4. 检查全局出站代理和单独配置代理的端口号是否被正确保存,如果端口号丢失或被替换为 7890,手动重新配置并保存

ToolClaude Code
Version3.12.2 - 3.16.4
PlatformsWindowsmacOS
为什么开启 CC Switch 代理后,我的 MCP 服务也提示连接失败?
这是因为系统代理软件拦截了 CC Switch 的本地代理请求,导致依赖该代理的 MCP 服务无法正常通信。需要在系统代理软件中配置分流规则,或在 CC Switch 中配置全局出站代理。
关闭系统代理软件后,CC Switch 为什么还是无法连接?
CC Switch 可能缓存了之前的系统代理配置。需要重启 CC Switch 应用,让它重新检测当前的网络环境。
为什么我的代理端口号保存后会被自动修改?
这是 v3.12.2 版本的一个 bug,全局出站代理的端口号会在保存后被移除,单独配置代理的端口号会被替换为 7890。建议升级到最新版本。
CC Switch 能自动识别并使用系统代理吗?
目前不支持自动识别系统代理。需要手动在设置 -> 路由 -> 全局出站代理中配置代理地址,或保持该选项为空让 CC Switch 直连。

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