Recently, I have been playing around with editing System Preferences without GUI and using the defaults command. I have tried for example:

defaults write com.apple.dock autohide NO

Though that did not do anything. The preference was still checked in System Preferences, and the plist did not get edited when I opened it in Xcode. Even after relaunch of Finder and restart.

Am I using defaults properly? And if no, what is the proper use of it, when I am aiming to edit Preferences through terminal?

I am using OS X Mavericks (10.9.5)

  • Did an update as I realised an error in your code as well as the killAll in my answer
    – markhunte
    May 14, 2015 at 21:38

1 Answer 1


Your command is adding a BOOL true or false.

So you needed to declare it as such by adding -bool. Otherwise you are changing to a string.

But also with this change you need to relaunch the dock for it to pick up the changes. You can do this by adding a second command.

killAll Dock

In one command:

defaults write com.apple.dock autohide  -bool no;killAll Dock 

This will run your command and kill any process named Dock. The Dock will then auto relaunch picking up the changes.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .