How to disable Incognito mode in Chrome?
Solution 1:
The short answer: you must edit the preferences file so that the key IncognitoModeAvailability
has a value of 1
.
Original Instructions
In /Library/Preferences/
add a plist entry to the file com.google.Chrome.plist
such that the key is IncognitoModeAvailability
and the value is 1
.
Here is an example: assuming the file com.google.Chrome.plist
doesn't exist, use a text editor to save the following code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IncognitoModeAvailability</key>
<integer>1</integer>
</dict>
</plist>
The full file name and path of the above should be /Library/Preferences/com.google.Chrome.plist
.
Updated Instructions
Since macOS Sierra, proper plist files seem to be in some binary format by default—a format that you can't edit with a normal text editor. I found that I can open them in Apple's Xcode and it has a nice GUI—very easy to edit. If you don't have access to Xcode, I think you can use the plutil terminal command like this:
plutil -convert xml1 YOUR_FILE_NAME_HERE
In xml format, you should be able to edit it in a text editor, and a web site I read says that the xml format should work fine.
Regardless, I recently was able to disable Incognito mode using Xcode on the ~/Library/Preferences/com.google.Chrome.plist
file. (Furthermore, I had to delete /Library/Preferences/com.google.Chrome.plist
because my old version was deemed "corrupted" because it wasn't in a proper file format.)
Solution 2:
Rather than converting the plist and manually editing it, you can set the option in one step. In the Terminal, run:
defaults write com.google.chrome IncognitoModeAvailability -integer 1
Then reboot or run:
killall cfprefsd
to reload the plist cache. It is not enough to quit and relaunch Chrome, or even to logout and login again.
IncognitoModeAvailability can be set to 0, 1, or 2:
- 0 means Incognito is enabled
- 1 means Incognito is disabled
- 2 means Incognito is forced