Claude Media
「untrusted source」エラーの対処 — Claude Codeのマーケットプレイス信頼設定

「untrusted source」エラーの対処 — Claude Codeのマーケットプレイス信頼設定

「Marketplace is registered from an untrusted source」の意味と対処。予約名の一覧、v2.1.205前後の挙動差、strictKnownMarketplacesとの違いをまとめます。

Marketplace "<name>" is registered from an untrusted source — Claude Codeでプラグインマーケットプレイスを読み込もうとしたときにこう出たら、そのマーケットプレイス名がAnthropic専用に予約されているのに、登録元がgithub.com/anthropics/配下のリポジトリではないことを意味します。名前を予約枠から外れた形で使っているマーケットプレイスは、そのマーケットプレイスからインストールしたプラグインごと読み込みが止まります。原因は名前の衝突であって、内容の改ざんではありません。

「untrusted source」エラーの意味

このエラーは、マーケットプレイスのnameフィールドがAnthropic専用に予約されている文字列と一致しているのに、実際の登録元がgithub.com/anthropics/配下のリポジトリではないときに出ます。Claude Codeはこの整合性を、マーケットプレイスを追加するときだけでなく、読み込みや更新のたびに毎回チェックします。

このチェックはv2.1.205で挙動が変わりました。それより前は、マーケットプレイスを追加する瞬間にしか名前を確認していませんでした。予約される前に登録された名前は、そのまま読み込まれ続けていたのです。v2.1.205以降は毎回の読み込みで再チェックするため、新しく何も操作していないのに、ある日から突然このエラーが出るというケースが起こります。原因は自分の設定変更ではなく、予約リストの更新です。バージョンを上げただけでプラグインが軒並み使えなくなったように見えるため、原因不明のまま放置されがちなエラーでもあります。

予約されているマーケットプレイス名

Anthropicのために予約され、サードパーティが使えない名前は次の16個です。

カテゴリ予約名
Anthropic運営マーケットプレイス予約名claude-code-marketplace / claude-code-plugins / claude-plugins-official / claude-plugins-community / claude-community
Anthropicブランド予約名anthropic-marketplace / anthropic-plugins
Skills関連予約名agent-skills / anthropic-agent-skills
業種別プラグイン予約名knowledge-work-plugins / life-sciences / claude-for-legal / claude-for-financial-services / financial-services-plugins
その他予約名first-party-plugins / healthcare

first-party-pluginshealthcareはv2.1.205で新たに予約リストに加わった2つです。それ以前にこの2つの名前で登録していたサードパーティマーケットプレイスは、v2.1.205を境に読み込みが止まりました。突然エラーが出た心当たりがある場合、まずこの2つに該当していないか確認してください。

この予約リストは、Claude Code本体に組み込まれたロジックの一部です。設定ファイルを書き換えても、環境変数を変えても、この判定自体は変わりません。組織のポリシー設定とは独立して、常に同じ16個の名前が保護される仕組みになっています。

予約名の完全一致だけでなく、なりすましと読める名前も対象です。official-claude-pluginsanthropic-plugins-v2のように、Anthropic運営を装っていると読める名前も同様にブロックされます。予約リストに文字通り載っていなくても、判定はロジック側で行われます。

現在登録されているマーケットプレイスを確認する

エラーが出たとき、どのマーケットプレイスが該当しているか一覧で確認できます。

claude plugin marketplace list --json

--jsonを付けると、各エントリのnamesource・キャッシュの保存先を示すinstallLocationが返ります。GitHubやgitのソースならrepoまたはurlも含まれるため、nameが予約名と一致していないか、sourcegithub.com/anthropics/以外を指していないかをここで照合できます。複数のマーケットプレイスを登録している場合、エラーメッセージに出る名前を手がかりにこのリストから該当エントリを探すのが最短です。

対処法

自分がインストール側で、なりすましの意図なく偶然名前が衝突しているだけなら、そのマーケットプレイスを削除して正規の登録元から入れ直します。

claude plugin marketplace remove claude-community
claude plugin marketplace add anthropics/claude-plugins-community

Anthropicが運営するマーケットプレイスの登録元は用途によって2つあります。Anthropic自身がキュレーションするclaude-plugins-officialanthropics/claude-plugins-officialから、サードパーティ製プラグインが審査を経て並ぶclaude-communityanthropics/claude-plugins-communityから、それぞれ/plugin marketplace addで追加し直します。名前とリポジトリの組み合わせを間違えると、同じエラーが再発します。

removeは最後に残った登録スコープから削除すると、そこからインストール済みのプラグインもまとめてアンインストールされる点に注意してください。プラグインのキャッシュや設定を残したままマーケットプレイスだけ更新したい場合は、removeではなくclaude plugin marketplace update <name>を使います。ただしこのエラーが出ている状態では、名前と登録元の不一致自体はupdateでは解消しません。一度removeして正しい登録元からaddし直す必要があります。

自分が公開しているマーケットプレイスが該当する場合

このエラーは利用者側だけでなく、マーケットプレイスの公開者側にも影響します。予約前から使っていた名前が新たに予約リストへ加わると、そのマーケットプレイスは自分のリポジトリを一切変更していないのに読み込まれなくなります。

対処は名前の変更以外にありません。marketplace.jsonnameを予約されていない文字列に変え、既存の利用者には新しい名前で/plugin marketplace addをやり直してもらうよう案内します。名前はマーケットプレイスの公開識別子であるため、ここを変えると利用者側の再登録が必ず必要になります。黙って直しても、利用者のClaude Codeには反映されません。

Claude Desktopの予約名チェックとの違い

紛らわしいことに、名前の予約に関する制約はもう1つ別に存在します。v2.1.221以降のclaude plugin validateを実行すると、マーケットプレイス名がorgorg-provisionedunknownのいずれかと一致する場合に「Claude Desktopで予約されている」という警告が出ます。これはClaude Codeの読み込みそのものは妨げませんが、Claude Desktopの管理マーケットプレイス同期がそのマーケットプレイス全体を拒否する原因になります。

つまり、名前に関する制約は2層あります。1つはClaude Code自体が読み込み時に強制する今回のエラー、もう1つはClaude Desktop側の同期処理が拒否する別の予約語です。前者はエラーとして起動を止め、後者はvalidate実行時の警告として現れるだけで、Claude Code単体での動作は妨げません。両方を混同すると、片方を直しても症状が消えない、という状況に陥ります。

strictKnownMarketplacesとの違い

似た場面で出る別のエラーと混同しやすいので、仕組みの違いを並べて見分けます。

項目untrusted sourcestrictKnownMarketplaces
判定主体untrusted sourceClaude Code本体の固定ロジックstrictKnownMarketplaces組織管理者がmanaged-settings.jsonで設定
判定対象untrusted sourceマーケットプレイス名と登録元の一致strictKnownMarketplaces登録元がallowlistに含まれるか
誰が止められるかuntrusted source誰にも変更不可(予約名は固定)strictKnownMarketplaces管理者がallowlistを編集すれば変わる
典型的な出現条件untrusted source予約名を正規の登録元以外から登録strictKnownMarketplaces組織ポリシーで許可されていない登録元を追加しようとした

strictKnownMarketplacesは組織が任意に設定する許可リストで、管理者の裁量で緩めたり厳しくしたりできます。一方、予約名のチェックはClaude Code自体に組み込まれた固定ルールで、管理者設定の有無に関係なく常に効きます。組織のポリシーを疑う前に、まず名前の予約に該当していないかを確認するほうが早く原因にたどり着けます。組織のマーケットプレイス統制についてはClaude Code組織管理ガイドで扱っています。プラグインとマーケットプレイスの全体像はClaude Codeプラグイン完全ガイドで確認できます。

よくある質問

何も設定を変えていないのに急にエラーが出るのはなぜですか

予約名リストがClaude Codeのバージョンアップで更新された可能性があります。v2.1.205ではfirst-party-pluginshealthcareが新たに予約対象へ加わりました。マーケットプレイスの名前がこの2つ、または他の予約名と一致していないか確認してください。

プラグイン自体が改ざんされているということですか

いいえ。このエラーは名前の予約状態だけを見ており、プラグインの中身や配布元の安全性そのものは判定していません。改ざんされたファイルを検知するのは別のエラー(Plugin archive integrity check failed)の役割です。

名前を変えずに使い続ける方法はありますか

ありません。予約名は固定のルールで、利用者側の設定では回避できません。マーケットプレイスの公開者が名前を変えるか、利用者が正規の登録元から入れ直すかのどちらかです。

/plugin marketplace updateで解消しますか

解消しません。updateはカタログの再取得であって、名前の予約判定を変えるものではありません。予約名のまま登録元がAnthropic配下でなければ、更新後も同じエラーが出ます。

予約名リストは今後も増えますか

増える前提で見ておくのが安全です。first-party-pluginshealthcareはv2.1.205で追加された実例で、Anthropicが新しい業種別プラグイン群を用意するたびに、その名前が予約対象へ加わる可能性があります。汎用的すぎる名前でマーケットプレイスを公開していると、将来のバージョンアップで同じ事態に遭遇するリスクが残ります。

社内向けのプライベートマーケットプレイスでも起きますか

起きます。予約名のチェックは、マーケットプレイスが公開か非公開かを区別しません。社内リポジトリであっても、nameフィールドに予約語をたまたま選んでしまえば同じエラーが出ます。社内マーケットプレイスを新設するときは、事前にこの16個の予約名との衝突がないか確認しておくと、後からの改名作業を避けられます。

まとめ

「Marketplace is registered from an untrusted source」は、マーケットプレイス名がAnthropic専用に予約されているのに、登録元がgithub.com/anthropics/配下のリポジトリではないときに出るエラーです。v2.1.205以降は毎回の読み込みで再チェックされるため、以前は問題なく動いていたマーケットプレイスが予約リストの更新だけで突然止まることがあります。対処はclaude plugin marketplace removeで一度削除し、正規の登録元から入れ直すことです。自分がマーケットプレイスを公開している側なら、名前を変えて利用者に再登録を案内する以外に解決策はありません。

この記事を共有:XはてブLinkedIn