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 for 7 days
Crontender schedules the agent you already use. You’ll need Claude Code, Codex, opencode or pi installed and signed in. Crontender does not include one.
Every mark computed from your clock, right now · the run is a demonstration
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.
Install and sign into the one you want. Whatever it can do when you run it yourself, it can do on a schedule.
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, with 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. The log stays for when you want it.
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.
The obvious question
You can, and for a shell script you probably should. It’s agent CLIs that make it painful.
claude: command not found. Get past that and the tool still
has to find the account you signed in to.Signed with a Developer ID, installs to Applications, and lives quietly in your menu bar from then on.
Free for 7 days, then $19 once. No subscription. Buy a licence
UniversalmacOS 14+No accountBring your own agent CLI