[BUG] Model calls AskUserQuestion with no preceding text block — explanation stays in thinking and never reaches the user
Summary
The model called AskUserQuestion without emitting any preceding text block. The full explanation (root-cause analysis + a comparison table of 3 fix options) was drafted inside the model's thinking blocks but never made it into a text block, so the user saw a bare option dialog with no context. The dialog's options literally referenced "fix 1 + 2" — definitions that only existed in the never-emitted explanation.
This is not a rendering issue (distinct from #62493 / #64776 / #23862): the session transcript (JSONL) proves no text block was ever generated in that API response.
Evidence (session JSONL)
The assistant API response containing the AskUserQuestion tool call:
message.id:msg_01VmPRwNqXFwRLn7stzG4vW8requestId:req_011CbkufvjZus2BJauQp47T4- timestamp:
2026-06-05T22:34:36.890Z
Content blocks of that response, reconstructed from the transcript:
22:34:33 thinking
22:34:33 thinking
22:34:36 tool_use(AskUserQuestion) ← zero text blocks in the entire response
For contrast, a later turn in the same session (2026-06-05T23:12) behaved correctly: text block followed by tool_use(AskUserQuestion), and rendered fine. An earlier session (2026-05-25, same machine) also shows thinking + text + tool_use(AskUserQuestion) responses. So the behavior is intermittent.
Possibly relevant pattern: the failing turn came at the end of a long multi-tool investigation (2 subagent Agent calls + several Read/Bash calls earlier in the same turn), whereas the correct turn was a direct text+question reply with no preceding tool calls.
What the user experienced
- User asked a debugging question; model investigated with subagents/file reads.
- A question dialog appeared asking to choose between "fix 1+2 / only fix 1 / all 3" — but the explanation defining those fixes was never displayed (because it was never generated as text).
- The model itself believed it had sent the explanation (it was in its thinking), and initially misdiagnosed the problem as a known rendering bug — the transcript disproved that.
Expected behavior
When AskUserQuestion options depend on an explanation, the model should emit that explanation as a text block in the same turn before the tool call. Consider reinforcing this in the system-prompt guidance for AskUserQuestion, or detecting/retrying when a turn ends in AskUserQuestion with no preceding text after a long tool-use sequence.
Environment
- Claude Code v2.1.165 (CLI)
- macOS (darwin 25.5.0)
- Model:
claude-opus-4-8[1m](Opus 4.8, 1M context) - Running under the cmux wrapper app — but ruled out as a factor, since the transcript shows the text was never generated, and a control test in the same environment rendered text+dialog correctly
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗