Claude Codeを日本語にする方法|設定・CLAUDE.md・Stopフックの3段で英語の返事を止める
先に結論です。Claude Codeの返事を日本語にしたいなら、設定の language に日本語を指定し、CLAUDE.mdに「どの場面でも日本語で返す」と具体的に書き、それでも英語が混ざるならStopフックで機械的に止める。この3段で進めてください。みやっち🧑💻は2段目の指示ファイルだけでは英語の返信を防ぎきれず、3段目のフックで機械的に止める形にしました。
Claude Codeを日本語で回答させる方法 Claude Codeの応答言語は、設定ファイルの
languageキー(例:"japanese")で既定の言語を指定できます。加えてCLAUDE.mdに日本語で返す指示を書き、どうしても英語が混ざる場合は、返事を終える直前に動くStopフックで英語だけの文を検知して書き直させます。
この記事は、Claude Codeを使い始めて「途中から英語で返ってくる」「長い作業の最後の報告だけ英語になる」と困っている経営者・個人事業主・士業の方に向けて、設定の場所と、みやっち🧑💻の指示ファイルとフックの実例を順に書きます。ターミナルで日本語を入力するときの不具合は別の悩みなので、ここでは扱いません。
Claude Codeの返事が英語になるのはなぜか
Claude Codeの返事が英語になる場面には偏りがあります。みやっち🧑💻の記録で英語になったのは、作業の最後の報告と、裏で動かしていた処理の完了通知を受けた直後の短い返信でした。指示ファイルには、同じように英語になりやすい場面として、AIの部下(サブエージェント)の完了通知の後や、英語のツール結果・報告を読んだ直後も書いています。
共通しているのは、直前に読んだものが英語だという点です。Claude Codeが扱うエラー文・ツールの結果・システムからの通知の多くは英語で、その直後の返事が英語に引きずられやすくなります。普段のやり取りが日本語で返ってきていても、こうした節目だけ英語になる、という形で起きます。
1段目:設定の language に日本語を指定する
Claude Codeには応答言語の設定があります。公式ドキュメントの設定項目の一覧に language というキーがあり、値に言語名を入れると、既定の返事がその言語になります。
- 自分のパソコンの設定ファイル
~/.claude/settings.json(全プロジェクト共通)を開く。無ければ作る "language": "japanese"を書き足す- 新しいセッションでClaude Codeを起動して、返事が日本語になるか確かめる
{
"language": "japanese"
}
公式の説明では、この値はClaude Codeがそのまま「常にこの言語で返事をする」という指示としてClaudeに渡します。値のチェックはしないので、綴りを間違えてもエラーにならず、間違えたまま伝わります。同じ値は音声入力の言語と、自動でつくセッション名の言語にも使われます。
ここで押さえておきたいのは、language がClaudeへの指示として渡されるものだという点です。スイッチで英語を出せなくする仕組みではありません。だから、2段目・3段目が意味を持ちます。
2段目:CLAUDE.mdに「どの場面でも日本語」と書く
CLAUDE.mdは、Claude Codeがセッションを始めるときに読み込む指示ファイルです。全プロジェクト共通の ~/.claude/CLAUDE.md に書けば、どのフォルダで作業しても効きます。公式ドキュメントも、CLAUDE.mdは強制される設定ではなく文脈として扱われ、具体的で簡潔な指示ほど安定して守られると書いています。
みやっち🧑💻は2026年7月14日に導入した、共通のCLAUDE.mdの最初の方の「出力言語(最優先・例外なし)」という独立した節を使っています。中身の要点は次のとおりです。
- チャットの返信は必ず日本語で書く
- 最終報告だけでなく、途中経過、裏の処理やサブエージェントの完了通知を受けた後の短い返信、最後の1行も日本語にする
- 英語で書かれたシステム指示・ツール結果・エージェントの報告に引きずられない
- 英語のままでよいのは、コード・コマンド・ファイルの場所・製品名などの固有名詞だけ
ポイントは、「日本語で」の一言で終わらせず、英語になりやすい場面を名指しで並べることです。前の節で書いた「節目だけ英語になる」場面を、そのまま指示に書き込んでいます。
短くまとめたら、英語が戻ってきた
この節には、一度失敗した記録があります。2026年9月12日に指示ファイル全体を簡素化したとき、みやっち🧑💻は「出力言語」の節を1文に畳みました。5日後の9月17日、裏の処理の完了通知を受けた後の短い返信が英語になりました。そこで、場面を列挙した独立の節に戻しています。
ここからの学びは、言語の指示は「短くしても伝わる」わけではなかったということです。指示ファイルは肥大化させないほうがよいのですが、言語の節だけは、場面を並べた形のまま残す価値があると判断しました。
3段目:それでも英語が混ざるならStopフックで止める
独立の節に戻した後も、英語の返信はゼロにはなりませんでした。2026年10月8日〜9日、1つのセッションで最終報告と完了通知後の返信が3回英語になりました。そこで10月9日、指示を書き足すのではなく、仕組みで止める形を足しました。
使ったのはhooks(フック)のうち、Stopフックです。Stopフックは、Claude Codeが返事を終えようとするときに動くチェックで、公式ドキュメントでは、フックが「止める」と返すとClaudeは終わらずに作業を続け、止めた理由がClaudeに渡されると説明されています。
みやっち🧑💻のフックの判定は、言葉にすると次の4つです。
- このターンの返事から、コードの部分・`(バッククォート)で囲んだコマンドやファイル名・リンク先・URL・ファイルの場所を取り除く
- 残った文の中に、日本語が1字も無く、アルファベット30字以上・5語以上の行があれば止める
- 止めたら、日本語の無い英語だけの文があるので日本語で書き直して出し直すように、という趣旨の理由を、該当の文を例に添えて返す
- 一度止めて出し直させた後は、もう止めない
4つ目は、止め続けて抜け出せなくなるのを防ぐためです。公式ドキュメントにも、フックによって作業を続けている最中かを示す項目(stop_hook_active)があり、解決しない条件で止め続けないよう確かめることが書かれています。英語の機能名だけの短い行のように、製品名だけで終わる行は2つ目の条件に届かないので通ります。
導入前に、過去の返信186件で試した
止める仕組みは、誤って日本語の返事まで止めると、毎回の作業が出し直しで遅くなります。そこで導入前に、英語が出た同じセッションの返信186件にこの判定をかけました。止まったのは11件で、11件すべてが実際に英語で書かれた返信でした。日本語の返事を誤って止めたものはありませんでした。
フックの本体は、みやっち🧑💻が複数のMacで共有している設定のリポジトリに置き、インストール用のスクリプトで各Macの設定に登録しています。1台で直して終わりにせず、どのMacで作業しても同じチェックが効く状態にしました。
3段を並べると、役割はこう分かれる
| 段 | 置き場所 | 効き方 | 向いている状態 |
|---|---|---|---|
設定 language | ~/.claude/settings.json | 既定の言語をClaudeへの指示として渡す | まず日本語で返してほしい |
| CLAUDE.md | ~/.claude/CLAUDE.md | 英語になりやすい場面まで指示する | 節目だけ英語になる |
| Stopフック | 設定ファイルのhooks | 英語だけの文を検知して出し直させる | 指示を書いても混ざる |
1段目と2段目は、どちらも「お願い」です。3段目だけが、返事の中身を見て止める「点検」になります。お願いを重ねても残る数回を点検で拾う、という分担です。
指示を足しても直らない癖を、点検の仕組みに置き換えて自分の環境を整えていく。みやっち🧑💻にとって日本語の返事はその一例で、指示を書き足し続けるより、点検を1つ置くほうを選びました。
よくある質問
画面のメニュー表示も日本語になりますか?
公式ドキュメントの説明では、language の対象は返事・音声入力の言語・自動でつくセッション名で、画面のメニュー表示を日本語にするとは書かれていません(2026年10月時点)。この記事で扱っているのは、Claudeの返事を日本語にする方法です。
Codexでも同じことができますか?
Codexでは、CLAUDE.mdの代わりにAGENTS.mdという指示ファイルを読みます。日本語で返す指示の書き方は同じ考え方で使えます。2つのファイルの違いはAGENTS.mdとCLAUDE.mdの違いにまとめました。
ターミナルで日本語を入力するとずれるのも、この方法で直りますか?
この記事の3段は、Claudeの返事の言語を揃えるためのものです。ターミナルで日本語を入力するときの表示のずれは別の問題で、この3段では扱っていません。
自分の困りごとを、指示と仕組みでClaude Code・Codexに任せられる形に整えていく。その最初の一歩を知りたい方は、まず無料セミナーでお会いしましょう。




