Schedules

A box is a directory of your data, kept under version control with a full history of changes (using git); a card is a markdown file with a structured header; the agent is the coding agent (Claude Code or Codex) that operates the box. A schedule is a recurring or one-shot task defined as a card, plus a background process that keeps them running.

What it does for you

What it needs

A machine that stays on, so the background process can check for due schedules. See ../install/index.md.

How it works, briefly

Schedules are scheduled-script cards (kept under _config/schedules/), checked every 60 seconds by a background process that runs whatever is due. One box's schedule failing does not affect another box on the same machine. When the underlying model engine is out of quota, a due script skips cleanly and is marked "waiting," not "failing," and you're told once per episode.

Limits

A recurrence rule with no start date begins at midnight UTC of the day it last ran (today, for a new one), so times of day are in UTC unless the rule sets its own start; a rule that counts occurrences or needs an exact interval phase must set one. The run history is kept on the machine, not in the box, and holds the last twenty runs of each schedule. A hung scheduled script is eventually stopped along with everything it started, rather than left running forever, but the documentation does not describe a way to run schedules without a machine that is on and reachable when a schedule is due.

Go deeper

../reference/cards/scheduled-script.md, ../reference/bbx-commands.md, procedures.md