Schedule Claude Code, Codex, opencode and pi from your menu bar. No terminal left open. Nothing in the cloud.
macOS 14 or laterApple silicon & IntelFree
Live — every mark is computed from your clock, right now.
Schedules
Pick every weekday at 7 AM. Crontender writes the cron for you — and reads it back onto the same control next time you open the job. You never have to learn five asterisks.
2 AM stays 2 AM through daylight saving, on both sides.
A job
Say what you want in plain words, choose a folder, pick which skills the agent may reach for — then leave. Crontender keeps every run, so tomorrow morning the answer is already waiting.
Skills toggle one at a time. Runs are bounded by a timeout you set — and you can stop one mid-run.
Every harness
Each CLI spells run this headlessly its own way. Crontender stores what you meant and translates.
Your existing skills, and a base URL you can point anywhere.
Brings its own sandbox, and a flag for running against a local model.
Finds LM Studio by itself. No configuration at all.
Many providers, chosen per job. The one that can't be aimed at a local server.
Homebrew, npm, mise and asdf installs are all found automatically.
The folder is a wall
Anything above read-only gets a real shell, because an agent without one can't do much. So the limit isn't a rule the agent agrees to follow — it's an operating-system sandbox around the whole run.
Point a job at ~/Reports and that is the only place it can write. Not your
Documents, not your keys, not the rest of your disk. A run that reaches past it doesn't
get a warning; it gets refused.
All four tools are held the same way, so the promise doesn't change with the one you pick.
Local models
Save LM Studio or Ollama once and reuse it across every job. Point one at a proxy or a
hosted gateway and its API key goes in your Keychain, never in a file — and never into a
command line, where it would show up in a window and in ps.
Crontender checks the port before it starts anything, with the same key the run will use. If your server is asleep the run is skipped with a reason, instead of failing in a log you'd have to go find.
Jobs, history and settings never leave ~/Library/Application Support.
Built to be left alone
Close the lid for four days and you get one catch-up run, or one clean skip — not two hundred agents waking up at once.
No Documents prompt at launch, no iCloud, no Music. Only the folder a job actually runs in, only when it runs.
The permission you pick is enforced by the operating system, not honoured by the agent — and enforced the same way whichever tool runs the job.
Where a run really is unconfined, or a harness can't be handed a key, or a tool was refused mid-run — you're told. Crontender never reports a limit it didn't actually apply.
Signed with a Developer ID, installs to Applications, and lives quietly in your menu bar from then on.
UniversalmacOS 14+No account