Coworkプラグインマーケットプレイスを社内向けに作る手順
Team/EnterpriseのCoworkで、手動アップロードとGitHub同期の2方式から独自のプラグインマーケットプレイスを作る手順と上限をまとめます。
Anthropic製のマーケットプレイスだけでなく、Team・Enterpriseの管理者は自社専用のプラグインマーケットプレイスを作れます。方式は手動アップロードとGitHub同期の2つで、どちらもOrganization settings > Pluginsから設定します。ZIPファイルは50MBまで、手動マーケットプレイスは100件、GitHub同期は500件までという上限も決まっています。
プライベートマーケットプレイスは何を解決するのか
Anthropic製マーケットプレイスは法務・財務など汎用的な用途向けです。自社独自の業務知識や、社内システム連携用のプラグインを配布したい場合は、自分でマーケットプレイスを作る必要があります。作ったマーケットプレイスは、Anthropic製のものと同じ画面・同じ配布設定・同じグループオーバーライドの仕組みで管理できます。配布設定(4段階のインストール制御)とグループオーバーライドの詳細な挙動はCoworkプラグイン管理にまとめてあり、ここでは作成の手順そのものを扱います。
手動アップロードとGitHub同期、どちらを選ぶか
2つの方式は併用もできます。たとえば主力プラグインはGitHub同期で管理し、単発の社内ツールは手動アップロードで追加する、という組み合わせが可能です。
| 状況 | 向いている方式 |
|---|---|
| プラグインをバージョン管理・CI/CDで運用している | 向いている方式GitHub同期 |
| 複数人でプラグインを共同開発している | 向いている方式GitHub同期 |
| 更新を自動で全員に反映したい | 向いている方式GitHub同期 |
| 100件を超えるプラグインを配布したい | 向いている方式GitHub同期 |
| すぐに試したい・単発のツール | 向いている方式手動アップロード |
| 非エンジニアが作ったプラグイン | 向いている方式手動アップロード |
| GitHubにアクセスできない環境 | 向いている方式手動アップロード |
| 同期前のプラグインをテストしたい | 向いている方式手動アップロード |
手動マーケットプレイスを作る手順
エンジニアリングリソースを使わずに始められるのが手動アップロードです。
- Organization settings > Pluginsを開く
- 「Add plugins」→ソースで「Upload a file」を選ぶ
- 初回は「Upload to a new marketplace」が自動選択される(2回目以降は既存マーケットプレイスへの追加も選べる)
- マーケットプレイス名を入力する
- ZIPファイルをドラッグするか、アップロード欄から選択する
- 追加したいプラグインの数だけ4〜5を繰り返す
- 「Upload」をクリックして新規マーケットプレイスを作成する
既存と同じ名前のプラグインをアップロードすると、旧バージョンは自動的に上書きされます。事前に削除する必要はありません。
GitHub同期のマーケットプレイスを作る手順
複数人でプラグインを開発しているなら、GitHub同期の方が運用が楽になります。
リポジトリ側の準備: 接続するリポジトリはプライベートまたはインターナルに限られ、パブリックリポジトリは組織マーケットプレイスに使えません。github.com上のリポジトリ、または組織のGitHub Enterprise環境のどちらにも対応します。
marketplace.jsonで使えるソース種別は、Claude Code本体のプラグインマーケットプレイス機能より狭い範囲に限定されています。相対パス指定("source": "./plugins/my-plugin"のようにマーケットプレイスリポジトリ内のフォルダを指す形)がもっとも単純で確実です。github・url・git-subdirのソース種別にも対応していますが、npm・archive・commandは非対応です。マーケットプレイスの仕組み自体はClaude Codeのプラグインマーケットプレイスと共通の設計ですが、対応ソースの範囲はCowork組織マーケットプレイスの方が狭い点に注意してください。
プライベートなソースが使えるのは2パターンだけです。マーケットプレイスリポジトリと同じオーナーのgithub.comリポジトリ(Claude GitHub App経由で取得)か、組織のGitHub EnterpriseホストでGitHub Enterprise Appがインストール済みのリポジトリです。それ以外のソースは認証なしで取得されるため、別オーナーのgithub.comリポジトリや、GitLab・Bitbucketなど他ホストのリポジトリは公開状態である必要があります。条件に合わないプライベートリポジトリにプラグインがある場合は、該当フォルダをマーケットプレイスリポジトリ側にコピーし、ソースを相対パスに変更する方法(git subtreeやCIでのベンダリングが有効)で対応します。
接続手順:
- CoworkとSkillsが組織で有効になっていることを確認する
- Organization settings > Pluginsを開く
- 「Add plugins」→ソースで「GitHub」を選ぶ
- リポジトリを
owner/repo形式で入力する(例:acme-corp/claude-plugins) - 個人のGitHubトークンでアクセス権が確認された後、以降の同期にはClaude GitHub Appのインストールトークンが使われる
リポジトリが表示されない場合は、対象リポジトリにClaude GitHub Appがインストールされているか確認してください。
同期の仕組みとよくあるつまずき
接続すると初回同期が自動で走ります。以降、自動更新を有効にするかはマーケットプレイスごとの任意設定です。マーケットプレイスのメニューから「Sync automatically」をオンにすると、接続リポジトリにWebhookが作られます。
自動同期を有効にできるのは、そのリポジトリへの管理者権限を個人のGitHub連携で持っている人だけです。管理者権限がない状態でトグルをオンにしようとすると、Appが正しくインストールされていて手動更新は動く状態でも「Cannot access repository. Ensure the repository exists and the Claude GitHub App is installed」と表示されます。またClaude GitHub AppのWebhooks(Read & Write)権限が承認されていない古いインストールでは、GitHub側に権限更新の承認を求めるプロンプトが出ます。
自動同期が動くのは、プラグインのバージョン更新を含むプルリクエストがデフォルトブランチにマージされたときだけです。デフォルトブランチへの直接pushでは同期は走りません。「Update」ボタンからの手動同期はいつでも可能です。
同期のたびに、Coworkはリポジトリの最新コミットと前回同期時のコミットを比較します。変更がなければ同期はスキップされ、変更があればマニフェストを読み込んでプラグインを検証し、マーケットプレイスの中身を丸ごと置き換えます。同期には最大30分かかることがあります。
同期特有のエラーメッセージも把握しておくと復旧が早まります。「content error」で同期が失敗する場合は、リポジトリ内のいずれかのプラグインの形式が誤っている可能性が高く、marketplace.jsonやプラグイン本体のフォーマットを直してpushし、再同期すれば解消します。「External plugin source is not yet supported」や「Repository not found on github.com. Check the URL and make sure the repository is public.」というエラーは、marketplace.json内のいずれかのプラグインエントリがgithub・url・git-subdirのソース種別でマーケットプレイスリポジトリの外を指しており、組織側の同期がその参照先を取得できないときに出ます。該当プラグインのフォルダをマーケットプレイスリポジトリ内にコピーしてソースを相対パスへ変更するか、Organization settings > Plugins > Add plugins > Upload a fileから個別にアップロードして既存マーケットプレイスへ追加する方法で回避します。なお、メンバー自身のCustomizeメニューからアップロードしたプラグインは本人専用のインストールにとどまり、組織への配布にはなりません。
命名ルールと上限を確認する
マーケットプレイスとプラグインには、機械的なチェックが入る上限とルールがあります。
| 項目 | 値・ルール |
|---|---|
| ZIPファイルの上限(手動アップロード) | 値・ルール50MB |
| マーケットプレイスあたりのプラグイン数(手動) | 値・ルール100件 |
| マーケットプレイスあたりのプラグイン数(GitHub同期) | 値・ルール500件 |
| プラグイン名の文字数上限 | 値・ルール64文字 |
| プラグイン名の形式 | 値・ルール小文字とハイフンのみ(例: deployment-tools) |
| 同期のタイムアウト | 値・ルール30分 |
claude-code-marketplace・claude-code-plugins・claude-plugins-official・anthropic-marketplace・anthropic-plugins・agent-skills・life-sciencesといった名前は予約されており、自作マーケットプレイスには使えません。Anthropic公式のマーケットプレイスになりすます名前も同様にブロックされます。
アップロードが拒否される主な原因は、ファイルサイズ超過・ZIP形式が不正・100件の上限到達のいずれかです。プラグイン・スキルのスキャンが有効な組織では、悪意あるコードとして検出された場合にもアップロードが拒否されます。
マーケットプレイスは会社の「配布資産」として設計する
手動アップロードとGitHub同期は単なる操作手順の違いではなく、プラグインという業務資産をどう資産管理するかの選択です。GitHub同期を選ぶ組織は、プラグインをコードとして扱い、レビュー・バージョン管理・ロールバックの仕組みをそのままプラグイン配布に流用できます。手動アップロードは着手コストが低い一方、変更履歴やレビュー記録はCowork側には残りません。
予約マーケットプレイス名の存在は、この機能が単なる社内ツールではなく、将来的にAnthropic公式マーケットプレイスと同じ名前空間を共有する設計であることを示しています。社内マーケットプレイスの命名は、この名前空間を意識して決めておくと、将来的な混同を避けやすくなります。
まとめ
プライベートマーケットプレイスの作成は、手動アップロードとGitHub同期のどちらかを選ぶところから始まります。複数人での運用やCI/CDとの統合を考えるならGitHub同期、単発のツールや非エンジニアの利用なら手動アップロードが向いています。上限(手動100件・GitHub同期500件・ZIP 50MB)と予約名を事前に把握しておけば、アップロード拒否や同期失敗に慌てずに対応できます。Coworkの全体像はClaude Cowork(クロードコワーク)とはで扱っています。