NoDoze icon

Keep your Mac awake.
Honestly.

A free, open-source macOS menu-bar app that keeps your Mac awake — for a preset duration or indefinitely — by wrapping the native caffeinate command. It never leaves a stray power assertion running, never drifts its countdown across sleep, and never claims your Mac is awake when it isn't.

Direct download

macOS 26+ · Apple Silicon & Intel · MIT licensed · 100% logic-coverage tested

One honest limitation, up front. Like every caffeinate-based tool, NoDoze cannot keep a Mac awake with the lid closed while on battery — macOS only allows that on AC power. NoDoze offers an explicitly AC-only "keep awake with the lid closed" option, and is upfront that it does nothing on battery. Everything else — idle-sleep prevention for the display and system — works regardless of power source.

☕️ Presets & live countdown

Stay awake indefinitely, or for 5 / 10 / 15 / 30 minutes, 1 / 2 / 4 hours, or a custom duration — with a live countdown and one-click add time.

🛡️ Safe by construction

Every caffeinate is spawned with -w <NoDoze's PID>, so if NoDoze ever crashes, macOS releases the assertion within ~2 seconds. No orphaned process keeping your Mac awake until reboot.

⏱️ Correct across sleep

The countdown is driven by a monotonic clock that survives system sleep and is immune to clock changes. On wake, NoDoze reconciles and respawns with the corrected time left.

🔋 Low-battery auto-off

Turns itself off when the battery gets low — with hysteresis, so it doesn't flap at the threshold.

🖥️ Display control

Keep the screen on (default), or allow the display to sleep while the system stays awake.

⌨️ Global hotkey

Toggle awake from anywhere with ⌃⌥D. No reaching for the menu bar.

🎬 Automatic triggers

Stay awake automatically while a chosen app is running or an external display is connected. Manual control always wins.

🔗 Scriptable

Drive it from Terminal, Shortcuts, or Raycast with nodoze:// URLs: start?minutes=30, start, stop, toggle, extend?minutes=15.

Install

Homebrew (recommended)

brew tap alexnodeland/tap
brew install --cask no-doze

Manual

  1. Download NoDoze-vX.Y.Z.zip from Releases.
  2. Drag NoDoze.app to /Applications.
  3. If unsigned: xattr -cr /Applications/NoDoze.app.

URL scheme

open "nodoze://start?minutes=30"   # Keep awake for 30 minutes
open "nodoze://start"              # Keep awake indefinitely
open "nodoze://extend?minutes=15"  # Add 15 minutes
open "nodoze://stop"               # Stop
open "nodoze://toggle"             # Toggle

Built in the open

NoDoze is specification-first: a thorough RFC, 15 ADRs, and Gherkin acceptance scenarios that map 1:1 to tests. The logic layer carries a hard 100% region/line/function coverage gate enforced in CI; impure I/O is isolated behind ports so the core stays pure and fully testable.