Sidebar feed of every schedule run with status, workspace, agent, archived state, and the agent's final response.
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:schedule-runs
From a checkout:
npm install # from the monorepo root
npm run typecheck
paseo plugin install /absolute/path/to/paseo-plugins/schedule-runs
paseo plugin ls # expect "running"
After editing:
npm run typecheck
paseo plugin reload schedule-runs
paseo plugin logs schedule-runs
README
Paseo plugin that adds a Schedule runs entry to the app sidebar, next to "New workspace", "History" and "Schedules". It is one feed of every run that every schedule on the selected host has ever produced: which schedule ran, when, whether it succeeded, which workspace and agent it created, whether those have since been archived, and the agent's final response.
Paseo's own Schedules screen shows the schedules; this surface shows what came out of them.
Every run record of every schedule under the daemon's $PASEO_HOME/schedules directory, newest
first. Paseo never prunes run records, so the feed is the full history. The server returns the
newest 500 runs; the header says "oldest not shown" when the daemon holds more.
The feed is grouped by date, newest group first. The past week gets one group per day ("Today",
"Yesterday", then Fri, Sep 4), the month before that one group per week starting on Monday
(Aug 3 – Aug 9), the year before that one group per calendar month (June, with the year added
once it is not the current one), and anything older one group per year. Each heading carries the
number of runs under it, counted after filtering. A run with no usable timestamp lands under
"Undated".
Schedules that prompt an existing agent (Paseo calls them heartbeats) are hidden by default and appear when Show heartbeats is on. Their runs carry no workspace of their own; the targeted agent's workspace is shown instead.
Each run is one card:
#123 when one is known (a
link that opens it in the browser, colored by its state), the agent title, and a small amber archive
icon after the workspace or the agent that has been archived (its accessible label reads
"Workspace archived" or "Agent archived"). "agent gone" or "workspace gone" means the
daemon no longer lists it at all.Expanding a card shows the full response rendered as Markdown (headings, lists, code, quotes, emphasis, and links that open in the browser), the error if any, absolute timestamps, the duration, and the run, schedule, agent, and workspace ids.
The header above the list sums the whole feed: how many runs, how many succeeded, how many failed, and how many are running. With filters on, it also says how many are showing.
Schedule, status, archived and heartbeat choices are kept while you navigate around the app and reset when the app restarts. The search text is not kept.
The workspace name and the pull request on the meta line are links. The rest sit at the bottom of an expanded card:
$PASEO_HOME/schedules (each run record carries the
agent's final message as output), and the workspace registry at
$PASEO_HOME/projects/workspaces.json, which is the only place archived workspaces are still
listed with their name, branch and archivedAt. PASEO_HOME is resolved the way the daemon
resolves it, including a leading ~.paseo.schedule-run label the daemon stamps on every agent a
schedule creates.paseo plugin add panrafal/paseo-plugins:schedule-runs
From a checkout:
npm install # from the monorepo root
npm run typecheck
paseo plugin install /absolute/path/to/paseo-plugins/schedule-runs
paseo plugin ls # expect "running"
After editing:
npm run typecheck
paseo plugin reload schedule-runs
paseo plugin logs schedule-runs
Scanned 15 Oct 2026, 12:34 UTC from panrafal/paseo-plugins/schedule-runs.