claude plugin として実行するか、Claude Code セッション内で /plugin と /reload-plugins として実行します。このリファレンスでは、各コマンドのフラグ、デフォルト、出力、終了コード、および 1 つのセッションのためにプラグインをロードする 2 つのフラグについて説明します。
ビルドで claude plugin --help を実行して、バージョンにどのサブコマンドがあるかを確認してください。
これらのケースは他のページで説明されています:
- ステップのインストールと管理、および
/pluginが実行される場所: プラグインのインストールと管理を参照してください - コマンドがディスク上で何を変更し、どのスコープが優先されるか: プラグイン読み込みリファレンスを参照してください
- エラーメッセージの意味: プラグインのトラブルシューティングを参照してください
claude plugin コマンド
Claude Code セッション外のシェルまたはスクリプトからclaude plugin <subcommand> を実行します。これらのサブコマンドは、/plugin パネルを開かずにプラグインをインストールおよび管理します。
claude plugins は claude plugin のエイリアスです。
すべてのサブコマンドは、これらの終了コード、プラグイン引数、およびスコープ値を共有します:
- 終了コード: 成功時は
0、失敗時は1。validateは予期しないエラーに対して終了2を追加し、evalはそのセクションにリストされたコードを追加します。 - プラグイン引数:
<plugin>引数はプラグインnameまたはname@marketplaceです。2 つのマーケットプレイスが同じ名前を提供する場合は、修飾形式を使用してください。 - スコープ:
--scopeはuser、project、またはlocalを取り、コマンドが書き込む設定ファイルに名前を付けます。updateはmanagedも取ります。
plugin init
~/.claude/skills/<name>/ に新しいプラグインをスキャフォールドします。次のセッションで <name>@skills-dir としてロードされ、インストール手順は不要です。
new は init のエイリアスです。
このコマンドで始まる作成、テスト、編集ワークフローについては、プラグインの作成を参照してください。
<name> は ~/.claude/skills/ の下のディレクトリ名になり、プラグインのマニフェストの name になります。
このコマンドには別の場所のフラグはありません。代わりにプロジェクト内にスキャフォールドするには、プラグインの作成を参照してください。
スキル と hook ファイルのスターターを含むプラグインをスキャフォールドします:
Created plugin "my-helper" at ~/.claude/skills/my-helper を出力し、その後にロードされる id と、それをオフにする claude plugin disable コマンドを出力します。
Claude Code は安全にスキャフォールドできない場合は 1 で終了し、メッセージは理由を名前付けします。これらは一般的な理由です:
- 不明な
--with値 --forceなしのターゲットの既存スキャフォールド- スキルディレクトリプラグインをブロックする管理設定
plugin install
追加したマーケットプレイスからプラグインをインストールします。i は install のエイリアスです。
headersHelper を設定するプラグインの場合、Claude Code は最初にコマンドを出力し、Run this command now? [y/N] と尋ねます。
自分のターミナルから
-y を渡して、プロンプトなしで表示されたコマンドを受け入れます。TTY がない場合と Claude がコマンドを実行する場合の動作は次のとおりです:
- stdin または stdout が TTY ではなく、
-yも--accept-commandも渡さない: インストールが拒否されます。出力はコマンドが表示されたのみであることを示し、終了コードは1です - Claude が Bash ツール経由でコマンドを実行:
-yは無視されます。代わりに自分のターミナルからコマンドを実行してください
Successfully installed plugin: formatter@my-marketplace (scope: project) を出力します。新しいものがインストールされない場合、出力は理由を説明します:
- そのスコープで既にインストール: 出力は
Plugin "formatter@my-marketplace" is already installed (scope: project)で、終了コードは0です - コマンドソースプロンプトを拒否: 出力は
Aborted.で、終了コードは1です headersHelperプロンプトを拒否するか、TTY なしで確認できない: 出力はAborted — the command was not run.で、終了コードは1です
JSON 結果形式
plugin install に --json を渡すと、stdout の最後の行は 1 つの JSON オブジェクトです。Claude Code がそれより前に宣言したコマンドを出力する可能性があるため、その行のみを解析してください。
3 つのフィールドは常に存在します:
command: 実行されたサブコマンド(例:install)outcome:okまたはfailedmessage: 結果の人間が読める説明
pluginId、scope、failureCode などの他のフィールドは、適用される場合にのみ表示されます。
無効な --scope などの使用エラーは、結果行を出力せず、stderr に理由を付けて 1 で終了します。
表示されたインストールコマンドを受け入れる
--json 実行がマーケットプレイスで宣言されたコマンドを表示し、それを実行しない場合、failed 結果は shownCommand オブジェクトも含みます。そのフィールドには、表示されたコマンド、それが属するプラグイン、およびコマンドの sha256 が含まれます。
正確にそのコマンドを受け入れるには、フラグが Claude Code セッション内で効果がないため、自分のターミナルからその sha256 を --accept-command として再実行してください。Claude Code v2.1.271 以降が必要です。
sha256 は、正確にそのコマンド、プラグイン、およびマーケットプレイスカタログの受け入れとしてカウントされます。実行自体のマーケットプレイス更新が取得する変更を含め、それらのいずれかが変更された場合、Claude Code は sha256 を受け入れず、コマンドを再度表示します。shownCommand.acceptCommandMatched が false の場合、渡した sha256 は現在表示されているコマンドと一致しません。そのコマンドを確認してから、その sha256 で再実行してください。
plugin uninstall
インストール済みプラグインを 1 つのスコープから削除します。remove と rm は uninstall のエイリアスです。
プロジェクトスコープからプラグインをアンインストールします:
Successfully uninstalled plugin: formatter (scope: project) を出力します。プラグインがそのスコープにインストールされていない場合、コマンドは Failed to uninstall plugin "formatter@my-marketplace": で始まる行を出力し、1 で終了します。
plugin enable
無効なプラグインを有効にします。claude.ai から同期されたプラグインの場合、プラグインとして<name>@synced を渡します。
--scope なしで、コマンドは設定ファイルをローカル、プロジェクト、ユーザーの順序でチェックし、プラグインを言及する最初のスコープを使用します。
プラグインが宣言されていない --scope を渡す場合、コマンドはオーバーライドを書き込むか失敗します:
- 宣言するスコープより優先されるスコープ: Claude Code は渡したスコープでオーバーライドを書き込みます。たとえば、
claude plugin disable formatter --scope localはプロジェクトで有効なプラグインをあなただけのためにオフにします - その他のスコープ: コマンドは
Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.で失敗します
Plugin "formatter" is already enabled を出力し、1 で終了します。--json を使用すると、結果は "failureCode": "already_in_goal_state" と "alreadyInGoalState": true を持つため、スクリプトはそのケースを成功として扱うことができます。
プラグインが依存関係を宣言する場合、Claude Code はそれらも有効にします。コマンドはこれらのケースで失敗します:
- 依存関係がインストールされていない: 有効化が失敗し、各欠落依存関係に対して
claude plugin installコマンドを出力します - 依存関係が組織のプラグインポリシーによってブロックされている: 有効化が失敗し、ブロックされた依存関係に名前を付けます
- 依存関係がターゲットスコープより優先度の高いスコープで
falseに設定されている: 有効化が失敗します。そのスコープで依存関係を有効にするか、--scopeを渡してそこに書き込みます
Successfully enabled plugin: formatter (scope: project) を出力し、検出されたスコープに名前を付けます。
plugin disable
プラグインをアンインストールせずに無効にします。claude.ai から同期されたプラグインの場合、プラグインとして<name>@synced を渡します。
--scope なしで、スコープは plugin enable と同じローカル、プロジェクト、ユーザーの順序で自動検出されます。
プラグイン名も --all も渡さない場合、Claude Code は Please specify a plugin name or use --all to disable all plugins を出力し、1 で終了します。既に無効なプラグインを無効にすると、Plugin "formatter" is already disabled を出力し、plugin enable が既に有効なプラグインに対して行うのと同様に 1 で終了します。
コマンドは依然として必要なプラグインに対して失敗します:
- 別の有効なプラグインがそれに依存している: コマンドが失敗し、最初に無効にする依存関係に名前を付けます
- 組織がそれを同期プラグインとして要求している: コマンドが失敗し、何も保存されません
Successfully disabled plugin: formatter (scope: project) を出力します。
plugin update
プラグインをマーケットプレイスが提供する最新バージョンに更新します。新しいバージョンは次のセッションでロードされるか、実行中のセッションで/reload-plugins を実行した後にロードされます。
managed は更新できるが、インストールできない唯一のスコープです。管理者がインストールしたプラグインについては、組織のプラグインを管理するを参照してください。
プラグインを更新します:
Checking for updates for plugin "formatter@my-marketplace"… を出力し、その後に結果を出力します。新しいものがない場合、formatter is already at the latest version (1.0.0). を出力し、0 で終了します。
ベアプラグイン名を渡すことができます。コマンドはインストール済みプラグインと照合します。異なるマーケットプレイスからインストール済みプラグインが名前を共有する場合、コマンドは更新を拒否し、実行する修飾 plugin-name@marketplace-name コマンドをリストします。ベア名による更新には Claude Code v2.1.246 以降が必要です。
plugin list
インストール済みプラグインをバージョン、スコープ、ステータスと共にリストします。
Claude Code は、各プラグインがどのようにロードされるかでグループ化された人間が読める出力を出力します:
Installed plugins:: マーケットプレイスからインストールしたプラグインSession-only plugins (--plugin-dir / --plugin-url):: 同じコマンドでこれらのフラグによってロードされたプラグイン(例:claude --plugin-dir ./my-plugin plugin list)Skills-directory plugins (.claude/skills/*):: Claude Code がスキルディレクトリで見つけたプラグインSynced from claude.ai: claude.ai アカウントから同期されたプラグイン
No plugins installed. Use `claude plugin install` to install a plugin. を出力します。
JSON 出力
--json を使用すると、Claude Code はインストールごとに 1 つのオブジェクトを持つ配列を出力します。各オブジェクトは以下のフィールドを含みます。id、version、scope、enabled、および installPath は常に存在し、その他は適用される場合にのみ表示されます。
--json --available を使用すると、Claude Code は配列の代わりに 1 つのオブジェクトを出力します。その installed フィールドはインストール済みプラグインオブジェクトの配列を保持し、その available フィールドはインストールされていない各マーケットプレイスプラグインを以下のフィールドを持つオブジェクトとして保持します。
plugin details
プラグインのコンポーネントインベントリと予想トークンコストを表示します。 プラグインはロードされている必要があります:インストール済み、スキルディレクトリで見つかった、または同じコマンドで--plugin-dir または --plugin-url で渡されました。<name> はプラグイン name または name@marketplace です。
--help を超えるフラグを取りません。
インストール済みプラグインが何を提供するかを表示します:
Component inventory: プラグインのスキル、エージェント、フック、MCP サーバー、および LSP サーバーProjected token cost: プラグインがすべてのセッションに追加する常時オンのトークンPer-component (rounded): 各スキル、エージェント、およびコマンドの常時オンおよびオンインボーク推定。プラグインが何も持たない場合は省略
Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk. を出力し、1 で終了します。
plugin prune
インストール済みプラグインが必要としなくなった自動インストール依存関係を削除します。コマンドは自分でインストールしたプラグインを削除することはありません。autoremove は prune のエイリアスです。
削除が削除するものをプレビューします:
(dry run — nothing removed) で終了します。削除するものがない場合、Nothing to prune で始まる行を出力します。
--dry-run なしで、コマンドは確認プロンプトで確認するか -y を渡した後にのみ孤立した依存関係を削除します。
プロンプトでどのように答えても、終了コードは 0 です。
prune が何をするかは、ターミナルが接続されているかどうか、および -y を渡すかどうかによって異なります:
plugin eval
プラグインのeval ケースを実行し、スコア付き結果を報告します。Claude Code v2.1.269 以降が必要です。 各ケースはプロンプトとグレーダーです。Claude Code はターゲットプラグインのみがロードされた分離セッションで複数回実行し、デフォルトではプラグインなしでも実行するため、レポートは違いを示します。 ケース形式、グレーダー、結果、および CI 使用については、eval でプラグインをテストするを参照してください。target はデフォルトで現在のディレクトリになり、これらの形式のいずれかを取ります:
- プラグインディレクトリ
- 単一の
prompt.mdまたはcase.yamlファイル nameまたはname@marketplaceとしてインストール済みプラグインname@skills-dir
--tag、--allow-tools、および --json の前に配置します。これらの各オプションは、それに続く単語をその値として取るため、これらのいずれかの後に書かれたターゲットはタグ、ツール名、または JSON 出力パスの代わりにターゲットとして読み取られます。
この表は、ほとんどの実行が使用するオプションをリストします。--case、--tag、--output-dir、--report、--allow-real-servers、--keep-temp、および --verbose を含む完全なセットについては、claude plugin eval --help を実行してください。
終了コードは実行がどのように終了したかを報告します。パイプラインで機能させるには、CI で eval を実行するを参照してください。
plugin eval init
現在のディレクトリのプラグイン用の eval スイートを作成します。Claude Code v2.1.269 以降が必要です。最初の eval スイートを作成するを参照してください。- プラグインを読む
- それが何をうまくすべきかを尋ねる
- ケースとグレーダーを提案する
- ケースファイルを書く
- ケースを実行し、グレーダーがあなたがするのと同じ方法でスコアするかどうかを確認するために、あなたと一緒に成績を確認します
--bare を使用するか、ターミナルなしで、コマンドは代わりに空白の単一ケーステンプレートを書き込みます。Claude がコマンドを Claude Code セッション内から実行する場合、コマンドはそのセッションが従うべきインタビュー指示を出力します。
オプションの name はケース名です。--bare を使用するか、ターミナルなしで必須です。コマンドはそのケースの空白テンプレートを書き込むためです。インタビューは 1 つを必要としません。
コマンドはこれらのオプションを受け入れます:
plugin tag
プラグインリリース用に<name>--v<version> という名前の注釈付き git タグを作成します。タグ付けする前に、コマンドはプラグインの plugin.json とそれをリストするマーケットプレイスエントリがバージョンに同意することを確認します。
リリースをタグ付けするタイミングについては、プラグインを公開するを参照してください。
[path] はプラグインディレクトリで、デフォルトは現在のディレクトリです。コマンドは、そのディレクトリから上へ歩いて、プラグインをリストする .claude-plugin/marketplace.json を見つけることで、マーケットプレイスエントリを見つけます。
マーケットプレイスチェックアウトのプラグインのタグをプレビューします:
- プラグイン名
- バージョンとそれがどのファイルから来たか
- マーケットプレイスエントリがある場合、一致するマーケットプレイスエントリ
- タグ名
- 実行する
git tagおよびgit pushコマンド
--dry-run なしで、Claude Code は Created tag formatter--v1.0.0 を出力し、Pushed to origin または自分で実行するプッシュコマンドを出力します。プッシュが失敗した場合、タグはまだローカルで作成され、コマンドはエラーで終了します。
コマンドは 1 で終了し、安全にタグ付けできない場合は理由を出力します。一般的な理由は:
plugin.jsonまたはマーケットプレイスエントリにversionがない- タグが既に存在する
- ワーキングツリーがダーティ
plugin validate
プラグインマニフェスト、マーケットプレイスマニフェスト、またはディレクトリ内のスキル、エージェント、およびコマンドを検証し、CI ジョブが機能できるコードで終了します。作成、テスト、編集ワークフローについては、プラグインの作成を参照してください。バリデーターが各マニフェストで何をチェックするかについては、プラグインマニフェストリファレンスおよびマーケットプレイスリファレンスを参照してください。
コミット前にプラグインを検証します:
ディレクトリを検証する
<path> はマニフェストファイルまたはディレクトリです。ディレクトリが与えられた場合、Claude Code はそこで見つけたものによって何を検証するかを選択します:
.claude-plugin/marketplace.json(存在する場合)- それ以外の場合は
.claude-plugin/plugin.json - それ以外の場合はコンポーネントファイル。ディレクトリの名前で選択されます。マニフェストなしでコンポーネントファイルを検証するには Claude Code v2.1.233 以降が必要です:
skills、agents、またはcommandsという名前のディレクトリ:その中のファイル.claudeという名前のディレクトリ:その中のskills、agents、およびcommandsディレクトリ- その他のディレクトリ:その
.claudeの下のこれら 3 つのディレクトリ
- プラグインまたは
.claudeルートの下にリンクされたskills、agents、またはcommandsディレクトリ: Claude Code は何も読み込まれなかったことを警告します。 skills、agents、またはcommandsディレクトリ内のリンクされたエントリ: Claude Code はそれをスキップし、ディレクトリごとにスキップしたエントリの数を警告します。セッションはロードします。- 名前を付けた
skills、agents、またはcommandsディレクトリ自体がシンボリックリンク、またはその親.claudeディレクトリ: Claude Code はエラーを報告し、その中の何もチェックしません。代わりに実際のディレクトリに名前を付けてください。
- プラグインルートの
SKILL.md: プラグインディレクトリに対してclaude plugin validateを実行する場合、Claude Code はプラグインルートのSKILL.mdをチェックしません - プラグインルートの
CLAUDE.md: プラグイン実行では、Claude Code はプラグインルートのCLAUDE.mdについても警告します - マーケットプレイス実行のプラグインファイル: マーケットプレイスディレクトリから、Claude Code はプラグインのスキル、エージェント、コマンド、またはフックファイルを開きません。これらのファイルのエラーを見つけるには、各プラグインディレクトリを検証してください
出力と終了コード
Claude Code は検証したファイル、エラーと警告とそのパス、および判定行を出力します。終了コードは判定に従います:--json を使用すると、Claude Code はレポートを stdout に 1 つの JSON オブジェクトとして書き込みます。これらのトップレベルフィールドを持ちます:
success: 終了コードが与える同じ判定strict: 実行が警告をエラーとして扱ったかどうかtarget: Claude Code が検証した解決されたパスmanifest: マニフェスト自体の結果、またはマニフェストなしの実行の場合はnullcontents: ファイルごとの結果。各結果はfileに名前を付け、errors、warnings、およびnotes配列を含みます
2 では、コマンドは stdout に何も書き込みません。エラーメッセージは stderr に移動します。
claude plugin marketplace コマンド
シェルからclaude plugin marketplace <subcommand> を実行して、プラグインをインストールするマーケットプレイスを追加、リスト、更新、および削除します。
- 終了コード: これらのサブコマンドはプラグインコマンドの終了コード規約に従います
- スコープ: それらの
--scopeフラグには-s短形式がありません
plugin marketplace add
GitHub リポジトリ、git URL、ホストされたmarketplace.json、またはローカルパスからマーケットプレイスを追加し、設定ファイルで宣言します。
追加した後、Claude Code はインストール済みプラグインが欠落していた依存関係をインストールします。
<source> は以下の表の形式のいずれかを取り、その形式はソースタイプを決定し、Claude Code がマーケットプレイスをどのようにフェッチするかを決定します。結果のソースオブジェクトについては、マーケットプレイスリファレンスを参照してください。
.git サフィックスを含まないクローン URL を持つホスト(AWS CodeCommit など)の場合、代わりに extraKnownMarketplaces にマーケットプレイスを git エントリとして追加してください。Claude Code は URL が .git で終わるかどうかに関係なく git エントリをクローンします。
Claude Code はネストされたサブグループを持つ gitlab.com URL もクローンします(例:https://gitlab.com/group/subgroup/project)。
マーケットプレイスを追加してプロジェクトと共有します:
Successfully added marketplace: your-marketplace (declared in project settings) を出力し、マーケットプレイス自体のマニフェストから name を使用します。繰り返し追加または無効なソースは、代わりにこれらの結果のいずれかを出力します:
- マーケットプレイスが既にディスク上にある: 出力は
Marketplace 'your-marketplace' already on disk — declared in project settingsで、終了コードは0です - 認識されないソース: 出力は
Invalid marketplace source format. Try: owner/repo, https://..., or ./pathで、終了コードは1です gitlab.example.com/team/pluginsなどのベアホスト: 追加は無効なowner/repo短縮形として失敗し、メッセージはhttps://を追加するか、ローカルパスを使用するよう指示します
claude plugin marketplace list の From claude.ai: セクションで出力された名前で追加します:
--claudeai を使用すると、コマンドは --scope と --sparse を拒否します。マーケットプレイスはアカウント用にホストされ、設定ファイルで宣言されていないため、プロジェクトの .claude/settings.json を通じて共有することはできません。
plugin marketplace list
追加したすべてのマーケットプレイスをそのソースと共にリストします。
Claude Code は
Configured marketplaces: を出力し、マーケットプレイスごとに 1 つの Source: 行を出力するか、No marketplaces configured を出力します。
--json を使用すると、Claude Code はマーケットプレイスごとに 1 つのオブジェクトを持つ配列を出力し、以下のフィールドを含みます。すべてのフィールドは文字列です。
追加された claude.ai マーケットプレイスにはローカルクローンがないため、そのエントリは
installLocation の代わりに claude.ai 識別子 marketplaceId と organizationUuid を含みます。また、記録されている場合は scope と status も含みます。
ターミナルセッションが claude.ai アカウントからプラグインを同期する場合、テキストリストは From claude.ai: セクションで終了します。そのセクションは、claude.ai が追加していないアカウント用にリストするマーケットプレイスに名前を付けます。git ベースとホストされたの両方です。Claude Code v2.1.273 以降が必要です。
そのセクションからマーケットプレイスを追加するには、claude.ai からマーケットプレイスを追加するを参照してください。
--json 出力は設定されたマーケットプレイスのみをカバーし、セクションを除外します。
plugin marketplace remove
マーケットプレイスの宣言を設定から削除します。rm は remove のエイリアスです。
<name> は plugin marketplace list が表示するマーケットプレイス名で、add に渡したソースではありません。
すべてのスコープからマーケットプレイスを削除します:
Successfully removed marketplace: your-marketplace を出力し、スコープを設定した場合は (from project settings) を追加します。マーケットプレイスを宣言しない設定ファイルにスコープを設定した場合、コマンドは Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes. で失敗します
plugin marketplace update
1 つのマーケットプレイス、またはすべてのマーケットプレイスをそのソースから更新して、新しいプラグインとバージョンをフェッチします。ブランチまたはタグref で追加されたマーケットプレイスは、リポジトリのデフォルトブランチではなく、その ref の最新コミットに更新されます。
--help を超えるフラグを取りません。
1 つのマーケットプレイスを更新します:
Successfully updated marketplace: your-marketplace を出力します。名前を省略すると、Successfully updated 2 marketplaces などのカウントを出力します。マーケットプレイスが追加されていない場合、No marketplaces configured を出力し、0 で終了します。
セッション内の /plugin
インタラクティブセッション内では、/plugin はプラグインパネルを開きます。各サブコマンドはパネルをタブで開いたり、そこでアクションを実行したり、結果をインラインで出力したりします。/plugins と /marketplace は /plugin のエイリアスです。
これらのコマンドはインタラクティブターミナルセッションでのみ実行できます。claude -p などの非インタラクティブ実行では、Claude Code は /plugin がこの環境では利用できないと返答します。
どのサーフェスが /plugin を持つか、それなしでインストールする方法、および各パネルタブが何を表示するかについては、プラグインのインストールと管理を参照してください。
<plugin> はプラグイン name または name@marketplace です。
以下の表は、すべてのセッション形式を一覧表示しています。シェルサブコマンド init、update、details、prune、eval、および eval init にはセッション形式がありません。
/plugin enable、disable、uninstall、または configure で現在のプロジェクトにインストールされていないプラグインを指定した場合、Claude Code はアクションを実行する代わりに Plugin "<plugin>" is not installed in this project を出力します。
/reload-plugins
実行中のセッションを再起動せずに、保留中のプラグイン変更をセッションに適用します。保留中の変更は、セッション開始以降にディスク上でインストール、更新、有効化、無効化、または編集したプラグインです。 保留中の変更を加えて/plugin パネルを閉じると、Claude Code は自動的に /reload-plugins を実行します。パネル外で発生するプラグイン変更(別のターミナルで実行した claude plugin コマンドなど)の後に自分で実行してください。
リロード概要
Claude Code はすべてのアクティブなプラグインをリロードし、1 つの概要行Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers を出力します。インタラクティブターミナルのないセッションではプラグイン MCP サーバーカウントを省略します。プラグインが失敗した場合、概要は N errors during load. Run /plugin for details. を追加します
スキルカウントは、プラグインが提供するすべてのスキル(commands/ エントリとその SKILL.md スキルの両方)をカバーします。エージェントカウントはセッションにロードされたエージェントの数で、プラグインから来ていないものを含みます。
リロードされたプラグインの依存関係が欠落している場合、Claude Code はそれらをインストールし、再度リロードし、概要に (+ N dependencies: <names>) resolved を追加します。
MCP ツールを変更するリロード
リロードがプラグイン MCP サーバーまたはLSP ツールを追加または削除し、その変更がプロンプトキャッシュを無効にする場合、Claude Code はリロードを適用しません。This reload changes MCP tools (<server>) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply. などの行を出力します。--force を渡して、とにかく適用してください。
インタラクティブターミナルのないセッション
/reload-plugins はデスクトップアプリ、Agent SDK、および 非インタラクティブモード(-p 付き)などのインタラクティブターミナルのないセッションでも実行されます。Claude Code v2.1.260 以降が必要です。
これらのセッションでは、コマンドは -p プロンプトまたはデスクトップアプリのプロンプトボックスなど、セッション自体に入力する場合にのみ実行されます。Remote Control またはSlack から中継されたメッセージなど、別の方法で到着した場合、コマンドは /reload-plugins isn't available over a remote connection in this session. と返信し、何もリロードしません。
これらのセッションのリロードはプラグイン MCP サーバーを接続または切断しません。これらの変更は次のセッションで有効になります。
1 つのセッションのためにプラグインをロードするフラグ
2 つのclaude フラグは、インストールせずに 1 つのセッションのためだけにプラグインをロードします。両方とも繰り返し可能です。
プラグイン作成者はそれらを使用して、公開する前にプラグインをテストします。ロード編集リロードワークフローについては、マーケットプレイスなしで開発するを参照してください。
どちらかのフラグがロードするプラグインはセッションのみのプラグインです。
claude plugin list はそれを <name>@inline としてスコープ session で表示しますが、同じフラグがサブコマンドの前にある場合のみです。たとえば、claude --plugin-dir ./my-plugin plugin list を実行してください。
セッションのみのプラグインがインストール済みプラグインと名前を共有する場合、Claude Code はそのセッションのセッションのみのコピーをロードし、インストール済みのコピーをスキップします。インストール済みのコピーは、claude plugin disable <name>@inline でセッションのみのコピーを無効にした場合、または管理設定がそのプラグイン名をロックする場合にロードされます。優先度については、プラグイン読み込みリファレンスを参照してください。
管理者は、CLAUDE_CODE_PLUGIN_DIRS 変数で名前が付けられたフォルダを含む両方のフラグを拒否できます。管理設定 disableSideloadFlags。Claude Code はその後、フラグが組織の管理設定によって無効化されていることを出力し、起動せずに 1 で終了します。
Agent SDK から、plugins オプションは --plugin-dir と同等です。
次のステップ
- プラグインのインストールと管理: ステップと同じ操作。各ステップで表示される内容
- プラグイン読み込みリファレンス: 各コマンドがディスク上で何を変更し、どのスコープが有効になるか
- プラグインのトラブルシューティング: インストール、マーケットプレイス、ロード、および検証エラーメッセージとその修正
- プラグインマニフェストリファレンス:
claude plugin validateがチェックするフィールド