Custom slash commands in ~/.claude/commands/ not loading in v2.0.13 (Homebrew installation)

Resolved 💬 2 comments Opened Oct 10, 2025 by jrogers-hedgeye Closed Oct 10, 2025

Description

Custom slash commands placed in ~/.claude/commands/ are not being loaded or recognized by Claude Code. The debug logs show that the command scanning mechanism for user/project markdown-based commands is not running at all during startup.

Environment

  • Claude Code Version: 2.0.13
  • Installation Method: Homebrew (brew install --cask claude-code)
  • OS: macOS 14.7.1 (23H222)
  • Platform: darwin (Apple Silicon)

Expected Behavior

Custom slash commands in ~/.claude/commands/*.md should be:

  1. Scanned during startup
  2. Loaded and available via /help and command completion
  3. Shown with "(user)" label in the command list

According to the documentation, both user-level (~/.claude/commands/) and project-level (.claude/commands/) commands should be automatically discovered.

Actual Behavior

  • No custom commands are loaded
  • Only built-in commands are available
  • Debug logs show zero scanning activity for user/project markdown commands
  • The /help command shows no custom commands

Evidence from Debug Logs

Debug log at ~/.claude/debug/latest shows:

\\\
[DEBUG] Loading skills from directories: managed=/Library/Application Support/ClaudeCode/.claude/skills, user=/Users/jrogers/.claude/skills, project=/Users/jrogers/work/project-conduit/.claude/skills
[DEBUG] Loaded 0 skills total (managed: 0, user: 0, project: 0)
[DEBUG] Total plugin commands loaded: 0
[DEBUG] Total plugin skills loaded: 0
...
[DEBUG] Slash commands included in SlashCommand tool:
\
\\

Note: Skills ARE scanned (line showing "Loading skills from directories..."), but there is NO equivalent log entry for loading user/project slash commands from markdown files.

Steps to Reproduce

  1. Install Claude Code via Homebrew: \brew install --cask claude-code\
  2. Create directory: \mkdir -p ~/.claude/commands/\
  3. Create a test command file \~/.claude/commands/test.md\:

\\\`markdown
---
description: Simple test command
allowed-tools:

  • Bash

---

This is a test command.
\\\`

  1. Start Claude Code
  2. Run \/help\ - the custom command is not listed
  3. Check debug log at \~/.claude/debug/latest\ - no command scanning occurs

Example Command Files

All my command files are properly formatted with frontmatter:

\~/.claude/commands/commit.md\:
\\\`markdown
---
description: Generate conventional commit message from current changes
allowed-tools:

  • Bash(git add:*)
  • Bash(git status:*)
  • Bash(git commit:*)

---

Context

  • Current git status: !\git status\
  • Current git diff (staged and unstaged changes): !\git diff HEAD\

...
\\\`

File Permissions

Directory and file permissions are correct:
\\\bash
$ ls -la ~/.claude/commands/
drwxr-xr-x 6 jrogers staff 192 Oct 10 14:48 .
-rw-r--r-- 1 jrogers staff 1642 Oct 10 14:35 commit-changes.md
-rw-r--r-- 1 jrogers staff 524 Oct 10 14:35 commit.md
-rw-r--r-- 1 jrogers staff 148 Oct 10 14:25 test-simple.md
\
\\

Additional Context

  • Built-in commands (like the built-in \/security-review\) work fine
  • No error messages are logged
  • Multiple restarts of Claude Code do not resolve the issue
  • The Homebrew installation is in \/opt/homebrew/Caskroom/claude-code/2.0.13/\

The command loading mechanism appears to be completely bypassed or broken in this version when using the Homebrew installation method.

View original on GitHub ↗

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