Agent Monitor
A Paseo plugin that provides a host-wide agent triage roster.
agent-monitor
One roster for every agent on a daemon: an Agent monitor screen in the sidebar plus a global
Command Center item (Open agent monitor). On Paseo 0.11 the sidebar row also counts the agents
that need attention.
Answers "which of my 38 agents needs me right now" without walking the workspace tree.
Demo
https://github.com/user-attachments/assets/3c841799-ed98-4ec4-86a0-a7917e3894fc
Screenshots
Agent, project, and workspace names come from an isolated synthetic workspace. Both PNGs were captured at 2× pixel density after browser DevTools replaced the local host label and verified that no private organization names remained in the rendered page.
Project-first roster

Monitor settings

What it shows
- Counts and filters by triage bucket: Attention, Running, Idle, Closed. Attention covers
requiresAttention,status === "error", and pending permission requests. - Default layout groups agents by project, then by workspace under each project. Open the gear beside Refresh for the host-native Monitor settings screen, which can switch to workspace groups or a flat compact list.
- Settings also control float-pinned sorting, agent sort (triage / recently updated / title), collapse of matching workspace headers, density, default bucket, whether Closed stays out of All, and display toggles for diffs, pin markers, model, wait age, subagent counts, last error, and compact placement. Preferences are a typed, host-scoped document shared by connected clients.
- Workspace headers show up to two workspace labels and current
+additions −deletions(additions in the success color, deletions in danger when color diffs are on). - Per row: a status dot that separates errors (danger) from agents waiting on you (warning) and
running agents (success), state and wait age on a right-aligned rail (
attentionTimestamp, falling back toupdatedAt), model, andlastErrorinline. - Parent rows show their subagent count; child rows use a left indent guide.
- Text filter over title, agent id, provider, model, cwd, project, and workspace.
- Select an agent row to open that agent, or select a workspace header (or its folder button when collapsed) to open its workspace through Paseo's cross-platform navigation API.
- Archive one agent, or sweep every closed agent (two taps).
Sidebar row (Paseo 0.11)
- The row's badge counts the Attention bucket, using the same rule as the roster. It shows no
number while the roster loads or after a refresh fails, and
N+once the agent list reaches the 2,000-agent page limit. - Press the badge for a popover of those agents, longest waiting first (up to eight), with Open monitor, which opens the roster filtered to Attention.
- The monitor screen accepts a
bucketparam (attention,running,idle,closed, orall) as its initial filter, so a link such as…/surface/monitor?param.bucket=attentionopens filtered and keeps that filter on reload. Chips then filter in place without changing the URL. - Paseo 0.9 and 0.10 keep the static sidebar item that opens the monitor surface.
How it reads state
usePaseo().agents.list() pages the daemon agent directory, usePaseo().workspaces.list() reads
workspace pin state, project id, and diff stats (200 per page, up to 10 pages each), and
usePaseo().projects.list() supplies registered project names, including custom renames, so an
agent whose workspace is beyond the paged workspace list still lands under its real project. Rows
refresh from agent, workspace, and project subscription deltas, debounced 750ms, with a 30s
backstop refetch. The screen, the sidebar row, and its popover share that query, subscription set,
and backstop; on web and desktop, refreshes pause while the window is hidden and catch up when it returns. The plugin
borrows the selected host's connection; it opens no socket of its own.
Limits
Interrupting a turn is not part of PaseoApi, so archive is the only lifecycle action here.
The sidebar popover lists agents but cannot open them: Paseo 0.11 gives popovers no navigation. Open the monitor and select the agent there.
Install
Requires Paseo ^0.9.0 || ^0.10.0 || ^0.11.0. Development uses the stable 0.9 SDK line.
Install the published package on the daemon host:
paseo plugin install npm:@omercnet/paseo-agent-monitor
paseo plugin update agent-monitor
Develop
bun install
bun run check
bun run test
bun run test:coverage
bun run typecheck
Release Please maintains the version, changelog, component tag, and GitHub release from Conventional Commits in the monorepo.
The project supports Paseo ^0.9.0 || ^0.10.0 || ^0.11.0 and pins @getpaseo/plugin, @getpaseo/client,
@getpaseo/protocol, and @getpaseo/cli to the stable 0.9 SDK line. Renovate groups @getpaseo/*
updates so the SDKs move together.
React 19.1 and React Native 0.81 intentionally match the versions supplied by Paseo.
