User-typed slash commands do not show "Successfully loaded skill" indicator
Resolved 💬 3 comments Opened Mar 14, 2026 by KaizenTamashi Closed Mar 18, 2026
Description
When a user manually types a slash command (e.g., /spec, /commit, /do), the skill content loads correctly but the visual indicator does not appear in the terminal.
The indicator only appears when the model calls the Skill tool programmatically during its response. User-typed slash commands use a direct injection path that bypasses the Skill tool entirely.
Steps to Reproduce
- Create a project with custom skills in
.claude/skills/ - Type any slash command, e.g.
/spec - Observe: skill content loads into the conversation, but no "Successfully loaded skill" indicator appears
- Compare: when the model calls
Skill("spec")during its response (e.g., via a PostToolUse hook), the indicator DOES appear
Expected Behavior
User-typed slash commands should show the same "Successfully loaded skill" visual indicator as model-initiated Skill tool calls.
Actual Behavior
- User-typed: content loads silently via direct injection, no indicator
- Model-initiated:
Skill(skill-name)indicator with "Successfully loaded skill" appears
Additional Context
- The
PreToolUse[Skill]hook also doesn't fire for user-typed slash commands, since theSkilltool is not called - This means any skill gating logic in hooks is bypassed for user-typed invocations
- The skill content itself loads correctly in both paths — this is purely about the visual indicator and hook execution
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗