Misspelled - Chat Spellchecker
Misspelled is a chat spell-checker addon. Misspelled watches the chat messages you type, highlighting any misspellings and offering suggestions for any misspelled words it finds.

I've included in the US & UK English dictionaries some Warcraft specific proper nouns, including the zone names, and all dungeon and raid boss names. Your friends and guild members are also automatically added, and shouldn't get flagged as misspelled words..Misspelled utilizes the HunSpell style, affix (prefix/suffix) compressed dictionaries. The same ones used in Chrome, Firefox, and OpenOffice. Misspelled provides suggestions based on words that phonetically sound like the misspelled word, along with providing suggestions based on common mistakes of spelling. While Misspelled can detect nearly the same number of individually correctly spelled words as OpenOffice, it's suggestion engine, is "somewhat" less complicated, than the HunSpell implementation.
Misspelled includes dictionaries for US-English, UK-English, French, German, Italian, Russian (experimental), and Spanish. The appropriate dictionary, for your game client locale, will auto-load, or you can manually choose what dictionary to use from Misspelled's Interface/Addons options page.
I'm attempting to localize the menus and configuration page. You can help by visiting: http://www.wowace.com/addons/misspelled/localization
Misspelled works with WIM (Wow Instant Messenger), and is compatible with: Prat, Skinner, and Chatter.
Usage note: Spell Checking is performed as you complete each word you've typed. The last word in the chat box, isn't spell checked until you type some form of word terminator, either a period, space, or some other word separating punctuation. Spell checking is very fast; but isn't performed needlessly, while a word is being typed.
Misspelled is compatible with Wow, Wow Classic/Wrath/Cata If you are having problems with Misspelled, please try updating or disabling all other chat addons you may be running.
Official Distribution Points
Curse: https://www.curseforge.com/wow/addons/misspelled
WowInterface: http://www.wowinterface.com/downloads/info13493-Misspelled.html
Donations accepted to: https://www.paypal.com
-Nate
-
View User Profile
-
Send Message
Posted Mar 19, 2026@nrpieper
Any plans to fix TBC anniversary?
-
View User Profile
-
Send Message
Posted Mar 13, 2026I believe I have a way forward to modify Misspelled to work with the v12 Midnight patch. Hold tight, I'm starting to work on the updates.
With the addition of: ChatFrameEditBoxMixin:OnPreSendText(), I should be able to refactor the hook used to SendChatMessage() hook currently needed, that's causing the problem in combat.
function ChatFrameEditBoxMixin:OnPreSendText()
-- Notification for user addons to perform any final edits to chat text
-- contents before sending.
EventRegistry:TriggerEvent("ChatFrame.OnEditBoxPreSendText", self);
end
-
View User Profile
-
Send Message
Posted Mar 13, 2026In reply to nrpieper: thank you for trying, I know it's a pain what Blizzard did to addons for no reason.
-
View User Profile
-
Send Message
Posted Mar 14, 2026In reply to nrpieper: any plans to update TBC anniversary? It is completely broken and non functional
-
View User Profile
-
Send Message
Posted Mar 11, 2026With Midnight the method to send a chat message is not protected from being called by addons when in combat. I'm watching other chat addons for potential workarounds. But for the time being Misspelled is kinda dead in the water.
-
View User Profile
-
Send Message
Posted Mar 9, 2026Hey what's going on with your addon man it literally just doesn't let me type a message at all in chat. I personally am trying to use Classic era
-
View User Profile
-
Send Message
Posted Feb 17, 2026Issue with retail at the moment. While addon is enabled every time I hit enter it make the game freeze for 20 seconds.
-
View User Profile
-
Send Message
Posted Feb 15, 2026Not working for TBC Anniversary
-
View User Profile
-
Send Message
Posted Feb 14, 2026Unable to type in M+ Keystone while Misspelled is enabled. I get the error message "Misspelled has been blocked from an action only available to the Blizzard UI. You can disable this addon and reload the UI." When disabled I'm able to type fine in the key.
-
View User Profile
-
Send Message
Posted Jan 26, 2026Cannot send messages in MoP Classic after recent update. Type out a message and hit enter and nothing happens. The unsent message just sits there. Disabling the addon resolves the issue.
Error 1:
32x Misspelled/Misspelled.lua:338: attempt to call field 'SendChatMessage' (a nil value)
[Misspelled/Misspelled.lua]:338: in function <Misspelled/Misspelled.lua:319>
[tail call]: ?
[Blizzard_DeprecatedChatInfo/Deprecated_ChatInfo.lua]:9: in function <.../Blizzard_DeprecatedChatInfo/Deprecated_ChatInfo.lua:8>
[C]: in function 'SendChatMessage'
[NovaRaidCompanion/Modules/Encounters.lua]:435: in function <...faceNovaRaidCompanion/Modules/Encounters.lua:400>
[NovaRaidCompanion/Modules/Encounters.lua]:813: in function <...faceNovaRaidCompanion/Modules/Encounters.lua:811>
Locals:
message = "Jeeves placed on the ground."
chatType = "SAY"
languageID = nil
target = nil
cleanedMessage = "Jeeves placed on the ground."
gameType = "Unknown"
(*temporary) = nil
(*temporary) = "Jeeves placed on the ground."
(*temporary) = "SAY"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to call field 'SendChatMessage' (a nil value)"
Misspelled = <table> {
modules = <table> {
}
baseName = "Misspelled"
defaultModuleState = true
hooks = <table> {
}
enabledState = true
Version = "1.20.0"
defaultModuleLibraries = <table> {
}
name = "Misspelled"
orderedModules = <table> {
}
}
Error 2:
20x Misspelled/Misspelled.lua:314: attempt to call field 'ChatEdit_ActivateChat' (a nil value)
[Misspelled/Misspelled.lua]:314: in function <Misspelled/Misspelled.lua:306>
[tail call]: ?
[C]: in function 'ChatEdit_ActivateChat'
[Blizzard_ChatFrameBase/Classic/ChatFrame.lua]:2014: in function 'ChatEdit_OnEditFocusGained'
[*ChatFrame.xml:111_OnEditFocusGained]:1: in function <[string "*ChatFrame.xml:111_OnEditFocusGained"]:1>
[C]: in function 'SetFocus'
[Blizzard_ChatFrameBase/Classic/ChatFrame.lua]:2039: in function <Blizzard_ChatFrameBase/Classic/ChatFrame.lua:2022>
[C]: in function 'ChatEdit_ActivateChat'
[Blizzard_ChatFrameBase/Classic/ChatFrame.lua]:1626: in function 'ChatFrame_OpenChat'
[OPENCHAT]:1: in function <[string "OPENCHAT"]:1>
Locals:
self = <table> {
modules = <table> {
}
baseName = "Misspelled"
defaultModuleState = true
hooks = <table> {
}
enabledState = true
Version = "1.20.0"
defaultModuleLibraries = <table> {
}
name = "Misspelled"
orderedModules = <table> {
}
}
editBox = ChatFrame1EditBox {
tabCompleteTableIndex = 1
at3matches = <table> {
}
pratFrame = Frame {
}
chatFrame = ChatFrame1 {
}
addSpaceToAutoComplete = true
lDrag = Frame {
}
rDrag = Frame {
}
headerSuffix = ChatFrame1EditBoxHeaderSuffix {
}
history_index = 0
history_lines = <table> {
}
header = ChatFrame1EditBoxHeader {
}
addHighlightedText = true
prompt = ChatFrame1EditBoxPrompt {
}
at3curMatch = 0
hookedByAceTab3 = true
}
hooked = true
(*temporary) = nil
(*temporary) = ChatFrame1EditBox {
tabCompleteTableIndex = 1
at3matches = <table> {
}
pratFrame = Frame {
}
chatFrame = ChatFrame1 {
}
addSpaceToAutoComplete = true
lDrag = Frame {
}
rDrag = Frame {
}
headerSuffix = ChatFrame1EditBoxHeaderSuffix {
}
history_index = 0
history_lines = <table> {
}
header = ChatFrame1EditBoxHeader {
}
addHighlightedText = true
prompt = ChatFrame1EditBoxPrompt {
}
at3curMatch = 0
hookedByAceTab3 = true
}
(*temporary) = "attempt to call field 'ChatEdit_ActivateChat' (a nil value)"
Misspelled = <table> {
modules = <table> {
}
baseName = "Misspelled"
defaultModuleState = true
hooks = <table> {
}
enabledState = true
Version = "1.20.0"
defaultModuleLibraries = <table> {
}
name = "Misspelled"
orderedModules = <table> {
}
}
-
View User Profile
-
Send Message
Posted Jan 26, 2026In reply to Kraqi: I have the same issue in MoP classic. My temporary fix was to reinstall version 1.12.1-cata.
-
View User Profile
-
Send Message
Posted Jan 23, 2026Thanks to user "builder680", how to get Misspelled to work in 12.0:
1. Go to your addons folder and find the folder for this addon
C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns\Misspelled
2. Open Misspelled.toc with Windows Editor, notepad++ or similar
3. Change the top line to read:
## Interface: 120000
4. Save the file
Now it will work.
-
View User Profile
-
Send Message
Posted Jan 25, 2026In reply to UserNo_001084662: Thanks. Update released.
-
View User Profile
-
Send Message
Posted Jan 22, 2026Hello, I'm just curious if there was any info in this addon will be supported for midnight?
-
View User Profile
-
Send Message
Posted Jan 25, 2026In reply to Reesecupthis: Update just released.
-
View User Profile
-
Send Message
Posted Jan 22, 2026Not currently working as of midnight prepatch
-
View User Profile
-
Send Message
Posted Jan 25, 2026In reply to Leyhunter: Yup, things appear to be working. I've pushed a TOC version update.
-
View User Profile
-
Send Message
Posted Jan 11, 2026is there a working version for Classic MOP?
-
View User Profile
-
Send Message
Posted Jan 25, 2026In reply to b0r0xxar: The addon should work with MOP. I just pushed a TOC version update.
-
View User Profile
-
Send Message
Posted Jan 2, 20264x Misspelled/Misspelled.lua:314: attempt to call field 'ChatEdit_ActivateChat' (a nil value)
[Misspelled/Misspelled.lua]:314: in function <Misspelled/Misspelled.lua:306>
[tail call]: ?
[C]: in function 'ChatEdit_ActivateChat'
[Blizzard_ChatFrameBase/Classic/ChatFrame.lua]:2014: in function 'ChatEdit_OnEditFocusGained'
[*ChatFrame.xml:111_OnEditFocusGained]:1: in function <[string "*ChatFrame.xml:111_OnEditFocusGained"]:1>
[C]: in function 'SetFocus'
[Blizzard_ChatFrameBase/Classic/ChatFrame.lua]:2039: in function <Blizzard_ChatFrameBase/Classic/ChatFrame.lua:2022>
[C]: in function 'ChatEdit_ActivateChat'
[Blizzard_ChatFrameBase/Classic/ChatFrame.lua]:1626: in function <Blizzard_ChatFrameBase/Classic/ChatFrame.lua:1615>
[C]: in function 'ChatFrame_OpenChat'
[OPENCHAT]:1: in function <[string "OPENCHAT"]:1>
Locals:
self = <table> {
modules = <table> {
}
baseName = "Misspelled"
defaultModuleState = true
hooks = <table> {
}
enabledState = true
Version = "1.12.7"
defaultModuleLibraries = <table> {
}
name = "Misspelled"
orderedModules = <table> {
}
}
editBox = ChatFrame1EditBox {
tabCompleteTableIndex = 1
at3matches = <table> {
}
pratFrame = Frame {
}
chatFrame = ChatFrame1 {
}
addSpaceToAutoComplete = true
lDrag = Frame {
}
rDrag = Frame {
}
headerSuffix = ChatFrame1EditBoxHeaderSuffix {
}
history_index = 0
history_lines = <table> {
}
header = ChatFrame1EditBoxHeader {
}
addHighlightedText = true
prompt = ChatFrame1EditBoxPrompt {
}
at3curMatch = 0
hookedByAceTab3 = true
}
hooked = true
(*temporary) = nil
(*temporary) = ChatFrame1EditBox {
tabCompleteTableIndex = 1
at3matches = <table> {
}
pratFrame = Frame {
}
chatFrame = ChatFrame1 {
}
addSpaceToAutoComplete = true
lDrag = Frame {
}
rDrag = Frame {
}
headerSuffix = ChatFrame1EditBoxHeaderSuffix {
}
history_index = 0
history_lines = <table> {
}
header = ChatFrame1EditBoxHeader {
}
addHighlightedText = true
prompt = ChatFrame1EditBoxPrompt {
}
at3curMatch = 0
hookedByAceTab3 = true
}
(*temporary) = "attempt to call field 'ChatEdit_ActivateChat' (a nil value)"
Misspelled = <table> {
modules = <table> {
}
baseName = "Misspelled"
defaultModuleState = true
hooks = <table> {
}
enabledState = true
Version = "1.12.7"
defaultModuleLibraries = <table> {
}
name = "Misspelled"
orderedModules = <table> {
}
}