Turning Power Chime Off

On new Macbook Pro, Power Chime runs. Whenever I delete from core services it comes right back. It makes a sound when plugging in your power cord even when the volume is at 0%.

The solution I have now to disable this annoying sound is an AppleScript application that runs on login to kill the process via terminal. Is there a better way?


Solution 1:

The solution is to set ChimeOnNoHardware to true instead of setting ChimeOnAllHardware to false (note, No instead of All):

defaults write com.apple.PowerChime ChimeOnNoHardware -bool true
killall PowerChime

Solution 2:

Here's another solution since the others provided don't seem to be working for you. You can create an empty AIFF file to replace the default chime. The chime audio is located here:

/System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif

I created an empty AIFF file using Adobe Audition. With SIP disabled, I backed up the original chime and replaced it with my new audio file:

sudo mv /System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif /System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif_bak
sudo mv ~/Desktop/null.aif /System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif

Be sure to fix the permissions on the file:

sudo chown root:wheel /System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif
sudo chmod 644 /System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif

No more audio when connecting your power source.

Solution 3:

I'm using this simple tool on all MacBooks after 2015 to quickly switch PowerChime

https://git.io/nochime — runs through curl without installation, performs the desired job, nothing to add here.

Solution 4:

In case anyone wants my AppleScript I'm using to stop this:

tell application "System Events"
    delay 3
    set ProcessList to name of every process
    if "PowerChime" is in ProcessList then
        set ThePID to unix id of process "PowerChime"
        do shell script "kill -KILL " & ThePID
    end if
end tell

But really looking for another way. Any help is appreciated. Thanks.