Welcome to claude-scheduler
claude-scheduler runs claude -p jobs on machines you control at times you pick. We handle the cron, retries, logs, and notifications. Your Claude subscription, your machine, your files — we never touch any of those.
The three concepts
- Runner — a small Node daemon you install on a machine where the Claude CLI is already logged in. It polls our API, claims due jobs, runs
claude -pin the directory you chose, and streams the result back. - Project — a named bundle of defaults: working directory, runner tags, Claude args, notify policy, effort level. Use it when many schedules share the same setup so you don't repeat yourself.
- Schedule — a cron expression (or one-shot time) + prompt. Inherits from its project; can override any field. Each fire becomes a Job, queued on our side and claimed by a runner.
Quickstart (5 minutes)
- Sign up — we create an organization for you. No credit card.
- Go to Runners → Create runner → name it (
my-macis fine). You'll get a one-time token starting withcsr_live_. - Install the runner on the machine you want jobs to run on. Reload Runners — your runner shows up as online within a few seconds.
- (Optional) Make a Project if you want schedules to share defaults. Otherwise schedules can be ad-hoc.
- Create your first schedule — pick a cron expression (we preview the next 5 fires), write the prompt, save. Wait for the next fire or click Run now.
Architecture
┌────────────────────┐ ┌──────────────────────┐
│ Web UI │ HTTPS/JSON │ Postgres │
│ Next.js · Stripe │◀──────────────▶│ schedules, jobs, │
│ · auth · cron │ │ runners, audit, … │
└──────────┬─────────┘ └──────────────────────┘
│ HTTPS poll
▼
┌────────────────┐ ┌────────────────┐
│ runner #1 │ │ runner #2 │ …on your machines
│ claude -p $@ │ │ claude -p $@ │
└────────────────┘ └────────────────┘Where to go next
- Install a runner — daemonising, launchd / systemd, multiple runners on one host.
- Schedules — cron syntax, timezones, retries, skip-if-running, Claude session continuation.
- Projects — when to use them, how inheritance works, override patterns.
- Notifications — Telegram setup, per- schedule policies.
- REST API — orchestrate from CI / scripts with a
csk_live_API key.