Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
share|improve this question
up vote 13 down vote accepted

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

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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