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.

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

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

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

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

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

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

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

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

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

Show Contact Reflection:
$ defaults write reflection -boolean


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

Dashboard launcher

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


Reuse dictionary definition window:
$ defaults write ProhibitNewWindowForRequest -boolean


Show hidden Partitions:
$ defaults write DUShowEveryPartition -boolean


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 -boolean-neg

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 effect
$ defaults write mineffect -string

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


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

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

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

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

Minimum size for playable previews:
$ defaults write QLInlinePreviewMinimumSupportedSize -integer

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

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

CoverFlow background color:
$ defaults write IKImageFlowBackgroundColor -boolean

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

Show X-ray folders in QuickLook:
$ defaults write QLEnableXRayFolders -boolean

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

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

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

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

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

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

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

Show stripes in list views:
$ defaults write FXListViewStripes -boolean

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

Front Row launcher

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


Log HTTP Activity:
$ defaults write LogHTTPActivity -boolean

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

Send Windows friendly attachments:
$ defaults write SendWindowsFriendlyAttachments -boolean


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


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

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


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

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

Quit Always Keeps Windows:
$ defaults write NSQuitAlwaysKeepsWindows -boolean

Quick Time Player

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


Enable encoding detector:
$ defaults write WebKitUsesEncodingDetector -boolean

Tooltip Font Size:
$ defaults write NSToolTipsFontSize -float

Enable debug menu:
$ defaults write IncludeDebugMenu -boolean


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

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

Skip local address check:
$ defaults write skipLocalAddressCheck -boolean

Screen sharing image quality
$ defaults write controlObserveQuality -integer

Number of recent hosts on ScreenSharingMenulet:
$ defaults write com.klieme.ScreenSharingMenulet maxHosts -integer

Display IP-Addresses of the local hosts on ScreenSharingMenulet:
$ defaults write com.klieme.ScreenSharingMenulet showIPAddresses -boolean

Screen Capture

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

To restore the default:
defaults write disable-shadow -bool FALSE && 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


Camel Case Navigation:
$ defaults write com.barebones.textwrangler Editor:ControlArrowCamelCase -bool


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

X11 (2.4.0)

Auto-quit on close last window (XQuartz)
$ defaults write org.macosforge.xquartz.X11 wm_auto_quit -boolean

Focus follows mouse (10.5.5 and up) (XQuartz)
$ defaults write org.macosforge.xquartz.X11 wm_ffm -boolean

Related macOS commands:

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

Copyright © 1999-2021
Some rights reserved