Claude Codeでの作業中に次のエラーが表示され、会話を継続できなくなることがあります。
Context limit reached · /compact or /clear to continue
ログの確認時や -p オプションでの実行時も、同様の状態で別のメッセージが表示されます。
Prompt is too long
通常は、会話履歴・添付・システム指示・ツール定義などを含む入力が大きすぎる場合のエラーですが、モデルの容量設定や特定バージョンの誤判定で表示されることもあります。
公式ドキュメントの内容に基づき、具体的な対処手順と原因の切り分け方を整理します。
最初に対処するコマンド
- /compact … これまでの会話を要約して空きを作る。
作業を続けたいときはこちら - /clear … 会話を消して最初から始める。
別の作業に移るときはこちら - /context … いま何がコンテキストを埋めているかの内訳を見る
会話が複数ターン続いている場合は、/compact を実行すると解消することが一般的です。
内訳を確認したい場合は /context を実行します。
システムプロンプト、ツール定義、メモリファイル、メッセージ履歴の消費割合を把握できます。
1往復目で発生した場合は /compact で解決できない
会話が1往復のみの場合は、要約対象の過去ログが存在しないため圧縮できません。
この場合は表示文言が変化し、何が容量を圧迫しているかが通知されます。
Prompt is too long · this conversation is a single exchange and cannot be compacted
— the request size comes mostly from system prompt, tool definitions, or attachments.
APIからトークン数が返却されている場合は、より詳細な情報が表示されます。
初回入力が大きすぎる場合は、必要な指示や作業状況を手元に保存してから/clearし、貼り付ける文章や添付を減らして送信し直します。
/compactで「Not enough messages to compact.」と出る場合も、同じように初回入力を減らしてください。
会話履歴が大きいのか、それ以外のデータが大きいのかによってメッセージが分かれます。
- 会話の中身が大半を占める場合:添付するファイルや貼り付けるテキストを小さくする
- システムプロンプト・ツール定義・添付が大半を占める場合:添付ファイルやツールを減らす
ツール定義がコンテキストを圧迫している場合
コンテキスト肥大化の要因として見落としやすいのがMCPサーバーです。
未使用のツール定義が負担になる場合があります。
ただし、現在はMCP Tool Searchによる遅延読み込みもあるため、全定義が常に読み込まれるとは限りません。
/contextで実際の内訳を確認します。
/mcp disable <サーバー名>
公式ドキュメントでも、サブエージェントに関する注意事項が記載されています。
サブエージェントも、初期の指示やツール定義などが大きければ最初の要求で上限に達する場合があります。
継承範囲には設定やフィルターがあるため、サブエージェントの設定も確認してください。
サブエージェントを呼び出す前に不要なMCPサーバーを無効化しておくと、動作が安定しやすくなります。
CLAUDE.mdのファイルサイズが大きい場合
読み込まれたCLAUDE.mdもコンテキストを使います。
同じ記述が毎ターン重複追加され続けるという意味ではありません。
記述量が多くなりすぎている場合は、不要な記述を削減するか、オンデマンドで参照される形式への移行を検討してください。
自動圧縮(Auto-compact)が無効になっていないか確認する
自動圧縮はデフォルトで有効になっており、通常はこの手のエラーを自動的に回避します。
無効になっている場合は、メッセージ内にその旨が明記されます。
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on
利用方針上有効化してよい場合は /config の Auto-compact を確認します。
初回入力の過大や認証など別の原因があれば、設定を変えるだけでは解消しません。
環境変数 DISABLE_AUTO_COMPACT や DISABLE_COMPACT で無効化している場合、この案内文は表示されません。
プロジェクト設定やポリシーなどの管理設定で無効化されている場合も同様です。
DISABLE_COMPACTは手動の圧縮も無効にするため、エラーの案内が/clearだけになっている場合は、必要な作業情報を保存してから会話を整理してください。
自動圧縮の処理が失敗した場合
自動圧縮が実行されたものの別のエラー等で失敗した場合は、その要因がメッセージに併記されます。
Prompt is too long · automatic compaction failed: <原因>
この場合は、表示されたエラーの根本原因を先に対処してください。
同じ要因が残っている間は、手動で /compact を実行しても同様に失敗します。
実行環境による文言の違い
- Amazon Bedrock:Input is too long for requested model. と表示される。
扱いは同じ - Claude apps gateway:capability_rejected: prompt_too_long というトークンで返る。
扱いは同じ
古いバージョンではこれらが正しく判定されず、自動圧縮が実行されないケースがあります。
文言の違いにより判断に迷う場合は、Claude Codeを最新バージョンにアップデートしたうえで再試行してください。
Claude Codeのエラー対処は、ほかにも書いています。




まとめ
- 複数ターンの会話なら /compact、別作業に移るなら /clear
- 何が容量を占めているかは /context で分かる
- 1往復目で出たときは圧縮できない。
添付やツールを減らす - 使っていないMCPサーバーは /mcp disable で止める
- サブエージェントのツール継承範囲と初期コンテキストも確認する。
事前に整理しておく - 自動圧縮は既定で有効。
切れていないか /config を確認する
利用上限の仕組み全般はClaudeの利用制限まとめ、その他のエラーメッセージについてはClaudeのエラーメッセージ一覧にまとめています。
2026年10月27日に公式エラー資料のコンテキスト上限と圧縮に関する記述を再照合しました。
/clearは重要な情報を保存してから検討してください。
要約は使用量を消費し、会話の整理は利用枠そのものを回復しません。
利用バージョンにより表示文言や挙動が異なります。
現行エラー資料には独自モデルIDのコンテキスト設定や特定版の誤判定も記載されているため、入力が小さいのに起きる場合は設定・版・元エラーを確認します。
今回、上限到達・圧縮・MCP切替・各実行環境の画面操作は実機検証していません。
よくある質問:コンテキストの上限に達したとき
コンテキストの上限に達したエラーが出たら、まず何をしますか?
会話履歴・添付・システム指示・ツール定義などの入力が、モデルのコンテキストウィンドウの上限に達した状態です。
/compact(これまでの会話を要約して空きを作る。作業を続けたいとき)、/clear(会話を消して最初から始める。別の作業に移るとき)、/context(いま何がコンテキストを埋めているかの内訳を見る)を使います。
会話が複数ターン続いている場合は、/compact を実行すると解消することが一般的です。
/context では、何が分かりますか?
システムプロンプト、ツール定義、メモリファイル、メッセージ履歴の消費割合を把握できます。
1往復目でこのエラーが出たら、/compact で直りますか?
直りません。
会話が1往復のみの場合は、要約対象の過去ログが存在しないため圧縮できません。
この場合は表示文言が変わり、何が容量を圧迫しているかが通知されます。
会話の中身が大半を占めるなら、添付するファイルや貼り付けるテキストを小さくし、システムプロンプト・ツール定義・添付が大半を占めるなら、添付ファイルやツールを減らします。
MCPサーバーが、コンテキストを圧迫することはありますか?
あります。
コンテキスト肥大化の要因として見落としやすいのがMCPサーバーで、未使用のツール定義が負担になる場合があります。
ただし、現在はMCP Tool Searchによる遅延読み込みもあるため、全定義が常に読み込まれるとは限りません。
/contextで実際の内訳を確認します。
サブエージェントも初期コンテキストが大きければ最初の要求で上限に達する場合があります。
利用できるツールの範囲や遅延読み込みの設定を確認してください。
サブエージェントを呼び出す前に、不要なMCPサーバーを無効化しておくと、動作が安定しやすくなります。
CLAUDE.md が大きいと、どうなりますか?
読み込まれたCLAUDE.mdもコンテキストを使います。
毎ターン重複追加され続けるという意味ではありません。
記述量が多くなりすぎている場合は、不要な記述を削減するか、オンデマンドで参照される形式への移行を検討します。
自動圧縮(Auto-compact)が、効いていないときは?
自動圧縮はデフォルトで有効になっていて、通常はこの手のエラーを自動的に回避します。
無効になっている場合は、メッセージ内にその旨が明記され、設定変更が許される場合は /config を確認します。
ただし、別の原因があれば有効化だけでは解消しません。
環境変数 DISABLE_AUTO_COMPACT や DISABLE_COMPACT で無効化している場合や、プロジェクト設定やポリシーなどの管理設定で無効化されている場合は、この案内文は表示されません。
自動圧縮が失敗したときは?
別のエラー等で失敗した場合は、その要因がメッセージに併記されます。
表示されたエラーの根本原因を先に対処してください。
同じ要因が残っている間は、手動で /compact を実行しても同様に失敗します。
Amazon Bedrockなど、環境によって文言が違うのはなぜですか?
Amazon Bedrockでは「Input is too long for requested model.」、Claude apps gatewayでは「capability_rejected: prompt_too_long」というトークンで返りますが、扱いは同じです。
古いバージョンでは、これらが正しく判定されず、自動圧縮が実行されないケースがあるので、文言の違いで判断に迷うときは、Claude Codeを最新バージョンにアップデートしてから再試行します。
ログの確認時や -p オプションでの実行時も、同様の状態で別のメッセージが表示されます。
記事は公式ドキュメントにもとづくので、最新は公式ドキュメントで確認してください。
