VS CodeでClaude Codeのプラグイン導入リンクを配る方法
vscode://anthropic.claude-code/install-pluginのURLの作り方と、Invalid plugin installation URLが出る検査条件、開いた後の動きを解説します。
チームに特定のプラグインを入れてもらうとき、「/pluginsを開いて、マーケットプレイスを追加して、検索して」と手順を書くのは手間です。VS Code拡張には vscode://anthropic.claude-code/install-plugin というURLがあり、開いた人を目的のプラグインのインストール画面まで直接連れていけます。
このURLは開いただけではインストールされません。スコープの選択で止まります。URLの作り方、Invalid plugin installation URL が出る条件、リンクの置き場所を順に説明します。
install-pluginリンクは何をするのか
install-plugin は、VS Code拡張が登録しているURIハンドラーの1つです。リンクを開くとVS Codeが起動するか、すでに起動していればフォーカスされます。続いてClaude Codeパネルが開き、Manage pluginsダイアログがそのプラグインのスコープ選択の画面で表示されます。
リンクを開いてからの流れ
- 1
リンクを開く
ブラウザーやチャットからURLを開くと、VS Codeが起動するかフォーカスされます。
- 2
Manage pluginsダイアログが開く
Claude Codeパネルが開き、対象プラグインの画面になります。マーケットプレイスが未登録なら、先に追加を求められます。
- 3
スコープを選ぶ
ここで人が選ぶまでインストールは始まりません。
スコープの選択肢は3つです。
| 選択肢 | 範囲 |
|---|---|
| Install for you | 範囲自分の全プロジェクト(ユーザースコープ) |
| Install for this project | 範囲プロジェクトの共同作業者と共有(プロジェクトスコープ) |
| Install locally | 範囲自分だけ・このリポジトリだけ(ローカルスコープ) |
3つの選択肢は、有効化の記録先が違います。ユーザースコープは ~/.claude/settings.json の enabledPlugins、プロジェクトスコープは .claude/settings.json、ローカルスコープは .claude/settings.local.json に入ります。同じプラグインを複数のスコープで設定した場合は、ローカル、プロジェクト、ユーザーの順に優先されます。
ターミナル、デスクトップアプリのローカルセッション、VS Code拡張は同じ設定ファイルを読みます。VS Codeのリンクでユーザースコープを選んだプラグインは、同じマシンのターミナルでも使えます。
プロジェクトスコープを選ぶとエントリは .claude/settings.json に入ります。ただし、そのエントリをコミットしても共同作業者のマシンにプラグインがダウンロードされるわけではありません。各自が claude plugin install <name>@<marketplace> --scope project を1回実行する必要があります。リンクで配る場合は、受け取った人が各自でスコープを選ぶ流れなので、この手間をリンク側で省くことはできません。
リンクの作り方
形は次のとおりです。
vscode://anthropic.claude-code/install-plugin?plugin=code-review&marketplace=anthropics/claude-plugins-officialクエリパラメーターは2つです。
| パラメーター | 内容 |
|---|---|
plugin | 内容マーケットプレイスの一覧に載っているプラグイン名。必須 |
marketplace | 内容マーケットプレイスのソース。省略すると anthropics/claude-plugins-official |
公式マーケットプレイスのプラグインなら plugin だけで足ります。社内や自作のマーケットプレイスのプラグインを配るときだけ marketplace を付けます。
marketplace に書けるソースの形は3つです。
- GitHubの
owner/repo https://で始まるURLgit@github.com:owner/repo.gitのようなgit SSH形式
手元で動作を確かめるなら、OSのURLオープナーに渡します。
open "vscode://anthropic.claude-code/install-plugin?plugin=code-review"Linuxでは open の代わりに xdg-open、PowerShellでは Start-Process を使います。cmd.exe では start "" "<URL>" のように、先頭に空のタイトルを置きます。vscode:// のURLは & を含むため、シェルでは必ず引用符で囲みます。
Invalid plugin installation URLが出る条件
URLがルールに反すると、Invalid plugin installation URL で始まるエラーが表示されます。このとき、Claude Codeパネルもダイアログも開かず、何もインストールされません。拡張は画面を開く前に、次の3点を検査します。
拡張が開く前に見る3つの検査
プラグイン名
100文字以内です。先頭はASCIIの英字か数字で、残りはASCIIの英字・数字・
.・_・-に限られます。日本語や空白、スラッシュは使えません。マーケットプレイスのソース
owner/repo・https://のURL・git SSH形式だけが通ります。ローカルパス、http://のアドレス、claude-plugins-officialのようなマーケットプレイスの名前は不可です。https://のURLにユーザー名・パスワード・クエリ文字列を含めることもできません。gitのref
ブランチやタグを固定するときは、ソースの後ろに
%23を付けてrefを続けます。#をそのまま書くとエラーになります。
refの固定は次の形です。
vscode://anthropic.claude-code/install-plugin?plugin=my-tool&marketplace=your-org/plugins%23v1.2.0CLIの /plugin marketplace add では your-org/plugins#v1.2.0 と # で書きますが、リンクではURLのフラグメント記号と衝突するため %23 にします。この違いが最初の落とし穴です。さらに、anthropics GitHub組織のマーケットプレイスは、リンクではrefを固定できません。
実例で見るOKとNG
上の3条件を plugin と marketplace の値に当てはめると、次のように分かれます。
| 値 | 判定 | 理由 |
|---|---|---|
plugin=code-review | 判定OK | 理由ASCIIの英数字とハイフンだけ |
plugin=コードレビュー | 判定NG | 理由ASCII以外の文字を含む |
marketplace=your-org/plugins | 判定OK | 理由GitHubの owner/repo |
marketplace=https://git.example.com/team/plugins.git | 判定OK | 理由認証情報もクエリもない https:// |
marketplace=git@github.com:your-org/plugins.git | 判定OK | 理由git SSH形式 |
marketplace=your-org/plugins%23v1.2.0 | 判定OK | 理由refを %23 でエンコードしている |
marketplace=your-org/plugins#v1.2.0 | 判定NG | 理由# が未エンコード |
marketplace=./plugins | 判定NG | 理由ローカルパス |
marketplace=http://git.example.com/team/plugins.git | 判定NG | 理由http:// のアドレス |
marketplace=claude-plugins-official | 判定NG | 理由マーケットプレイスの名前 |
marketplace=https://user:pass@git.example.com/plugins.git | 判定NG | 理由URLにユーザー名・パスワードを含む |
配る前に、この表の形に自分のリンクが当てはまるかを見比べてください。最終的な判断は、自分の環境でリンクを開いた結果で行います。
開いた後に止まるケース
検査を通ったリンクでも、スコープ選択に進まずダイアログ内のメッセージで終わる場合があります。
| 状況 | ダイアログの表示 |
|---|---|
| マーケットプレイスにその名前のプラグインがない | ダイアログの表示プラグインが見つからないと報告される。plugin の値を一覧と照合する |
| すでにインストール済み | ダイアログの表示その旨が表示され、何も変わらない |
| 同名の別マーケットプレイスがすでに追加されている | ダイアログの表示リンク側のマーケットプレイスは追加されず、何もインストールされない |
3つ目は、自作マーケットプレイスの名前が既存のものと衝突したときに起こります。同じ名前で出所が違うと起きる問題は別ソースで追加済みのマーケットプレイスで扱っています。
Invalid plugin installation URL と、この3つのケースは別物です。前者はダイアログが開く前に拒否され、後者は開いたうえでメッセージが出ます。
リンクを開いたのに入らないとき
症状を上から順に確かめると、原因を絞れます。
リンクが期待どおり動かないときの切り分け
- Q`Invalid plugin installation URL` のエラーが出て、パネルもダイアログも開かないか?答えがいいえ答えがはい
検査に違反しています。「実例で見るOKとNG」の表と見比べて、プラグイン名・ソースの形・
%23を直します。 - Qダイアログは開いたが、メッセージだけで終わるか?答えがいいえ答えがはい
「プラグインが見つからない」「インストール済み」「同名の別マーケットプレイスが追加済み」のどれかです。上の表で照合します。
スコープ選択で止まっているなら正常
スコープを選ぶまでインストールが始まらないのは仕様です。受け取った人に選んでもらいます。
スコープを選んだあとに起きること
スコープを選んでインストールが終わると、そのプラグインに未設定の設定オプションがあれば、入力フォームが表示されます。後から見直したいときは、プラグインの行にある歯車アイコンから開けます。パスワードやトークンのような機密の入力欄は伏せ字になり、以前に保存した値は(unchanged)と表示されます。欄を空のまま保存すれば、保存済みの値が維持されます。
作者が defaultEnabled で最初から無効に設定したプラグインは、インストール後もオフのままです。受け取った人には、claude plugin enable <name> かセッション内の /plugin のInstalledタブで有効にしてもらいます。
保存すると、開いているセッションがプラグインを読み込み直し、ダイアログにはRestart Claude to apply plugin changesと出ます。設定オプションが必須のプラグインを配るときは、リンクの案内文に「インストール後にフォームが出る」と一言添えておくと、受け取った人が戸惑いません。
プラグインの導入状況は、導入済みのプラグインを一覧で確かめるclaude plugin list --jsonの棚卸しで後から確認できます。
リンクを置く場所とフォールバック
GitHubのREADME・issue・プルリクエストなどでは、http と https 以外のスキームのリンクが取り除かれ、vscode:// のリンクはただの文字として表示されます。こうしたホストでは、URLをコードブロックに入れて貼ります。読む側はURLをコピーして、ブラウザーのアドレスバーに貼れば開けます。
VS Codeで入れる場合は、次のURLをブラウザーのアドレスバーに貼ってください。
vscode://anthropic.claude-code/install-plugin?plugin=my-tool&marketplace=your-org/pluginsプラグイン名やマーケットプレイスの条件がリンクに収まらない場合の代替手段も決まっています。受け取る人に、Marketplacesタブでマーケットプレイスを追加してもらい、Pluginsタブからインストールしてもらいます。ローカルパスのマーケットプレイスは、リンクでは配れないので、この手順になります。
CLI利用者向けには、同じ内容を claude plugin install <name>@<marketplace> のコマンドで案内できます。VS Code利用者とCLI利用者が混在するチームなら、リンクとコマンドを両方書いておくと迷いません。
配り方は3通りある
リンクのほかに、プラグインを配る手段は2つあります。どれを選ぶかは、受け取る人の環境で決まります。
| 配り方 | 向いている相手 | 受け取る側の操作 |
|---|---|---|
install-plugin リンク | 向いている相手VS Code拡張の利用者 | 受け取る側の操作リンクを開き、ダイアログでスコープを選ぶ |
claude plugin install <name> --marketplace <source> | 向いている相手ターミナル利用者。マーケットプレイスが未追加でも1コマンドで済む | 受け取る側の操作コマンドを実行する |
.claude/settings.json へのプロジェクトスコープ登録 | 向いている相手リポジトリの共同作業者全員 | 受け取る側の操作エントリをコミットしたうえで、各自が claude plugin install <name>@<marketplace> --scope project を1回実行する |
リンクだけで済むのは、相手がVS Code利用者で、マーケットプレイスが owner/repo 形式か https:// のURLで指せる場合です。ローカルパスや名前だけでしか指せない場合は、上の2行目や3行目の手段に回ります。
claude-cli:// リンクとの違い
vscode://anthropic.claude-code/open が新しいClaude Codeタブを開き、install-plugin がプラグインのダイアログを開くのに対し、claude-cli:// はターミナルのセッションを起動するハンドラーです。この3つを混同すると、「ターミナルが開いてしまう」「プラグインではなく空のタブが開く」といった結果になります。claude-cli:// 側の作り方はClaude Codeのディープリンクに書いています。
拡張自体の導入や設定はVS Code拡張機能の使い方、プラグインを自前のマーケットプレイスで配る側の準備はプラグインとマーケットプレイスの解説にまとめています。