[FEATURE] Add spell-check language configuration / disable option to Claude Desktop (Windows)

Status Closed — not planned
Maintainer reply None cached
Activity 7 comments · opened Jun 15, 2026 · closed Jun 18, 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

Claude Desktop on Windows uses Electron's built-in Chromium spellchecker,
which defaults to the system/Windows display language instead of the
language the user is actually typing in (or the app's display language).

For users whose Windows display language differs from the language they
write in (e.g. Windows set to German/Portuguese/etc. but typing in
English), this causes every single word to be underlined in red, since
the spellchecker is checking against the wrong dictionary.

This is purely a cosmetic/UX issue but it is highly disruptive and
distracting during normal use, especially in long messages.

I have tried the following workarounds, none of which resolved the issue:

  • Changing Windows display language and "Preferred languages" order
  • Adding English (US/UK) as an installed language with spell-check

components

  • Switching the active keyboard input layout (Win+Space) before typing
  • Toggling Windows "text suggestions" / "autocorrect" settings
  • Checking for an in-app language or spellcheck setting (none exists)
  • Checking claude_desktop_config.json for any relevant key (only

contains mcpServers config, nothing spellcheck-related)

Electron supports configuring spellchecker languages programmatically via
session.setSpellCheckerLanguages(['en-US']), but this must be set by the
app itself — there is currently no user-facing setting, config file key,
or preference that exposes this in Claude Desktop.

Proposed Solution

Add a setting (in Claude Desktop's in-app Settings UI, and/or as a key in
claude_desktop_config.json) that allows users to:

  1. Set the spellchecker dictionary language(s) explicitly (e.g. "en-US",

"pt-BR", etc.), independent of the OS display language, via
session.setSpellCheckerLanguages().

  1. Disable the spellchecker entirely for users who don't want it, e.g.

by setting spellcheck: false in the BrowserWindow's webPreferences.

This would resolve the issue for any user whose Windows display language
doesn't match their typing language, and give users full control over
whether spellcheck runs at all.

Alternative Solutions

_No response_

Priority

Critical - Blocking my work

Feature Category

Other

Use Case Example

Use Case Example:

Scenario: A user has Windows 11 set to a display language other than
English (e.g. Portuguese or German), but regularly writes messages to
Claude in English.

Step-by-step:

  1. User opens Claude Desktop and starts a new conversation.
  2. User types a message in English, e.g. "Can you help me write a

summary of this report?"

  1. Because the Electron spellchecker defaults to the Windows display

language rather than English, every word in the message gets
underlined in red, as if misspelled.

  1. The user tries right-clicking flagged words, but no useful spelling

suggestions appear (or the suggestions are in the wrong language).

  1. The user goes to Windows Settings > Time & Language and adds/reorders

English as a preferred language, installs the English spell-check
component, and even switches the active keyboard layout to English
before typing — none of this changes the behavior inside Claude
Desktop.

  1. The user checks claude_desktop_config.json for a spellcheck-related

key, but the file only supports mcpServers configuration.

  1. With the proposed feature, the user instead opens Claude Desktop's

Settings, finds a "Spell check language" option, sets it to
"English (US)" (or selects "Disable spell check"), and the red
underlines either correctly reflect English spelling or disappear
entirely — without needing to touch any OS-level settings.

This would also help multilingual users who regularly switch between
languages when writing to Claude, by letting them pick the correct
dictionary (or turn off the distraction of spellcheck altogether)
directly within the app.

Additional Context

Related/similar reports:

  • anthropics/claude-code#35706 — Spellcheck cannot be disabled in Windows

Desktop App (Store/WinGet version), defaults to Windows display language

  • anthropics/claude-code#37861 — Spell check underlines show but

right-click suggestions don't work (macOS)

OS: Windows 11
App: Claude Desktop

View original on GitHub ↗

7 Comments

github-actions[bot] · 2 months ago

Closing for now — this doesn't appear to be about Claude Code. Please open a new issue if this is still relevant.

zawupf · 2 months ago

So sad to see, that it is not even considered. Guess i have to get used to seeing red squiggles everywhere forever. 🙈

Yainos · 1 month ago

+1, same issue with German (Windows display language = German)
Confirming this affects other languages too, not just Portuguese. My Windows 11 display language is set to German, and I regularly write in German to Claude (and occasionally mix in English for technical/product terms). Every German word gets underlined in red, since the Electron spellchecker only seems to load an English dictionary regardless of the OS display language setting.
Tried the same workarounds already listed here (adjusting Windows preferred languages order, installing the German language pack, switching keyboard layout) — none of it changes the behavior inside the Claude app.
Would really appreciate either:

A "Spell check language" setting in Claude Desktop settings, or
Multi-language dictionary support that follows the OS locale properly, or
An option to disable spellcheck entirely

For comparison: this works correctly in Word and the new Outlook (both let you add multiple proofing languages), so the underlying capability clearly exists on Windows — it's just not exposed in the Claude Desktop app.

wacher74 · 1 month ago

Here is the solution for international users (provided by Claude ai, tested)

$p = "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\Preferences"
Copy-Item $p "$p.bak"
$j = Get-Content $p -Raw | ConvertFrom-Json
if (-not $j.spellcheck) { $j | Add-Member -NotePropertyName spellcheck -NotePropertyValue ([pscustomobject]@{}) }
$j.spellcheck | Add-Member -NotePropertyName dictionaries -NotePropertyValue @("hu","es","en-US") -Force
[IO.File]::WriteAllText($p, ($j | ConvertTo-Json -Depth 100 -Compress), [Text.UTF8Encoding]::new($false))

$p = "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\Partitions\cowork-file-preview\Preferences"
Copy-Item $p "$p.bak"
$j = Get-Content $p -Raw | ConvertFrom-Json
if (-not $j.spellcheck) { $j | Add-Member -NotePropertyName spellcheck -NotePropertyValue ([pscustomobject]@{}) }
$j.spellcheck | Add-Member -NotePropertyName dictionaries -NotePropertyValue @("hu","es","en-US") -Force
[IO.File]::WriteAllText($p, ($j | ConvertTo-Json -Depth 100 -Compress), [Text.UTF8Encoding]::new($false))

compadrejunior · 1 month ago
Here is the solution for international users (provided by Claude ai, tested) $p = "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\Preferences" Copy-Item $p "$p.bak" $j = Get-Content $p -Raw | ConvertFrom-Json if (-not $j.spellcheck) { $j | Add-Member -NotePropertyName spellcheck -NotePropertyValue ([pscustomobject]@{}) } $j.spellcheck | Add-Member -NotePropertyName dictionaries -NotePropertyValue @("hu","es","en-US") -Force [IO.File]::WriteAllText($p, ($j | ConvertTo-Json -Depth 100 -Compress), [Text.UTF8Encoding]::new($false)) $p = "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\Partitions\cowork-file-preview\Preferences" Copy-Item $p "$p.bak" $j = Get-Content $p -Raw | ConvertFrom-Json if (-not $j.spellcheck) { $j | Add-Member -NotePropertyName spellcheck -NotePropertyValue ([pscustomobject]@{}) } $j.spellcheck | Add-Member -NotePropertyName dictionaries -NotePropertyValue @("hu","es","en-US") -Force [IO.File]::WriteAllText($p, ($j | ConvertTo-Json -Depth 100 -Compress), [Text.UTF8Encoding]::new($false))

Thanks, @wacher74. The workaround worked for me. You rock 👏

egc112 · 26 days ago

This is really problematic my native language is Dutch but I write english the red lines under each word drives me crazy
It is a shame this is not solved

egc112 · 26 days ago

The workaround worked but only after I let Claude stop all instances and make it read only while updating otherwise it reverts back