Plugin skills loaded twice: from marketplace clone and installed cache

Resolved 💬 2 comments Opened May 18, 2026 by khaosdoctor Closed Jun 17, 2026

Bug Description

When a plugin is installed from a custom marketplace, its skills are loaded twice — once from the marketplace git clone directory and once from the installed plugin cache. This causes every skill from the plugin to appear duplicated in the skill list.

Steps to Reproduce

  1. Publish a plugin to a custom marketplace (e.g., khaosdoctor/sigil on GitHub)
  2. Add the marketplace via /plugin-marketplace-add
  3. Install the plugin via /plugin-install
  4. Start a new Claude Code session (in any directory, not just the plugin repo)
  5. Observe that all skills from the plugin appear twice in the available skills list

Root Cause

After installation, the plugin exists in two locations that are both scanned for skills:

  • Marketplace clone: ~/.claude/plugins/marketplaces/<marketplace>/plugins/<plugin>/skills/ — the full git clone of the marketplace repo, which includes the plugin source
  • Installed cache: ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/skills/ — the actual installed copy

Both directories contain the same skills/ tree with identical SKILL.md files, so every skill registers twice.

Expected Behavior

Skills should only be loaded from the installed plugin cache (~/.claude/plugins/cache/...), not from the marketplace clone directory. The marketplace clone should only be used as a catalog/index for discovering and installing plugins.

Workaround

Removing the skills/ directory from the installed cache (~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/skills/) eliminates the duplicates, since the marketplace clone still provides the skills. However, this may be reversed on plugin update.

Environment

  • Claude Code CLI on Arch Linux
  • Plugin: sigil@sigil v1.1.2
  • Custom marketplace source: GitHub repo khaosdoctor/sigil

View original on GitHub ↗

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