User-level custom command ignored in favor of similarly-named project skill
Resolved 💬 1 comment Opened Apr 1, 2026 by cyrilrbt Closed Apr 1, 2026
Bug Description
A user-level custom slash command (~/.claude/commands/sow-tests.md) is not being loaded when invoked. Instead, Claude Code resolves /sow-tests to a project-level skill named sow-testing (located at .claude/skills/sow-testing/).
Environment
- Claude Code version: 2.1.89
- OS: macOS Darwin 25.3.0
Steps to Reproduce
- Create a command file at
~/.claude/commands/sow-tests.md - Have a project-level skill at
.claude/skills/sow-testing/SKILL.mdin the working directory - Type
/sow-testsin Claude Code
Expected Behavior
The command ~/.claude/commands/sow-tests.md is loaded and executed.
Actual Behavior
The project skill sow-testing is loaded instead. The <command-name> tag in the session showed /sow-testing, confirming the resolution went to the skill rather than the command file.
Notes
The command name sow-tests and skill name sow-testing are distinct — this is not a prefix match issue but an incorrect resolution between user-level commands and project-level skills.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗