Custom slash commands in ~/.claude/commands/ not loading in v2.0.13 (Homebrew installation)
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:
- Scanned during startup
- Loaded and available via
/helpand command completion - 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
/helpcommand 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
- Install Claude Code via Homebrew: \
brew install --cask claude-code\ - Create directory: \
mkdir -p ~/.claude/commands/\ - Create a test command file \
~/.claude/commands/test.md\:
\\\`markdown
---
description: Simple test command
allowed-tools:
- Bash
---
This is a test command.
\\\`
- Start Claude Code
- Run \
/help\- the custom command is not listed - 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.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗