schedule
Overview
schedule.mjs is a dependency-free Node ESM scheduler that registers and fires Codex prompts on a cron schedule or at a one-shot future time. Its default auto runner checks for an existing tmux Codex pane first, then a custom resume command, then falls back to codex exec. It keeps task state under .codex/schedule/ and exposes 8 subcommands: parse-schedule, add, list, cancel, status, run-due, daemon, doctor.
For fixed-interval repeats (/loop 10m ...), use the separate loop skill — this skill is cron/one-shot only.
Durable Schedules: Use Automations First
Codex app Automations is the official, always-on surface for durable recurring schedules — recommend it first. It persists across reboots and terminal exits without a running process.
The bundled local CLI is a terminal fallback only: nothing fires unless the daemon process is running. It is NOT an OS service and does not survive terminal exits.
Local Fallback Usage
All state-mutating commands require --state-root <dir>. Conventional path: --state-root .codex/schedule.
Schedule: run on a cron expression
User says /schedule --cron "0 9 * * 1" summarize open PRs: