NoNap: Active --:--:--
macOS menu bar · open source

Your agent runs
for hours.
Your Mac stays awake. Let the AI cook.

You kick off a long agent run and walk away — then your Mac sleeps and the session dies with it. NoNap keeps the machine alive while the AI does the long work: Claude Code, Cursor, Codex, local model inference, overnight jobs — and can wait until the job is done, not just until a timer runs out. (Still great for the builds and backups you already use it for.)

↓ Download for macOS View source Apple Silicon · free forever · no account
Built for long runs

While the agent works, you don't worry.

i.

Stop guessing the timer

Point NoNap at the run itself — pick the process (Claude Code, Cursor, Codex, node, python, ollama…) or paste a PID, and it stays awake until that job exits, then stops on its own. A guessed timer ends too early and kills the session, or burns hours of battery after the work is already done.

ii.

Outlast the run

Or just set a window — a preset from 15 minutes to 8 hours, or a custom duration you type. A live countdown ticks down in the menu bar and shuts off on its own, with a notification when it closes.

iii.

Walk away with confidence

Step out for coffee or leave it overnight. Keep the system running while the screen dims, keep the display lit to watch the logs, or hold both — your call. The session survives until you say stop.

iv.

Native to the core

Just macOS IOPMAssertion power assertions — the same mechanism caffeinate uses. No background daemon, no drain; a light kill(pid,0) probe is all the watch costs. It releases the moment the job ends or you stop.

v.

Nothing to learn

A coffee cup, green when it's working, a faint ring when it isn't. It remembers your last mode. No window, no settings, no dock icon — that's the entire app.

Modes

Three ways to not sleep.

ModeKeeps awakeEquivalent
Prevent system sleep default

The agent keeps running while the screen is free to dim. Best for headless runs, builds, and SSH.

Prevent display sleep

The screen stays lit too — for watching the agent's output scroll by in real time.

Prevent both

Nothing dozes — system and display held wide awake together.

Get it running

In your menu bar in a minute.

Download

  1. Grab NoNap.dmg from the Releases page.
  2. Open it and drag NoNap into Applications.
  3. First launch: open it, then System Settings → Privacy & Security → Open Anyway.
↓ Releases

Ad-hoc signed, not notarized — the “Open Anyway” step is a one-time Gatekeeper bypass (or run xattr -dr com.apple.quarantine on the app). Apple Silicon (arm64).

zsh — nonap
# build from source
$ git clone https://github.com/barvhaim/nonap.git
$ cd nonap && swift run
→ a coffee cup appears in your menu bar
 
# confirm it's holding the Mac awake
$ pmset -g assertions | grep NoNap
PreventUserIdleSystemSleep named: "NoNap..."