Checked · 2026-10-19 · the language setting in Claude Code and two user reports

Claude Code keeps answering in English: the language setting and two reports

The official language section states that the value is passed to the model verbatim as an instruction and that Claude Code does not check the spelling. On GitHub there are two user reports saying that a session still turns into English in the middle even though language was set; both come from the Claude desktop app on Windows (the Code tab) and neither mentions the CLI. As of 2026-10-19, both issues are open.

Updated 2026-10-19

One key for Claude, GPT and leading Chinese models, billed per token, up and running in minutes.

#value becomes an instruction#spelling not checked#two user reports#how to write the rule

The official mechanism, the two user reports and what you can do

Official mechanism

The value becomes an instruction for the model

The language section of the official settings reference says: Claude Code passes the value verbatim to Claude as an instruction to always respond in that language, so any language name Claude can read works. There is no fixed list of languages; whatever you write is passed on as it is.

How the language name is written

A typo raises no error

The same section continues: Claude Code does not check the value, so a misspelled language name still reaches Claude and raises no error. The type is any language name, the official examples being `"japanese"`, `"spanish"` and `"french"`.

Two user reports

User reports on GitHub

Issue #101940 (submitted 2026-10-14, open as of 2026-10-19, 0 comments) is titled `[BUG] Claude switches to English mid-session despite Japanese conversation and "language": "japanese" (Windows desktop app)`; issue #99603 (submitted 2026-10-05, 1 comment) is titled `Opus 5.5 / Sonnet 5.5 drift into English mid-session despite German user input`, and its body says that in sessions with Opus 5.5 and Sonnet 5.5 the model repeatedly switches its replies to English even though all user messages are in German. Both reports come from the Claude desktop app on Windows (the Code tab), and neither mentions the CLI. Both are user reports on GitHub, not an official conclusion.

What you can do

settings.json and a rule file

Writing "language": "japanese" in settings.json is the example in the official docs (scope Any file, default unset). What the official docs say about CLAUDE.md is this: it is treated as context rather than enforced configuration, and the more specific and concise your instructions, the more consistently Claude follows them. Whether to add a language rule of your own is not specified in the docs.

Why Claude Code still answers in English with language set

The mechanism is above. The official docs give no reason for a session turning into English mid-way. The community reports add that this is not a display issue: the transcript itself contains the English text, so the model is writing English.

The official settings reference and the two issues as of 2026-10-19

Checked on 2026-10-19: the language section of the official settings reference states that the value becomes an instruction for the model, that the scope is Any file and that the default is unset. The two issues and their current state are above; issue status changes, so the GitHub page is the reference.

Timeline

2026-10-05

Issue #99603 is submitted: it reports Opus 5.5 / Sonnet 5.5 turning into English mid-session even though all user messages are in German, and it notes that the global CLAUDE.md is written in German with no explicit language rule.

2026-10-14

Issue #101940 is submitted: it reports a Japanese session turning into English mid-session, with "language": "japanese" in the title; the report gives the occurrence as 2026-10-13 to 2026-10-14.

2026-10-19

As of 2026-10-19 both issues are open, with 0 and 1 comments, and the mechanism described in the official language section has not changed.

What the official docs state and what they leave unanswered

Confirmed (word for word)

① The value of language is turned into an instruction for the model, and any language name Claude can read works; ② the default is unset, and without a value the session titles follow the language of the conversation; ③ the type is any language name, the official examples being `"japanese"`, `"spanish"` and `"french"`; ④ CLAUDE.md is treated as context rather than enforced configuration; ⑤ the more specific and concise your instructions, the more consistently Claude follows them; ⑥ the title of issue #101940 describes a Japanese session turning into English mid-session; ⑦ the title of issue #99603 describes a German session turning into English mid-session; ⑧ the report says the transcript itself contains the English text, so it is not a display issue; ⑨ the report says the global CLAUDE.md is written in German with no explicit language rule; ⑩ the official advice is to write instructions that are concrete enough to verify.

What the official docs leave unanswered

The official docs give no cause for a session turning into English mid-way, and neither issue reaches a conclusion; the reports describe the behaviour itself. Two further things the official side does not say: which model shows it less often — the two issues mention Opus 5.5 and Sonnet 5.5, but the reports do not compare models with each other; and whether the two issues will be handled or fixed, which neither the docs nor the issues state — the GitHub page is the reference for status.

Only the language setting, or a clear rule as well

Only the language setting

The official example is writing "language": "japanese" in settings.json, scope Any file. In the #101940 report the reporter set the language in settings.json, wrote rules in a memory file and added hooks, and the replies still went back to English.

Plus a rule in CLAUDE.md / AGENTS.md

The official advice is to write instructions that are concrete enough to verify; the docs do not give a sample of how a language rule should look.

The steps to check

① Check the language name for typos: a typo raises no error. ② Check the scope and the value that is actually in effect: scope Any file, default unset, and without a value the session titles follow the language of the conversation. ③ Write one concrete rule in CLAUDE.md or AGENTS.md: the official docs say that CLAUDE.md is context and not enforced configuration, and the more concrete the rule the more stable the compliance. ④ Watch one session for a while: the reports place the switch to English in long, tool-heavy sessions. ⑤ If it still happens, write an issue: put the session, the model, the time and the place where it turned into English into a GitHub issue.

Running Claude Code on QCode

On the QCode side the Claude model ids that can be set are claude-opus-5-5, claude-sonnet-5-5 and claude-haiku-5-5; billing is per token, per-model rates are on /models, 5 concurrent requests, the same models as personal plans. Not ready for a monthly plan? Pay-as-you-go Packs start at $4 for a one-time quota you use within 7 to 90 days.

Frequently asked questions

Why does it still switch to English although the language setting is there?

The official docs give no reason for a session turning into English mid-way. On GitHub there is a user report: the reporter set "language": "japanese" in settings.json, wrote rules in a memory file and added hooks, and the replies still went back to English.

What happens if the language name is misspelled?

No error is raised. The official wording is that Claude Code does not check the value, so a misspelled language name still reaches the model — copy the value carefully when you check this.

Does a language rule in CLAUDE.md help?

The official position is context rather than enforced configuration: CLAUDE.md is treated as context, how the rule is written affects how reliably it is followed, and the same passage says that the more specific and concise your instructions, the more consistently Claude follows them. So write a concrete sentence you can check, not a vague one.

What do the two issues say?

Both are user reports on GitHub. #101940 (submitted 2026-10-14, 0 comments) reports a Japanese session turning into English mid-session, with "language": "japanese" in the title; #99603 (submitted 2026-10-05, 1 comment) reports a German session turning into English mid-session and notes that the global CLAUDE.md is written in German with no explicit language rule. Both reports come from the Claude desktop app on Windows (the Code tab), and neither mentions the CLI. They are community reports, not an official conclusion.

Does another model solve it?

The official sources draw no such conclusion. The two issues mention Opus 5.5 and Sonnet 5.5, the reports make no comparison between the models, and there is no official wording about which model does not switch to English. What you can do is write the rule concretely and log the case in an issue.

How is the value of the language setting written in Claude Code?

The official example is writing "language": "japanese" in settings.json. The value is any language name Claude can read, the default is unset and the scope is Any file.

Sources

Official wording: the Claude Code settings reference and the official memory page (code.claude.com/docs/en, fetched and checked on 2026-10-19). User reports: issue #101940 and issue #99603 in the anthropics/claude-code repository on GitHub (fetched and checked on 2026-10-19). On the QCode side: the pay-as-you-go page on qcode.cc in five languages, the models page on qcode.cc and the German language guide on qcode.cc (all checked on 2026-10-19).

Run Claude Code on QCode

Check the language value in settings.json first, then pick the model.

Not sure where to start?

Try it for a week

Week Pack: $4 for $30 of quota, valid 7 days

Use it every day

Starter: $8.57/month, about half the price per $1 of quota compared with the Month Pack ($5 of quota per day)