Assistant text between tool calls and AskUserQuestion is never persisted to the session transcript (lost from UI, ctrl+o, and resume)

Open 💬 1 comment Opened Jul 11, 2026 by ryansmith4

Summary

When a single assistant turn has the shape tool calls → multi-paragraph assistant text → AskUserQuestion, the assistant text block is never rendered in the terminal, is absent from the ctrl+o transcript view, and is never written to the session .jsonl transcript on disk — while the same turn's AskUserQuestion tool_use IS persisted. The text is permanently lost from the session record (it would not survive resume/--continue), even though it demonstrably survives in the API-side conversation.

Environment

  • Claude Code CLI v2.1.207, native Windows 11 (PowerShell terminal)
  • First noticed around v2.1.200+ (did not observe this behavior on earlier versions)

Turn shape that triggers it

  1. Assistant makes several Edit tool calls (applying file changes)
  2. Assistant emits a long multi-paragraph text block (an analysis meant for the user)
  3. Assistant calls AskUserQuestion in the same turn

The AskUserQuestion dialog renders; the preceding text block does not appear at all.

Evidence that this is a persistence drop, not a display overlay

Verified by grepping the session's .jsonl under ~/.claude/projects/<project>/ (phrases redacted here; method is what matters):

  • Several distinctive phrases from the missing text block: 0 hits across every session file for the project.
  • The same turn's AskUserQuestion tool_use content: persisted (tool call + result both present).
  • The following turn's plain-text final message: persisted normally (control).
  • The model reproduced the missing block verbatim in a later turn when asked, so the block still existed in the live API-side conversation history — it was dropped only at transcript persistence.

Because ctrl+o renders from the transcript, the block is unrecoverable in the UI, and would be permanently lost on session resume.

Related (but distinct) issues

  • #58207 / #30422 — AskUserQuestion overlay clipping the last line(s) of preceding text: cosmetic; content is persisted. Here the content is never persisted.
  • #24691 — streaming text vanishing when followed by tool calls: reverse ordering (text → tools). Here the lost text sits between tool calls and AskUserQuestion.
  • #21751 — assistant text not written to transcript: same symptom family, but without the tool-calls→text→AskUserQuestion trigger shape.

Expected

Every assistant text block in a turn is persisted to the session transcript and visible in ctrl+o, regardless of surrounding tool calls; interstitial text preceding AskUserQuestion should at minimum survive in the transcript even if the live UI prioritizes the dialog.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗