Slash command expansion has no visual indicator to the user

Resolved 💬 2 comments Opened Mar 6, 2026 by haingt-dev Closed Apr 4, 2026

Problem

When a slash command (skill) is expanded by Claude Code, the user receives no visual indicator that the skill was loaded. The skill content is injected into the model's context via <command-name> / <command-message> tags, but these are invisible in the UI. The user cannot distinguish between "Claude is following a loaded skill" vs "Claude is responding on its own."

Steps to Reproduce

Case 1 — Standalone slash command (expands, but no indicator):

  1. Create a skill at ~/.claude/skills/my-skill/SKILL.md
  2. Type /my-skill as a standalone message
  3. Claude follows the skill instructions correctly
  4. User sees no indication that a skill was loaded — response looks identical to a normal reply

Case 2 — Embedded in text (does NOT expand, also no indicator):

  1. Same skill as above
  2. Type "run /my-skill please" (embedded in natural text)
  3. Slash command is NOT expanded — Claude receives plain text only
  4. User also sees no indication — both cases look identical from the user's side

This is especially confusing with disable-model-invocation: true skills, where Case 2 silently fails (no expansion, model can't invoke via Skill tool either) but the user has no way to know.

Expected Behavior

Some visual indicator when a skill is expanded, e.g.:

  • A status line: Using skill: /track
  • A badge or icon next to the response
  • The expanded skill content shown in a collapsible block
  • A distinct message bubble showing the command was recognized

Why This Matters

  • Can't tell if the command triggered — user has no feedback loop
  • Hard to debug skill failures — when a skill doesn't expand (Case 2), the user doesn't know why the behavior differs
  • Reduces trust in the skill system — "did it actually use my skill or just wing it?"

Environment

  • Claude Code CLI
  • Skills with disable-model-invocation: true in ~/.claude/skills/

View original on GitHub ↗

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