Claude CodeのmaxProseWidthで地の文の幅を制限する
ワイドターミナルで伸びきる地の文の幅をmaxProseWidthで区切る。表とコードブロックは対象外で、v2.1.282以降が対象。
maxProseWidthは地の文だけを区切る設定
maxProseWidthは、Claude Codeの応答に含まれる地の文の幅を、ターミナルの横幅とは別に指定するsettings.jsonのキーです。v2.1.282(2026年9月24日のリリース)で追加されました。
フルスクリーンや200桁を超えるワイドモニターでは、地の文が画面の端から端まで一直線に伸びます。表やコードの一覧性はそのままに、読み物の部分だけを短くするのがこの設定です。
maxProseWidthが効く範囲
指定した桁数で折り返す
段落・見出し・箇条書き・引用です。
ターミナルの全幅のまま
表とコードブロックです。maxProseWidth: 80でも、長いコード例や比較表の見た目は変わりません。
設定ファイルと値の書き方
書ける場所は、ユーザー設定の~/.claude/settings.json、共有プロジェクト設定の.claude/settings.json、プロジェクトローカル設定の.claude/settings.local.json、組織のmanaged設定の4つです。設定リファレンスの索引ではこの4つを「Any file」と呼びます。
{
"maxProseWidth": 80
}値は「ターミナルの列数」を表す整数で、最小値は40です。40未満の値や整数でない値は、Claude Codeが無視します。既定は未設定で、そのときは従来どおりターミナルの端まで伸びます。元に戻すときは、値を書き換えずにキーごと削除します。
公式の設定ガイドは、Claude Codeが設定ファイルを監視し、多くの編集を再起動なしで実行中のセッションに反映すると説明しています。一方で、起動時に一度だけ読むキーもあると書かれています。maxProseWidthがどちらにあたるかは、設定リファレンスの項目に書かれていません。書き換えても幅が変わらないときは、セッションを開き直して比べます。
ファイルを新しく作る場合も、セッション開始時にそのフォルダがあれば、途中で作ったファイルが読み込まれます。プロジェクトの.claude/フォルダだけは、同じセッションで作っても読まれます。.claudeの表記には2種類あります。~/.claudeはホームディレクトリの中、先頭に~/のない.claudeはプロジェクトの中のフォルダです。個人用のつもりでプロジェクト側に書くと、チームの全員に届きます。
「Any file」には、プロジェクト共有・ローカルの設定ファイルに書いた値も有効という意味があります。modelPickerのように、ユーザー設定・--settings・managed設定からしか読まれず、プロジェクトとローカルの値が無視されるキーとは扱いが違います。
日本語の応答は桁数の半分の字数になる
maxProseWidthの単位は文字数ではなく列数です。等幅フォントでは全角文字が2列分を占めるので、日本語主体の応答は1行に収まる字数が半分になります。
| maxProseWidth | 全角文字だけの行 | 英数字だけの行 |
|---|---|---|
| 40(最小値) | 全角文字だけの行20字 | 英数字だけの行40字 |
| 60 | 全角文字だけの行30字 | 英数字だけの行60字 |
| 80(公式の記述例) | 全角文字だけの行40字 | 英数字だけの行80字 |
| 100 | 全角文字だけの行50字 | 英数字だけの行100字 |
| 120 | 全角文字だけの行60字 | 英数字だけの行120字 |
数値は列数を2で割っただけの計算値で、実際の応答は英数字や記号が混ざるため、もう少し字数が増えます。推奨値は公式に定められていません。公式の記述例が80なので、迷うなら80から始めて、日本語の1行が長すぎると感じたら下げる使い方になります。
複数のファイルに書いたとき、どの値が使われるか
同じキーが複数の場所にあると、一番高い階層の値だけが使われます。maxProseWidthは、リスト型の設定のように値が混ざることもありません。
優先順位(上ほど強い)
- 1
managed設定
組織が配るポリシーです。
--settingsで渡した値でも上書きできません。 - 2
コマンドライン引数(--settings)
起動した1セッションだけに効き、設定ファイルには書き込まれません。
- 3
プロジェクトローカル設定
.claude/settings.local.jsonです。自分だけの上書きに使います。 - 4
共有プロジェクト設定
.claude/settings.jsonです。チームがリポジトリに入れます。 - 5
ユーザー設定
~/.claude/settings.jsonです。全プロジェクトに効く個人設定です。
1セッションだけ幅を変えたいなら、claude --settings '{"maxProseWidth": 100}'のように起動時にJSONで渡します。JSONの代わりにファイルのパスも渡せます。claude --helpには、--settings <file-or-json>が「設定JSONファイルのパス、またはJSON文字列」と説明されています。--settingsで渡せるのは、ユーザー設定に書けるキーまでです。maxProseWidthは「Any file」なので渡せます。渡さなかったキーは、下位の階層の値がそのまま残ります。次のセッションでは、渡した値は消えて元に戻ります。
たとえば~/.claude/settings.jsonが80で、チームの.claude/settings.jsonが100なら、そのプロジェクトでは100が使われます。個人の好みを通したいときは、そのプロジェクトの.claude/settings.local.jsonに80を書き足します。ローカル設定は共有設定の上にあり、チームのファイルは変わりません。.claude/settings.local.jsonをClaude Codeが作ったときは、gitの管理対象から外されます。自分で作ったファイルは、.gitignoreへの追記が必要です。優先順位の全体はsettings.json完全ガイドでも扱っています。
managed設定でmaxProseWidthが配られている場合は、下のどの階層からも上書きできません。公式が挙げる例外(disableClaudeAiConnectorsやmaxEffortLevelなど、セッションを制限する9つのキー)の表に、このキーは含まれていないためです。たとえば管理者が80を配っていると、100を書いたユーザー設定も--settingsも効きません。セッション内の/statusでは、managed設定の項目に、設定が端末へ届いた経路が括弧書きで出ます。値を変えたいときは、そこに出た経路の管理者へ依頼します。
環境変数も階層には入りません。公式の説明では、設定キーと環境変数の組がある場合、どちらが効くかはキーごとに決まります。たとえばANTHROPIC_MODELは、どのファイルのmodelよりも優先されます。一方、maxProseWidth向けの環境変数は、環境変数リファレンスに載っていません。変える手段は、設定ファイルの書き換えか--settingsです。
設定したのに幅が変わらないときの切り分け
上から順に確かめる
- 1
バージョンを見る
claude --versionが2.1.282以上か確かめます。それより古い版にはこのキーがありません。 - 2
JSONが壊れていないか見る
claude doctorで構文エラーを確かめます(出力例は下)。ファイル単位で読み込みに失敗するため、同じファイルの他のキーも効かなくなります。 - 3
値が有効か見る
整数で40以上かを見ます。40未満や整数でない値は無視され、
claude doctorにも出ないので、見落としやすい箇所です。 - 4
読み込んだファイルを見る
セッション内で
/statusを開くと、Setting sourcesの行に、読み込まれた設定ファイルの一覧が出ます。キーごとにどのファイルの値が使われたかまでは出ません。 - 5
上位の階層を疑う
.claude/settings.local.json、--settings、managed設定のどれかが同じキーを持っていないか見ます。
壊れ方によって、Claude Codeの反応は3通りに分かれます。ユーザー・プロジェクト・ローカルのファイルが不正なJSONや、スキーマが拒否する値を含むときは、「Settings Error」として扱われます。個々のエントリだけが不正なときは「Settings Warning」で、その値だけを飛ばして残りは有効のままです。managed設定は、不正なエントリだけを落として残りを強制し続けます。
対話セッションの開始時に壊れた設定ファイルがあると、Claude Codeはダイアログを出します。選べるのは、Claudeに直させる、終了する、壊れた設定を無視して続ける、の3つです。claude -pの実行ではダイアログが出ず、壊れたファイルを黙って飛ばして続けます。
managed設定を配られている環境では、管理者が値を変えても、配布経路によっては実行中のセッションにすぐ届きません。セッションを開き直したうえで/statusを見て、管理者が変えたものと別の経路が表示されるなら、そちらの優先度が高いことになります。
自分のユーザー設定に触れずに試すなら、空のディレクトリを作り、その中に.claude/settings.local.jsonを置きます。HOMEとCLAUDE_CONFIG_DIRも空のディレクトリに向けてclaude doctorを実行すると、普段の設定は読まれません。v2.1.289で末尾カンマ付きのJSONを置いたときの出力は、次の1項目でした(パスは省略しています)。
Invalid settings
- <作業ディレクトリ>/.claude/settings.local.json: Invalid or malformed JSONclaude doctorは、セッションを開かずにカレントディレクトリの設定ファイルを読みます。claude --helpには「信頼プロンプトなしで読む」と説明があります。同じ一時ディレクトリで、有効な{"maxProseWidth": 80}を置いたときも出力に設定の項目は出ませんでした。doctorは構文の誤りを報告しますが、30や"abc"のような範囲外の値は、同じ条件で試しても報告されませんでした。値が効いているかどうかは、doctorではなく実際の応答の折り返しで確かめます。セッションの中で全体を点検したいときは、/doctorを使います。
関連する設定
公式の設定索引は、maxProseWidthを「Interface and terminal」に分類しています。配色はthemeコマンドやClaude Codeカラーテーマで変えられます。
まとめ
チームで共有する.claude/settings.jsonに書くと全員の表示が変わるので、自分の好みだけなら.claude/settings.local.jsonに書きます。managed設定で配られている環境では、どの階層からも変えられません。