跳转到内容

protocol handler not registered - cc-switch

Quick fix

在 Linux 的 CC Switch.desktop 文件中将 Exec 修改为 cc-switch %U,解决 Chromium 浏览器无法识别导入协议的问题;WSL 同步需检查管理员权限。

报错原文
CC-Switch not installed or protocol handler not registered.

导入与同步功能在不同环境下会因不同机制失败。在 Linux 系统中,Chromium 内核浏览器(如 Edge、Chrome)要求桌面快捷方式的 Exec 行必须包含 %U 或 %u 参数才能将其视为有效的 URL 协议处理器。cc-switch 的 .deb 安装包默认缺失此参数,导致网页调用导入链接时被浏览器拦截。

此外,在 Windows 与 WSL 混合环境中,跨系统同步(如 skill 软链接)会因权限或文件系统差异导致创建符号链接失败,且 WSL 目录下的配置和 MCP 读取也存在路径映射问题。

  1. 在 Linux 系统中,手动修改 cc-switch 的桌面快捷方式文件,为 Exec 添加 %U 参数。

    /usr/share/applications/CC Switch.desktop
    Exec=cc-switch
    Exec=cc-switch %U
  2. 或者在 Linux 终端中运行以下命令一键修复(注意:软件更新后可能会被覆盖,需重新执行):sudo sed -i 's/^Exec=cc-switch$/Exec=cc-switch %U/' "/usr/share/applications/CC Switch.desktop"

  3. 若在 Windows 下向 WSL 同步 skill 时遇到创建符号链接失败,请确保已开启 Windows 开发人员模式,并以管理员身份运行 cc-switch。

Toolcc-switch
Version3.16.1 - 3.16.4
PlatformsLinuxWindows
为什么 xdg-open 可以打开,但 Chrome/Edge 浏览器不行?
Chromium 浏览器有额外的验证机制,必须检查 desktop 文件的 Exec 行是否包含 %U 或 %u,而 xdg-open 没有此限制。
Windows 下同步 skill 到 WSL 报错“创建符号链接失败”怎么办?
请确认已开启 Windows 开发人员模式,并以管理员权限运行 cc-switch。如果仍然失败,可能是跨文件系统软链接限制,目前版本对此支持有限。

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