.claude/commands/*.md files not discovered as slash commands
Summary
Files placed in .claude/commands/ are not discovered or invokable as slash commands via the Skill tool. Only skills defined in .claude/skills/<name>/SKILL.md are registered.
Reproduction
- Create a file at
.claude/commands/my-command.mdwith valid YAML frontmatter (name,description) and markdown body - Restart Claude Code session
- Attempt to invoke
/my-command— fails with "Unknown skill"
Expected behavior
Per the documentation, .claude/commands/*.md files should create slash commands equivalent to skills. From the docs: "Custom commands have been merged into skills. A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy and work the same way."
Actual behavior
Only .claude/skills/<name>/SKILL.md files are discovered. All .claude/commands/ files are invisible to the Skill tool.
Environment
- macOS (Darwin 25.3.0)
- Claude Code (claude-opus-4-6 with 1M context)
Workaround
Move command files to .claude/skills/<name>/SKILL.md format. This works reliably.
Test cases
Tested 6 different .claude/commands/ files — all fail:
clean-scratchpad.md→ Unknown skillclean-cauldrons.md→ Unknown skillupdate-docs.md→ Unknown skillwhoami.md→ Unknown skillnew-skill.md→ Unknown skillcommit-push.md→ Unknown skill
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗