TUI silently drops assistant text emitted after tool results (only first short single-line mid-turn segment renders)
Summary
In agentic turns, assistant text emitted after a tool result (i.e., between tool calls, or between a tool call and an AskUserQuestion dialog) is silently dropped by the TUI. Empirically, at most one mid-turn text segment per turn renders, and only if it is a single short line; multi-line/multi-paragraph segments and any subsequent segments are discarded. End-of-turn text (no tool call after it) always renders.
This makes it impossible for the model to show visible deliberation/explanation before an AskUserQuestion dialog in the same turn — the user sees only the dialog, never the reasoning that frames it.
Environment
- Claude Code v2.1.175, Linux (Fedora 43, kernel 6.18.16-200.fc43.x86_64), bash
- Model: claude-fable-5
- Plain terminal TUI (no IDE integration)
Reproduction
Have the model produce a turn shaped like:
- text segment A (turn-opening)
- tool call (e.g.
Bash(true)) - text segment B (one short line)
- tool call (e.g.
Bash(true)) - text segment C (one short line)
AskUserQuestion
Observed: segment B renders; segment C does not. If B is multi-line or multi-paragraph, B does not render either. Turn-opening segment A renders inconsistently (sometimes dropped when the turn continues into tool calls).
Systematic results (11 probes, codeworded text segments)
| Probe | Position in turn | Shape | Rendered? |
|---|---|---|---|
| HELIOTROPE | turn-opening, before AskUserQuestion | paragraph | yes |
| AMARANTH | turn-opening | 1 line | yes |
| BASILISK | after AskUserQuestion result | 1-2 sentences | no |
| CINNABAR | turn-opening | 1 line | yes |
| DRAGONFRUIT | after AskUserQuestion result | 1-2 sentences | no |
| EMERALD | turn-opening | 2 sentences | yes |
| FIREFLY | after Bash result | 2 sentences | no |
| GRANITE | turn-opening | 2 sentences | no |
| HALCYON | after Bash result | 1 short line | yes |
| KESTREL | after Bash result | multi-paragraph (markdown) | no |
| LANTERN | after Bash result | 1 short line | yes |
| MERIDIAN | after Bash result | multi-paragraph (markdown) | no |
| NIGHTJAR | after Bash result | 4 lines, single block, no blank lines | no |
| OPAL-ONE/TWO/THREE | after 3 separate Bash results in one turn | 3 separate 1-line segments | only OPAL-ONE |
Screenshot evidence available: transcript shows Bash(true) followed immediately by the AskUserQuestion dialog, with the multi-paragraph text between them absent, while a 1-line segment from the previous turn renders as a normal transcript bullet.
Expected
All assistant text segments render in transcript order, regardless of position relative to tool calls, length, or formatting.
Impact
- Any workflow where the model explains options before calling
AskUserQuestionin the same turn loses the explanation. - Mid-turn status updates between tool calls ("found the bug, now checking callers") are invisible, which directly defeats the harness guidance that models should narrate between tool calls.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗