WakeRanger

Support

WakeRanger keeps your Mac awake, and shows you that it is actually working. If something is not behaving, the answer is probably below. If it is not, write to me - a real person reads it.

My Mac slept with the lid closed

It will not, once the helper is in place. On its own macOS sleeps a MacBook the moment the lid shuts unless it is on mains power and has an external display attached. WakeRanger holds it awake without either, through a small helper file you download and put in place yourself, because a sandboxed app is not allowed to put it there.

WakeRanger checks while your lid is still open and says what will happen, rather than letting you find out from a cold machine. If the panel says "Lid closed: will stay awake", macOS has confirmed it. If it says "Lid closed: will sleep", the helper is not installed or the setting is off. Installing the helper is below.

One warning worth knowing about: shut the lid on battery with a session running and WakeRanger sounds an alarm, five times over. A Mac held awake in a bag gets hot, and that is the one combination where nobody chose it on purpose.

Installing the lid helper

The helper is a plain-text AppleScript you can read before you install it. It runs two commands and nothing else: pmset -a disablesleep 1 when a session that wants the lid closed starts, and pmset -a disablesleep 0 when it ends. WakeRanger also turns the setting back off when the Mac gets too hot, when the battery runs low, when you quit, and at the next launch after a crash.

  1. Download wakeranger-clamshell.applescript.
  2. In WakeRanger, open Settings and turn on Keep this Mac awake with the lid closed. Click Open the folder.
  3. Drag the downloaded file into that folder. It has to be exactly ~/Library/Application Scripts/app.wakeranger/; macOS will not run it from anywhere else.
  4. Switch back to WakeRanger. Settings notices the file and offers step 2, which saves you typing your password every session.

The first time it runs, macOS asks for your password in its own dialog. That dialog does not name WakeRanger and says it cannot verify the script. That is expected: macOS, not WakeRanger, is what runs it.

To remove it, click Show the helper in Finder in Settings and drag it to the Trash.

How do I know it is really working?

The panel says so, and it is not guessing. WakeRanger asks macOS every few seconds whether the request is actually being honoured and shows you the answer: "Checked 3s ago - macOS is holding it".

You can check it independently. In Terminal:

pmset -g assertions | grep -i WakeRanger

A running session lists two entries, PreventUserIdleSystemSleep and PreventUserIdleDisplaySleep. No entries means no session, whatever any app tells you.

My session stopped on its own

WakeRanger ends a session early for a small number of reasons, and it always says which in the panel afterwards:

Can I bring my rules over from another app?

Yes. WakeRanger reads the triggers you already built and brings them across. Where the old engine could only join conditions with AND, the same intention often had to be built twice as two near-identical triggers; WakeRanger merges that pair into one rule joined with any of.

Everything arrives switched off, so nothing starts holding your Mac awake before you have read it. Anything that cannot be mapped is named on the import summary rather than dropped quietly.

How do I get the command line tool?

It is free, and it is a shell script rather than part of the app, because a sandboxed Mac App Store app may not install anything into /usr/local/bin. The app ships the door and this ships the key:

curl -fsSL https://wakeranger.app/wakeranger -o /usr/local/bin/wakeranger
chmod +x /usr/local/bin/wakeranger

Then wakeranger start 90, wakeranger start --until-quit com.apple.FinalCut, wakeranger start --until-download, wakeranger extend, wakeranger stop or wakeranger status. It never opens a window and never brings the app forward.

Ask for longer than an hour without Pro and the session still starts. It is shortened to an hour and prints that it was, rather than failing quietly inside your script.

Why is it asking for Location?

Only one thing triggers that prompt: a rule that asks which Wi-Fi network you are on. macOS treats a network name as a location, so there is no way to read one without it. WakeRanger asks at the moment you add such a rule, never at launch.

If you would rather not grant it, use the IP is in a subnet condition instead. It answers the same question, needs no permission, and sits above the Wi-Fi one in the list for exactly that reason. The same applies to Bluetooth: a rule about a nearby Bluetooth device needs the permission, and a rule about a USB device does not. Fourteen of the sixteen conditions need nothing at all.

The keyboard shortcut does nothing

Control-Option-Command-C starts and stops a session from anywhere. If nothing happens, another app has almost certainly claimed the same combination; whoever registered it first wins, and macOS does not report the clash.

The menu bar icon is missing

WakeRanger has no Dock icon by design, so if the menu bar item does not appear there is no other way in. Quit it from Activity Monitor and launch it again. If it still does not show, the menu bar may simply be full - macOS hides items it cannot fit, which a longer menu bar or fewer running menu bar apps will solve.

I paid and WakeRanger does not know

Open Settings and press Restore purchases. WakeRanger checks with the App Store and unlocks again. A purchase is tied to your Apple ID, so it works on every Mac you sign in to, and the one-time purchase is shareable with Family Sharing.

Refunds

Refunds are handled by Apple, not by me - I have no way to issue one. reportaproblem.apple.com is the place, and Apple is generally reasonable about it.

Getting in touch

innokenty.longway@gmail.com

What helps me fix it faster: your macOS version, your Mac model, and what the panel said at the time.