Check the Energy tab in Activity Monitor for the Preventing Sleep column. For more detail, run pmset -g assertions in Terminal. End a known awake session normally, then check again.
Start with the sessions you control
When your Mac stays awake unexpectedly, first check whether you left an awake utility active. Review Mouse Jiggler’s main switch, a scheduled session, and any Terminal window running caffeinate. An unfinished export or another app may also have a reason to keep the system active.
Decide what you are diagnosing: a screen that stays illuminated, a computer that does not enter idle sleep, or a computer that wakes again later. A single setting change may not explain all three. Our sleep and locking guide separates those states.
Look in Activity Monitor
- Open Activity Monitor from Spotlight or Applications → Utilities.
- Select the Energy tab.
- Look for the Preventing Sleep column.
- If needed, use View → Columns to show it.
- Note the names of apps that are currently preventing sleep.
Energy Impact is a relative measure of current energy use, not a remaining-battery percentage. A busy process and a sleep-prevention request answer different questions, so inspect the appropriate column.
The view is a snapshot. A request may disappear when playback, a transfer, or another task ends. Record what the app was doing when you checked.
Inspect power assertions in Terminal
For a more detailed read-only view, open Terminal and enter:
pmset -g assertionsThis reports power assertions: requests that can prevent system or display sleep. The output can include a summary and the processes holding requests. It does not change your power settings.
For example, a caffeinate session may appear while it is active. End your own session with Control-C in its original Terminal window, then run the command again and compare. Read the installed manual with man pmset for details specific to your Mac.
Read the owner, not just the summary
In the output, start with Listed by owning process. An entry connects a request type to a process name and its PID, the number identifying that running process. Compare the name, PID, and request type between checks; a name alone can be ambiguous if several sessions are open.
For the timed example below, look for caffeinate holding PreventUserIdleSystemSleep. That is an idle-system-sleep request. It does not by itself request that the display remain lit.
The Assertion status system-wide summary describes the whole Mac. A 1 there is not the PID or a count of your Terminal sessions. After you stop your session, another owner can keep the same request type active. To confirm that your session ended, check whether its owner entry disappeared.
Try a thirty-second comparison
This small test gives you a known request to find. Open two Terminal windows so you can inspect the request while its timer runs.
- In the second window, run
pmset -g assertionsonce as a baseline. Note any existing caffeinate entries. - In the first window, start this temporary session:
caffeinate -i -t 30- Immediately return to the second window and rerun:
pmset -g assertions- Find the new
caffeinateowner entry and note its PID. If the timer finished before you checked, repeat the short test. - Wait until the prompt returns in the first window, then run the inspection again. Look for that same PID in the new output.
The -i flag requests protection from idle system sleep; -t 30 releases the request after thirty seconds. You can stop early with Control-C in the first window. No administrator password or permanent sleep-setting change is needed.
On macOS 27.0.1, our test created a caffeinate owner entry with PreventUserIdleSystemSleep. After the timer ended, that PID was absent from the next snapshot. The system-wide value remained 1 before, during, and after the test: removing one request did not remove other owners’ requests.
This verified request creation and release, not an actual transition into sleep, closed-lid operation, or another task’s completion.
If your entry disappears but the Mac remains awake, return to the remaining owners and finish one known task normally. Do not force-quit an unfamiliar process just to make the summary read zero. For longer sessions and additional options, see the caffeinate command guide.
Change one thing and compare
Use a small before-and-after check instead of quitting everything at once:
- Save the names of relevant apps and note the time.
- Finish or stop one known task using its normal controls.
- Refresh the Activity Monitor view or rerun the Terminal command.
- Wait through your configured idle timeout without touching the input devices.
- Check whether the symptom changed.
Do not assume a process with an unfamiliar name is faulty. It may be a normal system component. If you cannot identify it, investigate its role before attempting to stop it.
Understand what the check does not prove
A utility that simulates input does not necessarily appear as its own named sleep assertion. Likewise, a snapshot without an obvious request is not a complete history of wakes, accessories, or network activity.
If Mouse Jiggler is involved, temporarily switch its main control off and repeat your test. If the Mac still behaves unexpectedly, record the power source, attached devices, timeout, and the exact symptom. That gives support more useful evidence than a screenshot of a single process name.
For a future session, add an explicit end time so you know when normal idle behavior should return.
For a future, deliberately timed routine, you can download Mouse Jiggler on the Mac App Store. Finish diagnosing the current sleep problem first; adding another awake session is not a fix for a Mac that will not sleep.
pmset(1) manual.Make the next session easier to stop.
If you already use Mouse Jiggler, review its end time and active conditions. Repeat the sleep check after stopping the session.
Review session stopping controlsView Mouse Jiggler on the Mac App Store · Free to download, with optional PRO features.



