Claude Codeの「Context limit reached」「Prompt is too long」の直し方
答え:このエラーは「会話と読み込んだファイルの量が、AIが一度に覚えておける量(コンテキスト)を超えた」という意味です。 /compact で会話を要約して空きを作るか、/clear で新しい会話を始めれば直ります。プランの利用上限(使いすぎ)とは別のものです。
📌 本記事は2026年10月時点の公式ドキュメント(Error reference・Troubleshooting・Model configuration)に基づいています。
まず結論:表示ごとの対処
| 表示されたメッセージ | 意味 | まずやること |
|---|---|---|
Context limit reached · /compact or /clear to continue |
会話がいっぱいになった | /compact(続けたい)か /clear(やり直す) |
Prompt is too long |
同じ意味(画面以外の場所ではこの表記) | 同上 |
… auto-compact is off · /config to turn it on |
自動要約(自動圧縮)を切っている | /config で自動圧縮をオンに |
Not enough messages to compact.(/compact の返事) |
要約できる過去のやり取りがない | /clear して、貼り付ける文章やファイルを減らして送り直す |
Autocompact is thrashing |
要約しても、大きなファイルなどですぐ満杯に戻る | 大きなファイルを分けて読ませる(下で解説) |
そもそも「コンテキスト」とは
コンテキストは、AIの「作業机の広さ」のようなものです。机の上には、これまでの会話、読み込んだファイル、ルールファイル(CLAUDE.md)、ツールの説明などが全部載っています。机からあふれると、それ以上作業できません。
量は「トークン」という単位で数えます(文字数とは一致しませんが、文章が長いほど増える単位です)。公式ドキュメントによると、いまの主なモデル(Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1など)は、標準で100万トークンの机を使えます。それでも、大きなファイルを何度も読ませたり、長い作業を1つの会話で続けたりすると、いっぱいになることがあります。
直し方① /compact:会話を要約して続ける
/compact
これまでのやり取りを要約して、机の上を片づけます。作業の流れは保ったまま空きを作れるので、続きをやりたいときはこちらです。
「何を残すか」を指定することもできます。公式の例では次のように書いています。
/compact keep only the plan and the diff
日本語で「計画と変更点だけ残して」と書いても大丈夫です。
💡 Claude Codeには、いっぱいに近づくと自動で要約する機能(自動圧縮)があります。オン・オフは
/configの「Auto-compact」で切り替えられます。普段はオンのままがおすすめです。
直し方② /clear:新しい会話を始める
/clear
会話をまっさらにします。前の作業と関係のない新しい作業を始めるときは、こちらのほうがすっきりします。
/compact |
/clear |
|
|---|---|---|
| 会話の流れ | 要約して残る | 消える |
| 向いている場面 | 同じ作業を続けたい | 別の作業を始める |
| ルールファイル(CLAUDE.md) | 引き続き効く | 引き続き効く |
💡 大事な決まりごとは、会話の中で毎回伝えるより、CLAUDE.mdに書いておくと
/clearしても消えません。書き方は「CLAUDE.mdの書き方」をどうぞ。
何が机を占めているか確かめる:/context
/context
コンテキストの内訳を表示します。公式の説明では、次のように見分けます。
- Messages(会話)の行がいちばん大きい → 会話や読み込んだファイルが原因。
/compactや、大きなファイルを分けて読ませるのが効果的 - それ以外の行の合計のほうが大きい → 起動時に読み込まれるもの(ツールやルールなど)が多すぎる。使っていない設定を減らす
「Autocompact is thrashing」と出たとき
自動要約は成功したのに、大きなファイルやコマンドの出力ですぐ満杯に戻ってしまう状態です。Claude Codeは、無駄に繰り返さないよう自動要約を止めます。公式の対処は次のとおりです。
- 大きなファイルは「この関数だけ」「○行目から○行目だけ」のように、小分けに読ませる
/compactで、大きな出力を捨てるよう指定して要約する- 大きなファイルの作業はサブエージェント(分身)に任せる(別の机で作業させる)
- 前の会話が不要なら
/clear
サブエージェントの使い方は「SubAgent機能の使い方」で解説しています。
「使用上限」のエラーとは別物です
似た言葉で混乱しやすいので整理します。
| コンテキスト上限(この記事) | 使用上限(プランの利用枠) | |
|---|---|---|
| 表示の例 | Context limit reached/Prompt is too long |
You've hit your session limit · resets 3:45pm |
| 原因 | 1つの会話が長すぎる | 一定期間の使用量が多すぎる |
| 直し方 | /compact・/clear |
リセット時刻まで待つ・プランを見直す |
使用上限については「Claude Codeの利用上限・レート制限エラーの対処法」をご覧ください。
コンテキストを節約するコツ
- 作業が変わったら
/clear。関係ない話題を1つの会話に詰め込まない - 大きなファイルは丸ごと読ませない。「この部分だけ見て」と範囲を伝える
- 長い文章の貼り付けは最小限に。ファイルとして置いて、必要な部分を読ませる
- 繰り返し伝えるルールはCLAUDE.mdへ
よくある質問
Q1. /compact すると、これまでの作業内容は消えますか?
A. 要約されて残ります。細かいやり取りは省かれるので、大事な決定事項は要約の前に「ここまでの決定事項をまとめて」と頼んでおくと安心です。
Q2. 1つ目のメッセージでいきなりエラーになりました。
A. 最初の1通に貼り付けた文章や添付ファイルが大きすぎるか、起動時に読み込まれる設定が多すぎる状態です。公式の案内どおり、/clear してから貼り付けや添付を減らして送り直してください。
Q3. 有料プランを上げれば直りますか?
A. コンテキスト上限は「1つの会話の大きさ」の問題なので、プランを上げても基本的には変わりません。/compact・/clear で対処します。
Q4. 「Usage credits required for 1M context」と出ました。 A. 100万トークンの机を使うには追加のクレジットが必要なプラン・モデルの組み合わせ、という意味です。公式によると、会話が大きくなってこの表示が出た場合は、Claude Codeが自動で標準の大きさに要約して続けてくれるので、基本的に操作は不要です。
まとめ
- 「Context limit reached」「Prompt is too long」は会話がいっぱいという意味
- 続けたいなら
/compact、新しく始めるなら/clear - 原因は
/contextで確認できる - 「thrashing」と出たら、大きなファイルを小分けに
- プランの使用上限とは別物



