Operations 5 min read

Stop Your MacBook’s Overnight Battery Drain: Proven Power Settings Tweaks

After experiencing up to 50% battery loss overnight when the MacBook lid is closed, the author diagnosed the issue using pmset, identified Bluetooth and Handoff as culprits, and applied three configuration changes—including disabling network wake, turning off Handoff, and using Bluesnooze—to reduce nightly drain to under 5%.

Eric Tech Circle
Eric Tech Circle
Eric Tech Circle
Stop Your MacBook’s Overnight Battery Drain: Proven Power Settings Tweaks

Background

Using a MacBook for years, the author noticed severe battery drain when the lid is closed and the machine is idle, sometimes dropping to around 50% after a night. Battery level after one night: ~50%. After several days without power, the MacBook would not turn on without a charger. Previous attempts to reset the SMC or restart only provided temporary relief.

Problem Investigation

Important: Remove all plugged‑in devices (power adapter, external monitors, etc.) before checking settings.

Check the MacBook’s battery and power configuration:

$ pmset -g
System-wide power settings:
Currently in use:
 lidwake              1
 lowpowermode         1
 standbydelayhigh    86400
 standbydelaylow     10800
 standby              1
 proximitywake        0
 ttyskeepawake        1
 hibernatemode        3
 powernap             0
 gpuswitch            2
 hibernatefile        /var/vm/sleepimage
 highstandbythreshold 50
 displaysleep         2
 womp                 0
 networkoversleep     0
 sleep                1 (sleep prevented by bluetoothd, sharingd)
 acwake               0
 halfdim              1
 tcpkeepalive         1
 disksleep            10

The output shows that Bluetooth and sharing services are preventing sleep.

Further inspection with assertions:

pmset -g assertions
Assertion status system-wide:
   BackgroundTask                 0
   ApplePushServiceTask           0
   UserIsActive                   1
   PreventUserIdleDisplaySleep    0
   PreventSystemSleep             0
   ExternalMedia                  0
   PreventUserIdleSystemSleep     1
   NetworkClientActive            0
Listed by owning process:
   pid 185(bluetoothd): ... PreventUserIdleSystemSleep named: "com.apple.BTStack"
   pid 191(WindowServer): ... UserIsActive named: "com.apple.iohideventsystem.queue.tickle ..."
   pid 599(sharingd): ... PreventUserIdleSystemSleep named: "Handoff"
No kernel assertions.
Idle sleep preventers: IODisplayWrangler

The assertions reveal that AirDrop & Handoff and various Bluetooth devices keep the system from entering deep sleep.

Optimization Plan

1. Adjust Battery Settings

Many online guides suggest aggressive pmset tweaks, but some (e.g., setting hibernatemode to 25) can slow wake‑up times. The author applied a single change to stop network‑wake while sleeping:

# Disable network wake
sudo pmset -b tcpkeepalive 0

2. Disable Handoff

Turning off the Handoff feature prevents the system from staying awake for cross‑device hand‑off activities.

3. Use Bluesnooze to Turn Off Bluetooth During Sleep

Install the open‑source utility that disables Bluetooth while the Mac sleeps and re‑enables it on wake: brew install bluesnooze After installation, enable the launch agent so the service starts automatically.

With these three steps completed, the author observed nightly battery loss of less than 5% even when many applications (Keynote, IDEA, VS Code, browsers, Zoom, etc.) were running.

TroubleshootingmacOSpower managementbatterybluesnoozepmset
Eric Tech Circle
Written by

Eric Tech Circle

Backend team lead & architect with 10+ years experience, full‑stack engineer, sharing insights and solo development practice.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.