How to Use the pmset Command in macOS Terminal to Manage Advanced Power and Sleep Schedules

While the macOS graphical System Settings provides elementary power sliders for display timeout and low power mode, modern Apple Silicon and Intel Mac systems contain complex underlying power management subsystems governed by the I/O Kit framework. These subsystems regulate subtle behaviours including Power Nap, TCP keep-alive pings, standby delays, proximity wake states, and automated scheduled startups. To inspect and reconfigure these low-level power states directly, system administrators and advanced Mac users rely on the native command-line utility pmset (Power Management Settings).

Using pmset via Terminal, you can prevent unwanted sleep cycles during long-running background tasks, configure distinct energy profiles for battery versus AC wall power, schedule automatic daily boots or shutdowns, and troubleshoot erratic overnight battery drains. This guide demonstrates how to audit current power configurations, adjust sleep parameters, and automate system schedules.

Checking Current Power Management Settings with pmset

Before adjusting any parameters, review your Mac’s active power management state by running:

pmset -g

This command outputs the active power profile. On MacBooks, pmset supports different operating scopes denoted by power sources:

  • -c: Wall power / AC adapter settings.
  • -b: Battery power settings.
  • -u: UPS (Uninterruptible Power Supply) settings.
  • -a: All power sources simultaneously.

To inspect current power sources and battery charge levels, run:

pmset -g batt

To view which background applications or system assertions are currently preventing your Mac from sleeping (such as media players, active downloads, or backup daemons), execute:

pmset -g assertions

Understanding Key pmset Parameters

The pmset -g output displays multiple integer values representing minutes or binary flags (0 = disabled, 1 = enabled):

  • sleep: System sleep timer (in minutes). A value of 0 disables system sleep entirely.
  • displaysleep: Display idle sleep timer (in minutes). Setting this lower than sleep allows the screen to turn off while background computing continues.
  • disksleep: Idle timer before spinning down mechanical hard drives (largely negligible on modern solid-state Mac storage).
  • womp: Wake On Magic Packet / Wake on LAN. Allows remote management tools to wake the Mac via ethernet.
  • powernap: Allows the Mac to periodically wake silently to check for emails, calendar updates, and iCloud backups while sleeping.
  • tcpkeepalive: Maintains active network socket connections during sleep. Disabling this can save battery life during transit, though it suspends Find My Mac location beaconing.
  • proximitywake: Wakes the Mac from sleep when an unlocked companion iPhone or Apple Watch approaches.
  • hibernatemode: Controls sleep memory retention (0 = basic RAM sleep, 3 = safe sleep copying RAM to SSD, 25 = pure hibernation powering off RAM completely).

How to Modify Power and Sleep Configurations

Modifying system-wide power settings requires superuser privileges using sudo:

1. Setting Display and System Sleep Timers

To configure your Mac to turn off the display after 10 minutes and sleep the system after 30 minutes while on battery, execute:

sudo pmset -b displaysleep 10 sleep 30

To prevent system sleep entirely while connected to AC power, set the sleep timer to zero:

sudo pmset -c sleep 0

2. Eliminating Overnight Battery Drain on MacBooks

If your MacBook experiences excessive battery drain while the lid is closed overnight, you can disable network wake requests and Power Nap during sleep:

sudo pmset -b powernap 0
sudo pmset -b womp 0
sudo pmset -b proximitywake 0

3. Adjusting Standby and Hibernation Delays

On battery power, macOS transitions from light sleep into deep standby after a designated duration to conserve power. You can increase or decrease this delay using standbydelayhigh and standbydelaylow (measured in seconds):

sudo pmset -b standbydelayhigh 10800

This sets a 3-hour (10,800 seconds) buffer before deep standby engages when battery charge is above the high threshold.

How to Schedule Automated Startup, Wake, and Shutdown

One of the most powerful administrative features of pmset is the ability to schedule recurring or one-time hardware power events across days of the week (abbreviated as M, T, W, R, F, S, U):

To view any currently active power schedules, execute:

pmset -g sched

Scheduling Daily Automated Wake or Power On

To configure your Mac to automatically power on or wake from sleep every weekday morning at 07:30 AM:

sudo pmset repeat wakeorpoweron MTWRF 07:30:00

Scheduling Nightly Shutdown

To schedule an automatic daily shutdown every evening at 23:00 PM:

sudo pmset repeat shutdown MTWRFSU 23:00:00

Cancelling and Clearing Power Schedules

To cancel all active scheduled wake, sleep, and shutdown events:

sudo pmset repeat cancel

Resetting pmset to Factory System Defaults

If experimental configuration changes cause unpredictable sleep behaviour or prevent your display from dimming, you can restore standard macOS factory defaults with a single command:

sudo pmset -a restoredefaults

Mastering the pmset command empowers Mac users with complete, surgical control over hardware energy states, preventing interrupted rendering workloads and extending battery longevity across mobile MacBooks.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.