You're writing in Japanese (or any non-English language), and then suddenly Claude starts responding in English. This is one of the most common frustrations for non-English speakers using Claude — and it happens more often than you'd expect.
Why Does Claude Switch to English?
Claude is designed to mirror the language of the person it's speaking with. If you write in Japanese, Claude should respond in Japanese. If you write in French, it should respond in French. But this automatic detection can break down in several situations.
Here are the four most common causes:
① A new session or conversation was started
Claude does not retain memory between separate conversations. Each new chat is a blank slate — Claude has no idea what language you were using before. If your first message contains significant English content (like code or error messages), Claude may default to English.
② Your message contains a lot of English content
When you paste English code blocks, error logs, or documentation into your message, Claude may interpret the overall message as English-primary and respond accordingly. The more English text there is relative to your native-language instructions, the more likely this is to happen.
③ No language setting in your Projects instructions
If you use Claude's Projects feature, the custom instructions determine the baseline behavior for all conversations in that project. Without a language directive, each session starts fresh with no language preference.
④ Context compression in very long conversations
In extremely long conversations, Claude's internal context handling may compress earlier messages. When this happens, implicit language context established early in the conversation can be lost, causing Claude to revert to English.
Fix #1: Explicitly State the Language in Each Message
The simplest, most immediate solution is to begin your message with a clear language instruction.
Please respond in Japanese. Here is my question:
[your question here]
Or more succinctly at the start:
日本語で回答: [question]
The downside is that you need to do this manually each time. For a more permanent fix, use one of the methods below.
Fix #2: Add a Language Directive to Your Project's Custom Instructions
If you use Claude's Projects feature, you can set a language preference that applies automatically to every conversation in that project.
- Open the target project from Claude's sidebar
- Click the "..." menu next to the project name
- Select "Edit project settings"
- Add the following to your custom instructions:
# Response Language
- Always respond in Japanese
- Write code comments in Japanese as well
- For technical terms, include both Japanese and English (e.g., コンテキストウィンドウ / Context Window)
For a full overview of the Projects feature, see Claude Projects: Practical Guide.
Once this is set, every conversation within that project will automatically follow the language directive. If you use multiple projects, you'll need to add the setting to each one separately.
Fix #3: Use the System Prompt (For API Users)
If you're using the Claude API directly, the most reliable way to lock in a response language is through the system parameter.
import anthropic
client = anthropic.Anthropic(api_key="YOUR_API_KEY")
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system="""You are a helpful AI assistant who always responds in Japanese.
Even if the user writes to you in English, please respond in Japanese.
The only exception is if the user explicitly requests a response in English.""",
messages=[
{
"role": "user",
"content": "Please write a fizzbuzz implementation in Python."
}
]
)
print(response.content[0].text)The system prompt applies to all messages in the conversation, so this is the most reliable method for API-based integrations.
For more system prompt design patterns, check out Claude System Prompt Design Patterns.
Fix #4: Tips for Pasting English Content
When you need to paste English code or error messages, always add an explicit language instruction in the same message:
Please explain the cause of the following error message in Japanese and suggest how to fix it:
TypeError: Cannot read properties of undefined (reading 'map')
at Component (./src/App.tsx:23:45)
The more English content there is in your message, the more explicitly you should state your preferred response language.
Fix #5: Language Settings in Claude Code and Cowork
If you're using Claude Code, you can add a language directive to the CLAUDE.md file in your project root:
# Response Language
- All explanations, comments, and responses should be in Japanese
- Code comments should be written in Japanese (variable names and function names can remain in English)CLAUDE.md is automatically loaded by Claude Code and applies to the entire project. For more details, see CLAUDE.md Memory and Settings Management Guide.
Symptom Checklist
Here's a quick reference for common symptoms and their fixes:
Symptom: Claude switches to English every time I start a new conversation → Add a language directive to your Projects custom instructions (Fix #2)
Symptom: Claude switches to English when I paste code → Always include "Please respond in Japanese" in the same message (Fix #1)
Symptom: Claude always responds in English via API → Add a language instruction to the system prompt (Fix #3)
Symptom: Claude generates English comments in Claude Code → Add a language setting to CLAUDE.md (Fix #5)
Symptom: Claude switches mid-conversation after a long exchange → Start a new conversation and add a language instruction at the beginning (Fix #1)
Looking back
Claude switching to English unexpectedly is almost always caused by ambiguous language context — not a bug, but a side effect of how Claude infers language from your input. The most effective permanent fix is to add a language directive to your Projects custom instructions, which automatically applies to every conversation in that project with no extra effort on your part.
API users should configure the system prompt, and Claude Code users should add the setting to CLAUDE.md. With these in place, you'll get consistent, frustration-free responses in your preferred language every time.
For a complete guide to setting up Claude for daily use, see Claude Beginner Setup Guide.