Claude Code in German:
the language setting and a CLAUDE.md that holds
Claude Code's settings reference documents a language setting: the value is passed to the model verbatim as an instruction to always answer in that language, and Claude Code does not validate it. The same value drives voice dictation and auto-generated session titles. Repository conventions still go into CLAUDE.md; Codex uses AGENTS.md.
Updated 2026-10-20
Point this tool at the QCode endpoint — one key for Claude, GPT and Chinese models.
- Billed per token — live rates on /models
- Pay by card (Visa / Mastercard), Apple Pay, Google Pay or crypto
- Self-service: top up and activate instantly
Four things that decide your German output
Setting the response language
The official settings reference states it plainly: the value is passed to the model verbatim as an instruction to always answer in that language, and Claude Code does not check it, so a misspelled name reaches the model as written. The memory page puts it this way: "You write these files in plain text; Claude reads them at the start of every session."
What a typo does
The same entry states that Claude Code does not check the value: a misspelled name reaches the model as written instead of raising an error. The same value also sets the voice dictation language, which has a fixed list of supported languages with German as de, and the auto-generated session titles.
How Codex reads instructions
Codex documents AGENTS.md to "Give Codex extra instructions and context for your project", building a chain from the global file down to the working directory.
Size guidance
Claude Code's own advice: "Target under 200 lines per CLAUDE.md file." — "Longer files consume more context and reduce adherence."
Response language and repository conventions are two things
The language setting covers one thing only: which language the answers come in. The value is passed to the model verbatim, is not validated, and can be written to user, project, local, or managed settings files. Code language, identifier scope, and commit wording are repository conventions that are best written in instruction files: CLAUDE.md gives persistent instructions, is read at the start of every session, and is followed better the shorter it is; Codex uses AGENTS.md. Both tools treat instruction files as context rather than enforced configuration — Claude Code's documentation says exactly that — so a rule telling the tool to answer in German behaves like any other convention: it holds when it is short, explicit and near the top, and it drifts when the file is a wall of prose. The reliable pattern is one language rule, one scope for code identifiers, and one place where exceptions are listed.
What German teams get wrong first
Three recurring misunderstandings. First, the value of the language setting is not validated, so a misspelled language name raises no error and reaches the model exactly as you typed it. Second, early versions dropped diacritical marks (accents, umlauts, cedillas) from answers once the language setting was configured; the official changelog records that defect as fixed. Third, block-level HTML comments in CLAUDE.md are stripped before injection, so a rule hidden in a comment never reaches the model.
The three files worth knowing
Personal preferences across every project — the natural home of a line telling the tool to explain in German.
Team-shared instructions for the repository, committed and reviewed like code.
Codex's project instruction file, discovered from the repository root down to the working directory.
Documented vs. your own experiment
Documented
Claude Code's settings reference lists language as one setting: its scope is Any file, so user, project, local, and managed settings files can all carry it; its type is any language name, and the official example is "japanese"; the default is unset, and with it unset, auto-generated session titles follow the language of your conversation. The same value also sets the voice dictation language, which does have a fixed list of supported languages, with German as de. The instruction files are documented just as precisely: CLAUDE.md gives persistent instructions, is read at the start of every session, can import other files with @path/to/import, has block-level HTML comments stripped before injection, delivers its content as a user message after the system prompt, and the docs advise targeting under 200 lines while noting that longer files reduce adherence; unless you configure it otherwise, Claude Code reads AGENTS.md only when no CLAUDE.md exists in your working directory or above it. Codex documents AGENTS.md as project instructions, merges files from the repository root toward the working directory so nearer files take precedence, skips empty files, and stops adding them at the size defined by project_doc_max_bytes.
What the docs leave open — verify it yourself
Claude Code hands the value of the language setting to the model as an instruction and explicitly does not check it, so a misspelled name does not raise an error: it reaches the model as written, for the model to make sense of. The same value also sets the voice dictation, and dictation has a fixed list of supported languages, with German as de, so a language name outside that list has no dictation counterpart. Whether the model keeps answering in German every time, whether the setting holds across a long session, what it does with ß and umlauts inside identifiers, and whether your own file ordering still loads what you expect — these are things you verify with /context and a short task, not things this page can settle.
Two files, two jobs
CLAUDE.md — behavioural guidance
The Claude Code docs put it plainly: technical enforcement belongs in settings, behavioural guidance in CLAUDE.md. Which language the answers come in is itself a setting (language); tone, identifier scope, and explain-before-patching rules still go in the instruction file.
AGENTS.md — project context for Codex
Codex reads AGENTS.md as instructions and context for the project, with files closer to the working directory overriding earlier guidance — the same place to state the German convention once, per repository.
Set it first, then write the rule
Set the language in settings.json first: open ~/.claude/settings.json and write { "language": "german" } (the official example is "japanese"; the value is not validated, so a typo raises no error, and this key can live in user, project, or local settings files). Then the part that belongs in the repository, suggested block: "Sprache: Antworte in Erklärungen, Plänen und Review-Kommentaren auf Deutsch. Code, Bezeichner, Dateinamen, Commit-Messages und Testnamen bleiben auf Englisch. Keine Umlaute in Bezeichnern — ae/oe/ue/ss verwenden. Halte jede Erklärung unter 10 Sätzen, bevor du fragst." Save the file as UTF-8, run /context in a session and confirm the file is listed under Memory files, then give it one real task and check whether the German survived the tool calls.
On QCode
Instruction files travel with the CLI, not with the endpoint: whichever model you call, CLAUDE.md and AGENTS.md are read by the tool before the request leaves. The language setting works the same way: it lives in a settings.json on your machine, and the CLI reads it and sends it along as an instruction to answer in that language. QCode's own pages describe pointing Claude Code at the Anthropic-compatible API via ANTHROPIC_BASE_URL and adding a QCode profile to ~/.codex/config.toml, and state that the live model list is /models — so switching models under the same instruction file is the normal case, and the German rules keep applying.
FAQ
Is there a language setting?
Yes — Claude Code's settings reference has a language setting: it makes Claude answer in a language other than English by default. The docs state that the value is passed to the model verbatim as an instruction, so any language name the model can read works, and that Claude Code does not check the value, so a misspelled name reaches the model as written instead of raising an error. The same value also sets the voice dictation language, which has a fixed list of supported languages with German as de, and the auto-generated session titles, which follow the language of your conversation while the setting is unset.
Where do I put the rule so it always applies?
Two layers: the response language belongs to a setting, repository conventions to files. Write { "language": "german" } in ~/.claude/settings.json; its scope is Any file, so the user-level ~/.claude/settings.json, the project-level .claude/settings.json, the project-local .claude/settings.local.json, and managed files can all carry this key. Claude Code documents ~/.claude/CLAUDE.md as personal preferences for all projects and ./CLAUDE.md as team-shared project instructions, and that is where code language and identifier scope belong.
Does German in CLAUDE.md work at all?
The file is plain-text Markdown, and the docs describe reading it at the start of every session without any statement about natural language, so German text in that file is just content. What matters is length and placement: the docs advise under 200 lines and warn that longer files reduce adherence.
Should identifiers and commits be German too?
That is a convention, not a vendor fact — but state it explicitly either way. If you do not, the model decides per task, and mixed German identifiers in an English-named codebase is the usual outcome. Keeping umlauts out of identifiers also dodges transliteration and encoding trouble downstream.
What breaks silently?
Two documented behaviours: block-level HTML comments in CLAUDE.md are stripped before injection, so a rule hidden in a comment never arrives; and Claude Code reads AGENTS.md only when no CLAUDE.md exists above the working directory unless you set otherwise — so a leftover AGENTS.md can be ignored.
Can I keep German when a relay serves a different model?
The instruction file is read by the CLI before the request goes out, so it is not tied to one model. Whether a given model follows German consistently is your own test — the docs are explicit that these files are context, not enforced configuration.
Sources
Claude Code: the settings reference page on code.claude.com (what the language setting does, its type, default, and scope), the memory page (/docs/en/memory), the settings page, the voice dictation page, and the official changelog, fetched 2026-10-20. Codex: the AGENTS.md and CLI documentation from developers.openai.com, fetched the same day. QCode-side statements come from QCode's own pages. Where the docs are silent, this page says it is silent.
One instruction file, German from the first session
Write the language rule once, verify it with /context, then test it across the models you actually call.
Related reading
Claude Code in Arabic: the answer language, CLAUDE.md and terminal RTL
Official sources for the language setting, an Arabic CLAUDE.md rule block, and how terminals and editors handle bidi today (iTerm2, kitty, Windows Terminal, VS Code), plus QCode setup.
AGENTS.md specification guide
Discovery order and precedence across the tree.
Claude Code in Persian: language setting and RTL display
From the official docs: no fixed list for the Claude Code language setting; U+200C, ی versus ي, ک versus ك; right-to-left display and a CLAUDE.md rule to paste.
Crypto payment guide
Nine coins, 56 networks, zero platform fee for AI coding API credits.
Documentation of both vendor tools changes; every quoted behaviour here was read from the official pages on 2026-10-20. Model behaviour with German output is not a vendor promise — verify it on your own repository.