Command-line scheduler for running Claude CLI prompts in the background.
npm i -g claudecron-cli
claudecronRun Claude CLI login first if Claude is not authenticated yet.
claude authclaudecronUse the arrow keys to choose Configure Schedule, Run Background, Stop Background, Run once now, or Open log. The menu shows whether the background schedule is on, whether a run is active, the last run time, the next run time, and run counts.
On first run, ClaudeCron creates claudecron.config.json in your user app data folder.
Windows:
%APPDATA%\ClaudeCron\claudecron.config.json
macOS:
~/Library/Application Support/ClaudeCron/claudecron.config.json
Use Configure Schedule in the menu for the easiest setup. It opens the real JSON config file; save and close the editor, then choose whether to apply the updated background schedule.
You can also edit the config file manually.
{
"taskName": "ClaudeCron",
"macLabel": "com.claudecron",
"prompt": "hi",
"model": "haiku",
"logFile": "claude-run.log",
"wakeToRun": true,
"runWhenLocked": true,
"schedules": [
{
"days": ["Wednesday", "Thursday"],
"times": ["00:00", "05:00", "10:00", "15:00", "20:00"]
},
{
"days": ["Friday", "Saturday", "Sunday", "Monday", "Tuesday"],
"times": ["00:00", "05:00", "10:00", "15:00", "20:00"]
}
]
}Use English day names: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. Use 24-hour HH:mm times. Add another schedule block when different days need different times. Keep "model": "haiku" because the runner enforces Haiku only.
After changing the config manually, run claudecron and choose Run Background so Windows Task Scheduler or macOS launchd is updated.