Plugin skills exposed twice — under both plugin name and install-hash prefix
When a plugin is installed via a marketplace, its skills appear in the available-skills list under two identifiers: the human-readable <plugin-name>:<skill> and a hex-prefixed <install-hash>:<skill>. Both entries point to the same underlying skill files and carry identical descriptions.
Repro:
- Install a marketplace plugin that ships skills, e.g.
claude plugin install test-deployed@gladly-claude-tools(fromsagansystems/gladly-claude-tools). claude plugin listshows a single registration:
````
❯ test-deployed@gladly-claude-tools
Version: 319bc04a4bf1
Scope: user
Status: ✔ enabled
~/.claude/plugins/installed_plugins.jsonhas a single entry.- Start a Claude Code session. The available-skills list contains each plugin skill twice, e.g.:
test-deployed:write-testing-steps319bc04a4bf1:write-testing-steps
The hex prefix matches gitCommitSha / version from installed_plugins.json.
Expected: Each skill appears once, under the plugin's human-readable name.
Actual: Each skill appears twice, under both the name and the install hash. Affects all 7 skills shipped by the plugin in my repro (run-testing-steps, capture-e2e-learning, smoke-sidekick-master, write-testing-steps, review-testing-steps, testing-standards, e2e-testing).
Impact: Wastes context window (duplicate descriptions in the skills system prompt) and may cause the model to be unsure which identifier to call.
Env: Claude Code on macOS (Darwin 25.5.0), single user-scope marketplace install. Persists across uninstall + reinstall.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗