How-to: System preference settings for macOS

The preferences below can be applied using defaults

Use at your own risk.

Many of these values can harm your system if used improperly.
Before making changes with defaults write, use defaults read and make a note of any current settings.
defaults delete can be used to remove a preference completely.

Some of these changes require a logout/restart to take effect. All settings are case sensitive.

A boolean value can be given as -bool[ean] TRUE, FALSE, YES or NO (not case sensitive).

Applications do access the defaults system while they're running, so don't modify the defaults of a running application. If you change a default in a domain that belongs to a running application, the application won't see the change and might even overwrite the default. This includes the 'System Preferences' app.


Enable multitouch trackpad auto orientation sensing (for all users)
$ defaults write /Library/Preferences/ ForceAutoOrientation -boolean

Map navigation swipe to 3 fingers (turn this off to get 4-finger navigation swipe)
$ defaults write -boolean-neg

Hide Shutdown Button on Login Window:
$ defaults write ShutDownDisabled -bool true

Remove Restart Button From Login Window:
$ defaults write RestartDisabled -bool true

Disable creation of Metadata Files on Network Volumes (avoids creation of .DS_Store and AppleDouble ._ files.)
$ defaults write DSDontWriteNetworkStores -bool true

Disable creation of Metadata Files on USB Volumes (avoids creation of .DS_Store and AppleDouble ._ files.)
$ defaults write DSDontWriteUSBStores -bool true

Disable Login for Hidden User ">Console"
$ defaults write DisableConsoleAccess -bool true

Add a message to the login screen:
$ sudo defaults write /Library/Preferences/ LoginwindowText "Your Message"

Change login screen background:
$ sudo defaults write /Library/Preferences/ DesktopPicture "/Library/Desktop Pictures/Aqua Blue.jpg"

Disable transparency in the menu bar and elsewhere
Yosemite - equivalent to System Preferences ➞ Accessibility ➞ Display ➞ "Reduce Transparency"
defaults write reduceTransparency -bool true

Disable Expose
$ defaults write mcx-expose-disabled -boolean true

In Expose, only show windows from the current space:
$ defaults write wvous-show-windows-in-other-spaces -bool FALSE
$ killall Dock

In Expose, show other spaces' windows (default):
$ defaults delete wvous-show-windows-in-other-spaces
$ killall Dock

Enable 64-bit Kernel:
$ defaults write /Library/Preferences/SystemConfiguration/ Kernel Flags -string

Turn off the “Application Downloaded from Internet” quarantine warning:
$ defaults write LSQuarantine -bool NO

Every App

Restore the the 'Save As' menu item (Equivalent to adding a Keyboard shortcut in the System )
$ defaults write -g NSUserKeyEquivalents -dict-add 'Save As...' '@$S'

Save to disk (not to iCloud) by default:
$ defaults write -g NSDocumentSaveNewDocumentsToCloud -bool false

Expand 'Save As…' dialog boxes by default:
defaults write -g NSNavPanelExpandedStateForSaveMode -boolean true
defaults write -g NSNavPanelExpandedStateForSaveMode2 -bool true

Expand print panel dialog boxes by default:
defaults write -g PMPrintingExpandedStateForPrint -boolean true
defaults write -g PMPrintingExpandedStateForPrint2 -bool true

Global User Interface Scale Multiplier:
$ defaults write -g AppleDisplayScaleFactor -float

Holding down a character key will repeat the character:
$ defaults write -g ApplePressAndHoldEnabled -bool false

Holding down a character key will popup a small menu showing accent characters à, á, â etc (default in recent macOS versions):
$ defaults write -g ApplePressAndHoldEnabled -bool true

Enable continuous spell checking everywhere:
$ defaults write -g WebContinuousSpellCheckingEnabled -boolean true

Enable automatic dash replacement everywhere:
$ defaults write -g WebAutomaticDashSubstitutionEnabled -boolean true

Enable automatic text replacement everywhere:
$ defaults write -g WebAutomaticTextReplacementEnabled -boolean true

Quit Printer App after Print Jobs complete:
$ defaults write "Quit When Finished" -bool true

Icon Size for Open Panels:
$ defaults write -g NSNavPanelIconViewIconSizeForOpenMode -number

Keyboard press and hold behavior:
$ defaults write -g ApplePressAndHoldEnabled -boolean true

Monitor font smoothing

Display the current font smoothing:
$ defaults -currentHost read -globalDomain AppleFontSmoothing

Change the font smoothing (0=off, 1=light, 2=Medium/flat panel, 3=strong/blurred)
This is mostly needed for non-Apple displays.
$ defaults -currentHost write -globalDomain AppleFontSmoothing -int 0
Restart applications to see the effect

Delete the setting completely (restore default)
$ defaults -currentHost delete -globalDomain AppleFontSmoothing

Set the font anti-aliasing minimum sizes, globally or per-application:
$ defaults -currentHost write .GlobalPreferences AppleSmoothFontsSizeThreshold -int 16
$ defaults -currentHost write .GlobalPreferences AppleFontSmoothing -int 0
$ defaults -currentHost write AppleAntiAliasingThreshold -int 16

Address Book

Access the Debug menu in Contacts/Address Book (Set to NO to revert to the default):
$ defaults write ABShowDebugMenu -bool YES


Do not share the "search for" string with other applications:
$ defaults write com.barebones.bbedit FindDialog_UsesFindScrap -bool NO

Use old style modal Find Dialog:
$ defaults write com.barebones.bbedit FindDialog:UseOldSk00lFindDialog -boolean true

Control-left-arrow or Control-right-arrow to scroll horizontally (pre-8.5 behavior )
$ defaults write com.barebones.bbedit Editor_ControlArrowCamelCase -bool NO
$ defaults write com.barebones.bbedit Editor_ControlArrowHScroll -bool YES

Control-left-arrow or Control-right-arrow to jump to the next (or previous) transition from lower-case to upper-case characters (or a word boundary, whichever comes first). This is the default:

$ defaults write com.barebones.bbedit Editor_ControlArrowCamelCase -bool YES
$ defaults write com.barebones.bbedit Editor_ControlArrowHScroll -bool NO

more BBEdit prefs.

Dashboard launcher

Drag widgets out of dashboard (devmode)
$ defaults write devmode -boolean YES/NO


Reuse dictionary definition window:
$ defaults write ProhibitNewWindowForRequest -boolean YES/NO


Show hidden Partitions:
$ defaults write DUShowEveryPartition -boolean YES/NO


Show indicator lights for open applications in the dock:
$ defaults write show-process-indicators -bool true
$ killall Dock

Disable Bouncing dock icons:
$ defaults write no-bouncing -bool True
$ killall Dock
To re-enable, set this back to False

Minimize windows into their application’s icon
$ defaults write minimize-to-application -bool true

Make the Dock Icon of any 'Hidden' Applications Dim/Translucent:
$ defaults write showhidden -bool YES
$ killall Dock

Disable multi-display swoosh animations
$ defaults write workspaces-swoosh-animation-off -bool YES && killall Dock
Re-enable with
$ defaults delete workspaces-swoosh-animation-off && killall Dock

Remove the animation when hiding or showing the dock
$ defaults write autohide-time-modifier -float 0

Enable iTunes pop-up notifications:
$ defaults write itunes-notifications -boolean dock

Minimize Dock effect Genie (default)
$ defaults write mineffect -string "genie" && killall Dock

Minimize Dock effect Scale:
$ defaults write mineffect -string "scale" && killall Dock

Minimize Dock effect Suck:
$ defaults write mineffect -string "suck" && killall Dock

Turn the Dock icons translucent for applications that are open but hidden:
$ defaults write Dock showhidden -bool YES;
$ killall Dock
(replace 'YES' with 'NO' to disable this feature)

Add a 'Recent Applications' stack to the Dock.
$ defaults write persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }'
$ killall Dock
To remove - just drag out of the dock again

Stacks, Activate Mouse Over Gradient:
$ defaults write mouse-over-hilte-stack -boolean YES
$ killall Dock
To deactivate set back to NO

Delete the icon cache to force a rebuild:
$ rm /var/folders/*/*/*/; killall Dock


Show hidden files:
$ defaults write AppleShowAllFiles TRUE
$ killall Finder

Hide hidden files (default)
$ defaults write AppleShowAllFiles FALSE
$ killall Finder

Show all filename extensions
$ defaults write NSGlobalDomain AppleShowAllExtensions -bool true

Disable the macOS Crash reporter (quit dialog after an application crash)
$ defaults write DialogType none
To enable the crash reporter (default) change none to prompt

Disable dashboard widgets (saves RAM)
$ defaults write mcx-disabled -boolean YES
To Enable dashboard widgets (default) set this to NO

Disable the New Window Animation:
$ defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool NO
To enable the animation (default) set this to YES

# Show the Status Bar, this can also be toggled on the View menu:
$ defaults write ShowStatusBar -bool true
# Hide the Status Bar (Default)
$ defaults write ShowStatusBar -bool false

Start the status bar Path at $HOME (instead of Hard drive)
$ defaults write /Library/Preferences/ PathBarRootAtHome -bool TRUE/FALSE

Enable Remote Disc (1)
$ defaults write EnableODiskBrowsing -boolean true

Enable Remote Disc (2)
$ defaults write ODSSupported -boolean true

Enable movie preview thumbnails:
$ defaults write QLDisableQTThumbnails -boolean NO

Playable icon previews (Movie/PDF files) Minimum size in pixels, default is 64:
Setting this to a large value will effectively disable the preview.
$ defaults write QLInlinePreviewMinimumSupportedSize -integer

Auto stop previews when scrolling:
$ defaults write AutoStopWhenScrollingOffBounds -boolean TRUE

Auto stop previews when selection changes:
$ defaults write AutoStopWhenSelectionChanges -boolean TRUE

Show X-ray for folders with custom icons:
$ defaults write -boolean NO

Show X-ray folders in QuickLook:
$ defaults write QLEnableXRayFolders -boolean TRUE; killall Finder

Enable slow motion with shift key on QuickLook:
$ defaults write QLEnableSlowMotion -boolean TRUE

$ Hide QuickLook on deactivation or application switch:
$ defaults write QLHidePanelOnDeactivate -boolean TRUE

When performing a search, search the current folder by default (the default 'This Mac' is "SCev")
$ defaults write FXDefaultSearchScope -string "SCcf"

Show version column in search results:
$ defaults write SearchViewSettings.ListViewSettings.columns.version.visible -boolean TRUE

Show label column in search results:
$ defaults write SearchViewSettings.ListViewSettings.columns.label.visible -boolean TRUE

Show comments column in search results:
$ defaults write SearchViewSettings.ListViewSettings.columns.comments.visible -boolean TRUE

Show size column in search results:
$ defaults write SearchViewSettings.ListViewSettings.columns.size.visible -boolean TRUE

Set the sidebar icon size to small, medium or Large:
$ defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 1
$ defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2
$ defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 1

Disable the warning when changing a file extension
$ defaults write FXEnableExtensionChangeWarning -bool false

Use white text for desktop icons:
$ defaults write Desktop.HasDarkBackground -boolean TRUE

Show stripes in list view:
$ defaults write FXListViewStripes -boolean TRUE; killall Finder

Allow quitting Finder like any other app, quitting Finder will also hide all desktop icons.
This is only really useful when using a 3rd party file manager:
$ defaults write QuitMenuItem -bool YES; killall Finder

Front Row launcher

Set the preferred display to use:
$ defaults write FrontRowUsePreferredDisplayID -integer


Log HTTP Activity:
$ defaults write LogHTTPActivity -boolean TRUE

iTunes 10

Make the arrows next to artist & album jump to local iTunes library folders instead of Store:
$ defaults write show-store-link-arrows -bool YES
$ defaults write invertStoreLinks -bool YES
To restore the default change the YES to NO

Restore the standard close/minimise buttons:
$ defaults write full-window -1

Hide the iTunes Genre list:
$ defaults write show-genre-when-browsing -bool FALSE


Close Apple Mail before making any changes.

Set a minimum font size of 14px (affects reading and sending email):
$ defaults write MinimumHTMLFontSize 14

Force all Mail messages to display as plain text:
$ defaults write PreferPlainText -bool TRUE
For rich text (the default) set it to FALSE

Disable tracking of Previous Recipients:
$ defaults write SuppressAddressHistory -boolean TRUE

Send Windows friendly attachments:
$ defaults write SendWindowsFriendlyAttachments -boolean TRUE


Enable momentum scrolling for Magic Mouse:
$ defaults write MouseMomentumScroll -boolean TRUE


Allow scroll wheel zooming:
$ defaults write com.omnigroup.OmniGraffle DisableScrollWheelZooming -boolean NO

Allow scroll wheel zooming in OmniGrafflePro:
$ defaults write com.omnigroup.OmniGrafflePro DisableScrollWheelZooming -boolean NO


Scale images by default when printing:
$ defaults write write PVImagePrintingScaleMode -boolean TRUE

Preview Auto-rotate by default when printing:
$ defaults write write PVImagePrintingAutoRotate -boolean TRUE

Quit Always Keeps Windows:
$ defaults write NSQuitAlwaysKeepsWindows -boolean TRUE

Quick Time Player

Automatically show Closed Captions (CC) when opening a Movie:
$ defaults -currentHost write MGEnableCCAndSubtitlesOnOpen -bool TRUE


Enable encoding detector:
$ defaults write WebKitUsesEncodingDetector -boolean TRUE

Tooltip Font Size:
$ defaults write NSToolTipsFontSize -float

Enable debug menu:
$ defaults write IncludeInternalDebugMenu -boolean TRUE


Debug (To Show Bonjour)
$ defaults write debug -boolean

Do Not Send Special Keys to Remote Machine
$ defaults write DoNotSendSystemKeys -boolean TRUE

Skip local address check:
$ defaults write skipLocalAddressCheck -boolean TRUE

Screen sharing image quality for Apple's built-in VNC server:
1 = black and white  2 = grayscale  3 = 8-bit color  4 = 16-bit color  5 = full color
$ defaults write controlObserveQuality -integer 5

Screen Capture

Remove the drop shadows from saved screenshots (Mojave and higher):
defaults write disable-shadow -bool TRUE && killall SystemUIServer

Restore the default drop shadows:
defaults write disable-shadow -bool FALSE && killall SystemUIServer

Set the screenshot location to the Desktop (default):
defaults write "location" -string "~/Desktop" && killall SystemUIServer

Set the screenshot location to ~/Pictures
defaults write "location" -string "~/Pictures" && killall SystemUIServer

Read the current screenshot location:
defaults read "location"

Restore the default screenshot location:
defaults delete "location" && killall SystemUIServer

Software update

While applying any changes to SoftwareUpdate defaults, set software update to OFF to avoid any conflict with the defaults system cache. (Also close the System Preferences app)

sudo softwareupdate --schedule OFF
<apply changes>
sudo softwareupdate --schedule ON

Automatically check for updates (required for any downloads):
$ sudo defaults write /Library/Preferences/ AutomaticCheckEnabled -bool YES

Download updates automatically in the background
$ sudo defaults write /Library/Preferences/ AutomaticDownload -bool YES

Install app updates automatically:
$ sudo defaults write /Library/Preferences/ AutoUpdate -bool YES

Don't Install macos updates automatically
$ sudo defaults write /Library/Preferences/ AutoUpdateRestartRequired -bool false

Install system data file updates automatically:
$ sudo defaults write /Library/Preferences/ ConfigDataInstall -bool YES

Install critical security updates automatically:
$ sudo defaults write /Library/Preferences/ CriticalUpdateInstall -bool YES


When switching applications, switch to respective space
$ defaults write -g AppleSpacesSwitchOnActivate -bool true


Disable Multicast:
$ defaults write /Library/Preferences/ ARD_MulticastAllowed -boolean

Remote Desktop

Set the maximum number of computers that can be observed:
$ defaults write multiObserveMaxPerScreen -integer 9
(up to 50 opposed to the default of 9)


Terminal windows take focus with mouse over window:
$ defaults write FocusFollowsMouse -string YES

Terminal windows take focus with click (default)
$ defaults write FocusFollowsMouse -string NO


Auto backup:
$ defaults write AutoBackup =1

Backup frequency default= 3600 seconds (every hour) 1800 = 1/2 hour, 7200=2 hours
$ sudo defaults write /System/Library/Launch Daemons/ StartInterval -int 1800

Related macOS commands

defaults - set preferences, for both macOS and individual applications.
More macOS and App defaults from
sudo - Execute a command as another user.
macOS How To

Copyright © 1999-2024
Some rights reserved