What's New
Dual-Backend Scheduler
The octo:schedule command now supports two execution backends and a much-improved UX:
Job Dashboard — octo:schedule with no args shows a rich status table:
- Job ID, status (ok/fail/running/disabled), backend badge (daemon/coworkd)
- Last run time ago, cost per run, cron schedule, job name
- Quick action hints at the bottom
Guided Creation Wizard — octo:schedule add with no file launches an AskUserQuestion-driven wizard:
- 3 questions: what to do, when to run, which workspace
- Shows generated JSON for confirmation before saving
- Detects backend and registers accordingly
Dual Backend Support — works with or without Claude Code installed:
CronCreatedetected via ToolSearch inside CC session → coworkd backend (isolated VM, CC task UI visibility)OCTOPUS_SCHEDULER_BACKEND=auto|daemon|coworkdenv var for explicit override- Bash daemon ignores
backend: coworkdjobs entirely (owned by coworkd) - Existing daemon.sh jobs unchanged — fully backward compatible
Files changed:
.claude/commands/schedule.md— wizard, dashboard, backend detection instructionsscripts/scheduler/octopus-scheduler.sh—dashboardsubcommand (default no-args)scripts/scheduler/store.sh—list_jobs_rich()with last-run datascripts/scheduler/daemon.sh— skipbackend: coworkdjobs in tick loop