[BUG] Claude Code is unable to see Personal Commands (~/.claude/commands/) for automatic invocation in it's SlashCommand Tool
Bug Description
Claude Code can only see project-level slash commands (from .claude/commands/) in its internal SlashCommand tool's available commands list. User-level commands from ~/.claude/commands/ are completely invisible to Claude until they are actually invoked.
IMPORTANT: This is NOT about the user's slash command autocomplete UI. When users type /, they correctly see both project-level AND user-level commands.
Impact
This creates confusion because:
- Claude doesn't know user-level commands exist - They're not in Claude's SlashCommand tool manifest
- Claude may suggest incorrect/non-existent commands when users ask for help
- Claude cannot proactively suggest relevant user-level commands
- Users expect Claude to be aware of all available commands (both project and user-level)
Reproduction Steps
- Create a user-level slash command in
~/.claude/commands/(e.g.,/update-subtask) - Ask Claude to list available slash commands or ask it about updating a subtask
- Observe that Claude only shows project-level commands marked with
(project) - Invoke the user-level command (e.g., by saying "update subtask 1.25")
- Claude will not match the request to any command in it's SlashCommand tool, since it wasn't in the visible list
Expected Behavior
Claude should see both project-level and user-level slash commands in the available commands list, with clear indication of their scope:
- User-level commands marked with
(user)or(global) - Project-level commands marked with
(project)
Actual Behavior
Claude only sees project-level commands. When a user-level command is invoked, Claude receives the expanded command documentation but was previously unaware of its existence.
Example
In the conversation, Claude saw these project commands:
/taskmaster:enhance-subtask(project)/implement-skill(project)- etc.
But the user had a /update-subtask command at the user level that Claude couldn't see until it was triggered.
System Information
- Platform: macOS (Darwin 25.1.0)
- Model: Claude Sonnet 4.5
- Working directory: Project with both user-level and project-level slash commands
Suggested Fix
Update the SlashCommand tool's available commands list to include both:
- Project-level commands from
{project}/.claude/commands/ - User-level commands from
~/.claude/commands/
With clear labeling to distinguish between scopes (e.g., (user) vs (project)).
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗