Responses drift into English mid-task despite `language: "japanese"` and CLAUDE.md language rules

Status Open
Maintainer reply None cached
Activity 4 comments · opened Oct 5, 2026

Environment

  • Claude Code desktop app (Windows 10), also observed via Remote Control on iOS
  • Model: Opus 5.5
  • ~/.claude/settings.json: "language": "japanese"
  • Global and project CLAUDE.md both state that all user-visible text (including progress messages) must be in Japanese

What happens

In long sessions, progress messages between tool calls switch to English, for example:

  • "Checking syntax and calling the API on 8081 to confirm the results."
  • "The API works, but all 8081 action records are from August, so it's currently falling back to ..."
  • "All three images in revision 5 are now adopted (inline, featured, and review comment) but still pending approval ..."

It tends to happen while the session handles a lot of English material (image-generation prompts, English test/commit messages, logs). The user has had to correct this many times across several days; the model returns to Japanese after being told, then drifts again later.

Expected

With language set and explicit CLAUDE.md rules, every user-visible message (including short progress lines) should stay in the configured language for the whole session, including after compaction and while processing English tool output.

Why this matters

The only reliable workaround is a per-tool-call hook that re-injects the rule, which costs the user tokens and adds latency to every action. Users should not have to pay to keep the configured language.

View original on GitHub ↗

3 Comments

ankhaurum · 9 days ago

Additional finding: the compaction summary itself is written in English even with "language": "japanese".

The affected session had been compacted 20 times. Each summary was English (it even contains the instruction "must write only Japanese", but in English). After many compactions almost the entire context the model resumes from is English, so subsequent progress messages continue in English. The session's own recent messages are then English too, which reinforces the drift.

Suggested fix: generate compaction summaries in the configured language, or re-assert the configured language after compaction.

marcindulak · 8 days ago

https://github.com/anthropics/claude-code/issues/96326 describes a similar problem.

That issue is already upvoted at least 10 times so it won't be auto-closed, but you issue will be. See https://github.com/anthropics/claude-code/issues/87647 for the auto-close bot details, and consider upvoting that for visibility.

AndrewDongminYoo · 7 days ago

This report matters for diagnosis: the drift happens with a single-word language value, so a sentence-valued or ambiguous setting is not the cause.

For comparison, my setup used a sentence-valued language ("Conversations are in Korean, while coding and documentation work is done in English.") from January on. Under that same value, Opus 5 and Fable 5.1 ended about 0.6% of turns in English, and Opus 5.5 ended 9.4%. The value is substituted verbatim into the harness's language section, and I have since changed it to a single word to remove any ambiguity. Given this report, I expect that change to reduce the rate at most, not remove it.

Measurement details: https://github.com/anthropics/claude-code/issues/99704

Showing cached comments. Read the full discussion on GitHub ↗