[Bug] Claude inconsistently uses British English spellings in code across sessions

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Aug 29, 2026

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:

  1. It lands in CODE, not just chat. Comments and docstrings ship.
  2. 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.

  1. 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

[]

View original on GitHub ↗