カテゴリー / MCP・スキル・プラグイン

Claude Codeのプラグインとは?入れ方・管理・安全確認の手順

この記事の目次

Claude Code のプラグインとは何か

Claude Code のプラグインは、スキル・サブエージェント・フック・MCP サーバーなどを1つのディレクトリにまとめ、1単位でインストールして読み込む仕組みです。ターミナルで Claude Code を起動して /plugin と打つと、プラグインを探して入れるパネルが開きます。公式マーケットプレイス claude-plugins-official は、管理ポリシーで禁止されていなければ、対話型のターミナルセッションを初めて起動したときに自動で登録されます。

プラグインは、マーケットプレイス(どのプラグインをどこから取得するかを並べたカタログ)から プラグイン名@マーケットプレイス名 の形で入れます。たとえば commit-commands@claude-plugins-official です。マニフェストは .claude-plugin/plugin.json で、プラグインのスキルは /<プラグイン名>:<スキル名> の形で呼び出せます。

自分でプラグインを作る手順はClaude Code pluginの作り方で扱っています。この記事は、人が作ったプラグインを入れて使う側の話に絞ります。

単体のスキルやMCPとどう使い分けるか

スキル、サブエージェント、フック、MCP サーバーは、どれもプラグインなしで単独で使えます。プラグインを選ぶのは、複数の単体の機能をひとまとめで扱いたいときです。他人が組んだ構成を1コマンドで入れ、マーケットプレイス経由で更新を受け取れる点が単体設定との違いです。使いたいのがスキル1つだけなら、スキルの作り方やMCPの設定方法の単体設定で足ります。

入れる前に知っておきたいのは、有効なプラグインは使わないセッションにも常に含まれるという点です。

Claude が自分の判断で呼べるスキルなどは、名前と説明が毎ターンのコンテキストに入り、何も使わないセッションでも使用量に数えられます。MCP サーバーは有効なセッションごとに並走し、プラグインが実行するものはあなたのユーザー権限で動きます。目的のあるものだけを入れるのが基本です。コンテキストの仕組みはコンテキストウィンドウの解説にまとめています。

プラグインはどうやって入れるのか

ターミナルでの手順を、公式ドキュメントの例と同じ commit-commands で示します。ほかのプラグインも、名前とマーケットプレイス名を置き換えるだけで同じ流れです。

  1. プロジェクトのディレクトリで claude を起動し、プロンプトで次を実行します。
/plugin install commit-commands@claude-plugins-official

セッション内の /plugin install はすぐにはインストールしません。そのプラグインの詳細画面を開き、内容を確認してからスコープを選ぶ流れです。名前がわからないときは、名前を付けずに /plugin だけを実行すると Discover タブが開き、文字を打って検索できます。

  1. 詳細画面の Will install に、追加されるコマンド・エージェント・スキル・フック・MCP サーバーと LSP サーバーが並びます。公式マーケットプレイスのプラグインでは Context cost(毎ターン加わる量と呼び出し時に加わる量のトークン見積もり)も出ますが、Discover の一覧から開いた詳細画面には表示されません。

  2. スコープを選びます(次の章で説明します)。宣言された依存プラグインがあれば一緒に入ります。

  3. インストール要約の最後の1文で読み込み結果がわかります。

表示 意味
Plugin is now active. もう使える。再読み込みは不要
Run /reload-plugins to apply. パネルが閉じ、Claude Code が再読み込みを代わりに実行する
The plugin couldn't be loaded 読み込み失敗。/plugin の Errors タブで理由を見る
  1. / と打ち、/commit-commands:commit のように /<プラグイン名>:<スキル名> が出れば成功です。シェルで claude plugin list を実行すると、Version・Scope・Status 付きで一覧が出ます。

セッションを開かずに入れたいとき(セットアップ用スクリプトなど)は、シェルから実行します。

claude plugin install formatter@your-org --scope project

シェルからのインストールは既定がユーザースコープで、読み込まれるのは次回の起動時か、開いているセッションで /reload-plugins を実行したときです。誰も対話型セッションを開いていない新しいマシンでは公式マーケットプレイスがまだ登録されていないため、スクリプトでは先に claude plugin marketplace add anthropics/claude-plugins-official を実行します。

デスクトップアプリやVS Codeではどうするか

  • デスクトップアプリ(Code タブのローカルまたは SSH セッション): プロンプト横の + から Plugins、Add plugin でプラグインブラウザを開く。クラウドセッションでは使えない
  • VS Code 拡張: プロンプト欄に /plugins と打って Manage plugins を開く
  • クラウドセッション(claude.ai/code を含む): プラグインブラウザがなく、自分のマシンで入れたプラグインも、リポジトリの .claude/settings.json が有効にしたプラグインも読み込まれない

同じパソコンのターミナル、デスクトップアプリのローカルセッション、VS Code 拡張は同じ設定ファイルを読むので、どれか1つでユーザースコープに入れれば他の2つでも使えます。

ユーザー・プロジェクト・ローカルのどのスコープを選ぶか

スコープは、誰に対してプラグインを有効にするか、どの設定ファイルの enabledPlugins に記録するかを決めます。

スコープ 有効になる範囲 記録先
ユーザー 自分の、このマシンの全プロジェクト ~/.claude/settings.json
プロジェクト このリポジトリで作業する全員 .claude/settings.json(コミットする)
ローカル 自分の、このリポジトリだけ .claude/settings.local.json

同じプラグインが複数のスコープで設定されている場合は、ローカルがプロジェクトより、プロジェクトがユーザーより優先されます。

チームの共有範囲を決めるならプロジェクトスコープですが、注意点が1つあります。.claude/settings.json をコミットすると共同作業者に対してプラグインが有効になりますが、各自のマシンにダウンロードはされません。各メンバーが一度ずつ次を実行する必要があります。

claude plugin install <name>@<marketplace> --scope project

試すだけならユーザーかローカル、チーム全員の前提にしたいものだけをプロジェクト、と分けると共有の設定ファイルを汚さずに済みます。設定ファイルの関係はsettings.jsonの解説にまとめています。

入れる前に何を確認すればよいか

公式ドキュメントは、インストールしたプラグインはあなたのユーザー権限でマシン上の任意のコードを実行できると明記しています。マーケットプレイスの名前が示す提供元はカタログの発行者であって、個々のプラグインの中身ではありません。公式マーケットプレイスの掲載も多くはパートナーや他の作者によるもので、どこから入れる場合も中身を見てから入れる前提です。

特に押さえたいのは、権限ルールやサンドボックスが守る範囲です。

  • フック、モニター、MCP サーバー、LSP サーバーは、サンドボックスの外で動く。権限ルールとサンドボックスが対象にするのは Claude が行うツール呼び出しで、プラグインが自分で動かすコードではない
  • プラグインの MCP ツール呼び出しと、プラグインの bin/ にある実行ファイルを Bash で動かすことはツール呼び出しなので、権限ルールが適用される
  • 有効なプラグインの bin/ は Bash ツールの PATH に追加される
  • マーケットプレイスの自動更新が有効だと、レビューしたファイルがバックグラウンドで書き換わることがある

公式ドキュメントが挙げる確認操作を、次の順に進めると整理しやすくなります。

  1. シェルで claude plugin marketplace list を実行し、各マーケットプレイスがどこから追加されたか(GitHub リポジトリかディレクトリか)を見る
  2. /plugin でプラグインを選び、詳細画面の Will install を読む
  3. 詳細画面の Open homepage か View on GitHub からソースを開き、hooks/hooks.json(各フックが実行するコマンド)、.mcp.json(各サーバーのコマンドや URL)、bin/(全ファイル)を読む。Will install はフックがあることしか示さず、何を実行するかまでは出ないため
  4. リポジトリをクローンし、claude --plugin-dir <プラグインのディレクトリ> plugin details <プラグイン名> を実行する。セッションを開かずにファイルを読み、Component inventory としてスキル、エージェント、フックとそのイベント、MCP・LSP サーバーを一覧表示する

マーケットプレイスの区別も判断材料になります。Anthropic が公開する汎用のマーケットプレイスは次の3つで、名前で見分けます。

種類 マーケットプレイス名 追加方法
公式 claude-plugins-official 管理ポリシーで禁止されていなければ、初回の対話型ターミナルセッションで自動登録
コミュニティ claude-community /plugin marketplace add anthropics/claude-plugins-community
デモ claude-code-plugins /plugin marketplace add anthropics/claude-code

公式やコミュニティの名前は github.com/anthropics/ のリポジトリから追加された場合にしか受け付けられないため、サードパーティが Anthropic を名乗ることはできません。同僚や自社が公開したものはサードパーティ扱いで、Anthropic はレビューしていません。古い手順にある anthropics/claude-code はデモ用で公式ではなく、同名のプラグインは公式から入れるよう案内されています。

権限設定の全体像はセキュリティ設定の解説、フックの動きはフックの使い方で扱っています。

入れたあとの更新・無効化・削除はどうするか

管理は /plugin の Installed タブで行います。/plugin を開いて Tab キーでこのタブへ移り、Space で有効と無効を切り替え、Enter で詳細を開くと Update now や Uninstall を選べます。シェルからも同じ設定を操作できます。

claude plugin disable formatter@your-org
claude plugin enable formatter@your-org
claude plugin uninstall formatter@your-org --scope project

止めたいだけなら無効化で足ります。整理には、Installed タブの Not used recently(最近使っていないプラグイン)と、claude plugin details <name> の Always-on 行(有効なセッションに毎回加わるトークン数)が使えます。

更新の仕組みは次のとおりです。

  • 自動更新の既定は、claude-plugins-official などの公式名のマーケットプレイスではオン(knowledge-work-plugins と first-party-plugins を除く)。コミュニティ、サードパーティ、ローカル開発用ではオフ
  • 切り替えは /plugin の Marketplaces タブでマーケットプレイスを選び、Enable auto-update か Disable auto-update を選ぶ
  • 実行中のセッションは読み込み済みの版を使い続ける。更新後に Plugin updated: <name> · Run /reload-plugins to apply と出たら、/reload-plugins で反映するか次のセッションを待つ
  • 1件だけ今すぐ更新するなら Update now か claude plugin update <plugin>@<marketplace>。全プラグインを一括で更新するコマンドはない
  • シェルで名前を付けずに claude plugin marketplace update を実行すると、全マーケットプレイスの一覧は更新されるが、入れたプラグインの版は据え置かれる

削除時の注意も3点あります。マーケットプレイスを削除すると、そこから入れたプラグインはすべてアンインストールされます。依存関係で自動的に入ったプラグインは、claude plugin prune を実行するまで残ります。リポジトリの .claude/settings.json が有効にしているプラグインをアンインストールしようとすると、y で自分だけ無効化(.claude/settings.local.json に false を書く)、u で共有設定から全員分を削除、の選択を求められます。

アンインストール後もファイルは ~/.claude/plugins/cache/ に14日間残り、すぐ消したいときは ~/.claude/plugins/cache/<marketplace>/<plugin>/ を自分で削除します。

インストールできない・表示されないときの切り分け

表示されたメッセージ別に、公式の対処をまとめます。

表示・症状 原因 対処
zsh: no such file or directory: /plugin シェルのプロンプトで /plugin を打った claude でセッションを起動し、その中で打つ
/plugin isn't available in this environment claude -p、Agent SDK、デスクトップアプリの Code タブ、VS Code 拡張のパネル、claude.ai/code で打った デスクトップアプリは + から、VS Code は /plugins、または claude plugin install をシェルで
Marketplace "claude-plugins-official" not found 公式マーケットプレイスが未登録。VS Code 拡張しか使っていない場合など /plugin marketplace add anthropics/claude-plugins-official を実行して再インストール
not found in marketplace に更新のヒント付き オフライン時などで手元のカタログが古い /plugin marketplace update <marketplace> のあと再実行
not found in marketplace でヒントなし 名前の誤りが最も多い Discover タブの一覧から名前をコピーする
not found in any marketplace @マーケットプレイス名 なしで、登録済みのどれにもない /plugin install <name>@<marketplace> と名前を付けて再実行
is enabled in project settings but isn't installed here プロジェクト設定は有効化するだけでインストールはしない claude plugin install <name>@<marketplace> --scope project のあと /reload-plugins

インストールは成功したのにスキルが出てこないときは、次の順で見ます。

  1. /plugin の Installed で、一覧にあり有効になっているか確認する(シェルでは claude plugin list の Status)
  2. 同じパネルの Errors タブを開く。各項目にはメッセージと対処の案内行が並ぶ
  3. エラーがなく、このセッション中に入れたものなら /reload-plugins を実行する。結果に Reloaded: と件数が出る

ユーザー設定で false にしたのに読み込まれ続ける場合は、より優先度の高いプロジェクト設定が true にしています。自分のマシンだけで止めたいなら、.claude/settings.local.json で同じ ID を false にします。

組織で使う場合は、管理者が managed settings でマーケットプレイスの許可・禁止やプラグインの強制有効化を設定できます。社内ルールの決め方は企業向けセキュリティガイドを参照してください。手元の表示が本記事と違うときは、公式ドキュメントの「Install and manage plugins」と「Troubleshoot plugins」を確認してください。

手を動かしながら学び続けたい場合は、月額1,980円から参加できる学習コミュニティ「AI駆動ラボ」もあります。