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.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .