github / github/copilot-cli

Reduce verbose polling output for background agent tasks

Open
#1,397 0 comments 0 reactions 0 assignees View on GitHub
area:agents
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.