原文(日本語に翻訳)
ファイルベースマーケットプレースソースのプラグインパス解決を修正しました
原文(英語)
Fixed plugin path resolution for file-based marketplace sources
概要
Claude Code v2.1.0で修正された、プラグインマーケットプレースのパス解決バグです。以前のバージョンでは、marketplace.jsonファイルパス全体(ファイル名を含む)をベースディレクトリとして使用していたため、プラグインインストールパスが不正になり、「Plugin directory not found」エラーが発生していました。この修正により、marketplace.jsonの親ディレクトリを正しくベースパスとして使用するようになりました。
修正前の問題
bash
# プラグインをインストール
claude plugin install my-plugin
# エラー: Plugin directory not found
# 原因: installed_plugins.jsonに不正なパスが記録される
# /path/to/marketplace.json/plugins/my-plugin
# ^^^ ファイル名がディレクトリとして扱われる不正なパス構造
json
// installed_plugins.json(修正前)
{
"my-plugin": {
"source": "file",
"path": "/path/to/marketplace.json/plugins/my-plugin"
}
}marketplace.json はファイルなので、ディレクトリとして扱うとエラーになります。
修正後の動作
bash
# プラグインをインストール
claude plugin install my-plugin
# ✓ 成功: 正しいパスが使用される
# /path/to/plugins/my-plugin正しいパス構造
json
// installed_plugins.json(修正後)
{
"my-plugin": {
"source": "file",
"path": "/path/to/plugins/my-plugin"
}
}実践例
ローカルマーケットプレースの使用
bash
# プロジェクト構造
myproject/
├── .claude-marketplace/
│ ├── marketplace.json
│ └── plugins/
│ ├── linter/
│ └── formatter/
# marketplace.jsonの場所
/path/to/myproject/.claude-marketplace/marketplace.json
# プラグインをインストール
claude plugin install linter
# 修正後: 正しいパス解決
# /path/to/myproject/.claude-marketplace/plugins/linterチームマーケットプレースの共有
bash
# チーム共有マーケットプレース
/team/shared/claude-plugins/
├── marketplace.json
└── plugins/
├── code-review/
├── deploy/
└── test-runner/
# インストール
claude plugin install code-review
# ✓ 正しく解決: /team/shared/claude-plugins/plugins/code-review複数マーケットプレースの管理
bash
# マーケットプレース1
~/personal-plugins/marketplace.json
# マーケットプレース2
~/work-plugins/marketplace.json
# どちらからインストールしても、
# パスが正しく解決されるようになった注意点
- この修正は Claude Code v2.1.0(2026年1月7日リリース)で実装されました
- 修正前のバージョンでインストールしたプラグインは、再インストールが必要な場合があります
- ファイルベースマーケットプレースの構造:
marketplace-dir/ ├── marketplace.json └── plugins/ ├── plugin1/ └── plugin2/ - プラグインは
marketplace.jsonの親ディレクトリからの相対パスで解決されます - 共有ファイルの扱い:
- プラグイン外のファイル参照(
../shared-utilsなど)は機能しません - プラグインディレクトリのみがキャッシュにコピーされます
- 共有が必要な場合は、シンボリックリンクを使用するか、プラグインソースパス内に配置してください
- プラグイン外のファイル参照(
- GitHub Issue #11278で報告され、v2.1.0で修正されました