German instructions · Claude Code / Codex

Running Claude Code and Codex in German
CLAUDE.md and AGENTS.md that actually stick

Neither tool's documentation pages we checked offer a locale or response-language setting — they offer instruction files. Claude Code reads CLAUDE.md at the start of every session; Codex builds an instruction chain from AGENTS.md files. So the German output is something you write down once, not something you configure away.

Updated 2026-10-01

#CLAUDE.md#AGENTS.md#Umlauts in UTF-8#/context check

Four mechanics that decide the outcome

every session

When CLAUDE.md is read

Claude Code's memory page states: "You write these files in plain text; Claude reads them at the start of every session."

user message

How the text arrives

The same page notes that CLAUDE.md content is delivered as a user message after the system prompt, not as part of the system prompt itself.

chain

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.

200 lines

Size guidance

Claude Code's own advice: "Target under 200 lines per CLAUDE.md file." — "Longer files consume more context and reduce adherence."

Why a language instruction has to be written down

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 mistakes: hiding the rule inside a comment (Claude Code strips block-level HTML comments from CLAUDE.md before injection), leaving the code language unspecified so the model renames identifiers in German, and letting the file grow past the point where instructions are followed. All three are documented behaviours, not folklore.

The three files worth knowing

~/.claude/CLAUDE.md

Personal preferences across every project — the natural home of a line telling the tool to explain in German.

./CLAUDE.md

Team-shared instructions for the repository, committed and reviewed like code.

AGENTS.md

Codex's project instruction file, discovered from the repository root down to the working directory.

Documented vs. your own experiment

Documented

CLAUDE.md files give Claude persistent instructions and are read at the start of every session; they can import other files with @path/to/import; block-level HTML comments are stripped before injection; content arrives as a user message after the system prompt; the docs advise targeting under 200 lines and note that longer files reduce adherence; Claude Code reads AGENTS.md only when no CLAUDE.md is present above the working directory unless you configure it otherwise. Codex documents AGENTS.md for extra 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.

Not documented — test it on your repo

No response-language or locale switch appears on the Claude Code or Codex pages we checked, so nobody should promise you a setting that turns German on. How strongly a model keeps German across long tool-heavy sessions, what it does with ß and umlauts inside identifiers, and whether your own file ordering still loads what you expect — all three 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 split the two jobs: settings for technical enforcement, CLAUDE.md for behavioural guidance. Language, tone and explain-before-patching rules belong in the second.

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.

A German CLAUDE.md you can paste

Keep it short and unambiguous. Recommended 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. 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?

Not on the pages we checked — neither Claude Code's settings and environment-variable references nor Codex's instruction documentation lists a response-language or locale option. What is documented is instruction files, so the language is written down rather than configured.

Where do I put the rule so it always applies?

In your user file: Claude Code documents ~/.claude/CLAUDE.md as personal preferences for all projects and ./CLAUDE.md as team-shared instructions for the project. Put the language rule in the personal file, the repository conventions in the project file.

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 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 memory page ("How Claude remembers your project"), the settings page and the environment-variable reference on code.claude.com, fetched 2026-10-01. 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

Documentation of both vendor tools changes; every quoted behaviour here was read from the official pages on 2026-10-01. Model behaviour with German output is not a vendor guarantee — verify it on your own repository.

Try first, then decide

Not sure which tier? Start with Starter ($8.57/mo) and upgrade when you're happy — the unused value of the old plan goes back to your balance.