Docs

Why did Code Mode type the wrong symbol?

Almost always the word was misheard before Code Mode saw it; dictating one line at a time fixes most of it, and a few mishearings have known workarounds.

Updated 2026-09-23Explainer

Almost every time, the speech engine misheard the word before Dictate Safe ever saw it. If the word arrives as something else, there is no symbol to produce, and you get text instead. The fixes below are in the order most likely to help.

#First: say one line at a time

This fixes more than everything else combined. Press your key, say a single line, release. Repeat for the next one.

Speech recognition reads a whole recording as one continuous piece of language, and a long unbroken run of symbol names is unlike ordinary speech. The further into one it gets, the more it drifts. Seven lines read in one breath come out worse than the same seven lines read one at a time.

You should now see

Try one short line, such as const total equals price star quantity semicolon. If that comes out right and a long paragraph does not, this is your answer.

#Say it a different way

Several symbols answer to more than one name, and some names travel better than others depending on your voice and your microphone. If one keeps coming out wrong, reach for its alternative.

If this keeps missingSay this instead
"dot"period
"quote"double quote
"equals equals equals"triple equals
"equals equals"double equals
"bang"exclamation mark
"hash"pound

Leaving a short gap between symbol names helps too. Two names run together are heard as one word, and one word is not a symbol.

#The symbol name came out as words

If you see open paren sitting in your text as two words, the name was heard as something the table does not list. Check the exact wording against the symbol reference, since several symbols have more than one accepted name and one of them may survive your accent better than another.

If it happens on the same symbol every time, add the spoken name to your vocabulary list. That list is fed to the speech engine as a hint, and it is the same mechanism Code Mode already uses to make symbol names recognisable at all.

#A number came out as a word

Numbers become digits where a digit belongs, meaning next to brackets, operators and the rest of your punctuation. A number standing between two ordinary words stays a word, since that is usually a comment rather than a value.

If you wanted a digit and got a word, give it something to sit against. "Count equals zero semicolon" gives count = 0;. Numbers inside quotes and after a comment marker are left as you said them.

#Nothing was converted at all

Check that Code Mode is on, in Settings → Code Mode or the menu bar. If you dictated into a different application after turning it on, the setting is still on: it applies everywhere, not per app. If nothing is typed anywhere at all, that is a different problem, covered in why is nothing typed when I dictate.

#The spacing is slightly off

if(x) instead of if (x), or a missing space around an operator, is the kind of thing your formatter settles on save. The characters are what matter here, and they are right.

Limits

Speech recognition responds to voices, accents and microphones differently, so the names that work best will not be identical for everyone. Where a symbol has more than one name, the spare is there for exactly that reason.

Dictate Safe types the symbol you named. Where a word did not arrive as one of the names it knows, it leaves your words alone rather than guessing at which symbol you might have meant.