Time limit
Stop after a set time.
Need to leave your desk? Start a SleepWalk session, close the lid, and take your Mac with you. It stays awake until the work is done—or one of your limits is reached.
A lightweight macOS menu bar app. Start or stop a session in one click. SleepWalk is always within reach.
Pick the timer, battery floor, and temperature limit before the session starts.
Stop after a set time.
Stop before charge drops too low.
Stop if the Mac gets too hot.
SleepWalk is agent agnostic: it keeps macOS awake, regardless of what is running.
Install the ---
name: sleepwalk
description: Use SleepWalk when the user says "do not sleep", asks to keep this Mac awake for a long-running task, invokes $sleepwalk, or asks to wrap a command.
---
# SleepWalk
SleepWalk is a local macOS app for bounded keep-awake sessions. It does not inspect prompts, code, logs, windows, or network traffic.
Use it only for an explicit keep-awake request or a genuinely long-running command.
## Workflow
1. Check availability:
```bash
sleepwalkctl status
```
If unavailable, ask the user to open SleepWalk or install the CLI from Settings.
2. Start a lease for the requested long task:
```bash
sleepwalkctl start --source codex --agent-session-id "<stable-id>" --label "<short label>"
```
Reuse the same ID. Add duration, battery, or thermal flags only when the user requests them. Thermal stops are `warm`, `hot`, or `critical`.
3. Always release that lease when the task completes or genuinely stops:
```bash
sleepwalkctl stop --source codex --agent-session-id "<stable-id>" --reason "<brief reason>"
```
This releases only this agent lease and never kills user processes.
For one long non-interactive command:
```bash
sleepwalkctl run -- <command>
```
Do not start SleepWalk for ordinary short commands. Never disable its safeguards.
and sleepwalkctl manages bounded keep-awake sessions for SleepWalk.
Usage:
sleepwalkctl status
sleepwalkctl active
sleepwalkctl start [options]
sleepwalkctl stop [options]
sleepwalkctl run [options] -- command [args...]
Commands:
status Show the app, session, battery, and thermal state.
active Print whether a session is active.
start Start a bounded keep-awake session.
stop Stop the current session.
run Keep awake while a command runs.
Start and run options:
-d, --duration <time> Stop after a duration such as 30m or 1h.
-b, --battery-floor <pct> Stop below a battery percentage.
-l, --label <text> Name the session.
--thermal-stop <level> Stop at warm, hot, or critical.
Stop option:
--reason <text> Explain why the session stopped.
Agent options:
--source <name> Identify the calling agent.
--agent-session-id <id> Manage only that agent's lease.
General option:
-h, --help Show this help.
Examples:
sleepwalkctl start --duration 30m --battery-floor 20 --thermal-stop hot
sleepwalkctl run -- npm test
sleepwalkctl stop --reason "tests passed"
in one click. Tell your agent “do not sleep” or mention $sleepwalk: your agent handles it. Your Mac goes to sleep whenever your agent is done.
Type a request and send it to see the SleepWalk handoff.
SleepWalk is for developers who need to step away while an agent, build, server, or script keeps running.
Yes. Start a bounded session, close the lid, and let the agent continue while SleepWalk watches your limits.
Those tools keep a Mac awake. SleepWalk adds a short session flow, closed-lid use, battery and thermal limits, and simple agent start/stop commands.
Yes. Install the SleepWalk skill once, and an AI coding agent can start a bounded session and stop it when the task is done.
Any agent, editor, terminal, script, or workflow that can call the local SleepWalk CLI.
No. SleepWalk does not inspect prompts, windows, logs, code, or network traffic. Agent setup uses explicit local commands from the SleepWalk skill and CLI.
SleepWalk ends the session when the timer expires, the battery drops below your floor, the Mac gets too hot, or a local stop command ends the session.
SleepWalk is buy-once software. Current price, promo, and trial details are shown at Polar checkout.