Scheduling agents & pipelines
warden schedule fires an agent spawn or a pipeline on the daemon’s own
timer, through the same internal seams the /spawn and pipeline routes use — no
external crontab.
Creating schedules
Section titled “Creating schedules”# Recurring agent spawn — 5-field cron (@daily etc. supported):warden schedule create daily-review --cron "0 9 * * *" \ --type pr-review --repo . --prompt "Review yesterday's merged PRs"
# Single-shot spawn — RFC3339 or 2006-01-02T15:04 (local time):warden schedule create launch --at 2026-06-27T09:00 \ --prompt "Kick off the release checklist"
# Fire a pipeline instead of a single agent (each run gets a timestamped name):warden schedule create nightly --cron "0 2 * * *" --pipeline ci.yamlInspecting & removing
Section titled “Inspecting & removing”warden schedule list # kind (cron/at), mode (agent/pipeline), spec, enabled, next run, last errorwarden schedule delete daily-reviewBehaviour
Section titled “Behaviour”- No backfill. On daemon startup each next-fire is recomputed from the wall clock: a cron schedule resumes at its next future occurrence (a run missed while the daemon was down is not replayed), and a past-due single-shot fires once.
- Fail-soft. A fire error is recorded in the schedule’s
last_errorand logged; it never crashes the reconcile loop or stops other schedules firing. - Read-only over MCP.
list_schedulesexposes the same view; create/delete are written to the audit log (schedule_create/schedule_delete).
Schedules persist to an embedded FileDB store under ~/.warden/schedules-db/
(one record per schedule). On the first daemon launch after upgrading, any legacy
~/.warden/schedules.json is imported once and then left in place as a read-only
backup.