原文(日本語に翻訳)
ローカル開発コピーが同名のインストール済みマーケットプレイスプラグインを上書きするよう--plugin-dirを変更(マネージド設定でforce-enableされているプラグインを除く)
原文(英語)
Changed --plugin-dir so local dev copies now override installed marketplace plugins with the same name (unless that plugin is force-enabled by managed settings)
概要
--plugin-dirフラグの動作が変更され、ローカルの開発コピーが同じ名前のインストール済みマーケットプレイスプラグインを上書きするようになりました。これによりプラグイン開発者は、マーケットプレイス版を無効化することなく、ローカルで開発中のバージョンをテストできます。ただし、マネージドポリシーでforce-enableが設定されているプラグインは上書きされません。
基本的な使い方
bash
# ローカルの開発コピーを使用してClaude Codeを起動
claude --plugin-dir ./my-plugin-dev
# 同名のマーケットプレイスプラグインがインストールされていても、
# ローカルコピーが優先される実践例
プラグイン開発ワークフロー
bash
# プラグインを開発中のディレクトリ構造
my-plugin/
├── plugin.json
├── skills/
│ ├── my-skill.md
│ └── another-skill.md
└── hooks/
└── pre-tool-use.sh
# ローカル開発バージョンでテスト
claude --plugin-dir ./my-plugin
# マーケットプレイスに my-plugin がインストールされていても、
# ./my-plugin のローカルバージョンが使用される(変更前は競合)既存インストールとローカル開発の比較テスト
bash
# マーケットプレイスバージョンで通常起動
claude
# → マーケットプレイスの my-plugin を使用
# ローカル開発バージョンでテスト
claude --plugin-dir ./my-plugin-dev
# → ./my-plugin-dev のローカルバージョンが優先
# 両方を比較することで開発中の変更を検証できるplugin.jsonでの名前設定
json
// my-plugin-dev/plugin.json
{
"name": "my-plugin", // マーケットプレイスと同じ名前
"version": "1.1.0-dev",
"description": "開発版プラグイン"
}複数のローカルプラグインをテスト
bash
# 複数のプラグインディレクトリをカンマ区切りで指定
claude --plugin-dir ./plugin-a,./plugin-b,./plugin-c
# それぞれのローカルバージョンがマーケットプレイス版を上書きマネージドポリシーでのforce-enable設定
管理者がforce-enableしているプラグインはローカルコピーで上書きできません:
json
// managed-settings.json(管理者設定)
{
"plugins": {
"force-enabled": ["security-plugin", "compliance-plugin"]
}
}上記のsecurity-pluginは--plugin-dirで指定しても上書き不可。
注意点
--plugin-dirは開発・テスト目的で使用することを想定しています- マネージドポリシーで
force-enableされたプラグインは上書きできません(セキュリティポリシーの保護) - プラグインの
nameフィールドが一致する場合に上書きが発生します - ローカルコピーが優先されるのは
--plugin-dirフラグを使用した起動時のみです - CI/CD環境でのプラグインテストに活用できます
関連情報
- Claude Code プラグイン開発ガイド
- プラグインのテストとデバッグ
- 関連フラグ:
--plugin-dir,--no-plugins