Create a schedule
- Cron is always interpreted in UTC; minimum granularity is one minute. Seconds fields and
@everyare not supported. - With a
--session-key, every firing continues the same workspace — same conversation, same files. Without one, each firing is a one-shot run. - The agent binding is immutable — delete and recreate the schedule to move it to another agent.
- Up to 20 schedules per agent; prompts up to 16 KiB.
Metadata tags
Schedules carry an opaquekey=value map you can filter on — useful when something else creates schedules on your behalf and needs to find its own again:
Overlap behavior
A schedule never stacks runs: if the previous run is still going when the next window arrives, the firing is logged asskipped_still_running and the schedule waits for the next window. A run parked on an escalation counts as still running — a schedule blocked on a human decision skips visibly rather than piling up.
Inspect and manage
list shows each schedule’s cron, enabled state, next run, and last run. The firing log records every due firing regardless of outcome: fired, skipped_still_running, rejected_budget, or error.
Pause and resume
Resuming (or changing the cron) recomputes the next run from now — a long-paused schedule never catch-up-fires a backlog.Budgets
If the agent’s daily budget is exhausted, firings are logged asrejected_budget and skipped; the schedule keeps its rhythm and tries again at the next window.