[BUG] Claude thinks slash commands are executing when they are not
[BUG] Claude thinks slash commands are executing when they are not
Description
Claude Code appears to think it is executing custom slash commands when in reality the SlashCommand tool is never invoked. This creates a confusing experience where Claude provides feedback as if the command ran successfully, but no actual execution occurs.
Environment
- Claude Code Version: 2.0.1
- Platform: Linux (Rocky Linux, kernel 5.14.0-570.37.1.el9_6.x86_64)
- Architecture: x86_64
- Command Location:
~/.claude/commands/ - Number of Custom Commands: 25 commands
- Model: claude-sonnet-4-5-20250929
Symptoms
- User requests execution of a slash command (e.g.,
/design-epic,/write-epic,/troubleshoot-and-fix) - Claude responds as if the command is executing or has executed
- No actual SlashCommand tool invocation occurs - the tool is never called
- Claude may describe what the command would do instead of executing it
- User sees no results from the command execution
Expected Behavior
When user requests a slash command:
- Claude should invoke the SlashCommand tool with appropriate parameters
- The tool should execute and return results
- Claude should report actual execution results, not hypothetical behavior
Actual Behavior
Claude appears to "think" the command is running without actually invoking the SlashCommand tool. This may be related to:
- Misinterpreting the
<command-message>{name} is running…</command-message>system tag - Explaining what a command does instead of executing it
- Silent failure of SlashCommand tool without error feedback to Claude
Steps to Reproduce
- Create custom slash commands in
~/.claude/commands/with proper YAML frontmatter - Request Claude to execute a command: "Run /design-epic for new feature"
- Observe that Claude responds about the command but SlashCommand tool is never invoked
Command File Format
All commands verified to have correct format:
- Valid YAML frontmatter with
---delimiters - Required
descriptionfield present allowed-toolsspecification included- File sizes well under 15,000 character limit (largest: 5,861 chars)
Example command structure:
---
description: Command description here
argument-hint: argument-pattern
allowed-tools: "*"
---
Command content here with $ARGUMENTS placeholder
Related Issues
This appears related to but distinct from:
- #1184 - "Claude cannot execute custom slash commands from conversations" (May 20, 2025)
- #7283 - "Custom slash commands no longer working" on Windows (Sept 7, 2025)
Key Difference: In those issues, users report "nothing happens." In this issue, Claude thinks something is happening and responds accordingly, but the SlashCommand tool is never actually invoked.
Potential Root Causes
- Silent Tool Failure: SlashCommand tool may be failing without providing error feedback to Claude
- Execution State Confusion: Claude may be misinterpreting system tags that indicate command execution state
- Permission/Approval Blocking: Tool execution may be blocked by permissions without clear feedback
- Behavioral Pattern: Claude may have learned to describe commands instead of executing them
Impact
- Users cannot leverage custom slash commands for workflow automation
- Creates confusion where Claude appears to be working but produces no results
- Breaks the proactive agent workflow model where Claude executes project-specific tasks
- Forces manual execution of commands that should be automated
Workaround
When Claude incorrectly thinks a command is running:
- Explicitly tell Claude "the command is not running"
- May need to repeat this correction multiple times
- Eventually Claude will execute the command steps manually instead of using the SlashCommand tool
- Alternative: Manually execute commands yourself or reference command files with
@.claude/commands/filename.mdsyntax
Additional Context
All 25 custom commands have been verified for proper format compliance with official documentation. The issue is behavioral/execution-related, not format-related.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗