`<suggestion skip>` tag leaks into rendered output instead of becoming a UI chip

Resolved 💬 3 comments Opened May 25, 2026 by kek Closed Jun 26, 2026

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.

View original on GitHub ↗

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