Nested marketplaces cause plugin resolution errors

Resolved 💬 7 comments Opened Jan 10, 2026 by discreteds Closed Mar 13, 2026

When a plugin that defines its own marketplace.json (for standalone installation) is included as a submodule in another marketplace, Claude Code fails to resolve the plugin's update source correctly.

Steps to Reproduce

  1. Create a plugin plugin-a with both plugin.json and marketplace.json (allowing standalone installation)
  2. Include plugin-a as a submodule in marketplace-b
  3. Install marketplace-b via /plugin marketplace add
  4. View installed plugins

Expected Behavior

Claude Code should resolve plugin-a through marketplace-b (the marketplace it was installed from) and ignore the nested marketplace.json.

Actual Behavior

Claude Code shows resolution errors:

Plugin 'plugin-a' not found in marketplace 'plugin-a'
Plugin 'plugin-a' not found in marketplace 'plugin-a-marketplace'

It attempts to find the plugin in marketplaces named after the plugin itself, rather than the parent marketplace it was installed through.

Environment

  • Claude Code version: 2.1.3
  • OS: Ubuntu 25.10

Real-World Example

  • Marketplace: hiivmind-marketplace (aggregates 16 plugins via submodules)
  • Plugin: hiivmind-corpus (meta-plugin with its own marketplace.json for standalone use)
  • When accessed through hiivmind-marketplace, Claude Code tries to resolve updates from non-existent hiivmind-corpus marketplace

Workarounds (all have drawbacks)

| Workaround | Drawback |
|------------|----------|
| Remove marketplace.json from nested plugin | Breaks standalone installation of that plugin |
| Don't nest plugins that have marketplace.json | Defeats purpose of unified marketplace aggregation |
| Manually edit installed plugin to remove nested marketplace.json | Fragile, reverts on update |

Suggested Fix

When resolving a plugin's update source, Claude Code should track which marketplace the plugin was installed from and use that, rather than inferring marketplace names from the plugin name or discovering nested marketplace.json files.

Related Issues

  • #17293 - Marketplace installation doesn't clone git submodules (same marketplace architecture)
  • #16890 - extraKnownMarketplaces key must match marketplace.json name (related resolution logic)

View original on GitHub ↗

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