Claude Codeを日本語で使う設定 — 回答言語・CLAUDE.md・入力の注意
Claude Codeを日本語で使う手順。language設定で回答を日本語に固定し、CLAUDE.mdでコメントやコミットの言語を決め、音声入力とIMEの注意点まで切り分けます。
Claude Codeは日本語で指示でき、日本語で返答させることもできます。返答を日本語に固定するには、設定ファイルに "language": "japanese" を1行足します。コードコメントやコミットメッセージの言語まで揃えるなら、CLAUDE.md に書きます。
この2つを分けて考えるのが要点です。language は応答の言語を決めるキーで、CLAUDE.md は日本語で何をどう書くかの運用ルールを置く場所です。なお、claude.aiのWebやアプリ側の表示言語・会話・精度についてはClaudeは日本語で使える?にまとめています。
日本語で使う方法は3つに分かれる
日本語対応と言っても、効く範囲が違う設定が3つあります。language は返答・音声入力・セッションタイトル、CLAUDE.md は成果物ごとの言語ルール、output styleは口調や返答形式です。
| やりたいこと | 使うもの | 置き場所 |
|---|---|---|
| 返答を毎回日本語にする | 使うものlanguage | 置き場所settings.json |
| コメントは日本語、変数名は英語 | 使うものCLAUDE.md | 置き場所プロジェクトまたはユーザー |
| 音声で日本語を入力する | 使うものlanguage(同じ値) | 置き場所settings.json |
| 返答の口調・長さを変える | 使うものoutput style | 置き場所/config |
languageで返答を日本語に固定する
language は、英語以外で返答させる設定です。値は言語名の文字列で、設定リファレンスの例は "japanese" です。
{
"language": "japanese"
}置き場所は ~/.claude/settings.json のようなユーザー設定でも、プロジェクトの設定ファイルでも構いません。設定リファレンスのスコープ欄は「Any file」です。設定ファイルの優先順位はClaude Code設定ガイドが詳しく、反映されないときは設定が反映されない原因の探し方で切り分けられます。
どのファイルに書くか
language はどの設定ファイルでも使えます。書き分けの基準は、日本語を誰に適用したいかです。
| 範囲 | ファイル | 向く使い方 |
|---|---|---|
| 自分の全プロジェクト | ファイル~/.claude/settings.json | 向く使い方個人の既定を日本語にする |
| チーム全員 | ファイル.claude/settings.json | 向く使い方リポジトリにコミットして、全員の返答を日本語にそろえる |
| 自分とこのプロジェクトだけ | ファイル.claude/settings.local.json | 向く使い方個人の上書き。共有前の試し書き |
個人の既定を日本語にするなら、ユーザー設定が手間の少ない置き場です。チームの成果物の言語まで統一したいときは、プロジェクトの .claude/settings.json に書いてコミットします。チームメンバーは自分の .claude/settings.local.json で個別に上書きもできます。
/config のメニューから変更することもできます。変更後は、新しいセッションで日本語の返答に切り替わったかを確かめます。
claude起動したら、日本語で「このリポジトリの構成を3行で説明して」と頼みます。返答が日本語なら設定は効いています。英語で返ってくるときは、設定ファイルの置き場所と綴りを先に疑います。
値は検証されない
Claude Codeは language の値をそのままClaudeへの指示として渡します。一覧からの選択式ではなく、読める言語名なら何でも通ります。
落とし穴
綴りを間違えてもエラーにならない
"japanese" を "japanse" と書くと、警告なしに誤った綴りのまま届きます。返答が日本語にならないときは、まず綴りを見直します。
「日本語」と書いても言語としては通じるはずですが、設定リファレンスの例は英語表記の "japanese" です。迷ったら例に合わせます。
効く範囲は返答・音声入力・セッションタイトル
設定リファレンスが挙げる language の効果は3つです。
| 対象 | 日本語にしたときの挙動 |
|---|---|
| 返答 | 日本語にしたときの挙動常に日本語で答えるよう指示される |
| 音声入力 | 日本語にしたときの挙動同じ値で認識言語が決まる(日本語は ja) |
| セッションタイトル | 日本語にしたときの挙動自動生成のタイトルが日本語になる |
未設定のときのセッションタイトルは、会話の言語に合わせられます。メニューやエラーメッセージなど画面の表示言語を切り替える項目は、設定リファレンスの language の節にも設定一覧の表にも載っていません。画面の文言が英語のままでも、設定の不具合とは限りません。
CLAUDE.mdでコメントとコミットの言語を決める
language は返答の言語を決めますが、コードに書くコメントやコミットメッセージまで保証する設定ではありません。成果物の言語は、CLAUDE.md に書いて固定するほうが確実です。
CLAUDE.md は、毎回のセッション開始時にClaudeへ渡される指示ファイルです。メモリのドキュメントでは、ユーザー単位なら ~/.claude/CLAUDE.md に置き、全プロジェクトで効く個人の好みに使うと説明されています。チームで揃えたい規約はプロジェクト側に置きます。
次のような書き方が実用的です。例として示す文面であり、公式が定めた書式ではありません。
## 言語ルール
- 会話の返答は日本語
- コードコメントとdocstringは日本語
- 変数名・関数名・ファイル名は英語(日本語を使わない)
- コミットメッセージは日本語、1行目は50字以内
- エラーメッセージ文字列は英語のまま変更しないポイントは、日本語にする範囲と英語のまま残す範囲を両方書くことです。「日本語で書いて」だけだと、識別子まで日本語になったり、既存の英語コメントが一括で書き換わったりします。規約の書き方はCLAUDE.mdの書き方にまとめています。
日本語コメントが英語に戻る現象と、識別子の日本語化で何が起きるかは、日本語コメントが英語になる原因と変数名の注意点が扱っています。
返答が急に英語になるとき
会話の途中や長いセッションで返答が英語に戻ることがあります。その原因と直し方は返信が急に英語になる原因と対処法にあります。先に language が設定ファイルに入っているか、typoがないかを見るのが最短です。
プロジェクトごとに言語を切り替える
日本語のプロジェクトと英語のプロジェクトを行き来するときは、ユーザー設定を日本語の既定にしておき、英語のプロジェクトだけ上書きします。そのプロジェクトの .claude/settings.local.json に、別の言語名を書きます。
{
"language": "english"
}同じキーが複数のファイルにあるときは、より高い階層の値が使われます。上から順に、組織の管理設定、コマンドライン、プロジェクトのローカル設定(.claude/settings.local.json)、共有のプロジェクト設定(.claude/settings.json)、ユーザー設定です。つまりローカル設定の language は、コミット済みのプロジェクト設定にもユーザー設定にも勝ちます。上書きが効かないときは、コマンドライン側や管理設定が先に決めていないかを、セッション内の /status の Setting sources で確かめます。language を消せば未設定に戻り、セッションタイトルは会話の言語に合わせられます。
口調を変えたいならoutput style
返答の長さや口調は、output styleで変えます。Conciseなら、結果から書き始め、前置きと最後の要約を省きます。ただしoutput styleは「役割・口調・返答形式」を変える仕組みで、言語を固定するものではありません。日本語の固定は language に任せ、output styleは読み味の調整に使います。
切り替え方はoutput styleを/output-styleか/configで切り替えるで、CLAUDE.md やSkillsとの違いはoutput styleとCLAUDE.md・Skillsの違いにあります。
日本語で音声入力する
音声入力の認識言語は、上で設定した language の値で決まります。日本語は対応言語に入っていて(ja)、設定は /config からでも設定ファイルでもできます。
language が空のときは英語です。VS Code拡張では、空ならVS Codeの accessibility.voice.speechLanguage が先に使われ、それも無ければ英語になります。
音声入力はCLIとVS Code拡張で使えますが、マイクはローカルのものが前提です。クラウドセッションやSSHセッションでは動きません。VS Code拡張も、SSHやDev Containers、CodespacesのようなVS Code Remoteでは使えません。/voice で音声入力を有効にすると、最初にマイクの確認が走ります。macOSでは、使っているターミナルへのマイク許可を求めるシステムのダイアログが出ます。話した内容はプロンプト欄に順次表示され、確定するまで薄く表示されます。タップモードでは、無音が15秒続くか合計2分で録音が自動的に止まります(VS Code拡張も同じ制限です)。
既定のホールドモードでは、Spaceを押している間だけ録音され、離すと文字起こしが挿入されてEnterを待ちます。/voice tap に切り替えると、1回押して録音を始め、もう1回押して送信する形になります。録音を破棄したいときは、EscかCtrl+Cで取り消せます。文字起こしは、カーソル位置に挿入されるので、手入力と混ぜて使えます。
対応外の言語名にすると、/voice を有効にした時点で警告が出て、音声入力だけ英語に戻ります。Claudeの文字の返答は影響を受けません。
日本語や中国語のようにスペースで区切らない言語では、認識結果を単語単位で数えます。3語以上の文字起こしが自動送信される条件に、タップモードと、autoSubmit 付きのホールドモードが含まれます。使い方は/voiceコマンドの解説、常時有効にする設定はvoice設定の書き方にあります。
日本語入力でつまずくとき
日本語を使ううえで多い不具合は、設定でなく環境側の問題です。症状ごとに行き先を分けます。
| 症状 | 見る場所 |
|---|---|
| 変換中に重い、変換候補が重複する | 見る場所IME入力が重い問題と対処法 |
| Windowsでhookの日本語が文字化けする | 見る場所Python hookの文字化け対策 |
| 返答が英語に戻る | 見る場所英語に戻る原因と対処法 |
| 設定したのに効かない | 見る場所設定が反映されない原因 |
| 日本語の文書を編集のたびに校正したい | 見る場所textlintで日本語の校正をhookで自動化 |
スペルチェックにも language というキーがありますが、こちらは別物です。spellcheck オブジェクトの中の language で、チェッカーに渡す辞書名(en_GB など)を指します。応答言語の language とは独立しているので、片方を変えてももう片方は変わりません。
よくある質問
画面のメニューは日本語になりますか?
language の説明にあるのは、返答・音声入力・セッションタイトルの3つです。メニューやエラーメッセージの表示言語を切り替える項目は、設定リファレンスの設定一覧に載っていません。
導入そのものはClaude Codeのインストール方法、全体像はClaude Codeとはにあります。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。