You can find default plist settings in macOS by using the
defaults command-line tool to query system domains or by locating preference files in standard directories like
/Library/Preferences and
~/Library/Preferences. These XML-based configuration files store user preferences for applications and system services, allowing you to inspect or modify them directly via terminal commands or text editors.
Understanding the Location of Plist Files
Preference List (plist) files are the backbone of macOS configuration. They store settings ranging from desktop wallpaper choices to complex application behaviors. Understanding where these files live is crucial for troubleshooting or customizing your Mac without relying on graphical interfaces.
There are three primary locations where you will find plist files:
- User Preferences: Located in
~/Library/Preferences. These files affect only the current user account. Examples include com.apple.finder.plist or app-specific files like com.spotify.client.plist.
- System-wide Preferences: Located in
/Library/Preferences. These settings apply to all users on the machine. You typically need administrator privileges to view or edit these.
- Core System Configuration: Located in
/System/Library/Preferences. These files control fundamental macOS behaviors. Modifying these is generally discouraged as they may be overwritten during updates or cause system instability.
When you change a setting in System Settings or an application’s preferences window, macOS automatically writes the corresponding value to the relevant plist file. Conversely, editing the plist file manually achieves the same result, provided the syntax is correct.
Using the Defaults Command
The most efficient way to read default plist settings is through the Terminal using the
defaults command. This utility interacts with the domain and key structure of plist files without requiring you to open raw XML data.
To read a specific setting, use the
read verb followed by the domain and the key name. The domain is usually the reverse-DNS style identifier (e.g.,
com.apple.Spotlight).
defaults read com.apple.Spotlight lastUsedDate
This command outputs the current value of the
lastUsedDate key within the Spotlight preferences. If the key does not exist, the command returns an error indicating that the default has not been set.
To see all settings for a specific application, you can omit the key name:
defaults read com.apple.Spotlight
This dumps the entire preference domain into the terminal. While useful for debugging, this output can be verbose. For cleaner results, pipe the output to
less or
grep to filter specific information.
If you want to reset a setting to its factory default, use the
delete verb:
defaults delete com.apple.Spotlight lastUsedDate
After deleting the key, the system reverts to the hardcoded default value for that parameter. Note that some changes require restarting the associated application or logging out and back in to take effect.
Navigating Library Directories
While the
defaults command is powerful, sometimes you need to examine the actual file structure or modify values that the command cannot easily handle. In these cases, you must access the plist files directly.
Apple hides the
Library folder in the user home directory by default in Finder. To reveal it, hold down the
Option key while clicking the
Go menu in Finder. Then select
Library.
Once inside
~/Library/Preferences, you will see a list of .plist files. Each file corresponds to a different application or system service. You can double-click any file to open it in Xcode (if installed) or TextEdit. However, always back up the file before making manual edits, as incorrect XML formatting can prevent the application from launching correctly.
For system-wide changes, navigate to
/Library/Preferences. You will likely be prompted for your administrator password. Here, you can manage configurations that affect multiple users, such as network proxy settings or login screen options.
Common Use Cases and Troubleshooting
Finding default plist settings is often necessary when troubleshooting hidden features or restoring lost configurations. For instance, if you have
hidden recently used apps on Mac and wish to restore them, you might need to check the Dock preferences plist. Similarly, if you encounter issues with
Minikube on macOS related to virtualization permissions, checking system-level plist entries for kernel extensions can provide insights.
Another common scenario involves resetting corrupted preferences. If an application behaves erratically, deleting its plist file forces it to regenerate a fresh one upon next launch. This effectively resets all customizations to their initial state. Be cautious, as this erases personalized settings like window positions, theme choices, and recent file lists.
You can also use plist inspection to verify if a setting has been applied via scripts or MDM (Mobile Device Management) profiles. By comparing the output of
defaults read against expected values, you can confirm whether policy enforcement is working correctly.
Frequently Asked Questions
How do I edit a plist file safely?
Always create a backup copy of the file before editing. Open the file in a plain text editor like TextEdit or VS Code, ensure the XML structure remains valid, and save it. Incorrect formatting can cause applications to crash or fail to load.
Can I view plist files in Finder?
Yes, but the Library folder containing them is hidden by default. Press Option while clicking the Go menu in Finder to reveal the Library option. Navigate to Preferences to see the plist files for installed applications.
What happens if I delete a system plist file?
Deleting files in /System/Library/Preferences is risky and may break core macOS functions. Deleting files in /Library/Preferences affects all users and may require admin rights. It is safer to use the defaults command to reset specific keys rather than deleting entire files.
Why are my changes not taking effect after editing a plist?
Many applications cache their preferences in memory. After modifying a plist file, you must restart the application completely. For system-wide changes, you may need to log out and log back in, or even restart the computer, for the new settings to propagate.
How do I find the domain name for an application?
The domain name is usually the bundle identifier found in the app’s Info.plist file. You can find this by right-clicking the application in Finder, selecting Show Package Contents, and opening Info.plist. Alternatively, search online for "
bundle identifier".