Claude Desktop: expose a spellchecker language setting (stuck on en-US)
Summary
Claude Desktop offers no in-app setting to choose the spellchecker language. The Chromium spellchecker is stuck on en-US, so every word typed in another language is flagged as a misspelling. A French or bilingual user sees their entire text underlined, with no way to fix it from the application.
Type
Feature request (Claude Desktop, Windows / Electron).
Environment
- Claude Desktop (Windows), Electron/Chromium
- UI/session language set to French (
fr-FR)
Details
- The spellchecker is Chromium's, controlled by the
spellcheck.dictionarieskey in%APPDATA%\Claude\Preferences, defaulting to["en-US"]. - The app declares
"locale": "fr-FR"in its ownconfig.json, but the spellchecker ignores it. - Changing the Windows display language or environment variables has no effect; the internal Chromium spellchecker does not consult them.
- The only workaround is editing the
Preferencesfile manually. The app rewrites this file on a clean exit, so the edit only sticks if the app is force-quit before relaunch.
Comparison
Obsidian, also Electron-based, exposes the spellchecker language in its settings. Same underlying engine; only the access to the option differs.
Request
Expose a spellchecker language selector in Claude Desktop settings, ideally multi-language (e.g. French and English simultaneously for bilingual users), and preferably defaulting to the app's locale.
Accessibility impact
Permanent, incorrect underlining is a real cognitive load, especially for users sensitive to visual and structural consistency. The gap directly degrades comfort of use in any non-English language.
4 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Closing for now — this doesn't appear to be about Claude Code. Please open a new issue if this is still relevant.
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))
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.