CLI: Auto-install plugins from org managed settings (extraKnownMarketplaces + enabledPlugins)
Status Closed — not planned
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 8 comments · opened Apr 8, 2026 · closed Jun 21, 2026
Problem
Plugins configured in org managed settings (extraKnownMarketplaces + enabledPlugins) do not auto-install in the CLI. They work in the desktop app and web app, but CLI users must manually run /plugin marketplace add and /plugin install.
This creates friction for organizations distributing internal plugins — there's no way to ensure CLI users have the correct plugins without manual steps or building workarounds like CLAUDE_CODE_PLUGIN_SEED_DIR into Docker images.
Current behavior
- Admin configures
extraKnownMarketplacesandenabledPluginsin managed settings (Admin Console > Claude Code > Managed settings) - CLI fetches managed settings at startup → cached in
~/.claude/remote-settings.json - The marketplace is not registered in
~/.claude/plugins/known_marketplaces.json - The plugin is not installed
- User must manually add the marketplace and install the plugin
Expected behavior
- Admin configures
extraKnownMarketplacesandenabledPluginsin managed settings - CLI fetches managed settings at startup
- Marketplace is automatically registered and fetched
- Plugins listed in
enabledPluginsare automatically installed - User starts a session with the plugin already active
Workarounds considered
CLAUDE_CODE_PLUGIN_SEED_DIR: Works for Docker/container environments but requires baking plugins into the image at build time, managing GitHub tokens as build secrets, and rebuilding to update- Entrypoint scripts: Adds startup latency and requires network + auth at runtime
- Manual install docs: Defeats the purpose of org-managed settings
Prior issues
- #23737 — closed as duplicate of #19275
- #28310 — closed as duplicate of #19275
- #19275 — closed as "not planned" (was filed as a bug about race conditions, not as a feature request)
None of these resulted in the feature actually shipping for CLI.
Environment
- Claude Code CLI (via
curl -fsSL https://claude.ai/install.sh | bash) - macOS + Linux (Docker containers)
- Organization using Claude for Enterprise with managed settings
8 Comments
We're hitting this exact issue. Our organization distributes internal plugins via a private GitHub marketplace configured in the Admin Console (Admin Settings → Plugins).
What works:
What doesn't work:
known_marketplaces.jsonand not installed. Users must manually runmarketplace add+plugin install, which requires GitHub access (gh auth login).This is a blocker for us because:
${ENV_VAR}expansion — these don't work in Cowork's sandbox (see #9427, #46473)Our workaround: We document two paths (Cowork for skills-only, CLI for full MCP experience) but CLI users need manual GitHub setup. This is not scalable.
Would love to see CLI auto-install from managed settings — it would close the loop on org plugin distribution.
Same issue. Would be awesome to have @ssalzman-kobold
With Claude Code CLI 2.1.147 on macOS, and an SSH-style URL for the marketplace (using SSH keys to access a private repository in GitLab), I got the plugins auto-installed after two restarts.
The first restart got the marketplace listed in
claude plugin marketplace listbut no plugins appeared. After the second restart the plugins magically appeared. No manual steps needed other than the restarts.Managed settings (edited for privacy):
.claude-plugin/marketplace.jsonlooks like this:Closing for now — inactive for too long. Please open a new issue if this is still relevant.
I don't really understand why the Claude team does handle Web/Desktop and CLI like different products – it's really annoying for us as enterprise customers, when we roll out plugins and skills and the users still have to manually add them in their CLI.
Its really odd to me that connectors sync from the web to all surfaces (claude.ai, claude desktop chat/cowork/code, claude code CLI), but plugins only sycn to some surfaces (claude.ai, claude desktop chat/cowork/code, claude code CLI).
It's really nice to be able to setup a connector and have it available in all my claudes. I would like to do the same with skills and plugins!
That's just lazy.
Made a new feature request: https://github.com/anthropics/claude-code/issues/91874