[Bug] Claude inconsistently uses British English spellings in code across sessions
Bug Description
Claude writes British English unprompted, including into code, on
en-US projects — reproduces across accounts
WHAT HAPPENS
Claude consistently emits en-GB spellings ("colour", "behavioural",
"parameterise", "recolour", "prioritise", "neutralising", "capitalisation")
in prose and, more seriously, in code it writes — comments, docstrings, and
identifiers — on projects that are otherwise entirely American English.
Never requested. No CLAUDE.md, system prompt, or user instruction asked for
British English. There is no setting I could find to pin the dialect.
SCOPE / REPRODUCTION
- Reproduces across DIFFERENT Claude accounts, not just one session.
- Reproduces in Claude Code and in claude.ai chat.
- Occurred in a session reviewing a codebase authored in Australia and then
persisted afterward, which is why I suspect dialect is leaking from context
and then sticking rather than being sampled per-response.
- Persists across many turns even when every surrounding file is American.
WHY THIS IS NOT COSMETIC
In my repo Claude wrote en-GB into 151 places in src/ and 28
over the course of one long session. That matters for three reasons:
- It lands in CODE, not just chat. Comments and docstrings ship.
- It is expensive to remove safely. Our vendored engine fil
content-addressed by RAW BYTES, so a comment-only spelling fix moves the
content hash and forces a ~90-minute corpus rebuild plus a downstream
metric cascade. Dialect drift is therefore not free to correct.
- A blanket search-and-replace is DANGEROUS. This codebase legitimately has
"colour" in 3,108 real identifiers (top_colour_share, min_colour,
n_distinct_colours). An automated en-GB→en-US pass renames the public API
and breaks the build. Fixing Claude's drift required writing a custom
guard that distinguishes identifiers from prose.
WHAT I EXPECTED
American English by default for an American user on an American codebase,
or at minimum a stable dialect that doesn't drift mid-project.
WHAT WOULD FIX IT
- A locale/dialect preference that is actually honored, or
- Defaulting to en-US and not inheriting dialect from files being read.
SEVERITY
Low individually, high in aggregate: it silently contaminates source files,
and in content-addressed or hash-pinned projects the cleanup cost is
disproportionate to the error.
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.1.220
- Feedback ID: a910c1e2-49f3-4b5a-b13e-bde095bf02ea
Errors
[]