Sidebar dashboard of workspaces grouped by waiting, unread, in progress, failing, approved, idle, or closed, with archive and unread actions.
From the plugin's README
Exact install target unavailable. Refresh after the next successful scan.
Git security status and fallback installation are pinned to commit 004c6a80c6aa.
From the plugin's README
paseo plugin add panrafal/paseo-plugins:agents-dash-list
From a checkout:
npm install # from the monorepo root
npm run typecheck
paseo plugin install /absolute/path/to/paseo-plugins/agents-dash-list
paseo plugin ls # expect "running"
After editing:
npm run typecheck
paseo plugin reload agents-dash-list
paseo plugin logs agents-dash-list
README
Paseo plugin that adds an Agents dash entry to the app sidebar, next to "New workspace", "History" and "Schedules". It lists every workspace on every host you have configured and the agents inside it, on one screen, grouped by what needs your attention.
Workspaces are sorted into exactly one group, in this order, and within a group by last activity (newest first):
| Group | Shown when |
|---|---|
| Waiting for you | An agent (or the workspace itself) is waiting for a question or permission to be answered. |
| Unread | An agent finished with new results you have not seen yet, or you marked the workspace unread from the dash. |
| In progress | An agent is currently working. |
| Failing | An agent errored, the pull request has a failing check, or a reviewer requested changes. |
| Approved | The pull request is approved by reviewers and nothing above applies. |
| Idle | Everything is done and read. |
| Merged or closed | The pull request was merged or closed. |
Only non-empty groups are shown. Each group is a bordered section with a bold heading; pressing the heading folds the group shut or open. The Unread and Approved headings also carry an Archive all button (see below).
Every host configured in Paseo is read at once and the workspaces are merged into a single feed, so a group like "Waiting for you" holds whatever is waiting anywhere. Each row names its host on the meta line, opens on that host when pressed, and is archived through that host's own connection.
When more than one host is configured the header holds a Host picker listing them all with
workspace counts; disconnected hosts are listed as name (offline). Pick any number of hosts to
narrow the feed. A host that is disconnected or fails to answer is reported in a notice above the
feed while the other hosts keep working; only when none of the selected hosts answers does the
whole screen turn into an error with a Retry.
On a Paseo older than 0.8 the app exposes no host list, and the dash shows the host it was opened on exactly as before.
The header holds a Project picker listing every project that has a workspace on a visible
host, with workspace counts. Pick any number of projects to show only their workspaces; the count
in the header then reads 12 of 61 workspaces, and "All" in the picker (or "Clear filters" on the
empty screen) clears the choice.
The host choice, the project choice and the folded groups are remembered between opens and across
app restarts. They are stored per daemon by the plugin's server entry under
$PASEO_HOME/plugin-data/agents-dash-list/settings.json, so every client of that daemon opens the
dash the way it was left.
Each workspace is one row:
Pressing the main line navigates to the workspace's first agent (or the workspace itself when it has no agents); pressing an agent pill navigates straight to that agent. Pressing the pull request item on the meta line opens it in the browser instead of navigating.
Quick actions appear on the groups a glance can settle; the groups with live activity (Waiting, In progress, Failing) are navigate-only:
Archiving a workspace that has uncommitted changes or unpushed commits asks for confirmation first, listing what would be left behind.
The Unread and Approved headings also offer Archive all, which archives every workspace currently in that group. It always asks first: the dialog says how many workspaces go and lists the ones that still hold uncommitted changes or unpushed commits. Workspaces are archived one after another and a toast reports the outcome, naming any that failed.
"Mark as unread" is a marker owned by this plugin, not by Paseo itself — the built-in sidebar has
no notion of it. The mark clears automatically the moment the workspace is opened from the dash,
or the moment the workspace produces newer activity than the mark (a finished run, a new pull
request check, and so on), whichever comes first. Marks are stored per daemon under
$PASEO_HOME/plugin-data/agents-dash-list/unread.json and pruned after 90 days, or when their
workspace no longer exists and the dash was able to list every host's whole workspace directory
(a directory too large to enumerate, or a host that did not answer, is never treated as a census,
so no mark is dropped by mistake). The store is the one belonging to the host the dash was opened
on, and it holds marks for workspaces on the other hosts too.
useHosts() lists the configured hosts and
getPaseoClient(serverId) borrows each one's API, and the mirror subscribes to that host's
workspace and agent directories (the same list + subscribe streams the rest of the app
uses). Mirrors are reconciled as hosts connect and disconnect, so one host dropping does not
re-seed the others. The grouped model is recomputed locally whenever any stream changes or an
unread mark is set or cleared; each host is indexed separately, since agents and their parents
never cross hosts.$PASEO_HOME on the daemon machine (resolved the way the daemon resolves
it, including a leading ~).paseo plugin add panrafal/paseo-plugins:agents-dash-list
From a checkout:
npm install # from the monorepo root
npm run typecheck
paseo plugin install /absolute/path/to/paseo-plugins/agents-dash-list
paseo plugin ls # expect "running"
After editing:
npm run typecheck
paseo plugin reload agents-dash-list
paseo plugin logs agents-dash-list
Scanned 15 Oct 2026, 12:29 UTC from panrafal/paseo-plugins/agents-dash-list.