Assistant text between tool calls silently dropped: not rendered in UI and not persisted to session transcript
Assistant text between tool calls is silently dropped — not rendered in the UI and not persisted to the session transcript
Environment
- Claude Code desktop app on Windows 11 Pro (10.0.26200)
- Model: claude-fable-5
- Session:
fa5bb7e2-e485-4f6b-8937-30a2bed3a09b(projectI--Claude-Code-contegex)
What happened
During a long multi-tool turn (a production deploy: many Bash/SSH calls, two of them backgrounded),
at least six assistant text segments emitted between tool calls were lost end to end:
- not rendered in the conversation UI (the turn showed only collapsed "Ran N commands, used
N tools" groups), and
- not written to the session
.jsonltranscript.
Two of the lost segments were direct answers to questions I typed mid-turn ("did you dev server
stop?"). From my side the agent appeared to ignore a direct question twice and keep running
commands — I escalated to accusing it of suspicious behavior/lying before we found the cause
together.
Evidence (verifiable in the session transcript)
In fa5bb7e2-e485-4f6b-8937-30a2bed3a09b.jsonl, the window 2026-08-14T00:59Z → 01:06Z
contains assistant entries with tool_use blocks only — zero text blocks — even though the
model's own in-context history for the same window contained narration and answers (its later
messages quote them verbatim, first appearing at 01:11Z).
Notably, four of the missing segments were mundane status lines ("upload done", "API side done",
etc.) that were never disputed and were never referenced later — so this is a systematic drop of
inter-tool text in that stretch, not a one-off. One earlier inter-tool text in the same turn
("Push সম্পন্ন — …", persisted at 00:58:56Z) did render and persist, so the drop is
intermittent. Both lost answers were emitted immediately after mid-turn user interjections,
which may be the trigger (a race where a user message arriving mid-turn discards the pending
assistant text segment?).
Impact
- Trust: the user sees an agent silently running commands after a direct question. In an
agentic session doing production work this reads as hostile/suspicious behavior, not a
rendering bug. It took a multi-step forensic session to establish what happened.
- Audit: the
.jsonltranscript is not a faithful record of what the model emitted — text
the model produced (and that shaped its later behavior) is absent from the durable log, which
undermines transcript-based debugging and accountability.
Expected behavior
Either (a) inter-tool assistant text is reliably rendered and persisted, or (b) the harness
deterministically tells the model such text will be dropped so it can route answers to turn-final
messages. (The system prompt's "text between tool calls may not be shown" hedge is not enough —
"may" made the model treat it as unlikely; and silent non-persistence is not mentioned at all.)
Repro hints
Long turn with many rapid tool calls (some run_in_background), user interjections arriving
mid-turn, text segments emitted between calls. The drops clustered around the interjections.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗