Is there some way I could disable continuous spell checking or other settings in the substitutions menu by default?

System Preferences only has an option to disable autocorrect.

defaults write -g CheckSpellingWhileTyping -bool false would be overridden by keys on the property lists of applications.

This would only apply to applications that have been used before:


for d in $(defaults domains | tr -d ,); do
    osascript -e "app id \"$d\"" > /dev/null 2>&1
    [ $? == 1 ] && continue
    echo $d
    defaults write $d CheckSpellingWhileTyping -bool false
    defaults write $d SmartDashes -bool false
    defaults write $d SmartLinks -bool false
    defaults write $d SmartQuotes -bool false
    defaults write $d SmartCopyPaste -bool false
    defaults write $d TextReplacement -bool false

1 Answer 1


I found a new hidden preference that disables continuous spell checking in most text views:

defaults write -g NSAllowContinuousSpellChecking -bool false

It prevents you from checking Edit > Spelling and Grammar > Check Spelling While Typing, but you can still use ⌘: and ⌘; to check spelling manually.

(I searched for potential preference keys with strings /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* 2> /dev/null | grep -i spell | grep -E '^[a-zA-Z0-9_.-]{10,80}$' | sort | uniq > ~/Desktop/strings.txt.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.