楽天セール開催中!ポイント最大11倍!セール会場へ

Claude Code│「Context limit reached」「Prompt is too long」の対処法

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からトークン数が返却されている場合は、より詳細な情報が表示されます。

会話履歴が大きいのか、それ以外のデータが大きいのかによってメッセージが分かれます。

  • 会話の中身が大半を占める場合:添付するファイルや貼り付けるテキストを小さくする
  • システムプロンプト・ツール定義・添付が大半を占める場合:添付ファイルやツールを減らす

ツール定義がコンテキストを圧迫している場合

コンテキスト肥大化の要因として見落としやすいのがMCPサーバーです。

使用していないサーバーであっても、ツール定義自体はコンテキストに読み込まれ続けます。

/mcp disable <サーバー名>

公式ドキュメントでも、サブエージェントに関する注意事項が記載されています。

サブエージェントは親セッションのMCPツール定義をすべて引き継ぐため、初回ターンの実行前に上限に達することがあります。

サブエージェントを呼び出す前に不要な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 で無効化している場合、この案内文は表示されません。

プロジェクト設定やポリシーなどの管理設定で無効化されている場合も同様です。

自動圧縮の処理が失敗した場合

自動圧縮が実行されたものの別のエラー等で失敗した場合は、その要因がメッセージに併記されます。

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年9月7日時点のClaude Code公式ドキュメント(エラーリファレンス)の情報に基づき作成しています。

利用バージョンにより表示文言や挙動が異なる場合があります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

生成AIのおすすめ書籍

周辺機器の優先度

目次