[BUG] Custom slash command naming conflict with built-in Skill tool silently prevents ALL commands from loading

Resolved 💬 3 comments Opened Dec 10, 2025 by ConalMullan Closed Feb 14, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

A custom slash command named /skill (in .claude/commands/skill.md) conflicts with the built-in
Skill tool. This causes ALL custom commands to silently fail to load—not just the conflicting
one.

Steps to Reproduce:

  1. Create .claude/commands/skill.md with valid frontmatter
  2. Create other commands (e.g., /video, /brand, /template)
  3. Start Claude Code
  4. Try to use any custom slash command - none are available
  5. Debug logs show Slash commands included in SlashCommand tool: is empty

Expected Behavior:

  • Clear error message about the naming collision, OR
  • Only the conflicting command fails, other commands still load

Actual Behavior:

  • All custom commands silently fail to load
  • No error or warning shown
  • Skills in .claude/skills/ load fine (only commands affected)

Workaround:
Rename /skill to /skills - all commands then load correctly.

Impact:
This is a silent, cascading failure. Users may spend significant time debugging permissions,
frontmatter, encoding, etc. when the root cause is a non-obvious naming collision.

What Should Happen?

One of:

  1. Naming validation at startup that warns about conflicts with built-in tools
  2. Graceful degradation - only the conflicting command fails, others still load
  3. Clear error message: "Command '/skill' conflicts with built-in 'Skill' tool"

Any of these would prevent silent failure and save debugging time.

Error Messages/Logs

No error message is displayed. Debug logs show:
  Slash commands included in SlashCommand tool:
  (empty - no commands loaded)

Steps to Reproduce

---
Steps to Reproduce:

  1. Create .claude/commands/skill.md with valid frontmatter:

---
description: List installed skills
---
# Skill
...

  1. Have other custom commands in .claude/commands/ (e.g., video.md, brand.md)
  2. Start Claude Code
  3. Try /video or any custom command - none are available
  4. Check with /help - custom commands not listed

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

v2.0.64

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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