Sleepless app icon, a coffee cup

Keep your Mac awake.
Lid closed.

Sleepless keeps your MacBook awake with the lid closed, on battery, with no external display. One native menu-bar switch, with an auto-off timer and a battery-floor cutoff so you never drain it flat.

$ brew install --cask aboudjem/tap/sleepless
CI Release Build provenance: attested License: MIT Stars

macOS 26 · Apple Silicon · MIT · no Dock icon, no daemon, no kext

The Sleepless menu-bar popover: a switch, an auto-off timer, a battery-floor slider, and a launch-at-login toggle

Trust it, then forget it

It holds one scoped sudo grant and runs your Mac unattended, so every release is built in the open and signed so you can prove what you ran.

Build provenanceSLSA attestation signed via Sigstore in CI. Verify with gh attestation verify.
SHA-256 checksumsEvery release ships SHA256SUMS. No Apple account needed to check.
No telemetryNo analytics, no network calls. It only flips one local pmset flag.
Open source, MITOne AppKit file. No daemon, no kernel extension. Read every line.
verify a download
shasum -a 256 -c SHA256SUMS
gh attestation verify Sleepless-1.2.0.zip -R Aboudjem/Sleepless

The one that actually does it

Why other keep-awake apps can't do this

Most keep-awake apps ride on macOS power assertions. Assertions stop the idle timer, but they can't override the hardware lid-close trigger, so a closed lid still sleeps the Mac. Sleepless flips the one setting that can.

01

Power assertions (Caffeine, Theine, caffeinate) stop the idle timer, but not the lid-close trigger.

02

So a closed lid still sleeps the Mac, even with Amphetamine or KeepingYouAwake.

03

pmset disablesleep overrides lid-close sleep. Sleepless flips exactly that, reads it back, and adds safety nets.

“I will probably never support this option because caffeinate doesn't support this. KYA uses caffeinate under the hood.”KeepingYouAwake maintainer, issue #66

Small on purpose

Everything it does, nothing it doesn't

One switch

Click the coffee cup, flip the toggle. Empty cup is off, full cup is awake, full cup with a dot is awake on battery. The menu-bar glyph never lies about the real state.

Auto-off timer

Keep awake for 1 or 2 hours with a live countdown, then it turns itself off. In memory only.

Battery-floor cutoff

Pick a floor from 5 to 50% (default 15%). On battery, it turns itself off before you run flat.

Low Power Mode aware

On battery, if Low Power Mode is on, Sleepless steps aside and lets the Mac sleep.

No display, no dongle

Just the lid closed, on battery. No external monitor, no dummy HDMI plug.

Tiny and native

One AppKit file with SF Symbols. No Dock icon, no background daemon, no kext, no dependencies.

Menu-bar glyph: empty cup = off · full cup = awake · full cup + dot = awake on battery (auto-off live).

How it works

One setting, flipped safely

Sleepless toggles pmset disablesleep, which flips the kernel's SleepDisabled flag, then reverts it at your battery floor, in Low Power Mode, or when the timer ends. A reboot also resets it. Because a GUI app can't type a password, the installer adds a tightly scoped sudoers rule that permits exactly two commands and nothing else.

/etc/sudoers.d/sleepless
<you> ALL=(root) NOPASSWD: /usr/bin/pmset -a disablesleep 0, /usr/bin/pmset -a disablesleep 1

Can't be widened

sudoers matches arguments literally with no wildcards, so any other command re-prompts for a password.

No helper to hijack

It calls Apple's /usr/bin/pmset directly with an argv array. No daemon, no shell, no helper script.

Always reversible

A reboot resets the flag, the floor and timer turn it off, and uninstall.sh removes the grant and proves it.

Verifiable downloads

Releases ship SHA-256 sums and a Sigstore build-provenance attestation. No Apple account needed to check.

Full threat model and verification: SECURITY.md and AUDIT.md.

As of 2026-06

Sleepless vs the alternatives

SleeplessAmphetamineKeepingYouAwakecaffeinate
Awake, lid closed, no monitorYes ¹Flaky ²No ³No
On batteryYesYesLid openPartial ⁴
Auto-off timerYesYesYesNo
Auto-off on low batteryYesYesYesNo
Open sourceMITApp StoreMITApple
CostFreeFreeFreeFree

¹ Sleepless uses pmset disablesleep, the mechanism built for lid-close, and reads the flag back so the UI reflects reality; behavior on any keep-awake tool is hardware and macOS-version dependent. ² Amphetamine documents closed-display mode but is widely reported to fail on Apple Silicon when the power source changes (Amphetamine-Enhancer #28); the app itself is closed source. ³ KeepingYouAwake cannot keep the lid closed by design, since it wraps caffeinate (issue #66). ⁴ caffeinate -i runs on battery; -s is AC-only.

Questions

FAQ

How do I keep my MacBook awake with the lid closed without a monitor?

Install Sleepless, click the coffee cup in the menu bar, flip the switch on, and close the lid (the laptop screen, also called the flap). It keeps the Mac awake on battery with no external display, using pmset disablesleep. No dummy HDMI plug or clamshell adapter is needed.

Why does my MacBook sleep when I close the lid even with Amphetamine or KeepingYouAwake?

Those tools are built on macOS power assertions, which stop the idle timer but cannot override the hardware lid-close trigger. KeepingYouAwake wraps caffeinate, which its maintainer confirms cannot do lid-close. pmset disablesleep, which Sleepless uses, is a lower-level setting that can.

Does pmset disablesleep still work on Apple Silicon (M1/M2/M3)?

Yes. pmset -a disablesleep 1 sets the kernel's SleepDisabled flag on Apple Silicon, confirmed firsthand on macOS 26.3, which keeps a MacBook awake with the lid closed on battery. Apple does not officially document the setting, so verify it with pmset -g | grep SleepDisabled. Most claims that it stopped working describe caffeinate, a different mechanism.

Is it safe to run a MacBook with the lid closed? Will it overheat or drain the battery?

It is safe for light, unattended work like downloads, syncs, or a hotspot. Heavy sustained load with the lid fully closed reduces airflow, so use judgement there. Sleepless turns itself off at the floor you set and in Low Power Mode, and the auto-off timer caps how long it stays on.

Does Sleepless require sudo, a kernel extension, or a background daemon?

It needs one tightly scoped sudo grant (two exact pmset commands, nothing else) so a GUI app can flip the setting without a password prompt. There is no kernel extension and no background daemon. The whole app is a single AppKit file.

Can I run AI agents or long jobs overnight with the lid closed?

Yes. Switch Sleepless on, set a battery floor, close the lid, and an agent run, build, render, or training job keeps going. Plug in for an all-nighter, or stay on battery with a floor and timer so it stops itself before the battery runs low.

Sleepless app icon

Keep it awake in two minutes

Install with Homebrew, or build it from source and read every line first.

$ brew install --cask aboudjem/tap/sleepless
Download for macOS