Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
What surprises me about this is... Apple have been making OS X for over 20 years. You'd think there would be some institutional memory that would cause engineering management to not greenlight a new thing (CSPN) that unconditionally wakes the Mac every hour, and isn't configurable in System Settings, because it would be known that that would annoy users in a bunch of scenarios.

There's currently a lack of adult supervision in the MacOS development team I guess!
The problem may be related to all the mobile devices (iPhones, iWatches etc) constantly communicating with the Mac as a central hub. If you have turned Bluetooth and WiFi on, it is difficult to precisely define when the machine should wake up and under what circumstances it should do so. On my desktop machine I'm using wired Ethernet for the main communication line as my workflow allows this. So I can comfortably switch off BT and WiFi. Together with some tweaks discussed in this forum it is possible to setup a proper sleep (as long as you wish, without a single wakeup switching on all peripherals). But of course depending on peoples workflow, this might not be an option. What Apple should implement is a simple switch, which when turned on puts the Mac to REAL sleep.
 
Just discovered this bug on two Mac’s of mine. Been using the app Sleep Aid to tweak and track sleep sessions. My mac is up every few seconds or minutes throughout the night. Definitely seems to be a Sonoma issue. I took my mac to the Apple Store and they wiped it and I started it fresh. Still has this issue, I doubt it’s hardware.

Often it will start up immediately after sleeping. I will have to try this solution later.
 
I've been battling external HD insomnia for years, now as of 14.5 the whole system (iMac i9) won't go to sleep without manual intervention. According to Terminal, BTStack and Handoff are the culprits.
 
^ Mac seems to be sleeping again with 14.6.1, though I don't expect a HD fix after all these years.
 
^ Mac seems to be sleeping again with 14.6.1, though I don't expect a HD fix after all these years.

It's probably no coincidence that I've been having difficulty waking my external display ever since the 14.6.1 update. Mac not sleeping was a persistent problem of mine for years. Then for a few years, external screen not waking was the problem.

Every now and then I have bliss and everything works. I probably had the longest stretch of problem free sleep-waking that just got broken by 14.6.1. Now I'm back to the screen not always waking. Ugh.
 
  • Sad
Reactions: WebHead
Also can confirm that HDs waking up is still an issue. Disabling "Put HD to sleep when possible" yet again.
 
  • Sad
Reactions: smirking
On another forum a solution was found by somebody:
#------------------------------------------------------------------------------
Having investigated this further I found that there is a MacOS FeatureFlag for enabling CoreSmartPowerNap in powerd.plist in the system folder /System/Library/FeatureFlags/Domain/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CoreSmartPowerNap</key>
<dict>
<key>Enabled</key>
<true/>
</dict>
</dict>
</plist>



We cant change this plist directly because the file is in the secure system enclave but another user pointed out that we can override MacOS FeatureFlags by setting in them in the /Library/Preferences/FeatureFlags/Domain/ folder.

I've tried this approach and since implementing I have not seen any CSPNEvaluation wake reasons.

If you want to try this for yourself do the following :-

1. Open Terminal

2. Create the folder structure in terminal with: sudo mkdir -p /Library/Preferences/FeatureFlags/Domain/

3. Copy the above code into a editor and change the boolean flag <true/> to <false/>

4. Save the file as powerd.plist into the new folder: /Library/Preferences/FeatureFlags/Domain/

5. Reboot
#------------------------------------------------------------------------------

Tried and tested this:
1. put the machine into sleep
2. wake it up
3. pmset -g log > pmset.txt.
4. Voila -> no CSPNEvaluation Wake Request for this sleep action

Best regards!

EDIT: Wow, this fixed it for me! My Mac slept like a baby last night! Damn you, Apple, and your aggressive policy of trying to keep Macs awake with all means possible!

I think this file should be put in the User Preferences folder, since as far as I know that one has the highest priority, and won't get overwritten by system updates. Will have to test.
 
Last edited:
On another forum a solution was found by somebody:
#------------------------------------------------------------------------------
Having investigated this further I found that there is a MacOS FeatureFlag for enabling CoreSmartPowerNap in powerd.plist in the system folder /System/Library/FeatureFlags/Domain/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CoreSmartPowerNap</key>
<dict>
<key>Enabled</key>
<true/>
</dict>
</dict>
</plist>



We cant change this plist directly because the file is in the secure system enclave but another user pointed out that we can override MacOS FeatureFlags by setting in them in the /Library/Preferences/FeatureFlags/Domain/ folder.

I've tried this approach and since implementing I have not seen any CSPNEvaluation wake reasons.

If you want to try this for yourself do the following :-

1. Open Terminal

2. Create the folder structure in terminal with: sudo mkdir -p /Library/Preferences/FeatureFlags/Domain/

3. Copy the above code into a editor and change the boolean flag <true/> to <false/>

4. Save the file as powerd.plist into the new folder: /Library/Preferences/FeatureFlags/Domain/

5. Reboot
#------------------------------------------------------------------------------

Tried and tested this:
1. put the machine into sleep
2. wake it up
3. pmset -g log > pmset.txt.
4. Voila -> no CSPNEvaluation Wake Request for this sleep action

Best regards!

Unbelievable, but in 2025 this is STILL an issue an the above fixes it!

I literally spent weeks trying to find a solution. I even almost got myself banned from the Apple Support Community because I wasn't willing to accept their "just don't put it to sleep", "this is totally normal", "what's the concern", "download EtreCheck", "do a clean install" ideas of a "solution".

All this while the solution was in that damn forum all along and while all these "power users" demonstrably knew about it!

Here's what seems to be the source of the fix:
https://discussions.apple.com/threa...259829904022&sortBy=newest_first#259829904022
 
Unbelievable, but in 2025 this is STILL an issue an the above fixes it!

I literally spent weeks trying to find a solution. I even almost got myself banned from the Apple Support Community because I wasn't willing to accept their "just don't put it to sleep", "this is totally normal", "what's the concern", "download EtreCheck", "do a clean install" ideas of a "solution".

All this while the solution was in that damn forum all along and while all these "power users" demonstrably knew about it!

Here's what seems to be the source of the fix:
https://discussions.apple.com/threa...259829904022&sortBy=newest_first#259829904022
Hacking feature flags isn't really a fix. It just temporarily changes behaviour. lt may help you avoid an issue until the next update. Those feature flags always get removed eventually.
 
  • Like
Reactions: musicadi
Hacking feature flags isn't really a fix. It just temporarily changes behaviour. lt may help you avoid an issue until the next update. Those feature flags always get removed eventually.

Well, at least the annoying hourly wakes are gone :)

I wonder if this would work in the user Library folder. The plist in the root Library will likely get removed on update, so I created one in my user Library, just in case :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.