Skip to content

Keep the host awake

A MacBook that goes to sleep takes your agents with it. Nothing crashes — the sessions are still there when it wakes — but nothing progresses either, and your phone shows a host that stopped answering.

Offsite can hold the host awake, for a set time or until you allow sleep again.

A closed MacBook shown as glass on its power cable, with five agent cards still at work inside, and an iPhone beside it showing one of the sessions 0:50
One tap on the bolt keeps the Mac awake for the time you pick. The lid closes and the agents keep working, the one that needs you comes up on the iPhone, and sleep is allowed again from the phone. A 50-second film, with sound.

Every Mac host has a power button (the bolt) on its row in the host list, on the Mac and on the iPhone, so you always see which host it acts on:

  • Disable host sleep — pick how long. On the Mac, the bolt then shows the minutes left of a timed window, and its tooltip reads Host sleep disabled until ….
  • Allow host sleep — hand control back immediately.

The durations are 15m, 30m, 1h, 3h, 6h, 12h and Unlimited.

A timed window ends on its own: forget about it and the Mac goes back to normal power behaviour. Unlimited keeps the host awake until you choose Allow host sleep, which suits a Mac that serves as your host around the clock. The dialog reminds you to keep the Mac ventilated and out of a bag while sleep is disabled.

Changing the system sleep setting needs root, so a small privileged helper does it. Setting up a host installs the helper in the same administrator step as the host’s background service; switching sleep on and off needs no prompts after that. On a host that does not have it, the bolt reads Install power helper and asks for administrator approval once. The same helper also lets Offsite start sessions on that Mac while nobody is logged in.

Not applicable — a Linux host stays up. The control does not appear.

  • Implementation: pmset -a disablesleep, set through a LaunchDaemon-installed privileged helper (com.rapidrocket.offsite.power-helper) over a local socket. The app never runs sudo pmset itself.
  • Allowed durations in seconds: 900, 1800, 3600, 10800, 21600, 43200, or none for Unlimited.
  • The state the apps show is the helper’s own record (/var/db/com.rapidrocket.offsite.power-helper/state.json); pmset only acts, checked by its exit code. The helper keeps the setting, and a timer that is still running, across its own restarts.
  • This is about the host’s sleep, not your client’s. Your Mac or iPhone can sleep freely — sessions are host-owned.
  • Related but different: Always reachable covers the machine coming back after a restart, not staying awake now.