claude-code - 💡(How to fix) Fix `<suggestion skip>` tag leaks into rendered output instead of becoming a UI chip

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

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…

Root Cause

The leaked tag suggests there's a code path that should be stripping/transforming it but didn't. Worth checking:

  • Whether it can happen with other suggestion variants (<suggestion …> for other actions).
  • Whether it appears in saved/exported transcripts as well (data hygiene).
  • Whether copy-paste of that turn copies the literal tag (it would, in my session).

Happy to grab a transcript snippet if useful — let me know what'd help.

Code Example

<suggestion skip>build is running</suggestion skip>
RAW_BUFFERClick to expand / collapse

What happened

While a backgrounded tool call (a long-running Bash build in my case) was still running, Claude Code's "you can skip waiting" affordance rendered as literal text in the assistant turn instead of as a clickable chip / status pill:

<suggestion skip>build is running</suggestion skip>

I saw the exact string above in the conversation transcript, not a rendered widget.

Expected

The <suggestion skip>...</suggestion skip> tag should be intercepted by the UI and rendered as an affordance (button / chip / status pill) — not surface as raw markup in the message body.

Repro

Not reliably reproduced — it happened once during a session where a backgrounded Bash command was running (a npm run tauri:build taking a few minutes). Subsequent backgrounded calls in the same session did not leak the tag, so it may be a race or first-occurrence-only thing.

Steps that produced the state:

  1. Launched a Bash tool call with run_in_background: true.
  2. Continued working with foreground tools (other Bash, Edit, etc.).
  3. At some point during the background task, the assistant turn contained the literal <suggestion skip>build is running</suggestion skip> text.

Environment

  • claude --version: 2.1.150 (Claude Code)
  • Terminal: WezTerm 20260117-154428-05343b38
  • TERM=xterm-256color
  • macOS 26.5 (build 25F71)
  • Working in a jj-colocated git repo (likely irrelevant, but flagging in case the status-line/hook code paths matter)

Why this matters

The leaked tag suggests there's a code path that should be stripping/transforming it but didn't. Worth checking:

  • Whether it can happen with other suggestion variants (<suggestion …> for other actions).
  • Whether it appears in saved/exported transcripts as well (data hygiene).
  • Whether copy-paste of that turn copies the literal tag (it would, in my session).

Happy to grab a transcript snippet if useful — let me know what'd help.

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