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

  1. Create a command file at ~/.claude/commands/sow-tests.md
  2. Have a project-level skill at .claude/skills/sow-testing/SKILL.md in the working directory
  3. Type /sow-tests in 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗