Skip to content

Reduce verbose polling output for background agent tasks #1397

@bradygaster

Description

@bradygaster

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions