Plugin skills loaded twice: from marketplace clone and installed cache
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
- Publish a plugin to a custom marketplace (e.g.,
khaosdoctor/sigilon GitHub) - Add the marketplace via
/plugin-marketplace-add - Install the plugin via
/plugin-install - Start a new Claude Code session (in any directory, not just the plugin repo)
- 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@sigilv1.1.2 - Custom marketplace source: GitHub repo
khaosdoctor/sigil
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗