[FEATURE] Support default/required plugins that auto-install on marketplace add

Resolved 💬 2 comments Opened Feb 24, 2026 by fernando-fernandez3 Closed Feb 25, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When a marketplace provides shared infrastructure that all its plugins depend on (MCP servers, credential management hooks, onboarding commands), there's no way to ensure that infrastructure is installed when a user adds the marketplace. Users must know to explicitly run claude plugin install <core-plugin>@<marketplace> after claude plugin marketplace add, or other plugins won't work correctly.

This creates a dependency ordering problem that the plugin system can't express:

  1. User runs claude plugin marketplace add <url> — marketplace is cloned
  2. User installs a plugin (e.g., scheduleit) — it requires credentials managed by a core plugin
  3. Credential hooks don't fire because the core plugin isn't installed
  4. User has no indication they need to install something else first

This feature is useful for teams getting started with claude code where we want some basic functionality to work for them when they add a company specific marketplace.

Proposed Solution

Allow marketplace.json to declare one or more plugins as "default": true or "required": true. These plugins would be automatically installed when the marketplace is added via claude plugin marketplace add.

{
  "name": "my-marketplace",
  "plugins": [
    {
      "name": "marketplace-core",
      "source": "./",
      "default": true,
      "category": "core"
    },
    {
      "name": "other-plugin",
      "source": "./plugins/other-plugin"
    }
  ]
}

Behavior on marketplace add:

  • Plugins marked "default": true are installed automatically after the marketplace is cloned
  • User is informed which plugins were auto-installed (similar to how plugin install reports success)
  • Auto-installed plugins use user scope by default

Behavior on marketplace update:

  • Default plugins that aren't installed yet get installed (covers the case where a marketplace adds a new default plugin after initial setup)
  • Already-installed default plugins follow normal update behavior (version bump detection)

Alternative Solutions

  1. Plugin dependencies in plugin.json — Related to #27113, but that solves project-level dependencies. This is a marketplace-level concern: "when you add this marketplace, you should always have this plugin installed."
  1. enabledPlugins in project .claude/settings.json — Works per-project but requires every project to configure it. We want the default to apply at the marketplace level, across all projects.
  1. Marketplace root as plugin (source: "./") — This is what we currently do. It works architecturally, but the user still needs to explicitly install it. The source: "./" pattern + "default": true together would make it fully automatic.

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

We maintain an internal marketplace with 25+ plugins. The marketplace provides shared infrastructure at its root (source: "./") including:

  • MCP server configurations (Jira, Confluence, Splunk, Calendar, Mail, Notes)
  • Credential management hooks (SessionStart hook that detects missing credentials)
  • Interactive credential setup script
  • Onboarding commands and skills

Without auto-install, every user who adds the marketplace must know to also run claude plugin install marketplace-core@company-specific-marketplace.
New users frequently skip this step and then wonder why credential management, MCP servers, and slash commands aren't available.

Additional Context

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗