- Organization settings on claude.ai: members get the plugin on their accounts, where chat and Cowork use it. Plugins you add this way stay private to your organization
- Claude Code managed settings: Claude Code installs the plugin on developers’ machines
- If you want to list a plugin publicly, see Publish to the directory
- If you haven’t built the plugin yet, see Build your first plugin and Plugin structure and testing
Choose a rollout route
The table compares organization settings on claude.ai with Claude Code managed settings on who receives the plugin and what each route asks of you.
A plugin on a member’s account reaches Claude Code as a synced plugin in Cowork and in terminal sessions where the member signs in with their claude.ai account on Claude Code v2.1.273 or later. Plugins synced from claude.ai has the sign-in and timing rules. For developers whose terminal sessions don’t sync from a claude.ai account, use managed settings.
Roll out through both routes
Use both routes when the plugin is for people in chat and Cowork and also for developers whose Claude Code sessions don’t sync from a claude.ai account.1
Lay out the repository as a marketplace
Put the plugin in a Git repository with a
.claude-plugin/marketplace.json that lists it. You use the same repository for both routes. Create a marketplace in the Claude Code docs covers the format.2
Check the repository against the organization sync rules
Organization sync is stricter than Claude Code about the repository’s visibility and about which plugin source types it accepts, and it rejects a plugin with a top-level
bin/ directory. Check the plugin sources that organization sync accepts before you continue.3
Sync the repository from organization settings
In Organization settings > Plugins & skills, add the repository as Add your own plugins describes, then set each plugin’s availability.
4
Register the same marketplace in managed settings
Set
extraKnownMarketplaces and enabledPlugins as Pre-install and require plugins describes. To limit developers to your marketplace, see Restrict what users can install.5
Confirm on each surface
- In claude.ai: as a member, open Customize > Plugins and check that the plugin appears there
- On a developer’s machine: start Claude Code and run
/plugin, which lists the marketplace and the plugin
If a developer has the plugin from both routes
A developer can end up with the plugin from both routes. Claude Code loads one plugin per name. It loads the copy that managed settings install and reports the synced copy as not loaded, as Name conflicts describes.Build one repository for both audiences
One plugin folder can serve both audiences, because each surface skips the components it doesn’t load. Hooks and agents load in Cowork and Claude Code and not in chat, and a local MCP server doesn’t run in chat. Check each component you include against Plugin feature support across platforms before you promise a behavior to people who only use chat.Update a plugin you’ve rolled out
You release an update by pushing to the repository. How the update reaches people depends on the route.Update through organization settings
Organization sync reads the repository’s default branch, and members get the new version after the marketplace syncs. It syncs when an Owner selects Re-sync or, with Sync automatically on, when someone pushes to the default branch. Nothing syncs on a schedule. Tags aren’t read, so a tag by itself releases nothing. Re-sync syncs the marketplace now, so members get the version on the default branch without waiting for a push. To re-sync:1
Open the Marketplaces tab
2
Re-sync the marketplace
Open the menu in the marketplace’s row and select Re-sync.
3
Retry if you synced recently
If you see You synced recently, wait the number of seconds the message gives, then select Re-sync again.
Update through managed settings
Claude Code refreshes a marketplace and updates the plugins installed from it when auto-update is on for that marketplace. Set update policy covers turning it on for your fleet. If yourplugin.json sets version, raise it with every release, because Claude Code compares it to decide whether an installed plugin has an update.
Next steps
- Sync your organization’s plugins from a repository: check your repository and plugin sources against the rules organization sync enforces
- Manage plugins for your organization: set availability for everyone or for user groups, and control what members can add themselves
- Manage Claude Code plugins for your organization: set the managed-settings keys and deliver them to developers’ machines