Skip to content

yachiyo schedule

Manages the scheduled tasks described in Schedules.

Terminal window
yachiyo schedule list [--json]

One line per schedule:

✓ daily-standup [0 9 * * *] id=abc123
✗ q1-review [@2026-04-01T09:00:00.000Z] id=def456

enabled, disabled. Recurring shows the cron expression; one-off shows @<runAt>.

Terminal window
yachiyo schedule add --payload '<json>'

Requires name, prompt, and exactly one of cronExpression or runAt. Supplying both or neither is a validation error.

FieldTypeRequiredNotes
namestringyesUsed in the thread title and notifications
promptstringyesSent as the first user message. Must be self-contained.
cronExpressionstringone ofFive-field cron, local timezone
runAtstringone ofISO 8601 datetime; fires once, then disables itself
workspacePathstringnoAbsolute path. Omitted means an auto-created temp dir, reused across runs.
modelOverrideobjectno{ "providerName": "...", "model": "..." }
enabledToolsstring[]noTool whitelist. Omit for all tools; [] disables all.
enabledbooleannoDefaults to true
Terminal window
yachiyo schedule add --payload '{
"name": "morning-digest",
"cronExpression": "0 8 * * 1-5",
"prompt": "Summarize unread items in ~/notes/inbox.md from the last 24 hours. When done, call reportScheduleResult with status success and a one-sentence summary.",
"workspacePath": "/Users/me/notes"
}'
Terminal window
yachiyo schedule update --payload '<json>'

The payload must include id. Any of name, prompt, cronExpression, runAt, workspacePath, modelOverride, enabledTools, and enabled may be supplied; only what you pass changes. Pass null to clear a field.

Switching modes means setting one and clearing the other:

Terminal window
# recurring → one-off
yachiyo schedule update --payload '{"id":"abc123","runAt":"2026-08-01T09:00:00.000Z","cronExpression":null}'
# one-off → recurring
yachiyo schedule update --payload '{"id":"abc123","cronExpression":"0 9 * * *","runAt":null}'

The result must always have exactly one scheduling field set.

FieldEffect of null
workspacePathReverts to an auto temp dir
modelOverrideRemoved; falls back to the workspace default
enabledToolsRemoved; all tools become available

Bundled schedules accept only enabled and cronExpression changes.

Terminal window
yachiyo schedule remove <id>

Deletes the schedule and its run history. Irreversible, and the way to cancel a one-off before it fires. Bundled schedules cannot be removed — disable them instead.

Terminal window
yachiyo schedule enable <id>
yachiyo schedule disable <id>

Config and history are kept either way. Re-enabling a recurring schedule arms it for the next tick — missed ticks are not backfilled. Re-enabling a one-off whose runAt has passed makes it fire within about 60 seconds.

Terminal window
yachiyo schedule runs [<schedule-id>] [--limit <n>] [--json]

Recent runs, newest first — across all schedules, or for one. Default limit 20.

Each run carries a run status (running, completed, failed, skipped) and, when the agent called reportScheduleResult, a result status (success or failure) with a summary. The two mean different things — see reading the results.