Reduce verbose polling output for background agent tasks
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
## Problem
When Squad (or any agent) spawns a background task via the `task` tool with `mode: background` and then calls `read_agent` with `wait: true`, the CLI renders every polling attempt as a separate log line:
```
○ Read: General-purpose agent (Keaton: Triage issues #8 and #6)
└ Waiting for result…
○ Read: General-purpose agent (Keaton: Triage issues #8 and #6)
└ Waiting for result…
○ Read: General-purpose agent (Keaton: Triage issues #8 and #6)
└ Waiting for result…
```
This produces 7+ identical lines of output for a single `read_agent` call that takes ~2 minutes. The user sees noise instead of a clean waiting state.
## Expected Behavior
A single `read_agent` call with `wait: true` should render as one line that updates in place (or at most shows a spinner/progress indicator), not N repeated log entries. Something like:
```
○ Waiting for Keaton: Triage issues #8 and #6… (127s)
└ Done
```
Or simply collapse the repeated polling into one entry.
## Context
- This happens with `read_agent(wait=true, timeout=300)` — the CLI appears to be rendering each internal poll cycle as a separate tool output
- The agent description (e.g., `Keaton: Triage issues #8 and #6`) is already in the first line — repeating it adds no information
- For agents that take 2+ minutes, this can produce 10+ identical lines of output
- The actual result rendering at the end is fine — it's just the waiting state that's noisy
Contributor guide
Assessment
This issue has not been assessed yet.