Another trick is to open Activity Monitor, switch to the Energy tab, and sort by the "Preventing sleep" column. Some apps prevent macOS from sleeping.
In my case, I've discovered that Devonthink (document/notes management app) is responsible. I've been meaning to file a bug report about it.
I'm surprised that Apple's power management doesn't have an alert for this. Surely an app that causes my Mac to become glowing hot while sitting in my backpack, not to mention slowly running out of battery, is a pretty important thing to intercept. Meanwhile, I keep being asked if Chrome should be allowed to find devices on my network, which doesn't seem nearly as important.
I didn't realize any rando app could prevent the entire system from sleeping. Shouldn't this power be gated behind a user-controllable permission? I assume the developer needs to at least use an entitlement to call whatever API does this...?
pmset -g assertions
in the shell will also tell you which processes are preventing sleep, and it'll tell you the exact power assertions that are being held.(`pmset` has some other undocumented commands, you can discovery some of these in its source code Apple releases. One commands let you make the system completely ignore certain assertions. If you disable the "UserIsActive" assertion though you might struggle to wake it up)
Meanwhile, Safari asks you if you want to close Netflix, while you're watching Netflix, because it uses too much power.
I can't believe the Apple stocks app prevents sleeping. Why? It's not like it's a critical feature to know I'm down 0.25% for the day.
Maybe we need an app that’s like this and does it for apps that are in the business of keeping the Mac awake https://objective-see.org/products/knockknock.html
But that would require the app to at least register somewhere in advance to be able to achieve that, if not a full fledged permission.
> I keep being asked if Chrome should be allowed to find devices on my network
God in heaven, how can I say yes once and for all!?!
Recently switched to macos and ios.
There are so many of these permissions I can't seem to permanently accept!
Is this a feature or a bug?
I want a button that says yes and don't ask me again. Or, no and don't ask me again.
It's like Apple doesn't trust the user.
Excellent tip, and one I rediscovered earlier this week when I realized my Mac wasn't sleeping (the culprit: I'd left Powerpoint open and in slide-show mode).
I used to use DevonThink, but I quit long ago. I'd be interested in hearing how you use it, especially if you're not an academic.
I would rather have both, and I imagine the chrome one is easier to implement: either it asks for permissions or it doesn’t. Since there are valid reasons to keep the machine awake after closing the lid (close out connections, save files to disk, etc), it’s maybe harder to tell when one is going too long.
Wow.
1. I had no idea you could do this, thanks.
2. Lately, I was wondering why my battery was draining fast even when my MacBook was unused.
3. Turns out, Firefox is preventing sleep. Something about videos auto-playing, apparently. Not great, but it can be fixed.
“ Meanwhile, I keep being asked if Chrome should be allowed to find devices on my network, which doesn't seem nearly as important.” … Not for you, but someone finds it important.
I wish ios had insights (and controls) like this.
So many apps have telemetry and data collection and notifications that eat up your battery and bandwidth for business (no good) reasons.
Yes Chromecast at work. One would think answering it once would shut it up for a long time, but alas that is not to be.
didn't know about the "Preventing sleep" column. thanks! useful stuff
> I'm surprised that Apple's power management doesn't have an alert for this.
I'm more surprised that any application can prevent sleep _when you close the lid_.
I can understand the utility behind something like stopping sleep via timeout so a media player can tell the system "hey, they're watching a movie don't turn off even if they don't touch you for a bit".
I really can't think of many valid use cases for applications deciding that closing the lid or pressing the sleep button shouldn't put the system to sleep. Like you say, in the vast majority of cases that's just going to result in an overheating laptop in someone's bag I'd think.
Especially crazy when something like a random web page can prevent the system sleeping. Laptop won't turn off... which of my 70 tabs is it?!
Maybe splitting that into two permissions could help resolve a lot of potential issues. Sure, let lots of things disable the sleep via timeout... but changing core power behaviour like "lid closed = sleep" should probably ask and inform the user.