Claude Codeは日本語で指示すれば日本語で答えますが、長い作業の途中やエラー解析のあとで英語に戻ることがあります。確実に日本語へ固定するには、v2.1.0で追加された language 設定と、CLAUDE.mdに書く日本語のルールを組み合わせます。この記事では、language が効く範囲と設定ファイルの置き場所、日本語のコメント・コミットメッセージを指定する書き方、コミットの署名を外す attribution、日本語入力(IME)の不具合とWindowsの文字化けの対処を、2026年10月22日時点の最新版v2.1.308と公式ドキュメントに沿って整理しました。
まとめ|Claude Codeを日本語に固定する設定と置き場所の結論
応答を日本語にするだけなら、~/.claude/settings.json に "language": "japanese" を1行足せば足ります。同じ値は音声入力と自動生成のセッションタイトルにも効く仕組みです。コードコメントやコミットメッセージまで日本語にしたい場合は、それとは別にCLAUDE.mdへルールとして書きます。
チームで使うなら、language は各自のユーザー設定に置き、日本語のコミット規約はリポジトリのCLAUDE.mdで共有するのが扱いやすい分担です。入力でつまずいたら、まず claude -v で版を確かめ、古ければ更新してから設定を疑ってください。
Claude Codeの日本語対応の範囲とlanguage設定が効く場所
設定を入れる前に、何もしなくても日本語になる部分と、設定しないと英語のままの部分を分けておきます。
日本語の指示には日本語で返す既定動作と英語が混ざりやすい3つの場面
何も設定しなくても、日本語で話しかければ多くの場合そのまま日本語で返ってきます。英語が混ざりやすいのは、会話の中で英語の文章が多数を占める場面です。英語のエラーログやスタックトレースを大量に読ませた直後、英語のREADMEやコードを要約させたとき、英語で書かれたスキルやサブエージェントの出力を受け取ったときが典型です。
公式ドキュメントは、この揺れを抑える手段として応答言語を指定する設定を用意しています。都度「日本語で」と書き足す運用では漏れが出るため、次に説明する設定で固定します。
v2.1.0で追加されたlanguage設定が応答・音声入力・タイトルに効く範囲
公式のCHANGELOGによると、language はv2.1.0で「Claudeの応答言語を設定する」ために追加されました。設定リファレンスの定義では、値は「常にその言語で応答する」という指示としてClaudeにそのまま渡されます。
同じ値が効く場所は3つです。
- Claudeのテキスト応答(言語名に固定の一覧はなく、Claudeが読める言語名なら機能する)
- 音声入力(対応は日本語を含む20言語。空なら英語で文字起こし)
- 自動生成されるセッションタイトル(未設定なら会話の言語に合わせる。v2.1.176以降)
逆に、メニューや確認ダイアログなど画面の表示文言を日本語に切り替えるキーは、設定リファレンスに見当たりません。日本語になるのはClaudeが書く文章で、Claude Code自体の表示は英語のままと考えてください。音声入力の細かい設定はClaude Codeの音声入力(/voice)の使い方で扱っています。
公式ドキュメント日本語版の所在と設定前に英語版で確かめるべき箇所
公式ドキュメントは https://code.claude.com/docs/ja/ 以下に日本語版があり、概要ページから全体をたどれます。URLの /ja/ を /en/ に替えると英語版です。
日本語版は英語版の翻訳で、訳語が直訳調の箇所があります。たとえば language の既定値は英語版の「unset」が「設定解除されています」と訳されています。キー名・値の型・必要な版のように1文字違うと動かない情報は、英語版で確かめてから設定ファイルに書くのが確実です。
language設定を入れる手順とsettings.jsonの置き場所の選び方
入れ方は2通りあり、どちらも結果は同じ設定ファイルに書かれます。
/configのLanguage項目とsettings.jsonへの直接記述の2つの方法
ターミナル版なら、セッション中に /config を開いてLanguageを選ぶ方法がいちばん手早いです。ファイルを直接編集する場合は、ユーザー設定に次のように書きます。Windowsでは ~/.claude は %USERPROFILE%\.claude を指します。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"language": "japanese"
}
値は "japanese" のような言語名でよく、音声入力側は "ja" のような言語コードも受け付けます。設定ファイルはコメントや末尾のカンマを許さない厳密なJSONです。/config はVS Codeのチャットパネルとデスクトップアプリでは開けないため、そこから使う人はファイルを編集してください。拡張の導入はClaude Code for VS Codeの使い方にまとめています。
ユーザー・共有プロジェクト・ローカル・管理設定から置き場所を決める
language はどの設定ファイルにも書けます。どこに置くかで、誰に効くかが変わります。設定ファイルと優先順位に沿って整理すると次のとおりです。
| 優先度 | ファイル | 効く範囲 | languageを置く判断 |
|---|---|---|---|
| 1(最上位) | 管理設定 | 組織が配布した全端末 | 社内が日本語話者だけのときのみ |
| 2 | 起動時の –settings | そのセッションだけ | 一時的な切り替えに使う |
| 3 | settings.local.json | 自分の、そのプロジェクトだけ | 共有設定を自分だけ上書きするとき |
| 4 | settings.json(リポジトリ) | リポジトリを使う全員 | 原則置かない |
| 5 | settings.json(ホーム) | 自分の全プロジェクト | まずここに置く |
3と4はプロジェクトの .claude フォルダ、5はホームの ~/.claude フォルダに置くファイルです。同じキーは上位の値が勝ちます。共有プロジェクト設定に language を入れると、ユーザー設定で英語を選んだメンバーも日本語の応答になり、変えるにはローカル設定で上書きするしかありません。もう1つの落とし穴がクラウドセッションです。Web版などクラウドで動くセッションはユーザー設定もローカル設定も読まないため、手元で日本語になっていても、クラウドでは英語で返ってくることがあります。
綴りの誤りがエラーにならない仕様と/statusでの読み込み確認
設定リファレンスには、Claude Codeは language の値を検証しないと書かれています。"japanes" と綴りを誤っても起動時のエラーにはならず、誤った綴りのままClaudeへの指示として届く仕様です。テキスト応答は推測で日本語になることがあっても、音声入力は対応一覧に無い値として英語に戻り、/voice の有効化時に警告が出ます。
書いたあとはセッション内で /status を開き、Setting sourcesの行に編集したファイル(User settingsなど)が並んでいるかを見ます。この行はどのファイルを読んだかを示すだけで、どのキーがどこから来たかまでは出ません。JSONの書き損じで読み飛ばされた項目は claude doctor で一覧できます。
CLAUDE.mdで日本語のコメント・コミット・ドキュメントを指定する書き方
language が決めるのは応答の言語です。コードコメント、コミットメッセージ、READMEをどの言語で書くかは、CLAUDE.mdで指示します。
個人用とプロジェクト用のCLAUDE.mdに書く日本語ルールと配置例
CLAUDE.mdの公式ガイドでは、個人用は ~/.claude/CLAUDE.md、チームで共有するものはリポジトリの ./CLAUDE.md か ./.claude/CLAUDE.md、自分だけのプロジェクト用は ./CLAUDE.local.md に置きます。読み込み順は広い範囲から狭い範囲で、プロジェクトの指示は個人の指示のあとに入ります。
# 言語のルール
- ユーザーへの説明・作業報告・エラーの説明は日本語で書く
- コード内のコメントは日本語で書く。変数名・関数名は既存の命名規則に従う
- コミットメッセージは日本語で、1行目に変更内容と目的を50字以内で書く
- README・設計メモなどのドキュメントは日本語で書く
- 外部APIやライブラリの仕様で英語が必要な箇所(設定キー・ログの定型文など)は英語のままにする
「日本語で答えて」の1行だけでは、コメントやコミットは英語のまま残りやすいので、対象ごとに書き分けます。最後の例外の行は、英語であるべきJSONのキーやHTTPヘッダ名まで訳されるのを防ぐための保険です。CLAUDE.mdの書き方全般とrulesの分け方はClaude Codeの使い方|インストールから権限・CLAUDE.md設定までで扱っています。
日本語コミットとattributionで署名を外すsettings.jsonの設定
Claude Codeはコミットに Co-Authored-By のトレーラー、プルリクエストの本文に「Generated with Claude Code」の行を既定で付けます。社内規約で署名を残さない場合は、attribution設定で消します。
{
"attribution": {
"commit": "",
"pr": "",
"sessionUrl": false
}
}
"attribution": false と書けば一括で消せますが、これはv2.1.281以降の書き方です。それより前の版はこの値を受け付けず、その設定ファイル全体を読み飛ばします。版がそろっていないチームでは、上の例のように空文字列と false で書いてください。旧キーの includeCoAuthoredBy はv2.0.62から非推奨で、attribution の commit か pr を設定すると無視されます。
公式リファレンスには、CLAUDE.mdに書いた署名についての指示がこの設定より優先されるとも書かれています(管理設定で指定した場合を除く)。日本語コミットの規約と署名の扱いを、同じCLAUDE.mdにまとめて書いておけば整合が取れます。
languageとCLAUDE.mdの指示が食い違うときの挙動と点検方法
公式ガイドは、2つの指示が矛盾するとClaudeがどちらかを任意に選ぶことがあると明記しています。language を日本語にしたまま、英語のOSSから持ってきたCLAUDE.mdに「Respond in English」が残っていると、応答が日によって揺れます。
点検はセッションで /doctor prompt-audit を実行すると、Claudeが指示ファイルの古い記述や矛盾を洗い出します。CLAUDE.mdは @path/to/file で別ファイルを取り込めるため、取り込み先に英語の指示が紛れていないかも対象に入れてください。会話から自動で記録されるAuto Memoryにも言語の好みが残る場合があり、保存場所と無効化はClaude Code Auto Memoryとはで確認できます。
日本語入力・文字化けの不具合とWindows環境で先に確かめる対処
応答の言語とは別に、ターミナルで日本語を打つときの不具合があります。報告の多くは版の更新で解消済みです。
IMEの変換位置ずれや入力不能など2026年のGitHub報告と状態
Claude CodeのリポジトリにはIMEに関する報告が多数あります。日本語に関係する主なものを、2026年10月22日時点の状態で並べました。
| Issue | 症状 | 状態 |
|---|---|---|
| #22853 | 日本語・中国語などのIME入力で文字が欠ける | 2026-02-06に完了で終了 |
| #19207 | 変換候補がカーソル位置に出ない | 2026-02-06に完了で終了 |
| #71495 | 新しいMicrosoft IMEで日本語が入らない | 2026-06-26に完了で終了 |
| #89186 | 全角入力中にカーソル表示がずれる | 対応予定なしで終了 |
| #101657 | 音声入力中にIMEで打つと二重送信 | 未解決 |
#71495はWindows 11のターミナル、#101657はmacOSのデスクトップアプリでの報告です。#71495の報告者は、Windowsの設定で「以前のバージョンのMicrosoft IMEを使う」に切り替えると入力できたと書いています。古い版のまま同じ症状が出るなら、claude update で更新するのが先で、IMEの切り替えは更新しても直らないときの回避策です。#89186は表示だけのずれで、Enterを押すと正しい位置に戻り、送信される文字列は正しいと報告されています。
Windows PowerShell 5.1でBOMなしの日本語スクリプトが壊れる原因
Windowsで日本語を扱うと、Claude Codeが作った .ps1 の日本語コメントが原因でスクリプトが誤動作することがあります。Microsoftのドキュメントによると、BOMのないUTF-8ファイルはWindows PowerShell 5.1では従来のANSIコードページ(日本語環境ではShift_JIS系)として解釈され、ASCII以外の文字が壊れます。
# 既存の .ps1 を BOM 付き UTF-8 で保存し直す(PowerShell 7 で実行)
$path = ".\deploy.ps1"
$text = Get-Content -Raw -Encoding utf8 $path
Set-Content -Path $path -Value $text -Encoding utf8BOM
根本の対策は2つあります。実行環境をPowerShell 7に寄せるか、CLAUDE.mdに「Windows PowerShell 5.1で動かす.ps1はBOM付きUTF-8で保存する」と書いておくかです。BOM付きにするとUnix系の cat や sed が扱いにくくなるため、WSLやGit Bashと共用するファイルには付けません。Windowsでの導入手順はClaude CodeをWindowsに入れる手順を参照してください。
チーム開発で日本語設定を共有する範囲とメンバーに強制しない場面の判断
個人で使うなら前章までで足ります。ここからは、複数人のリポジトリで日本語をどこまで決めるかの判断です。
個人設定に留めるlanguageとリポジトリで共有する日本語ルール
結論として、language は共有プロジェクト設定に入れません。応答の言語は読む人の都合で決まるもので、リポジトリの性質ではないからです。前述の優先順位により、共有設定に入れると各自のユーザー設定では外せなくなります。
一方、コメント・コミット・ドキュメントの言語は成果物の規約なので、リポジトリのCLAUDE.mdで共有します。人が書いても規約は同じで、Claude Codeにだけ別の規約を課す理由はありません。社内の全端末を日本語にそろえたい場合でも、管理設定で language を配るのは、利用者が日本語話者だけの組織に限ります。
英語圏メンバーとの共同開発やOSSリポジトリで日本語を指定しない条件
次の条件に1つでも当たるリポジトリでは、CLAUDE.mdで日本語を指定しません。海外の開発拠点や外部の協力会社が英語でレビューする、OSSとして公開しており外部からプルリクエストを受ける、英語のコミットログを前提にした自動リリースノートの生成がある、の3つです。この場合は日本語の指示を CLAUDE.local.md か個人の ~/.claude/CLAUDE.md に移し、応答だけを日本語にします。
反対に、国内の受託案件で発注元に引き渡す設計書やコメントが日本語と決まっているなら、リポジトリで日本語を指定するのが正解です。Skillsで定型作業を配るときも、出力言語の指示をスキル側に書いておくとぶれません(Claude Skillsの書き方)。言語規約・署名・権限の設計まで含めて、社内の開発体制にClaude Codeを組み込む段階から相談したい場合は、生成AI開発・AI受託開発で承っています。
よくある質問
Claude Codeを日本語で使うときに、検索の多い質問へ答えます。
Claude Codeは日本語の指示でも英語と同じ精度で動きますか?
日本語で指示しても、コードの読み書きやコマンド実行の流れ自体は変わりません。ただ、精度の差を日本語と英語で比べた数値を、公式ドキュメントは公表していません。誤解を減らすには、ファイル名・関数名・エラーメッセージを原文のまま書き、「何を」「どこまで」やるかを1文ずつ区切って指示するのが効きます。指示文の組み立て方は、プロンプトの基本を扱った記事も参考になります。
Claude Codeの画面やメニュー自体を日本語化できますか?
2026年10月時点の設定リファレンスに、画面の表示文言を切り替えるキーは見当たりません。language で日本語になるのは、Claudeの応答・音声入力の文字起こし・自動で付くセッションタイトルの3つです。/config や確認ダイアログの文言は英語のままなので、操作で迷う箇所は公式ドキュメントの日本語版と見比べると理解が早くなります。
languageを設定したのに英語で返ってくるのはなぜですか?
多いのは3つです。1つ目は綴りの誤りで、値は検証されないため起動時に警告が出ません。2つ目は上位の設定ファイルやプロジェクトのCLAUDE.mdに英語の指示が残っている場合で、矛盾した指示はどちらかが任意に選ばれます。3つ目はクラウドセッションで、ユーザー設定が読まれません。/status で読み込まれたファイルを確かめ、/doctor prompt-audit で指示の矛盾を探してください。
コミットメッセージだけを日本語にすることはできますか?
できます。language は応答の言語で、コミットメッセージの言語を決める設定ではありません。リポジトリのCLAUDE.mdに「コミットメッセージは日本語で書く」と書けば、応答が英語でもコミットは日本語になります。1行目の字数や「変更内容と目的を書く」といった形式も一緒に書いておけば、コミットログの粒度もそろうはずです。署名の行を消したい場合は、別途 attribution を設定します。
日本語を使うとトークンや利用上限の消費は増えますか?
同じ内容でも、言語によってトークン数は変わります。ただ、日本語と英語でClaude Codeの消費がどれだけ違うかを示した公式の数値はありません。実際の消費はセッション内の /usage(旧名の /cost でも開く)で確かめるのが確実です。消費を抑えたいなら、言語を英語に替えるより、長いログをそのまま読ませない、作業ごとに会話を区切るといった運用のほうが効きます。
関連記事
- Claude Codeとは?できること・使い方・料金:コード解析の実力と導入手順【2026年版】:Claude Code全体の機能と導入の流れです
- Claude Codeの使い方|インストールから権限・CLAUDE.md設定、初日の進め方まで:CLAUDE.mdと権限設定の書き方全般を扱います
- Claude Codeの音声入力(/voice)の使い方|日本語設定・Windows対応と読み上げ【2026年10月】:日本語の音声入力と関連不具合の修正版です
- Claude CodeをWindowsに入れる手順|ネイティブ版とWSL2の選び方・PATHとGit Bashの対処【2026年10月】:Windowsで日本語環境を整える前提の導入手順です
- プロンプトとは?生成AIへの指示文の意味と書き方・回答精度を上げる設計手法を解説:日本語の指示文を組み立てる基本です