Apple - Silencing "Your disk is almost full" notification

The solution to disabling the "almost full" and "full" notification is to disable the daemon responsible for it:

launchctl unload -w /System/Library/LaunchAgents/


launchctl stop

Alternatively, if you only want to prevent the "almost full" from appearing so often then you can lower the GB threshold via:

minFreeSpace (int) - minimal free size in GB. Default: 20

The default 20GB is too high for small SSDs and a possible bug causes the alert to be shown every day rather than just once, so as a workaround you can lower the free space before the alert appears, e.g. to 10GB:

defaults write minFreeSpace 10

The daemon only reads its prefs on startup so you need to restart it if you have system integrity turned off:

launchctl unload -w /System/Library/LaunchAgents/
launchctl load -w /System/Library/LaunchAgents/

Otherwise kill it:

killall diskspaced

In case you are interested in the other preferences for these disk alerts you can view some of them using the help param:

/System/Library/PrivateFrameworks/StorageManagement.framework/Versions/A/Resources/diskspaced help
  Supported keys:
  debugLog (BOOL) - log additional debug information. Default: NO
  checkAllVolumes (BOOL) - check all volumes. Default: NO
  minDiskSize (int) - minimal disk size in GB. Default: 128
  minFreeSpace (int) - minimal free size in GB. Default: 20
  minPurgeableSpace (int) - minimal purgeabe space size in GB. Default: 20
  Commands: removeAllNotifications - Removes all scheduled and delivered user notificiations.

And here are a couple of hidden ones:

warningInterval (integer default 0)
lastWarningDate (string e.g. 2017-05-05 16:48:29 +0000)

I didn't look too closely at but it is possible setting the last warning date to a date in the future would also prevent the alert displaying.

macOS Mojave

See: How to access a launch daemon's values/ system defaults value

macOS Sierra

On Sierra this command didn't work for me:

launchctl unload -w /System/Library/LaunchAgents/

due to System Integrity Protection engaged, so to stop the diskspaced service, run:

launchctl stop

Note: Use start to start again or list to see the details (e.g. its PID).

If the service is restarting after a while, try the following command to stop it:

killall -STOP diskspaced

Changing warning level and interval

To change the user's default settings, here are some example commands:

defaults write freeSpaceWarningLevel 1
defaults write warningInterval 3600
defaults write debugLog 1
defaults write checkAllVolumes 0

Then restart the service:

launchctl stop && launchctl start

To see the loaded settings, run diskspaced, e.g.:

$(find /System/Library/PrivateFrameworks -name diskspaced -print -quit)
2017-08-04 18:32:27.943 diskspaced[92401:12312556] FreeSpaceWarningLevel: 1
2017-08-04 18:32:27.943 diskspaced[92401:12312556] WarningInterval: 3600
2017-08-04 18:32:27.943 diskspaced[92401:12312556] Check All Volumes: NO


I believe parameters mentioned by @malhal no longer exist. Here is a simple command to test this:

$ grep -A6 debugLog <(strings $(find /System/Library/PrivateFrameworks -name diskspaced -print -quit))
FreeSpaceWarningLevel: %ld
WarningInterval: %ld
Check All Volumes: %@


Check the logs by this command for any warnings:

grep /var/log/system.log

I think this notification is a bug.

I have 760GB free on my drive (a 1TB drive) and still get this same notification every morning since upgrading to Sierra.

I enabled Optimize Storage (but not Store in iCloud).