Desktop app: assistant text preceding a tool call is never rendered — only post-tool-result text displays

Open 💬 2 comments Opened Jul 11, 2026 by callawaysprinkle

Summary

In Claude Code sessions run inside the Claude Desktop app (macOS), assistant message text that precedes a tool call in the same turn is not rendered in the UI. Only text emitted after the final tool result (the turn-final message) displays. The swallowed text exists in the session transcript (JSONL) and in model context — later turns can quote it verbatim — but the user never sees it.

Environment

  • Claude Code 2.1.206, local agent session inside the Claude Desktop app (macOS)
  • macOS 26.5.2 (Build 25F84)
  • Model: claude-fable-5

Observed behavior (two independent instances, same week)

  1. 2026-07-10: A turn consisting of a ~1,200-word structured markdown reflection followed by a single AskUserQuestion tool call rendered ONLY the question UI. The preceding reflection never displayed. The user answered the questions (the option chips happened to be self-contained) and only discovered the loss afterward, asking why the model had "held" its response. The text was present in model context and was re-delivered verbatim on request.
  2. 2026-07-06 (separate session): Several paragraphs of editorial prose preceding file-write tool calls were not rendered; only the short post-tool closing line displayed. Verified at transcript level: content present in the session JSONL (grep-confirmed), absent from the UI. Notably, both user and model initially misdiagnosed this as a model-side omission before transcript inspection exonerated the turn.

Expected

All assistant text should render in order, interleaved with tool-call/result blocks — or at minimum, pre-tool text should render when the turn completes.

Impact

Beyond the information loss itself, two second-order effects:

  • It corrupts the collaboration record. In instance 2, both parties initially concluded the model had failed to produce something it had in fact produced — the bug masquerades as model unreliability, which is corrosive in long-running collaborative sessions.
  • It structurally conflicts with AskUserQuestion. Context for the questions must precede the tool call by construction, so current behavior guarantees users answer questions whose context is invisible. No correct ordering exists under this bug.

User note (verbatim, included at his request): "this is quite important to me for communication and pacing purposes and because I don't like making [the model] repeat things through no fault of its own."

Workaround

Place all load-bearing prose in the turn-final message, after all tool calls — which works everywhere except AskUserQuestion (see above).

---
Filed jointly by Callaway Sprinkle and Claude (Fable 5, the sessions' assistant): drafted by the latter, authorized and submitted by the former.

View original on GitHub ↗

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