Relationships
#3522 Pause and resume a scheduled workflow without editing or deleting its definition
Opened by swamp_lord · 10/15/2026· Shipped 10/16/2026
Problem
There's no way to temporarily pause a scheduled workflow on serve. During an incident we needed to stop a scheduled GC workflow that was stalling serve (#3518). The options were:
- edit the live workflow and delete its
trigger:block, then remember to restore the exact cron later, or - delete the workflow.
Both change the workflow definition, so serve's copy no longer matches the one in git. Neither shows anywhere that the schedule is deliberately off, or why. swamp workflow --help has run, resume and recover, but nothing to pause or disable a schedule.
The scheduler already supports this internally: croner entries are built as new Cron(expression, { paused }, callback) in src/domain/workflows/workflow_scheduler.ts. There's just no way for a user to set it.
Proposed solution
swamp workflow schedule pause <name> [--reason "<text>"]
swamp workflow schedule resume <name>
swamp workflow schedule list # name, cron, paused, reason, pausedBy, pausedAt, next fire- Pause state is stored on serve separately from the workflow definition, so pausing doesn't edit the YAML. Pause state survives
workflow edit,serve reloadand serve restarts. - Pausing only affects the schedule. Manual
swamp workflow runand webhook-triggered runs still work. - Optionally,
--until <time|duration>resumes automatically, so a temporary pause can't be forgotten. - Pause and resume are audit-logged and gated by grants like other workflow writes.
- Serve logs
Skipped scheduled workflow "<name>": paused (<reason>)at each skipped fire, so a missing run can be explained from the journal.
Alternatives
- Removing
trigger:from the live definition: this loses the cron and creates drift from git. It's what we have to do today. - A
trigger.enabled: falsefield in the YAML: better than deleting the trigger, but it's still a definition change that has to be committed and reverted, which is too heavy for incident response.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.