「日本語で質問しているのに、返事だけ英語で返ってくる」 「漢字変換を確定しようとEnterを押したら、書きかけの指示が送信されてしまった」
Claude Codeを日本語で使い始めた人が最初にぶつかるのが、この2つの悩みです。Windowsならさらに「画面の日本語が文字化けする」も加わります。
この記事では、応答を日本語に固定する公式設定(settings.jsonのlanguage設定)と、日本語入力・文字化けトラブルの実践的な直し方を解説します。ネット上には「Claude Codeに公式の言語設定はない」という前提の解説や、書いても効かない設定手順が残っていますが、本記事に載せた設定はすべて公式ドキュメントの原文と公式の設定スキーマで確認したものだけです。Windowsの文字化け解消は手元の実機(Claude Code v2.1.205/Windows 11)で動作を検証しています。
- 応答を日本語に固定する公式設定
"language": "japanese"の正しい書き方 - 変換確定のEnterで送信されてしまう問題の回避策(Ctrl+J・キー割り当て変更)
- Windowsの文字化けを
chcp 65001で直す手順と、恒久設定にひそむ罠 - 日本語版公式ドキュメントの場所と、英語版との差の実態
- 「日本語はトークンを多く消費する?」への正確な答え
Claude Codeは日本語で使える?結論と3つのポイント
Claude Codeは、特別な設定をしなくても日本語で使えます。日本語で指示すれば日本語で応答します。ただし応答言語を日本語に固定するには、設定ファイルに "language": "japanese" と書くのが公式の方法です(2026年8月時点)。
設定なしでも日本語は通じる(ただし応答が英語に揺れることがある)
Claude Codeの頭脳は、Anthropic社のAIモデル「Claude」です。Claude自体が日本語に対応しているため、インストール直後から日本語で会話できます。Claude Codeがどんなツールかをまだつかめていない方は、先にClaude Codeとはからどうぞ。
一方で、「最初は日本語で返っていたのに、使っているうちに英語で返ってくるようになった」という声は利用者からよく挙がっています。公式ドキュメントにこの現象についての説明は見当たりませんが(2026年8月時点で主要ページを確認)、次章の言語設定を入れておくと応答言語が安定します。
日本語にできるのは「応答」。UIそのものは日本語化できない
「日本語化」という言葉で期待しがちなのが、メニューやエラーメッセージまで日本語になることです。結論から言うと、Claude CodeのUI(メニュー・確認プロンプト・エラー文言)を日本語化する設定は、2026年8月時点で存在しません。公式の設定スキーマ142項目と環境変数321項目を確認しましたが、UI言語を切り替える項目はありませんでした。
日本語にできるのはClaudeの応答です。操作画面は英語のまま、会話は日本語、という形が現在の仕様です。
つまずきやすい3つの症状(早見表)
| 症状 | 主な原因 | 対処(本記事で解説) |
|---|---|---|
| 応答が英語で返ってくる・途中から英語になる | 言語設定をしていない | language設定(次章) |
| 変換確定のEnterで送信されてしまう | IMEの確定キーと送信キーの衝突 | Ctrl+J・キー割り当て変更 |
| 日本語が文字化けする(Windows) | コードページ932(Shift_JIS) | chcp 65001+エンコーディング設定 |
まだインストールが済んでいない方は、始め方ガイドでセットアップを済ませてから戻ってきてください。
【最短1分】応答を必ず日本語にする公式設定
settings.jsonに "language": "japanese" と書く
Claude Codeには、応答言語を指定する公式の設定項目 language があります。公式ドキュメントの設定リファレンスに次のように記載されています。
language— Claude の優先応答言語を構成します(例:"japanese"、"spanish"、"french")。Claude はデフォルトでこの言語で応答します。また、音声ディクテーション言語も設定します。v2.1.176 以降、設定されていない場合、セッションタイトルは会話の言語と一致します (出典:Claude Code公式ドキュメント「設定(Settings)」日本語版)
書き方はこれだけです。
{
"language": "japanese"
}
ファイルの場所は ~/.claude/settings.json(Windowsでは通常 C:\Users\ユーザー名\.claude\settings.json)です。すでに他の設定が書いてある場合は、いちばん外側の { } の中に "language": "japanese", の行を追加します。値は "japanese" のように英語の言語名で書きます("日本語" とは書きません)。
この設定は公式ドキュメントだけでなく、Claude Codeの設定ファイル用に公開されている公式JSONスキーマにも language として定義されており、例示値はまさに "japanese" です。応答言語のほか、音声入力(ディクテーション)の言語と、自動生成されるセッションタイトルにも反映されます。
どのファイルに書く?3つの置き場所と使い分け
Claude Codeの設定ファイルは、置き場所によって適用範囲が変わります。
| 置き場所 | ファイル | 適用範囲 |
|---|---|---|
| ユーザー設定 | ~/.claude/settings.json |
自分のPCの全プロジェクト |
| プロジェクト設定 | プロジェクト直下の .claude/settings.json |
そのプロジェクト(Gitでチーム共有) |
| ローカル設定 | プロジェクト直下の .claude/settings.local.json |
そのプロジェクトで自分だけ |
個人利用なら、ユーザー設定に書いておけばすべてのプロジェクトで日本語になります。同じ項目が複数の場所にある場合は、公式の優先順位(ローカル > プロジェクト > ユーザー)で上書きされます。会社支給のPCなどでは、さらに上位の「管理者設定(managed settings)」がすべてに優先します。
CLAUDE.mdに書く方法との違い
多くの解説記事が案内しているのは、プロジェクトの指示書ファイル「CLAUDE.md」に「日本語で応答してください」と書く方法です。CLAUDE.mdはClaude Codeが起動時に読み込むメモファイルで、公式ドキュメントには、作業フォルダから上位のフォルダへ順にたどって CLAUDE.md を探して読み込むと説明されています。
この方法も機能しますが、言語の固定が目的なら language 設定の方が向いています。3つの方法を比べると次のとおりです。
| 方法 | 適用範囲 | 手間 | 向いている用途 |
|---|---|---|---|
language設定 |
設定ファイルの範囲に従う(全プロジェクト共通も可) | 初回に1行 | 応答言語の固定(本命) |
| CLAUDE.mdに書く | そのプロジェクト | ファイル作成・記述 | 用語や方針など、言語以外の指示とまとめて管理 |
| 毎回「日本語で」と頼む | その会話だけ | 毎回 | お試し利用 |
CLAUDE.mdの指示は、他の指示や長い会話に埋もれて途中から英語に戻ることがあるという利用報告があります。language は設定ファイルの項目としてセッションのたびに適用されるため、言語は language 設定で固定し、CLAUDE.mdにはプロジェクト固有の指示を書く、という役割分担がおすすめです。
【注意】「preferencesセクションに書く」は効きません
「settings.jsonのpreferencesセクションに日本語で応答する旨を書く」と案内する解説が存在しますが、公式の設定スキーマ(2026年8月時点・142項目)にpreferencesというキーはありません。しかもClaude Codeは設定ファイルに未知のキーがあってもエラーを出さない仕様のため、書いても黙って無視されるだけで、失敗したことに気づけません。応答言語の設定はlanguageキーが正解です。
古い記事の claude config コマンドは現行版では使えない
claude config set -g ... のようなコマンドで設定する手順が載っている記事もありますが、手元のv2.1.205で確認したところ、現行のClaude Codeに config サブコマンドは存在せず、--language のような起動オプションもありません。セッション内には /config という設定画面もありますが、言語設定は本章のとおり設定ファイルへの記述で行うのが確実です。
日本語入力のコツ|変換確定のEnterで送信されてしまう問題
日本語での利用で最大のストレスが、漢字変換を確定するEnterで書きかけのメッセージが送信されてしまう現象です。GitHubには日本語や韓国語などのIME(文字入力ソフト)に関する不具合報告・要望が12本以上登録されている、実在の頻出トラブルです(2026年8月時点)。一方で、公式ドキュメントにIMEや日本語入力についての説明は見当たりません(主要ページを確認)。ここでは現時点で取れる回避策を、手軽な順に紹介します。
なぜ起きる?変換確定のEnterと送信のEnterの衝突
日本語入力では、漢字変換の確定にEnterキーを使います。一方、Claude CodeはEnterをメッセージ送信に割り当てています。環境によってはこの2つが衝突し、変換を確定したつもりのEnterが送信として処理されて、途中まで書いた指示が送られてしまいます。
いますぐできる回避策:Ctrl+Jで改行する(全ターミナル対応)
公式ドキュメントには、設定なしで使える改行方法が明記されています。
Enter キーを押すとメッセージが送信されます。送信せずに改行を追加するには、Ctrl+J を押すか、
\を入力してから Enter キーを押します。どちらもセットアップなしですべてのターミナルで機能します。 (出典:Claude Code公式ドキュメント日本語版)
長い日本語の指示を書くときは、文の区切りでCtrl+Jを押して改行しながら書き、最後に全体を確認してからEnterで送信する流れにすると、変換確定で誤送信してもダメージが小さくなります。
設定変更もインストールも不要で、今日からすべてのターミナルで使えます。後述のキー割り当て変更を試すのは、Ctrl+Jで運用してみて、それでも誤送信が減らない場合で遅くありません。
Shift+Enterで改行できるターミナル・できないターミナル
Shift+Enterでの改行は、使っているターミナルによって対応が分かれます。公式ドキュメントの整理は次のとおりです。
| ターミナル | Shift+Enterでの改行 |
|---|---|
| Windows Terminal・iTerm2・Ghostty・Kitty・WezTerm・Warp・Apple Terminal | 設定不要で使える |
| VS Code・Cursor・Devin Desktop・Alacritty・Zed | /terminal-setup を1回実行すると使える |
| gnome-terminal・JetBrains系IDE(PyCharmなど) | 使えない(Ctrl+J か \+Enter を使う) |
VS Code系のターミナルを使っている場合は、Claude Codeのセッション内で /terminal-setup を実行すると、Shift+Enter用のキー設定が書き込まれます(成功すると「Installed VSCode terminal Shift+Enter key binding」と表示されます)。tmuxやscreenの中ではなく、ホストのターミナルで実行するよう公式が注意しています。
【上級】keybindings.jsonでEnterの役割を入れ替える
Claude Codeはキー割り当ての変更に対応しています。公式ドキュメントには、chat:newline(改行・初期値Ctrl+J)と chat:submit(送信・初期値Enter)のアクションを割り当て直せば、「Enterで改行・Shift+Enterで送信」という動作に入れ替えられると明記されています。
セッション内で /keybindings を実行すると、設定ファイル ~/.claude/keybindings.json が作成されて開きます。書式の例は次のとおりです(Ctrl+Xにも改行を割り当てる例)。
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+x": "chat:newline"
}
}
]
}
- Ctrl+Mを代わりのキーにしない:ターミナルの仕組み上、Ctrl+MはEnterと同じ信号を送るため、公式が再割り当て不可のキーとしています
- デスクトップアプリでは効かない:keybindings.jsonがデスクトップアプリで無視される不具合が報告されています(Issue #25087・2026年8月時点で未解決)。この方法はターミナル(CLI)専用と考えてください
- Vimモード使用時は挙動が違う:INSERTモードのEnterは標準のVimと異なり送信になります。改行はNORMALモードの
o/OかCtrl+Jを使います
公式の恒久対応はまだ|CLI・VS Code拡張・アプリで症状は別物
「Enterで送信されない設定を標準で用意してほしい」という要望は、GitHubのIssue #74655(Enterを改行、修飾キー+Enterを送信にする選択式の提案)に集約されていますが、2026年8月時点で公式の恒久対応は実装されていません。当面は前述の回避策で付き合うことになります。
もう1つ知っておきたいのは、IME関連の不具合報告には、ターミナル版(CLI)のものと、VS Code拡張・デスクトップアプリ・iOSアプリ・ブラウザ版のものが入り混じっているという点です。同じ「変換確定で送信される」症状でも、どの画面で起きているかによって原因も対処も異なります。本章の回避策(Ctrl+J・keybindings.json)はターミナル版のためのもので、VS Code拡張やデスクトップアプリ側の不具合は、それぞれのIssueの修正を待つ形になります。
Windowsで日本語が文字化けするときの直し方【実機検証】
原因はコードページ932(Shift_JIS)
日本語版Windowsのコンソールは、既定の文字コード(コードページ)がUTF-8ではなく932(Shift_JIS)です。手元のWindows 11(PowerShell 5.1)での確認結果がこちらです。
> chcp
現在のコード ページ: 932
> [Console]::OutputEncoding.WebName
shift_jis
Claude CodeはUTF-8で文字を出力するため、受け取る側がShift_JISのままだと日本語が化けます。Windows Terminalを使っていても、これは中で動くPowerShell側の設定なので、別途対処が必要です。
その場で直す:chcp 65001とエンコーディング設定
PowerShellで次の2行を実行します。
chcp 65001
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
実機で設定前後を比較したところ、設定後は日本語(あア亜)だけでなく、Claude Codeの画面が多用するチェック記号(✔ ✘)や罫線(─│┌)まで正常に表示されることを確認できました。この設定は今開いているウィンドウ限りで、閉じると元に戻ります。
恒久的に直す:PowerShellプロファイルに書く(OneDriveの罠に注意)
毎回実行するのは面倒なので、PowerShellの起動時に自動で読み込まれるプロファイルに、先ほどの2行を書いておきます。
- PowerShellで
$PROFILE.CurrentUserAllHostsを実行し、プロファイルのパスを確認する notepad $PROFILE.CurrentUserAllHostsで開く(ファイルがない場合は新規作成するか聞かれます)- 先ほどの2行を貼り付けて保存し、PowerShellを開き直す
パスをコマンドで確認してもらうのには理由があります。手元の環境で実測したところ、プロファイルのパスは次の場所でした。
C:\Users\ユーザー名\OneDrive\ドキュメント\WindowsPowerShell\profile.ps1
Windows 11では「ドキュメント」フォルダがOneDrive同期の対象になっている環境が多く、その場合プロファイルの実体はOneDrive配下に置かれます。解説記事に書かれたパスをそのままコピーしても、自分の環境では別の場所ということが起こりがちです。必ず$PROFILE.CurrentUserAllHostsで自分のパスを確認してください。文字コード問題を直すための設定ファイルのパス自体に日本語(ドキュメント)が含まれる、という点も頭の片隅に置いておきたいところです。
VS Code系ターミナルの「四角・にじみ」は別の原因(GPUレンダラ)
同じ文字化けでも、文字が四角になる・にじむ・崩れた字形になる症状は原因が別です。公式のトラブルシューティングには、VS Code・Cursor・Devin Desktopの統合ターミナルでこの症状が出る場合はターミナルのGPUレンダラが原因の可能性が高く、Claude Code内で /terminal-setup を実行してGPUアクセラレーションをオフ(terminal.integrated.gpuAcceleration を "off")にするよう案内があります。
| 症状 | 原因 | 対処 |
|---|---|---|
| 日本語が「?」や別の文字に置き換わる | コードページ932(シェル側の文字コード) | chcp 65001+エンコーディング設定(本章前半) |
| 文字が四角・にじみ・崩れた字形になる(VS Code系) | 統合ターミナルのGPUレンダラ | /terminal-setup(公式トラブルシューティング記載) |
Git Bashで使うという選択肢
公式のインストール案内には、WindowsではGit for Windowsの導入が推奨と記載されています(Claude CodeがBashツールを使えるようにするため)。Git for Windowsに付属するGit BashはUTF-8前提で動作するため(手元の環境でも確認)、PowerShellの文字コード設定を触りたくない場合は、Git BashからClaude Codeを起動する方法もあります。
日本語プロンプトのコツと英語との使い分け
設定が済んだら、あとは日本語でどう指示するかです。基本の操作やプロンプトの組み立ては使い方マスターガイドで詳しく扱っているので、ここでは日本語利用に特有のポイントに絞ります。
指示・相談は日本語で問題ない
「英語で書かないと精度が落ちるのでは」と身構える必要はありません。要件の説明、実装の相談、コードレビューの依頼といったやり取りは日本語で十分に伝わります。あいまいな英語で書くより、自分が正確に書ける言語で具体的に伝える方が結果に効きます。
エラーが出たときは、英語のエラーメッセージを翻訳せずそのまま貼り付けてください。原文のままの方が、Claudeが手がかりを正確に受け取れます。
名前に使う文字は半角英数字に寄せる
変数名・関数名・ファイル名・作業フォルダ名は半角英数字にしておくのが無難です。プログラミングの一般的な慣習に合いますし、この記事で扱ってきたような文字コードまわりのトラブルの火種も減らせます。日本語は指示と説明に使い、コードの中身と名前は英語、という分担が実用的です。
文体まで固定したいならoutput styles
「常に日本語で、です・ます調で、専門用語には注釈を付けて」のように応答の文体まで指定したい場合は、output styles(出力スタイル)という公式機能が使えます。公式ドキュメントは、output stylesを「Claudeの応答の仕方を変えるもので、知識を変えるものではない」と説明しています。
セッション内で /config を開いて「Output style」を選ぶと切り替えられ、組み込みでExplanatory(解説多め)・Learning(学習向け)などが用意されているほか、Markdownファイルで自作もできます。応答言語の固定だけなら language 設定で足りるので、文体の作り込みが必要になったときの選択肢として覚えておけば十分です。なお、Claudeに作業の手順やノウハウを覚えさせる仕組みとしてはSkillsもあります。
日本語だとトークンを多く消費する?
「何倍」という公式の記述はない
この話題では「日本語は英語の◯倍消費する」と具体的な倍率を挙げる解説を見かけますが、確認したかぎり、その数字の出典は見つかりませんでした。Anthropicの公式ドキュメントにも、日本語のトークン消費が英語の何倍にあたるという記述はありません(2026年8月時点で確認)。
トークンの数え方(トークナイザー)はモデルごとに異なるため、一律の倍率で語れるものではない、というのが正確なところです。正確な数字が必要な場合は、Anthropicが提供する公式のトークン計測API(count_tokens)で、使うモデルを指定して実測するのが確実な方法です。
/contextと/usageで自分の消費を確認する
日常の利用では、APIで測るよりセッション内のコマンドで足ります。/context でいま何がコンテキスト(Claudeの作業記憶)を占めているか、/usage でプランの利用量を確認できます(2026年8月時点の仕様)。「日本語だから」と身構えるより、実際の消費を見ながら、作業の区切りで新しいセッションに切り替える運用の方が効果的です。
トークン消費と料金の関係、プランごとの上限の考え方は料金プランで詳しく解説しています。
Claude Codeの日本語ドキュメントはどこにある?
code.claude.com/docs/ja/ で読める
公式ドキュメントには日本語版があります。入口は https://code.claude.com/docs/ja/overview で、英語版URLの en の部分を ja に変えると、対応する日本語ページが開きます。
【注意】英語版より情報が少ない箇所がある(2026年8月12日実測)
ただし、日本語版は英語版に完全には追いついていません。2026年8月12日に英語版と日本語版のドキュメントを機械的に突き合わせたところ、次の差がありました。
- 日本語トップページのインストール手順の一部が英語のまま
- 設定リファレンス:英語版203項目に対し日本語版177項目。英語版にしかない設定項目が26件
- 環境変数リファレンス:英語版321項目に対し日本語版295項目。英語版にしかない環境変数が27件(逆に日本語版だけに残っている項目も1件あります)
普段読むぶんには日本語版で問題ありませんが、新しい設定項目や最新機能を調べるときは英語版を確認することをおすすめします。この記事で紹介した language のような設定まわりは、更新の速い領域です。
Anthropic公式のドキュメント検索用MCPサーバー(Claude Code Docs)を追加しておくと、「この設定の正確な仕様を公式ドキュメントで調べて」とClaude自身に一次情報を確認させられます。追加は認証不要でコマンド1行です。
導入手順はMCPの設定方法で解説しています。
よくある質問(FAQ)
あります。設定ファイル(~/.claude/settings.jsonなど)に"language": "japanese"と記述すると、Claudeが日本語で応答するようになります。Anthropic公式ドキュメントに記載された正式な設定項目で、音声入力の言語や自動生成されるセッションタイトルにも反映されます。
なりません。language設定で日本語になるのはClaudeの応答だけで、UI(メニュー・確認プロンプト・エラー文言)を日本語化する設定は2026年8月時点で提供されていません。
送信せずに改行するには、Ctrl+J(または\を入力してからEnter)を使ってください。どちらも設定不要で、すべてのターミナルで機能すると公式ドキュメントに明記されています。Enter自体の役割を変えたい場合は、セッション内で/keybindingsを実行し、chat:submitとchat:newlineの割り当てを変更できます(ターミナル版限定。デスクトップアプリでは反映されない不具合が報告されています)。
日本語版Windowsのコンソールは既定の文字コードが932(Shift_JIS)で、UTF-8ではないことが主な原因です。PowerShellでchcp 65001と[Console]::OutputEncoding = [System.Text.Encoding]::UTF8を実行すると、日本語も記号も正常に表示されます(実機で確認済み)。毎回の実行が面倒な場合は、$PROFILE.CurrentUserAllHostsで確認できるパスのプロファイルに同じ2行を書いておきます。
「英語の何倍」という具体的な数値は、Anthropicの公式ドキュメントには記載されていません。トークン数はモデルごとに異なるため、正確に知るには公式のcount_tokens APIで実測する必要があります。セッション中の消費は/contextや/usageで確認できます。
まとめ|まずはlanguage設定とCtrl+Jから
- 応答の日本語固定は
~/.claude/settings.jsonに"language": "japanese"と書く(公式ドキュメントと公式スキーマの両方で確認済み) - 「preferencesセクションに書く」は公式スキーマに存在せず、エラーも出ないまま無視される
- 変換確定のEnter誤送信にはCtrl+Jが即効。公式の恒久対応は2026年8月時点で未実装
- Windowsの文字化けは
chcp 65001+エンコーディング設定で解消。恒久化はプロファイルへ(パスは$PROFILE.CurrentUserAllHostsで確認) - 日本語ドキュメントは
docs/ja/にあるが、新しい設定を調べるときは英語版を確認する
日本語まわりの困りごとは種類こそ多いものの、対処はどれもシンプルです。設定ファイルに1行書いて応答を日本語に固定し、改行はCtrl+J、Windowsなら文字コードをUTF-8に。この3点がそろえば、日本語での作業はぐっと快適になります。
設定が終わったら、使い方マスターガイドで日々の使いこなしに進んでください。