Should I write prompts in English? What test data shows

Do AI prompts need to be in English? Learn what published test data shows, how to set the response language, and when an English prompt makes sense.

Published September 19, 20267 min read

A prompt is the input you use to give an AI like ChatGPT or Claude a task. It might be a question, a request to summarize a customer email, or an instruction to the coding tool Claude Code to fix a failing test. If you do this a lot at work and think in German or another language, you may wonder whether you'd get better answers by writing your prompts in English.

A clear rule saves you translation work where it doesn't help. Here you'll learn what published test data shows about the language question and what its limits are. You'll also learn how to set the response language, which technical details never to translate, and when an English prompt is the better choice.

The short answer and a rule of thumb

Anthropic, the company behind Claude, has published test data for several languages. For German, Claude Sonnet 4.5 shows only a small gap to English on a knowledge test. OpenAI says its models in the API are optimized for English but gives no numbers. The API is the interface your own software uses to connect to the models. Neither statement means you have to write in English. For everyday work, this rule helps:

  • Write in the language in which you can explain the task most precisely.
  • State the response language explicitly.
  • Keep file names, error messages, and commands in their original form.
  • Use English when the result has to be in English or your project runs in English.

What Anthropic's language test with Claude shows

Anthropic published the figures in its multilingual support overview. They're based on MMLU, a knowledge test with multiple-choice questions from 57 subjects such as math, history, computer science, and law. It tests knowledge and problem solving.

Professional translators produced versions of the English questions in 14 other languages. The models got no solved example questions in advance. They could reason step by step before answering, using a feature Anthropic calls extended thinking. English is the fixed baseline of 100 percent. Here's an excerpt from the table:

LanguageClaude Sonnet 4.5Claude Haiku 4.5
English, baseline100%100%
German97.0%94.3%
Swahili91.1%78.3%
Yoruba79.7%52.7%

Each value is a ratio to the same model's English result. It doesn't tell you how many questions the model answered correctly. A made-up calculation shows the difference. If a model answers 80 percent of the questions correctly in English, 97 percent of that would be 77.6 percent correct answers in German. So 97.0 means neither 97 percent accuracy nor a gap of three percentage points.

For Sonnet 4.5, the gap for German is small. Haiku 4.5 falls further behind in German. For Swahili and Yoruba, the gaps are much larger for both models. So the German result doesn't automatically carry over to every language and every model.

What the numbers don't show

The table covers two Claude models with extended thinking. It says nothing about other or newer Claude models, or about the models behind ChatGPT.

A multiple-choice test is also different from your daily work. MMLU doesn't directly measure how well a model writes emails, holds long conversations, or changes code in a project. That includes work with Claude Code. For tasks like these, the table offers no language comparison.

On its help page about languages, OpenAI says its models in the API handle prompts in many languages but are optimized for English. The page gives no measurements, and it covers the API, not every feature in ChatGPT.

The two statements concern different models, so they don't contradict each other. For German with Claude Sonnet 4.5, the data argues against an "always use English" rule. It doesn't show that German works equally well for every task.

State the response language explicitly

For multilingual tasks, Anthropic recommends explicitly stating the input and output languages you want. If you build your own applications, the documentation says the most reliable place for this instruction is the system prompt. That's the fixed set of instructions an application sends along with every conversation.

In a chat, one clear sentence at the start or end of your prompt is enough. If you want different parts in different languages, name the language for each part. Two made-up examples:

Summarize this customer email in three bullet points in German. Then suggest a short reply to the customer in English.

Explain the change to me in German. Write the code comments and the commit message in English.

A commit message is the short description you write when you save a code change. The second example helps international teams. If English is the only language everyone on the team understands, German comments or German documentation are of little use to anyone who doesn't read German. If you write in German and say nothing about language, you leave that decision to the model. One sentence in the prompt settles it.

Keep file names, error messages, and commands in the original

Write the explanatory text in one language throughout. Leave exact details unchanged, whatever language you write in. That includes file names, function and test names, commands, error messages, and the names of menus and buttons. A translated error message appears nowhere in the project or the log files, so anyone who searches for it finds nothing. Copy these details instead of retyping them.

The best practices for Claude Code recommend naming the affected files, constraints, and existing patterns, and describing the problem you observed. They also suggest a check that Claude Code can run itself, such as tests or a build. You can give these details in German just as well as in English. Here's the same made-up task in both languages, German first:

Der Test testRetryAfterTimeout in PaymentServiceTests.swift schlägt mit XCTAssertEqual failed: ("2") is not equal to ("3") fehl. Die Wiederholungslogik steht in PaymentService.swift. Ändere nur diese Datei und halte dich an das Muster in OrderService.swift. Führe danach den Test erneut aus. Erklär mir die Ursache auf Deutsch und schreib Code-Kommentare auf Englisch.

The test testRetryAfterTimeout in PaymentServiceTests.swift fails with XCTAssertEqual failed: ("2") is not equal to ("3"). The retry logic is in PaymentService.swift. Only change this file and follow the pattern in OrderService.swift. Run the test again afterwards. Explain the cause and write code comments in English.

Both versions name the file, the constraint to change only this file, the existing pattern, the observed error, and the check. The identifiers stay the same. Only the explanatory text changes language.

When an English prompt makes sense

English is worth it mainly in these cases:

  • The result has to be in English, such as a reply to English-speaking customers. Then you write in English, or in German with an instruction like "Reply in English".
  • Your project runs in English, with code, comments, tickets, and team documents. An English prompt keeps everything in one language, and colleagues who don't speak German can read shared prompts.
  • You only feel confident about a topic's technical terms in English.
  • You use OpenAI models through the API. Given OpenAI's note about English, it's worth comparing both versions there.

Stick with German when you can explain the context, exceptions, and history of a task more precisely in German. The recommendations in the Claude Code documentation are about precise details, and they don't prescribe a language. If details get lost when you translate, write in German and state the response language.

Test both languages on your own tasks

Anthropic advises testing the languages you'll actually use. A small comparison is enough for your day-to-day work:

  1. Pick three to five real tasks that come up often in your work.
  2. Give each task once in German and once in English, with the same details, in the same tool, and with the same model.
  3. Compare the answers for facts, completeness, tone, and how much rework they need.
  4. Decide for each type of task, and check again after you switch models.

This is a spot check for your own work, not a measurement. It does show you whether language makes a noticeable difference for your tasks.

Speak German with Yappee and paste an English prompt

Sometimes you can explain a task most precisely in German, but your project needs an English prompt. For this case, Yappee has the "AI Prompt" format. It turns spoken instructions into a structured prompt that you paste into ChatGPT, Claude Code, or Lovable. Yappee runs on iPhone and Mac and supports more than 50 languages for speech recognition and translation. So you can have the prompt come out in English, or in German if your project runs in German.

Here's how:

  1. Start recording and describe the task. Say what the goal is, which files or pages are affected, what's going wrong, how you'll know it worked, and which language the AI should reply in.
  2. Choose the "AI Prompt" format and have the prompt come out in English if your project requires it.
  3. Paste the prompt into your AI tool and add long error messages and file paths there. Copy them exactly from your terminal or editor.

Yappee writes the prompt from what you say. How well the AI answers afterward still depends on the tool, the model, and the details you give. For a short question to ChatGPT, just type it yourself. Before you send a prompt, check the file names, error messages, and language instruction in particular.

Put your voice to work

Turn spoken thoughts into text you can use. Available for iPhone and Mac.

Built for iPhone and Mac.