Command line and power tools
Half of macOS configuration lives in plists. Two tools make them readable and safely editable.
Most plists are binary. plutil -p pretty-prints either format:
plutil -p ~/Library/Preferences/com.apple.finder.plist | head -40
For preference domains, defaults is the higher-level view:
defaults read com.apple.finder | less
defaults read com.apple.finder ShowPathbar
plutil -convert xml1 file.plist # binary → readable XML
plutil -convert binary1 file.plist # back
plutil -lint file.plist # syntax check
Convert a copy when you just want to read — some tools quietly prefer the original format.
Running apps cache their preferences and write them back on quit — hand-edits to the file get overwritten, which is the classic mystery of the change that would not stick.
defaults write com.apple.screencapture location ~/Pictures/Screenshots
killall SystemUIServer
Quit the app first (or restart the relevant process after), and the change survives.
defaults delete com.apple.dock autohide-delay
defaults delete com.example.app # whole domain — the app's factory reset
Deleting an app's domain is the standard "reset this app's settings" move when it misbehaves.
Change the setting in the UI, then look for freshly written files:
find ~/Library/Preferences -mmin -2
The just-modified plist is your answer — the generic technique for locating any preference.
The app had them cached and wrote back on quit. Quit the app first and use defaults write, not a text editor.
defaults delete <bundle-id> removes the domain; the app recreates defaults on next launch.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Download for Mac