claude-code - 💡(How to fix) Fix Compact display for slash command / skill invocation in CLI (parity with Claude Desktop)

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Claude Code CLI currently inlines the full expansion text of every slash command / skill into the transcript when the user invokes it. Claude Desktop solved this by rendering the invocation as a compact badge (skill name as a blue tag/link) and hiding the expanded prompt body. Please bring the same behavior to Claude Code CLI, ideally toggleable via settings.json.

Root Cause

Claude Code CLI currently inlines the full expansion text of every slash command / skill into the transcript when the user invokes it. Claude Desktop solved this by rendering the invocation as a compact badge (skill name as a blue tag/link) and hiding the expanded prompt body. Please bring the same behavior to Claude Code CLI, ideally toggleable via settings.json.

Fix Action

Fix / Workaround

Workaround in use today

None. The only "workaround" is to invoke skills directly via inline prompt text (which defeats the purpose) or to clear the transcript between skill calls.

Code Example

> /handoff-claude-code no-SPEC: ...
[200-400 lines of skill SKILL.md content + arguments inlined verbatim]

> /journal-session
[150-300 more lines of skill content]

> /weekly-review
[200 more lines]

---

{
  "transcript": {
    "inlineSkillExpansion": "collapsed"   // "collapsed" | "full" | "hidden"
  }
}
RAW_BUFFERClick to expand / collapse

Feature Request — Compact display for slash command / skill invocation in Claude Code CLI

Target: Anthropic Claude Code team Channel suggested: GitHub anthropics/claude-code issues, or support Author: Simon Laforge ([email protected]) Date: 2026-05-25


Summary

Claude Code CLI currently inlines the full expansion text of every slash command / skill into the transcript when the user invokes it. Claude Desktop solved this by rendering the invocation as a compact badge (skill name as a blue tag/link) and hiding the expanded prompt body. Please bring the same behavior to Claude Code CLI, ideally toggleable via settings.json.

Problem

A user with a workspace of 5+ custom skills (audit, journaling, weekly review, brief generation, handoff) ends up with transcripts that look like this:

> /handoff-claude-code no-SPEC: ...
[200-400 lines of skill SKILL.md content + arguments inlined verbatim]

> /journal-session
[150-300 more lines of skill content]

> /weekly-review
[200 more lines]

In a single working session, the transcript can accumulate 600–1000+ lines of expansion text before any actual Claude output is visible, which:

  • Makes scroll-back review hard for the user.
  • Defeats the value of skills as a UX shortcut (the point of /skill is to not type the prompt).
  • Diverges from Claude Desktop, which renders the same skill invocation as a single compact line.

Current state (verified 2026-05-25)

  • No setting controls this. viewMode (default/verbose/focus), skillListingBudgetFraction, maxSkillDescriptionChars, skillOverrides — none affect the inline expansion in the transcript display.
  • No hook controls this. Of the 29 hook events documented at https://code.claude.com/docs/en/hooks, the closest is UserPromptExpansion (fires before slash command expansion). Its three options — decision: "block", additionalContext, suppressOutput: true — either kill the command, augment it, or hide hook stdout. None of them hide the expanded user prompt text from the transcript.
  • The hooks documentation states explicitly: "The slash command expansion text itself will always appear in the transcript when invoked directly by the user."

Requested behavior (calqué sur Claude Desktop)

When the user types /skillname [args]:

  1. The transcript shows a compact line: ▸ skill-name [args] (clickable to expand if needed).
  2. The expanded SKILL.md content is still sent to the model — execution unchanged.
  3. Only Claude's response is visible in the scroll.

Proposed implementation

A single global flag in settings.json — matches Claude Desktop's behavior (compact badge applied to all skills automatically, no per-skill config, no scripting):

{
  "transcript": {
    "inlineSkillExpansion": "collapsed"   // "collapsed" | "full" | "hidden"
  }
}
  • "full" (default) — current behavior, backward compatible.
  • "collapsed" — renders the invocation as a compact line (▸ skill-name [args]), expandable on demand. Matches Claude Desktop.
  • "hidden" — fully suppresses the expansion line for power users.

The flag applies globally to every slash command / skill invocation. The expanded SKILL.md content is still sent to the model — execution unchanged.

Acceptance criteria

  • transcript.inlineSkillExpansion setting added with values "full" | "collapsed" | "hidden".
  • When "collapsed", every /skill invocation renders as a compact badge in the transcript while execution remains identical (full prompt still sent to the model).
  • Behavior parity with Claude Desktop's compact badge rendering.
  • Backward compatible: default "full" preserves current behavior.
  • Works for both user-invoked skills (/name) and Claude-invoked skills (Skill tool call) — at minimum the user-invoked case.

Impact

  • Daily users with 5+ custom skills: transcript size cut by 60–80%, easier scroll-back, no more "skipping past the prompt to find the answer".
  • Onboarding screencasts and pair-programming: less noise on screen during demos.
  • Alignment Claude Desktop ↔ Claude Code CLI: users moving between the two interfaces get consistent UX.

Workaround in use today

None. The only "workaround" is to invoke skills directly via inline prompt text (which defeats the purpose) or to clear the transcript between skill calls.


If this is already on the roadmap, a pointer to the tracking issue would close this request. If not, happy to test a prerelease build on Windows.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING