Assistant text written before a tool call is shown to the user only as a one-line summary
Summary
In a turn where the assistant first writes a long answer and then calls a tool, the user did not see the answer. Their view showed a one-line summary of it instead. The assistant had no signal that this happened, and it continued as if the user had read the full answer.
What happened
- The user asked two questions in one message.
- The assistant wrote the full answer (about 20 lines: an explanation and a correction of an earlier claim), then called
SendMessageto a background subagent in the same turn. - The user saw only one line in place of the answer. Its shape (paraphrased, project names removed):
> Clarified the reasoning behind <design choice A>, and corrected my earlier claim about <function B>'s usage. The fix still holds; now sending the implementer the finalized plan: <three steps>.
- That line is not text the assistant wrote. It reads like a generated summary of the turn.
- The user asked "You said clarified but you never gave me the clarification". The assistant could not tell what the user had seen, and first answered that it could not find the word "clarified" in its output.
Expected
Assistant text addressed to the user is shown in full, whether or not a tool call follows it in the same turn. If the UI collapses it, the user can see that something was collapsed and expand it.
Actual
The full text was replaced by a one-line summary. The user found no way in the UI to expand it or reach the full text. The assistant had no way to know the user had not seen it.
Impact
The assistant and the user end up with different versions of the conversation, and neither side knows it.
- Lost answers and corrections: here the lost text included a correction of a wrong factual claim the assistant had made earlier. The user caught the gap only because their next message asked about it.
- Claims referenced later: the assistant can refer back to a statement the user never saw, possibly much later, when the conversation is no longer fresh. The user is likely to assume they forgot or skimmed past it, not that it was never shown.
- Unseen questions: if the hidden text asks the user a question, the user does not know a question was asked. The assistant can then read the user's next message as an answer to it, and act on an answer the user never gave.
Workaround: the assistant now makes tool calls first and writes the user-facing answer as the last text of the turn.
Environment
- Claude Code 2.1.296 (CLI, terminal)
- macOS 15.7.9
- Session with background subagents (Agent tool) and SendMessage to a running subagent
- Not checked: whether this happens without subagents, or only when the tool call is SendMessage.
🤖 Written by Claude Code on behalf of elaye