Environment
- Claude Code desktop app (macOS), Code tab
- Plugin installed via marketplace (
claude plugin marketplace add + claude plugin install)
- Plugin has both
commands/*.md and skills/*/SKILL.md components
Expected behavior
Typing /my-command in the desktop app Code tab should discover and execute commands/my-command.md from the installed plugin, the same way it does in the CLI terminal.
Actual behavior
The desktop app routes /my-command through the Skill tool as my-plugin:my-command, which only searches skills/*/SKILL.md. Since my-command is registered as a command (in commands/), it returns:
Unknown skill: my-plugin:my-command
The same /my-command command works correctly in the CLI terminal.
Impact
Plugin commands are a core component type per the plugin architecture. Any plugin that separates user-invoked commands from model-invoked skills hits this gap in the desktop app.
Workaround
Run commands from the CLI terminal instead of the desktop app Code tab, or duplicate commands as skills (which violates the intended component type separation).
Environment
claude plugin marketplace add+claude plugin install)commands/*.mdandskills/*/SKILL.mdcomponentsExpected behavior
Typing
/my-commandin the desktop app Code tab should discover and executecommands/my-command.mdfrom the installed plugin, the same way it does in the CLI terminal.Actual behavior
The desktop app routes
/my-commandthrough the Skill tool asmy-plugin:my-command, which only searchesskills/*/SKILL.md. Sincemy-commandis registered as a command (incommands/), it returns:The same
/my-commandcommand works correctly in the CLI terminal.Impact
Plugin commands are a core component type per the plugin architecture. Any plugin that separates user-invoked commands from model-invoked skills hits this gap in the desktop app.
Workaround
Run commands from the CLI terminal instead of the desktop app Code tab, or duplicate commands as skills (which violates the intended component type separation).