Agent idle detection

Solo tracks agent state so you can tell which agents are working, idle, waiting for permission, or blocked by an error.

How it works

Solo uses a mix of signals:

  • Built-in agents each get a strategy suited to how they behave. Claude, OpenCode, Copilot, Kimi, Antigravity, and Muse are tracked by their visible output. Codex and Amp are considered busy while their terminal title keeps changing, and Gemini reports its status through its terminal title.
  • A program can report its own state with the OSC 7501 program status protocol. While it reports working or blocked, that report takes precedence over Solo's own heuristics.
  • Auto-summarization can also classify the agent — idle, waiting for permission, thinking, working, or stopped on an error — and Solo keeps that classification when it's available.

Summary timing

For summaries, Solo waits until a process has had human input and then watches output activity. A brief quiet window can trigger a summary after output stops. Continuously busy processes can also trigger summaries after a longer busy window.

The summary cadence setting is still enforced per process, so repeated activity does not produce unlimited summary attempts.

Timers

Agents can set timers for themselves through Solo's MCP timer tools, and you can give a running agent a delayed prompt with the command palette's Set timer action. An active pending timer adds a small timer icon to the sidebar process row; paused timers do not. Select the process to see its nearest timer in the terminal control bar, where active timers take precedence over paused timers. Click that terminal-control indicator to view the timer message, cancel it, fire it now, pause an active timer, or resume a paused timer.

When a timer fires, Solo delivers the timer message back to the owning process.

How messages arrive

Timer messages and messages sent through Solo MCP share one delivery queue per process:

  • When the agent has bracketed paste mode on, Solo sends the message as a paste and waits for the agent to read it before pressing Enter.
  • Solo holds automated messages while you've typed in that terminal within the last two seconds, and while the program reports that it's blocked on you.
  • If you type or interrupt while Solo is about to press Enter, Solo cancels that Enter. The message text can stay in the agent's composer for you to submit or clear.
  • If an interrupted submission may have left a draft behind, Solo holds further automated messages until the process restarts, so a later message can't submit leftover text.

Limits

Idle detection is a heuristic. Some agents pause between steps before continuing on their own, and a quiet terminal is not always the same thing as completed work.

Are you an agent? Read this doc via API: /api/v1/docs/agents/idle-detection