[FEATURE REQUEST] Project-scoped /plugin install should also write extraKnownMarketplaces to project settings, so the checked-in config resolves for collaborators
Environment
- Claude Code v2.1.233 (CLI), Linux x86_64
Steps to reproduce
- Register a third-party marketplace:
/plugin marketplace add chains-project/chains-hooks - Install a plugin from it, choosing project scope in the install dialog:
/plugin install yul@chains-project
Current behavior
The marketplace registration lands only in user-level state:
~/.claude/settings.jsongets theextraKnownMarketplacesentry~/.claude/plugins/known_marketplaces.jsonrecords the registry entry
The project's .claude/settings.json — the file that project scope exists to share with collaborators — gets only:
{
"enabledPlugins": {
"yul@chains-project": true
}
}
Why this is a problem
Project scope's purpose is "everyone working in this repo gets the plugin." But a collaborator who clones the repo has no chains-project marketplace registered anywhere, and the checked-in settings file doesn't declare one, so yul@chains-project in enabledPlugins can't resolve for them. Claude Code reports the plugin as not installed and suggests running claude plugin install — but that command can't succeed either, because the marketplace it refers to isn't registered on their machine and nothing in the repo says where it lives. Meanwhile everything keeps working on the installing user's machine (the registration sits in their user settings), so the incomplete config is easy to ship without noticing.
The documented team setup (Require marketplaces for your team, Configure team marketplaces) is precisely extraKnownMarketplaces + enabledPlugins together in the repo's .claude/settings.json — i.e. the current path is to hand-edit the project settings after the install dialog, adding an entry the installer already has on hand in known_marketplaces.json.
Proposed behavior
When the user picks project scope for a plugin whose marketplace isn't the official registry, the install should also write the corresponding extraKnownMarketplaces entry into the project's .claude/settings.json (or at minimum warn that the checked-in config is incomplete for collaborators). The installer already knows the marketplace's source spec.
Workaround
Manually add the marketplace to the project settings, per the docs above:
{
"extraKnownMarketplaces": {
"chains-project": {
"source": { "source": "github", "repo": "chains-project/chains-hooks" }
}
},
"enabledPlugins": { "yul@chains-project": true }
}This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗