[BUG] Plugin skills don't register as user-invocable slash commands via marketplace; CLI silently fails for GHE
Summary
Three related issues make plugin skill distribution via marketplaces broken or misleading, particularly for GitHub Enterprise (GHE) users.
Environment
- Claude Code: 2.1.81 (native)
- Platform: macOS (Darwin 25.3.0)
- Git host: GitHub Enterprise (GHE)
Bug 1: Plugin auto-namespacing doesn't create user-invocable slash commands
Expected: Per the plugin docs, a skill at skills/commit/SKILL.md in a plugin named crwp should register as /crwp:commit in the / autocomplete menu.
Actual: The skill only registers for model invocation (via the Skill tool). It does NOT appear as a user-invocable slash command. Typing /crwp:commit returns "Unknown skill."
Workaround: Naming the directory skills/crwp:commit/ makes the slash command /crwp:commit work, but the Skill tool then shows it as crwp:crwp:commit (double-namespaced).
Reproduction:
- Create a plugin with
"name": "crwp"inplugin.json - Add
skills/hello/SKILL.mdwithuser-invocable: true - Load via
--plugin-diror marketplace cache - Type
/crwp:hello— returns "Unknown skill" - Rename directory to
skills/crwp:hello/—/crwp:hellonow works
Bug 2: claude plugin marketplace add and claude plugin install silently fail for GHE
Expected: claude plugin marketplace add https://ghe.example.com/Org/repo.git should clone the repo into ~/.claude/plugins/marketplaces/.
Actual: Command produces no output (no error, no success message) and writes no files. git clone with the same URL works fine. gh CLI is authenticated to the same GHE instance.
Impact: Forces manual cache setup — users must git clone the marketplace repo and manually copy plugin files into ~/.claude/plugins/cache/ to get plugins working.
Bug 3: /reload-plugins doesn't pick up plugin cache changes
Expected: After updating files in ~/.claude/plugins/cache/, /reload-plugins should load the updated skills.
Actual: /reload-plugins reports the plugin count but doesn't reflect cache changes. A full new session is required. This makes debugging plugin issues extremely time-consuming.
Impact
These three issues together made what should have been a 5-minute plugin setup into a multi-hour debugging session. The docs describe a clean workflow that doesn't work end-to-end. The silent failures provide no diagnostic information.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗