Background subagent completion messages scroll the transcript, making the assistant's last reply unreadable

Status Open
Reported on v2.1.278
Maintainer reply None cached
Activity 0 comments · opened Sep 22, 2026

Summary

When many background subagents (spawned via the Agent tool) are running, every completion injects two messages into the main transcript — the agent's SendMessage report and an idle_notification — as new user-turn content. Each one scrolls the terminal, so the assistant's most recent reply is pushed off-screen before it can be read. With 25 agents in flight a message lands every few seconds and the transcript is effectively unreadable until they all finish.

Steps to reproduce

  1. Spawn 20–25 subagents in one turn with Agent (any model, e.g. Sonnet), each doing a task that takes 2–5 minutes.
  2. Ask the assistant a question and try to read its reply.
  3. Each subagent completion arrives as a <teammate-message> block plus a separate idle_notification block, and the view jumps to it.

Expected

Subagent completions should be collected quietly — a counter in the status line, a collapsible tray, or a /tasks view — and only surfaced when the user or the assistant asks. At minimum, the two per-agent messages (report + idle notification) should be one, and arriving notifications should not steal scroll position from the reply the user is reading.

Actual

Two verbose blocks per agent, each scrolling the transcript. The only workaround was to tell the assistant to pause all dispatches so the terminal would sit still long enough to read.

Environment

  • Claude Code 2.1.278
  • WSL2 Ubuntu 24.04, zsh, tmux
  • Subagents spawned with Agent tool, subagent_type: general-purpose, model: sonnet, 25 concurrent

View original on GitHub ↗