[FEATURE] Desktop: allow multiple simultaneous spellchecker languages

Status Open
Reported on v2.1.237
Maintainer reply None cached
Activity 8 comments · opened Aug 21, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

The desktop app's spellchecker is locked to a single dictionary, en-US. For anyone who writes to Claude in more than one language, the prompt input becomes a wall of red underlines — every word of Norwegian, German, French or Czech is flagged as a misspelling.

The current choice is binary, and both options are bad:

  • Spellcheck on — my English is checked, which I want, but every Norwegian word is underlined.
  • Spellcheck off — the red noise stops, but I lose the English checking I actually want. (Not currently possible in-app anyway: #58693.)

In a browser this is a solved problem. Chrome and Edge let you enable several dictionaries at once and check against all of them. The desktop app takes that away.

%APPDATA%\Claude\Preferences on Windows shows the single hardcoded entry:

{"spellcheck":{"dictionaries":["en-US"],"dictionary":""}}

It is not derived from the OS language list. Windows already reports both languages as available with spellchecking enabled:

PS> Get-WinUserLanguageList | ForEach-Object { "$($_.LanguageTag) spellcheck=$($_.Spellchecking)" }
en-US spellcheck=True
nb spellcheck=True

The app uses en-US only, and there is no language switcher in the input's right-click menu. The information needed to do the right thing automatically is already on the machine.

This has been reported five times, from at least four languages, and the underlying ask — several languages at the same time — has never been addressed:

  • #60012 — spell check only checks the primary Windows language (German ignored) — closed as not planned
  • #72247 — expose a spellchecker language setting, stuck on en-US — closed as invalid
  • #68621 — add spell-check language configuration / disable option — closed as not planned
  • #66464 — uses en-US despite the system language being en-GB — closed as not planned
  • #58693 — spell checking cannot be turned off — still open

Proposed Solution

A spellcheck language setting that accepts more than one language:

  • Settings → a multi-select list of available dictionaries, with the OS preferred languages pre-ticked on first run
  • and/or a spellcheckLanguages key in settings, e.g. ["en-US", "nb"]
  • and an explicit "off" option, which would also close out #58693

This should be inexpensive. Electron's Chromium spellchecker already supports multiple simultaneous dictionaries — it is one call:

session.defaultSession.setSpellCheckerLanguages(['en-US', 'nb'])

  • setSpellCheckerLanguages takes an array. A word is only flagged if every active dictionary rejects it. Hunspell dictionaries download on demand.
  • Valid codes come from Chromium's kSupportedSpellCheckerLanguages in components/spellcheck/common/spellcheck_common.cc. Norwegian Bokmål is already in that list as {"nb", "nb-NO"}, so no new dictionary work is needed.
  • session.availableSpellCheckerLanguages can populate the settings UI directly, so the list does not have to be maintained by hand.
  • macOS caveat: setSpellCheckerLanguages is a no-op there — macOS uses the native checker, which auto-detects language and is configured in System Settings. So this is a Windows/Linux change, and on macOS the setting should be hidden or marked as OS-managed.

Alternative Solutions

Manual workaround (verified 2026-09-22 on 2.2553.1): with the app fully closed, set spellcheck.dictionaries in %APPDATA%\Claude\Preferences to ["en-US","nb"]. Both languages are then checked. My earlier note that the app rewrote the key was a timing artefact — I edited while the app was running and Chromium flushed its in-memory preferences over the edit. Details: #58693 (comment 5751814413). It still needs a setting; nobody will find a hand-edit of an unformatted JSON file.

Discord, which uses the same Electron spellchecker, behaves the same way: the edit survives a force-quit, then the app resets the key to ["en-US"] on next launch and never downloads the second dictionary. The pattern is "app overrides Chromium's stored preference", which is why this has to be a real setting rather than a config-file tweak.

Adding the language in Windows Settings → Time & language → Language does not help either. The app ignores the OS preferred-language list even though it is already populated correctly (see the Get-WinUserLanguageList output above) — same as reported in #60012.

Priority

Medium - Would be very helpful

Feature Category

Configuration and settings

Use Case Example

I am Norwegian and work in English. In a single session I write English prompts to Claude and Norwegian notes, commit text and messages. Today every Norwegian sentence I type comes back solid red, so I either put up with the noise or give up spellchecking altogether. With two dictionaries enabled, both languages are checked and only genuine typos are underlined — exactly what the browser version already does.

Additional Context

Environment:

  • Claude Code desktop app 1.34493.1.0 (MSIX), CLI 2.1.237
  • Windows 11 Pro 10.0.26200
  • Windows display language English; Norwegian Bokmål installed as a preferred language with spell check enabled

View original on GitHub ↗

3 Comments

Ualabi · 1 month ago

Confirming this also affects Spanish (es / es-MX). Same symptoms as described above on Windows 11:

  • The desktop app's spellchecker is hardcoded to en-US and underlines every Spanish word.
  • Disabling "Highlight misspelled words" in Windows Settings → Time & language → Typing has no effect.
  • Changing the app's own interface language (Settings → Language → Español) has no effect on the spellchecker either — those are apparently two separate settings.
  • Right-clicking a flagged word only offers English suggestions and "Add to dictionary," no language picker.
malinfossum · 1 month ago

Thanks for confirming - that's a useful second data point, and it means this isn't Norwegian-specific: the desktop app ignores the OS language list entirely, whatever the locale.

Two things in your notes I hadn't captured, so noting them here for triage:

  • The Windows setting (Settings → Time & language → Typing → "Highlight misspelled words") has no effect on the app.
  • The app's own interface language (Settings → Language) is a separate setting from the spellchecker, so switching it does not change which dictionary is used.

That last one matches what I'd expect from the Electron side: the interface language and session.setSpellCheckerLanguages() are independent, and nothing appears to be calling the latter. The fix I proposed still covers your case — an array of languages rather than a single hardcoded en-US — so ["en-US", "es"] would work the same way as ["en-US", "nb"].

The right-click menu offering only English suggestions is worth calling out too: Chromium populates that menu from the enabled dictionaries, so it should start showing Spanish suggestions for free once more than one language is enabled.

tomasmacik10-dotcom · 26 days ago

I've posted a working workaround for the "spellcheck off" half of this here: https://github.com/anthropics/claude-code/issues/58693#issuecomment-5726500856

Short version: when the Windows Basic typing component is not installed for the language you type in, Chromium falls back to Hunspell and downloads a .bdic into the app profile. Replacing that file with an empty one and denying FILE_DELETE_CHILD on the parent Dictionaries folder makes the spell checker unusable. No admin rights needed. It survived an app restart and an update from 2.110.0.0 to 2.110.1.0.

It does nothing when the component is installed — then the platform spell checker is doing the underlining and there is no dictionary file to lock. So it's a partial answer, not a substitute for the setting you're asking for.

One correction on the en-US hardcoding, based on my machines (Claude Desktop 2.110.x, MSIX, Windows 11 with a Slovak UI): the checker was on sk-SK, not en-US — the app downloaded sk-SK-3-0.bdic and the process command line showed --lang=sk with a preferredSystemLanguages list. That looks like "first system language wins" rather than a hardcoded en-US. Your UI language is English, so both would look identical from your side. Note you're on the Claude Code desktop app 1.34493.1.0 and I'm on Claude Desktop 2.110.x, so this may not be the same build.

Editing spellcheck.dictionaries in Preferences had no effect at all on my version — the key is simply ignored, which matches your observation that the stored preference isn't what drives the checker.

Showing cached comments. Read the full discussion on GitHub ↗