I really, really want to disable macOS text replacements while, preferably, retaining iOS ones

I have a particular bugbear.

On iOS, under Settings > General > Keyboard > Text Replacement, I like to have it autocorrect and and capitalize programming languages I use, uncommon names of people I know, profane words (little tip: If you define profane words manually here, iOS will stop trying to put “duck” and “shut” everywhere), etc.

But on macOS, I ducking hate text replacement in any way, shape or form getting in the way of my 100% deliberate keyboard strokes. I’m on macOS Mojave and have not found a way to disable this, short of disabling iCloud (text replacements sync as part of iCloud Drive, I believe).

A few apps allow you to uncheck Edit > Substitutions > Text Replacement. Thankfully this works, and sticks, in Chrome. But many other apps (Obsidian above all) don’t have that option and on many more it only applies to your top active window, and resets the next app launch or next new window.

Anyone have a tip? What do I have to chmod 000? What kext do I need to change? What network traffic do I need to block? To isolate and incinerate this infernal feature?

1 Like

Here is a discussion about that.
It seems that they had a way to do that, maybe this still work?

2 Likes

Yessss, thank you! It was driving me as crazy as Microsoft Clippy.

The following did NOT work for me.

defaults write -g WebAutomaticTextReplacementEnabled -bool false

However, this did work for me.

echo 'delete from ZTEXTREPLACEMENTENTRY;' | sqlite3 ~/Library/KeyboardServices/TextReplacements.db
defaults delete -g NSUserDictionaryReplacementItems

After the above commands I also ran:

chmod 000 ~/Library/KeyboardServices

After a reboot, no text replacements. I even added a few new ones to my iPhone, and rebooted the iPhone, and rebooted the Mac again—no replacements synced to the Mac. And I get an empty result on:

defaults read -g NSUserDictionaryReplacementItems

If you want to try this and first want to make a copy of the files being modified, for backup, they’re:

~/Library/KeyboardServices
~/Library/Preferences/.GlobalPreferences.plist (this is a hidden file)

Hope this sticks. Thank you!

5 Likes

Did this work out in the long run?

Absolutely. I forgot that feature even existed.

2 Likes

Hi, @Gem. I take it this is still working for you?

The original Ask Different thread, shared by @Ulli, mentioned the following: “It’s just a delete, so if you add a setting on the iOS side, you’ll need to delete the synced setting again.” Do you understand what they meant by this? Have you run into it at all?