<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
ibrdot/swe-re-expert/anti-sleep
──Details
PublishedOctober 22, 2026 at 10:09 PM
Content Hashsha256:282c073eddac58ee...
Git SHA27bc1374d177
──Files
Files (1 file, 3.4 KB)
SKILL.md3.4 KBactive
SKILL.md · 91 lines · 3.4 KB

version: "1.0.0" name: anti-sleep description: "Keep a Mac awake with caffeinate during long builds, downloads, or supervised automation runs." category: operations risk: critical source: community source_type: community date_added: "2026-07-07" tags: [macos, caffeinate, operations] tools: [claude, codex] license: "MIT"


Anti-Sleep (macOS caffeinate)

When to Use

  • Use when the user wants the Mac to stay awake during a long supervised task.
  • Use when a build, download, or automation run should not be interrupted by sleep.

Keep the Mac awake using the built-in caffeinate command. No install needed.

Quick start — the standard command

bash
caffeinate -d -i -t 7200 # full power: screen stays on + no idle sleep, for 2 hours

Duration is -t <seconds>: 2h = 7200, 7h = 25200, overnight (9h) = 32400.

Aggressiveness levels

FlagsEffect
-iprevents idle system sleep only (screen may still dim/lock)
-dprevents display sleep (screen stays on)
-d -idefault choice — screen on + system awake
-d -i -sadds -s: prevents sleep even on AC power semantics; -s only works when plugged in
-u -t 1simulates user activity — wakes the display right now

Default to -d -i -t <seconds> unless the user says otherwise.

Tie to a process instead of a timer

bash
caffeinate -d -i -w <PID> # stays awake until that process exits (great for builds)
caffeinate -i npm run build # wraps a command; exits when the command finishes

Run it in a visible terminal (cmux pane)

Prefer running it in the user's own terminal pane so it's visible and easy to Ctrl+C. In cmux (read the cmux skill first if interacting with panes):

bash
cmux send --surface surface:<N> "caffeinate -d -i -t 25200\n"

Otherwise run it as a background Bash task. Never block your own foreground shell with it.

Verify and monitor

bash
pgrep -fl caffeinate # is it running? shows exact flags
ps -o etime= -p <PID> # how long it's been running
pmset -g assertions # inspect PreventUserIdleSystemSleep / PreventUserIdleDisplaySleep # confirm sleep assertions are active

Gotcha: caffeinate prints nothing and holds the prompt — it looks "stuck" or like Enter wasn't pressed. It isn't stuck. Verify with pgrep, not by looking at the terminal.

Expiry: with -t it exits silently when time runs out — no notification. If the user asks "is it still on?" after hours, check pgrep first; it may simply have expired.

Keyboard backlight

caffeinate cannot keep the keyboard backlight on — it has its own inactivity timer with no CLI/API on Apple Silicon (researched 2026-07). Fix is manual, one-time: System Settings > Keyboard > "Turn keyboard backlight off after inactivity" > Never.

Stop early

bash
kill <recorded-caffeinate-PID> # or Ctrl+C in the pane running this task

Record the PID of the process started for this task; verify its command before stopping it. Do not stop unrelated caffeinate sessions by a broad pattern.

After starting: confirm to the user the PID, the flags, and the wall-clock time it will expire.

Limitations

  • Adapted from davidondrej/skills; verify local paths, tools, credentials, and agent features before acting.
  • For commands, remote access, scheduling, browser automation, or file-changing workflows, get explicit user approval and confirm the target environment first.
All versions