Claude Codeでmarketplace addが失敗する原因と対処法
anthropics/skillsのmarketplace add失敗の原因と、owner/repo形式が既定でSSHクローンになる仕組み、2つの回避策をまとめます。
claude plugin marketplace add anthropics/skillsがError: Failed to clone marketplace repositoryで失敗する報告があります。原因の多くは、owner/repo形式のaddが既定でSSHクローンを試みる仕様です。SSH鍵が未設定の環境では、これが原因で静かに落ちます。回避策は2つあります。CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1を設定するか、フルのHTTPS URLでaddし直すかです。
anthropics/skillsのaddでclone失敗が起きる
anthropics/skillsは、ドキュメント作成系スキル(xlsx / docx / pptx / pdf)とサンプルスキル集を配るAnthropic公式のプラグインマーケットプレイスです。リポジトリのREADMEでも、Claude Codeへの登録方法として/plugin marketplace add anthropics/skillsが案内されています。
この手順どおりに実行すると失敗する、という報告が2025年10月にGitHub Issueへ上がりました。報告者の環境はClaude Code 2.0.21、Linux 5.15、Git 2.25.1です。コマンドを叩くとgit cloneの途中でError: Failed to clone marketplace repository: Cloning into...が返り、以降マーケットプレイスは登録されません。同じ手順を手動のgit cloneで試すと成功しており、ネットワーク自体は疎通しています。
報告には2件のコメントが付いており、Mac環境のClaude Code 2.0.22でも同じ症状が再現したという追記と、「git cloneの権限エラーのようだ」という指摘があります。Issueは2025年10月21日の投稿を最後に新しいコメントがないままオープンの状態が続いており、Anthropic側の恒久的な修正コミットは付いていません。
原因はowner/repo形式が既定でSSHクローンになること
公式ドキュメントのPlugin marketplacesには、owner/repo形式でマーケットプレイスやプラグインをaddしたとき、Claude CodeはGitHub上のリポジトリを既定でSSH経由でクローンすると明記されています。HTTPS経由にするにはCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1を設定する必要があります。
さらに、SSH接続まわりの挙動にも注意点があります。Claude Codeはホストの鍵指紋確認やパスフレーズ入力といった対話的なSSHプロンプトを抑制します。つまり、対象ホストがknown_hostsに登録済みで、鍵がssh-agentにロードされている環境でなければ、確認プロンプトを出さないまま静かに失敗します。コンテナやCIランナー、GitHub用のSSH鍵を作っていない開発機では、この条件を満たせずクローンが落ちやすくなります。
Issueの報告者が手動で成功させたgit clone https://github.com/anthropics/skills.gitは、URLを明示したHTTPSクローンです。owner/repo形式のSSH既定ルートを経由しないため、SSH鍵の有無に関係なく通ります。手動cloneとclaude plugin marketplace addの結果が食い違った理由は、ここにあります。
ここでもう1つ押さえておきたいのが、GitHubのSSHとHTTPSでは匿名アクセスの扱いが違う点です。公開リポジトリであっても、SSH経由のcloneはGitHubアカウントに紐づく鍵での認証を常に要求します。一方HTTPSでの公開リポジトリcloneは認証不要です。今回のIssueで「ネットワーク疎通は確認済みなのにmarketplace addだけ失敗し、手動のHTTPS cloneは通る」という状況が起きたのは、この非対称性がそのまま現れた結果だと整理できます。
なお、CLAUDE_CODE_PLUGIN_PREFER_HTTPSという環境変数自体は、報告があった2025年10月の時点ではまだ存在していませんでした。Claude CodeのCHANGELOGによると、この環境変数はv2.1.141で追加され、/plugin marketplace addとupdateがこれを尊重するようになったのはv2.1.144からです。つまり報告当時に使える回避策は、Issueにある手動cloneだけでした。
2つの回避策
現在のClaude Code(v2.1.144以降)であれば、環境変数を1つ設定するだけで回避できます。
export CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1
claude plugin marketplace add anthropics/skillsバージョンを問わず使えるのは、owner/repo形式ではなくフルのHTTPS URLでaddする方法です。この形式ならSSH既定ルートを通らないため、環境変数の対応バージョンに関係なく効きます。
/plugin marketplace add https://github.com/anthropics/skills.gitすでに失敗した状態から復旧したい場合は、Issueにある手動cloneのワークアラウンドも有効です。
cd ~/.claude/plugins/marketplaces/
git clone https://github.com/anthropics/skills.git anthropics-skills
claude plugin marketplace add anthropics/skillsこのワークアラウンドがなぜ効くのか、内部の判定ロジックは公式ドキュメントに明記がありません。ただしIssueの報告によれば、対象ディレクトリへ先に手動でcloneを済ませておくと、その後のaddコマンドは再クローンを試みず登録だけを行って成功する、という結果になっています。
CLAUDE_CODE_PLUGIN_PREFER_HTTPSが対象にするのは/plugin marketplace addだけではありません。公式ドキュメントによると、owner/repo形式でのプラグイン単体のinstallやupdateにも同じ既定ルールが適用されます。マーケットプレイス追加は通っても、個別プラグインのinstallでこのエラーが再発するケースがあるのはこのためです。マーケットプレイスとプラグインで挙動が食い違って見えたときは、まずこの環境変数がプラグイン側にも及んでいるかを疑ってください。
SSH接続そのものを切り分ける
環境変数を変える前に、SSH経由のgit接続自体が通るかを確認しておくと原因の切り分けが早くなります。公式ドキュメントのトラブルシューティングでは、認証まわりの不具合を疑うときgit ls-remote <url>でgit単体の認証可否を確かめる方法が案内されています。
git ls-remote git@github.com:anthropics/skills.gitここでユーザー名やパスワードの入力を求められたり、Permission denied (publickey)のようなエラーが返ったりした場合、GitHub向けのSSH鍵がその端末に用意されていないか、ssh-agentにロードされていないことを意味します。公式ドキュメントは、この状態への対処として鍵をssh-agentへロードすることを挙げています。HTTPS側で認証エラーが出る場合は、gh auth statusで認証状態を確認したうえでgh auth setup-gitを実行する対処が案内されています。
鍵を新たに作る・登録し直す判断をする前に、まずCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1かフルHTTPS URLでのaddを試すほうが、多くの場合は近道です。SSH鍵の管理自体はClaude Codeの外側にある一般的なGitHub側の設定で、これを直接編集する機能はClaude Codeには用意されていません。
addが成功したかを確認する
addコマンドが正常終了しても、実際にクローンが完了しているかは別途確認できます。
claude plugin marketplace list --json出力にanthropics/skillsのエントリが含まれ、installLocationにローカルのキャッシュパスが入っていれば、クローンとカタログ登録が完了しています。この時点ではプラグイン本体はまだ入っていないため、目的のスキルを使うには続けて/plugin install <name>@anthropic-agent-skillsのようにインストールコマンドを実行する必要があります。
ほかに考えられる原因の早見表
Failed to clone marketplace repositoryという同じエラー文でも、原因はowner/repo形式のSSH既定だけとは限りません。公式のトラブルシューティングで挙げられている原因もあわせて確認すると、切り分けが早くなります。
| 症状 | 原因 | 確認・対処 |
|---|---|---|
| owner/repo形式のaddだけ失敗する | 原因SSHクローンが既定で、SSH鍵が未設定 | 確認・対処CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1かフルHTTPS URLでadd |
Git clone timed out after 120sと出る | 原因大規模リポジトリや低速回線でタイムアウト | 確認・対処CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MSでタイムアウト値を延長 |
| プライベートリポジトリだけ失敗する | 原因git認証情報が未設定・未反映 | 確認・対処gh auth setup-gitを実行し、git ls-remote <url>で単体確認 |
| バックグラウンドの自動更新だけ失敗する | 原因自動更新はcredential helperを無効化して実行される仕様 | 確認・対処CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1で既存チェックアウトを維持 |
| addは通るがプラグインが見当たらない | 原因addはカタログ登録のみで、installは別コマンド | 確認・対処/plugin install <name>@<marketplace>を追加で実行 |
最後の行は失敗ではなく仕様です。/plugin marketplace addが行うのはカタログの登録だけで、個別プラグインの導入には/plugin installが別途必要になります。marketplaceとpluginの関係やコマンド全体はClaude Codeプラグイン完全ガイドにまとめています。
関連する別のエラーとの違い
マーケットプレイス関連のエラーには、クローンの失敗以外に名前の衝突を理由に読み込みが止まるケースもあります。Marketplace "<name>" is registered from an untrusted sourceというエラーは、クローン自体は成功しているのに、マーケットプレイス名がAnthropic専用の予約語と重なっていることが原因です。症状も対処もまったく別物になるため、「untrusted source」エラーの対処を参照して見分けてください。
公式マーケットプレイス(anthropics/claude-plugins-official)は起動時に自動で登録されるため、今回のような手動addの失敗自体に遭遇しにくい構成です。収録プラグインをカテゴリ別に確認したい場合はClaude Code公式マーケットプレイスのプラグイン一覧をカテゴリ別に見るが参考になります。
まとめ
claude plugin marketplace add anthropics/skillsがFailed to clone marketplace repositoryで失敗する主な原因は、owner/repo形式のaddが既定でSSHクローンを試み、SSH鍵が未設定の環境では静かに失敗する仕様です。v2.1.144以降ならCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1を設定するのが最短で、バージョンを問わず使えるのはフルのHTTPS URLでaddし直す方法です。復旧を急ぐ場合は、Issueにある手動cloneのワークアラウンドも選択肢になります。元のGitHub Issueは2025年10月の投稿以降オープンのままで、恒久的な挙動修正ではなく環境変数による回避策が後から追加された経緯がある点は押さえておいてください。CLAUDE_CODE_PLUGIN_PREFER_HTTPSを使う場合は、claude --versionでv2.1.144以降になっているかも合わせて確認すると、設定したのに効かないという遠回りを避けられます。