没有 SSH 密钥时插件改走 HTTPS

Claude Code 2.1.296 在 Windows 上修复:没有 GitHub SSH 密钥时,用 claude plugin install 安装 owner/repo 会失败。现在再用 HTTPS 克隆一次。说明没写 macOS,也没写 marketplace add。SSH 没有被删掉。

没有 SSH 密钥时插件改走 HTTPS

Windows 上用 owner/repo 装 GitHub 插件,机器没有 GitHub 的 SSH 密钥时,克隆会失败。claude plugin 没有 ssh 密钥 在 Claude Code 2.1.296 的处理是:claude plugin install 改为再用 HTTPS 试一次克隆。

作者:CodePass 技术编辑

重试的是克隆地址,不是另一条安装命令

主语是 claude plugin install,来源形式是 GitHub 的 owner/repo。发行说明没有写 marketplace add、本地路径或 zip。那些失败时,不要用「会自动改 HTTPS」去等。

HTTPS 是失败后的再试,不是把 SSH 从产品里去掉。机器上若已有可用的 GitHub SSH 密钥,这句没有写会改走 HTTPS。没有密钥、SSH 克隆失败,才进入再试。

仍失败时,说明没有列出 HTTPS 被拒绝、证书错误或仓库私有时的原文。私有库即使走 HTTPS,也要有对应的登录,这句没有提供登录步骤。

句子限定在 Windows

macOS 和 Linux 不在这句里。那些系统上 owner/repo 因 SSH 失败,2.1.296 没有承诺同样的 HTTPS 再试。

插件命令在托管设置加载前就执行,是 2.1.292 修过的另一件事,见 插件与托管设置。那条管的是第一次运行时策略还没读到。2.1.296 这条管的是 Windows 上克隆走哪条传输。策略把安装禁掉时,换成 HTTPS 也不会装上。

同一版还拒绝名为 constructor 的 marketplace,那是名字冲突,和 SSH 密钥无关。安装日志里若写的是这个名字被拒绝,换 HTTPS 没有帮助。

公司网络若拦截 github.com 的 HTTPS,再试仍会失败。说明没有写代理变量,也没有写会改用镜像。SSH 端口被封、HTTPS 也不可达时,这一版只是多一次克隆尝试,不会改你的网络。私有仓库在 HTTPS 上还要凭据。没有凭据时,再试的结果仍是拒绝,只是不再停在「没有 SSH 密钥」这一种失败上。公开仓库更可能直接装上。写作日没有在一台没有 SSH 密钥的 Windows 上实际安装。

插件已经装上、只是钩子没加载,不在这句。那要看插件是否启用,以及另一条同名插件是否把钩子挤掉。2.1.296 还在 /plugin 里对「同名插件导致钩子被留下」加了提示,那是装完之后的事。

参考资料