.claude/commands/*.md files not discovered as slash commands

Resolved 💬 2 comments Opened Mar 17, 2026 by pjhartlieb Closed Apr 15, 2026

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

  1. Create a file at .claude/commands/my-command.md with valid YAML frontmatter (name, description) and markdown body
  2. Restart Claude Code session
  3. 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 skill
  • clean-cauldrons.md → Unknown skill
  • update-docs.md → Unknown skill
  • whoami.md → Unknown skill
  • new-skill.md → Unknown skill
  • commit-push.md → Unknown skill

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗