Close the lid.
The jobs still run.

Prefer the terminal? Install with Homebrew.

It automatically finds all your jobs.

Claude, Codex, hermes, crontab, launchd, whatever else you run. It reads them all and knows when to wake for each one.

Finder File Edit View Window Help 🍠 Sat 8 Aug 09:41
Hermes Hermes
Claude Claude
Codex Codex
Terminal Terminal
goguma 🍠
01:15
Time Machine to NAS daily at 01:15
02:00
Overnight inbox triage daily at 02:00
04:00
Dependency bump PR Sundays at 04:00
06:00
Calendar sync every 6h
07:30
Weekly repo digest Mondays at 07:30
08:45
Standup notes from Slack weekdays at 08:45
09:00
Morning briefing: AI/Tech daily at 09:00
12:00
Repo test sweep twice daily
~/.hermes/cron/jobs.json3 jobs ~/Library/Claude/cron.json2 jobs ~/.codex/cron.toml2 jobs /Library/LaunchAgents1 job

Install

One command
and it's running.

macOS 26, and a password prompt for the root helper. Or download the app, which carries the same tools inside it.

$ brew install junnam586/tap/goguma
$ goguma install
→ wakes for the jobs it finds, and nothing else

Open source on GitHub.

How it works

Awake for the job.
Asleep for the rest.

It reads the schedule already on the machine, wakes a moment before each job, holds sleep off until that job finishes, then lets go.

Without goguma stays awake all night
Finder File Edit View Sat 8 Aug
Time Machine to NAS
launchctl start com.apple.backupd
Overnight inbox triage
hermes cron run inbox-triage
Dependency bump PR
codex cron run dependency-bump
23:00
07:00 100% 93% 87% 80% 73% 67% 60% 53% 47% 40% 33% 27% 20% 13% 7% 0%
With goguma wakes three times
Finder File Edit View 🍠 Sat 8 Aug
Time Machine to NAS
launchctl start com.apple.backupd
Overnight inbox triage
hermes cron run inbox-triage
Dependency bump PR
codex cron run dependency-bump
23:00
07:00 100% 100% 99% 99% 99% 98% 98% 98% 97% 97% 96% 96% 96% 95% 95% 94%

Questions.

Every line of goguma is open source on GitHub.

What does it do?

Wakes the machine 90 seconds before a job is due, blocks sleep while it runs, lets go when it's done.

Does it run my jobs for me?

No. Your existing scheduler still fires them. Running a second one would just mean everything executes twice.

Isn't this just caffeinate?

No. caffeinate stops a Mac sleeping, so you have to leave it running all night for a 3am job. goguma lets it sleep and wakes it at 2:58.

Does it need root?

A small helper does, and only because macOS lets nobody but root schedule a wake or keep a closed lid awake.

It can do exactly two things: set the wake time, and hold sleep off. It cannot read your jobs, your files, or anything else, because it is never told about them. Everything else runs as you. --no-helper installs without it, and lid-closed jobs stop working.

Does anything leave my machine?

No. There's no account, nothing phones home, and nothing to opt out of.

Will it keep the machine awake?

Only while a job is running. Holds expire on their own ceiling, five minutes by default, so a job that hangs can't pin the machine open all night.

What about a laptop in a bag?

It lets go. Above 80°C or below 10% battery, every hold is dropped and the Mac sleeps normally.

It also won't wake for a job it can't afford, measured against what that job has actually been costing.

Let it sleep.

or install with Homebrew