Plugin installation creates symlinks in skills/ causing duplicate slash commands

Resolved 💬 3 comments Opened Feb 6, 2026 by yulonglin Closed Mar 7, 2026

Description

Plugin installation creates symlinks in ~/.claude/skills/ pointing to plugins/cache/ and plugins/marketplaces/. These symlinks cause every installed plugin skill to appear twice in the slash command picker:

  1. Once as (user) — from the symlink in ~/.claude/skills/
  2. Once as (plugin-name) — from the plugin registry (installed_plugins.json)

For example, /presentation shows:

/research-presentation              (user)
/research-presentation              (writing-toolkit)

Evidence

  • 83 symlinks in ~/.claude/skills/, all with identical timestamp (batch-created by plugin system)
  • All point to plugins/cache/ or plugins/marketplaces/ directories
  • Symlinks are recreated on startup / plugin sync

Example symlink targets:

skills/fix-merge-conflict -> plugins/cache/claude-plugins-official/code-quality/1.0.0/skills/fix-merge-conflict
skills/agent-development -> plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development

Expected Behavior

Each skill should appear exactly once. Since plugin skills are already discovered via the plugin registry, the symlinks in ~/.claude/skills/ are redundant.

Suggested Fix

Either:

  1. Don't create symlinks in skills/ during plugin installation (the registry is sufficient for discovery)
  2. Deduplicate in the slash command picker (prefer plugin-namespaced entries over user symlinks)

Environment

  • Claude Code v2.1.34
  • macOS 15.3.1
  • 3 local marketplace plugins installed (research-toolkit, writing-toolkit, code-quality) plus official plugins

Related Issues

  • #14549 — Skill count inflation (N× duplication from cache copies of marketplace.json)
  • #17271 — Plugin skills not showing in autocomplete (fixed in v2.1.29)
  • #21891 — No dedup when loading same skill multiple times

View original on GitHub ↗

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