// terminalEventText returns the text that the client shows for event, or "" for
// none. The client shows a user message only from another source, such as
// telegram, because the user typed the others. A tool result shows its first
-// terminalResultLines lines.
+// terminalResultLines lines. The report of a subagent shows whole, and it
+// starts with the name of the subagent.
func terminalEventText(event Event) string {
switch event.Kind {
case "ready":
return "[tool] " + event.Text
case "echo":
return "[result] " + terminalFirstLines(event.Text, terminalResultLines)
+ case "subagent":
+ return "[" + event.Text + "] started"
+ case "work":
+ return event.Text
case "busy":
return "[working]"
case "idle":