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

    area:agentsSub-agents, fleet, autopilot, plan mode, background agents, and custom agents

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions