Skip to main content
The repo you publish to (see Publish & install) is a standard marketplace for Claude Cowork too, not just Claude Code. Cowork gives you two distinct channels to reach it — a self-serve personal install, and an admin-driven org-wide rollout — with different repo-visibility requirements and different update triggers. This page covers both, plus the one fact that matters most once you’re shipping updates: what makes an org fleet actually pick up a new version.
This page assumes you already have a marketplace publishing successfully — see Publish & install first. It does not re-document Anthropic’s GitHub-integration screens (App install, token verification, admin console UI); those are linked out to Anthropic’s own docs below.

Two channels

Use the personal channel to try a marketplace yourself or share it informally. Use the org channel when you want a plugin to show up for teammates without each of them doing anything — including, if you mark it required, whether they ask for it or not.

Personal install (public repo)

Anyone on a paid Cowork plan can add your marketplace themselves — no admin involved.
1

Open Plugins in Customize

In Cowork, go to Customize → Plugins.
2

Add marketplace

Click Add marketplace and paste your repo — owner/repo shorthand or the full GitHub URL both work. Public repos are supported here.
3

Install the plugin

Find your plugin in the marketplace listing and install it.
Cowork background-checks the marketplace for new commits, but pulling them is a manual action: click Update on the marketplace when you want the latest. If you’ve locally edited the plugin’s files, Cowork warns before it overwrites them.

Org-wide rollout (private repo)

This is the channel that gets a plugin in front of your whole team with no per-person action — and, for required plugins, no way for members to opt out. It has one hard requirement Anthropic enforces at the platform level: the repo must be private or internal. Public repos are rejected outright for organization marketplaces.
1

Publish to a private repo

Connect a private (or GitHub-Enterprise internal) repo as your marketplace’s publish target — the same Connect GitHub Repository flow, just pick a private repo instead of a public one. If your marketplace is currently published somewhere public and you want org rollout too, connect a second, private repo for it — Moxn’s GitHub App writes wherever it’s installed, private included. Publish normally from there.
2

Plan to release through a pull request

Org auto-sync fires on a merged pull request that includes a version bump — so releases for this channel go through a branch, not a direct commit to the default branch. Moxn supports that end to end: commit to a branch, open_pr, merge_pr. See the release section below.
3

Get the Claude GitHub App installed on that repo

This is a separate app from Moxn’s — Anthropic’s Claude GitHub App has to be installed on the same repo for org sync to work. Handled once by whoever administers the repo; see Anthropic’s guide linked below.
4

An org Owner registers the marketplace, once

In claude.ai admin settings: Plugins → Add plugin → GitHub, then enter owner/repo. This is a one-time setup step done by the organization Owner — not something each user or Moxn does per release.
From here on, you don’t touch the admin console again to ship an update — publish, then merge the PR it opens. See the next section. For the App-install and admin-console screens themselves, see Anthropic’s docs — they own that surface, not Moxn:

Publish, then merge the PR — that’s the release

This is the one thing to internalize about the org channel: auto-sync fires when a pull request that includes a plugin version bump is merged to the repo’s default branch. Not any push, not any publish — a version bump has to be part of what lands, and it has to land as a merge, not a direct push. Moxn does not bump versions for you, so a release for this channel is three deliberate steps on a branch:
The version bump is yours to remember. Moxn never fabricates or increments a version — a plugin with no version gets none, and a changed plugin whose version you did not touch ships unchanged. Since org auto-sync keys on a bump landing in the merge, a release without one merges cleanly and reaches nobody. The admin’s manual Update button on the org marketplace is the fallback.Run pre_merge_report before merging: it flags stale vendor manifests and whether Codex consumers will see the change.
Once the merge lands, members pick up the change on their next session or plugin refresh — no further action from them. A plugin set to required or installed-by-default reaches everyone the same way, with no install step at all.

Where each surface stands

Chat modes are a dead end for plugin distribution, on both vendors — Claude’s claude.ai/desktop Chat tab and ChatGPT’s Chat mode have no plugin or marketplace concept; skills only load there through each vendor’s own zip-upload path, with no git story. If a Chat-mode user needs live content from your Moxn marketplace, the closest thing is reading it through Moxn’s own MCP — marketplaces { action: "read_file" } returns a skill’s current text directly, without going through a vendor plugin system at all.