Closed-lid mode in Shake It On
macOS sleeps your MacBook when you close the lid. That's almost always what you want. Almost.
If you're using your MacBook as a "desktop replacement" β docked with an external display and power adapter, lid closed because it's in a stand β you want the opposite. Close the lid, keep working. Closed-lid mode in Shake It On 1.1.0 enables exactly that.
The IOKit assertion
Closed-lid mode holds a stronger IOKit power assertion than Allow-display-to-sleep: kIOPMAssertionTypePreventSystemSleep. It tells macOS to keep the system awake even when lid-closure events are signaled.
macOS only honors this assertion when:
- An external display is connected
- The Mac is on power (the adapter, not the battery)
Without those, the toggle is a no-op β your Mac will still sleep on lid close, which is the safe behavior. Apple won't let any app bypass the thermal-protection logic.
Enable Closed-lid mode
- Plug in a power adapter and connect an external display.
- Open Settings (menu bar β Settingsβ¦).
- Scroll to the General section.
- Turn on Keep awake when lid is closed.
Close the lid. The Mac stays awake. Open it back up β also fine, nothing changes.
vs. Allow display to sleep
These are two different IOKit assertions for two different cases:
- Allow display to sleep β keeps the system awake; the display can dim and sleep. Lid stays open. Use this for overnight renders on a stationary Mac.
- Closed-lid mode β keeps the system awake even when the lid is closed. Use this for docked-MacBook setups.
You can turn both on. Closed-lid takes priority because it's the stronger assertion.
A note on thermals
Running a MacBook with the lid closed restricts airflow. For light workloads (writing, video calls, web) it's fine. For sustained heavy CPU (rendering, encoding, training a model) you may want the lid open even with closed-lid mode toggled on.
vs. Amphetamine's closed-display mode
Amphetamine has the same feature; they call it "Closed-Display Mode." On Apple Silicon, Amphetamine recommends a "Power Protect" workaround for some cases. Shake It On uses the same IOKit assertion type natively without any workaround, on both Apple Silicon and Intel.