[BUG] Plugin command with arguments: unprefixed name gives "Unknown command" in the interactive CLI
Status Open
Reported on v2.1.281
Maintainer reply None cached
Activity 0 comments · opened Sep 25, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet (closest: #36210, closed, same "Args from unknown skill" symptom for a plugin command with arguments)
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
In the interactive CLI, typing a plugin command by its unprefixed name with arguments fails:
⏺ Unknown command: /hello. Did you mean /help?
⏺ Args from unknown skill: world
The prefixed form works: /hellotest:hello world → runs.
What Should Happen?
The command should run. The skills docs say the bare name "also invokes the skill unless another command already uses that name" (https://code.claude.com/docs/en/skills), and nothing else uses hello.
Steps to Reproduce
- Create a minimal plugin:
hellotest/.claude-plugin/plugin.json:{ "name": "hellotest", "version": "0.0.1" }hellotest/commands/hello.md:
``HELLO-RAN args=<the arguments>
---
description: "Reply with HELLO-RAN and the arguments."
argument-hint: "<anything>"
---
Reply with exactly one line: . The arguments were: $ARGUMENTS``
- In an empty git repo, run
claude --plugin-dir ../hellotest. - Type
/hello worldand press Enter (keep typing; don't pick from the autocomplete menu). - Result: "Unknown command: /hello" / "Args from unknown skill: world".
- Type
/hellotest:hello world→HELLO-RAN args=world.
Notes
- Headless works:
claude -p "/hello world"runs the command, so this looks specific to interactive input parsing. - With no arguments, the bare name only appears to work because the autocomplete menu fills in the
plugin:prefix on Enter. Once a space and arguments are typed the menu closes and the bare name fails. - Also reproduced with a real plugin whose commands also ship as
skills/<name>/SKILL.md— same failure, so it does not depend on the commands/ vs skills/ layout. - Plugins installed from a marketplace (user scope) fail the same way as
--plugin-dir.
Environment
- Claude Code 2.1.281 on macOS (Darwin 25.5), and 2.1.282 on Debian bookworm arm64 (fresh VM, no prior config)
- Model: Opus 5.5; permission mode: auto