Scheduled wake
How to schedule a Mac to wake or turn on
System Settings has no wake schedule since macOS Ventura, so use pmset in Terminal. sudo pmset repeat wakeorpoweron MTWRF 07:00:00 wakes or starts the Mac every weekday at 7 AM, sudo pmset schedule sets a one-time wake, and pmset -g sched lists what is scheduled.
On this page
- Where did the Energy Saver Schedule go?
- How do you schedule a repeating wake?
- How do you schedule a one-time wake?
- How do you see and cancel schedules?
- Do cron and launchd jobs run while the Mac is asleep?
- How do you keep the Mac awake long enough for the job?
- Why doesn’t a keep-awake schedule wake a sleeping Mac?

Where did the Energy Saver Schedule go?
Apple removed the wake and startup schedule from the graphical settings when System Settings replaced System Preferences in macOS Ventura. The pmset command in Terminal still does the job.
Easiest way: Napless. Use pmset to wake the Mac, then a Napless schedule to keep it awake until the job window ends. A Napless schedule does not wake a sleeping Mac. Try Napless free for 7 days.
MacRumors covered the change on 10 January 2023 in “How to Schedule Shut Down, Restart, and Boot/Wake in macOS Ventura”: “Apple decided to remove these options from the graphical interface completely.” Apple’s current Energy settings and Battery settings pages list no schedule option either.
Desktop Macs keep two related startup controls under System Settings > Energy. Start up when power is connected can be set to Never, After power failure or Always. Start up automatically after a power failure starts the Mac after a power cut. They react to power events, not to a clock. For a Mac that should never go down, see an always-on Mac mini.
You need an administrator account to change a schedule. man pmset says it “must be run as root in order to modify any settings,” so every command below starts with sudo.
How do you schedule a repeating wake?
Use pmset repeat with an event type, a set of weekdays and a 24-hour time. This command wakes the Mac, or turns it on if it is shut down, at 7 AM on weekdays:
sudo pmset repeat wakeorpoweron MTWRF 07:00:00
The parts, from man pmset:
| Part | Values |
|---|---|
| Type | sleep, wake, poweron, shutdown, wakeorpoweron |
| Weekdays | A subset of MTWRFSU (R is Thursday, U is Sunday). M and MTWRF are both valid. |
| Time | HH:mm:ss, 24-hour |
wake only wakes a sleeping Mac, poweron only starts one that is shut down, and wakeorpoweron does either.
Repeating events have one limit. man pmset says “you may only have one pair of repeating events scheduled - a ‘power on’ event and a ‘power off’ event.” One command can set both halves of the pair. This is the man page’s own example, a wake at noon on Tuesdays and sleep at 8 PM every night:
sudo pmset repeat wakeorpoweron T 12:00:00 sleep MTWRFSU 20:00:00
To change the pair, run sudo pmset repeat cancel and set it again. For a second wake time, add one-time events.
Scheduled sleep and shutdown show a warning first. Apple’s IOPMLib.h header says those events “present a graphical warning and allow a console user to cancel the event.”
How do you schedule a one-time wake?
Use pmset schedule with a type and a quoted date and time in MM/dd/yy HH:mm:ss format. This wakes the Mac at 6:30 AM on 3 October 2026:
sudo pmset schedule wake "10/03/26 06:30:00"
The date must be in quotes and the time is 24-hour. You can add an optional owner string at the end to label the event, such as "backup-script". The label shows in pmset -g sched, so you can find the event later when you want to cancel it.
man pmset also documents pmset relative wake <seconds>, which wakes the Mac a set number of seconds after it goes to sleep. The man page warns that this event “cannot be cancelled and is inherently imprecise,” so prefer schedule for anything that matters.
How do you see and cancel schedules?
Run pmset -g sched to list every scheduled event. To cancel, run sudo pmset repeat cancel for the repeating pair, or sudo pmset schedule cancel with the same type and time for a one-time event.
pmset -g sched
This is the output on the MacBook Pro used for this guide, on 2 October 2026 with macOS 27.2:
Scheduled power events:
[0] wake at 09/27/2026 01:39:12 by 'com.apple.alarm.user-invisible-com.apple.StatusKit.presence.reassertion.groupsessionservice-com.apple.notes.MeToMeChannel-539f'
[1] wake at 09/27/2026 05:25:45 by 'com.apple.alarm.user-invisible-com.apple.osanalytics.hardhighengagementtimer'
Both entries belong to macOS services, not to a user schedule. Wakes you add appear in the same list, with your owner label if you gave one. Leave com.apple entries alone.
To cancel:
sudo pmset repeat cancel
sudo pmset schedule cancel wake "10/03/26 06:30:00"
For one-time events, Apple’s IOPMLib.h says the cancel arguments “must match the original arguments from when the power on was scheduled,” so include the owner label if you set one. man pmset describes pmset repeat cancel as cancelling “all scheduled system sleep, shutdown, wake, and power on events.” Run pmset -g sched afterward to see what is left.
man pmset says scheduled events are stored in /Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist. Change them with pmset, not by editing that file.
If a Mac wakes at times you didn’t set, why a Mac wakes from sleep by itself shows how to match each wake in the log to its reason.
Do cron and launchd jobs run while the Mac is asleep?
No. Nothing runs while the Mac is asleep. The difference is in the missed run: cron skips it, and launchd’s calendar jobs run at the next wake.
man launchd.plist says this about StartCalendarInterval: “Unlike cron which skips job invocations when the computer is asleep, launchd will start the job the next time the computer wakes up. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon wake from sleep.”
| Scheduler | Job due while the Mac sleeps |
|---|---|
| cron | Skipped |
launchd StartCalendarInterval |
Runs at the next wake. Several missed runs become one. |
launchd StartInterval |
Missed. The man page blames “shortcomings in kqueue(3).” |
To run a job at a fixed time on a Mac that is usually asleep, pair a scheduled wake with a launchd calendar job:
- Pick the job time, for example 3:00 AM every day.
- Schedule a wake a few minutes earlier:
sudo pmset repeat wakeorpoweron MTWRFSU 02:55:00. - Set the job as a launchd job with
StartCalendarIntervalat 3:00, not as a cron entry. - Start the job’s command with
caffeinate -iso it holds sleep while it runs (next section). - The next morning, check
pmset -g logfor the 2:55 wake and the job’s own output.
If the wake fails, the launchd job still runs late at the next wake instead of not at all.
How do you keep the Mac awake long enough for the job?
Start the job’s command with caffeinate -i so the job holds sleep itself, then check the power log once to confirm the scheduled wake was a full wake. A scheduled wake doesn’t guarantee the Mac stays awake for any length of time.
Wrapping the command keeps a power assertion for exactly as long as the job runs:
caffeinate -i /usr/local/bin/nightly-backup.sh
man caffeinate says the assertions “persist for the duration of the utility’s execution.” Inside a launchd job, use /usr/bin/caffeinate as the program and your script as its argument.
The log check matters because of one catch. Apple’s IOPMLib.h says PreventUserIdleSystemSleep, the assertion caffeinate -i creates, “has no effect if the system is in Dark Wake.” A dark wake is a partial wake in which the CPU and core hardware run, but the Mac doesn’t fully wake. This guide doesn’t have a measured result for which kind of wake a pmset schedule produces on each Mac, so look at yours the morning after the first run:
pmset -g log | grep -E '(Wake|DarkWake) from'
Find the line at your scheduled time. A Wake from line is a full wake, and the caffeinate -i hold applies. A DarkWake from line means the hold may not keep the Mac up, so check the job’s own output to see whether it finished. If it didn’t, keep the Mac awake through the whole job window instead of relying on the wake, for example with caffeinate -i -t started before you leave.
The caffeinate command guide covers the other flags, and check what is holding sleep shows how to confirm a hold is in place.
Why doesn’t a keep-awake schedule wake a sleeping Mac?
A keep-awake schedule creates a power assertion, and an assertion only stops idle sleep on a Mac that is already awake. Waking a sleeping Mac takes a scheduled power event, which you set with pmset and which needs root.
Apple’s header keeps the two apart. IOPMLib.h defines scheduled power events (IOPMSchedulePowerEvent, which “must be called as root”) separately from power assertions such as PreventUserIdleSystemSleep, which prevents “the system from sleeping automatically due to a lack of user activity.”
Napless follows the same rule. Napless Help says of its schedule, a Napless Pro feature: “A schedule prevents sleep while your Mac is already awake. It does not wake your Mac from sleep.” Use the two together. pmset wakes the Mac at 7:00, and a Napless schedule from 7:00 to 9:00 keeps it from idling back to sleep once it is awake. Napless Pro is $8 for the first 50 licenses, then $24, one time, for up to 3 Macs. The schedule settings are described under Automatic Keep Awake in Napless Help. Timers that keep the Mac awake for a set time or until a clock time are included in the trial; after it, Napless Pro. Installed before 1.5? You keep those free features.
For the other settings that decide when a Mac sleeps, see how to keep a Mac awake. After pmset wakes the Mac, Try Napless free for 7 days to keep it awake for the job window.
Questions
How do I schedule my Mac to wake up every day?
Run sudo pmset repeat wakeorpoweron MTWRFSU 07:00:00 in Terminal. Use a subset of MTWRFSU for fewer days. pmset -g sched shows the schedule.
Where is the Energy Saver schedule in macOS Ventura and later?
It is gone. Apple removed the schedule from the graphical settings in macOS Ventura, and the pmset command in Terminal is the way to set one now.
Can I schedule more than one daily wake with pmset repeat?
No. man pmset says you may have only one pair of repeating events, a power-on event and a power-off event. Use pmset schedule for extra one-time events.
Do launchd jobs run if the Mac is asleep?
A launchd job set with StartCalendarInterval runs the next time the Mac wakes, and missed runs are merged into one. cron skips the run, and StartInterval misses it.
Does a keep-awake app wake a sleeping Mac on a schedule?
No. A keep-awake hold only stops idle sleep while the Mac is awake. Napless's schedule, for example, does not wake your Mac from sleep. Use pmset for the wake.


