Custom slash commands not loading despite proper configuration

Resolved 💬 3 comments Opened Nov 3, 2025 by dinana Closed Nov 7, 2025

Environment

  • OS: Linux (WSL2 - 6.6.87.2-microsoft-standard-WSL2)
  • Claude Code Version: Latest (as of 2025-11-03)
  • Working Directory: Project root directory in WSL2

Issue Description

Custom slash commands in .claude/commands/ are not being discovered or loaded by Claude Code, despite meeting all documented requirements.

Setup Details

  • Commands location: .claude/commands/*.md (9 command files present)
  • File format: Proper YAML frontmatter with description field
  • Example commands: Files like speckit.analyze.md, test.md, etc.
  • File permissions: 644 (readable)
  • Ripgrep: Installed and working (v14.1.0)
  • Permissions config: .claude/settings.local.json includes SlashCommand(*) in allow list

Commands Structure Example

---
description: Simple test command
---

This is a test command. Please respond with "Test command executed successfully!"

Steps Taken

  1. Created command files in .claude/commands/ with proper frontmatter
  2. Verified ripgrep is installed (rg --version shows 14.1.0)
  3. Updated .claude/settings.local.json to include SlashCommand(*) in permissions allow list
  4. Restarted Claude Code multiple times
  5. Created simple test command to rule out complex command issues
  6. Verified file permissions and encoding (UTF-8)

Expected Behavior

Commands should appear in available slash commands list and be invokable via /command-name

Actual Behavior

  • Commands do not appear in Claude's available commands list
  • Attempting to invoke commands results in "Unknown slash command" error
  • Claude reports sluggish performance on restart (possibly related to command discovery process failing)

Additional Notes

The documentation mentions that custom slash commands require ripgrep for discovery, which is installed and working. All filesystem checks show correct setup, suggesting this may be a bug in the command discovery/loading mechanism.

View original on GitHub ↗

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