Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.308 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Interactive mode changedinteractive-mode

Nearest release: v2.1.235, published 6 hours before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+97added
Lines−0removed
From line 380 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits72to this page, all time

## Check spelling as you type ### Prerequisites ### Turn spell checking on or off ### What Claude Code underlines ### When Claude Code underlines nothing

The whole hunk

from line 380, old and new numbered
/
lines
from line 380
380380 
381381To turn the feature off, set [`emojiCompletionEnabled`](/docs/en/settings#available-settings) to `false` in `settings.json`. This disables both the suggestion popup and the inline replacement.
382382 
383## Check spelling as you type
384 
385Claude Code can underline misspelled words in the prompt input while you type. It checks only the text in the input box, never Claude's replies or your files. It also checks nothing while the input box is in [shell mode](#shell-mode-with-prefix), `Ctrl+R` history search, or [voice dictation](/docs/en/voice-dictation).
386 
387Spell checking is off by default, and Claude Code checks nothing in [screen reader mode](/docs/en/accessibility). Requires Claude Code v2.1.235 or later.
388 
389### Prerequisites
390 
391* Install [aspell](https://github.com/GNUAspell/aspell), [hunspell](https://github.com/hunspell/hunspell), or [ispell](https://en.wikipedia.org/wiki/Ispell) and make sure it's on your `PATH`. Claude Code runs the first of the three it finds, in that order, on every platform, including a `.cmd` shim a package manager installs on Windows.
392* To check that the program is on your `PATH`, run `aspell --version`, `hunspell --version`, or `ispell -v` in your terminal. A "command not found" error means it isn't on your `PATH` yet.
393 
394### Turn spell checking on or off
395 
396Claude Code reads the [`spellcheck`](/docs/en/settings#available-settings) setting from three places, and ignores it in a project's `.claude/settings.json` and `.claude/settings.local.json`. Turn it on from whichever one you use:
397 
398<Tabs>
399 <Tab title="User settings">
400 Add `spellcheck` to `~/.claude/settings.json`. It applies in every project you open, like the rest of your [user settings](/docs/en/settings#settings-files):
401 
402 ```json theme={null}
403 {
404 "spellcheck": { "enabled": true }
405 }
406 ```
407 </Tab>
408 
409 <Tab title="Command line">
410 Save `spellcheck` in a JSON file, such as `spellcheck.json`:
411 
412 ```json theme={null}
413 {
414 "spellcheck": { "enabled": true }
415 }
416 ```
417 
418 Then pass the file to `--settings`. It applies to that session only:
419 
420 ```bash theme={null}
421 claude --settings spellcheck.json
422 ```
423 </Tab>
424 
425 <Tab title="Managed settings">
426 Add `spellcheck` to one of your organization's [managed settings sources](/docs/en/permissions#managed-settings). It applies to every user who receives those settings, and they can't turn it off:
427 
428 ```json theme={null}
429 {
430 "spellcheck": { "enabled": true }
431 }
432 ```
433 </Tab>
434</Tabs>
435 
436To check that spell checking is on, type a misspelled word and a space. Claude Code underlines the word. If it doesn't, see [When Claude Code underlines nothing](#when-claude-code-underlines-nothing). To turn spell checking off again, set `enabled` to `false` in the same place, or remove `spellcheck`.
437 
438To choose which of the three programs Claude Code runs, which dictionary it uses, or the underline color, add any of these fields next to `enabled`, in the same place:
439 
440* `checker`: `aspell`, `hunspell`, or `ispell`. Claude Code doesn't fall back from a checker you name, and treats any other value as `auto`.
441* `language`: a dictionary name in your checker's form, such as `en_GB`. Claude Code ignores any value that isn't a plain dictionary name, such as a path or a name with spaces, and the checker uses its default dictionary.
442* `color`: a color name such as `yellow`, or a `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, or `ansi:<name>` value. Claude Code uses your theme's error color by default and for any value it doesn't recognize.
443 
444For example, this `spellcheck` setting runs hunspell with its `en_GB` dictionary and underlines words in yellow. It works the same in `~/.claude/settings.json`, in the file you pass to `--settings`, and in managed settings:
445 
446```json theme={null}
447{
448 "spellcheck": {
449 "enabled": true,
450 "checker": "hunspell",
451 "language": "en_GB",
452 "color": "yellow"
453 }
454}
455```
456 
457If more than one of the three places has a `spellcheck` setting, Claude Code uses only one of them: managed settings first, then `--settings`, then user settings. It doesn't combine fields from two places. For example, when `--settings` sets `spellcheck`, a `language` in your user settings has no effect.
458 
459### What Claude Code underlines
460 
461Shortly after you pause typing, Claude Code underlines the words the dictionary doesn't know. It leaves the word you're still typing alone until you move past it, and it never changes your text. It also skips text that looks like code:
462 
463* Commands such as `/help`, `@` mentions, URLs, file paths, and flags such as `--verbose`
464* Words with digits, underscores, or a capital letter after the first, and text in backticks
465 
466Claude Code also skips Chinese, Japanese, Korean, Thai, Lao, Khmer, and Myanmar text.
467 
468Claude Code has no word list of its own: a word is misspelled when your checker says so. To stop Claude Code from underlining a word, add the word to your checker's personal dictionary, following the checker's own documentation. Claude Code picks up the new word after you restart it.
469 
470### When Claude Code underlines nothing
471 
472Claude Code underlines nothing when it can't keep a checker running:
473 
474* No checker is installed, or the one you named in `checker` is missing
475* The checker fails twice in a row, at startup or later in the session. Claude Code restarts it after the first failure and stops checking after the second, until you restart Claude Code
476* The checker takes more than 15 seconds to answer, three times. Each time, Claude Code leaves the words it was waiting on unmarked; after the third, it stops checking until you restart Claude Code
477 
478To find out which of these happened, start `claude --debug` with spell checking on and type a word. Then look for the `[spellcheck]` lines in the debug log at `~/.claude/debug/<session-id>.txt`. One line names the program Claude Code started, or lists the ones it looked for and didn't find. Later lines say why it stopped. A missing-dictionary error there means the checker has no dictionary for your `language` value, or no default one when `language` is unset. Install one, or set `language` to a dictionary you have.
479 
383480## Side questions with /btw
384481 
385482Use `/btw` to ask a question about your current work without adding to the conversation history.
Feedback