Prompt is too longエラー原因と直し方
Claude Codeの「Prompt is too long」エラーの原因と直し方を整理。/compact と /clear の使い分け、自動圧縮の設定、Request too large との違いを解説します。
公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて
Prompt is too longエラーとは
「Prompt is too long」は、会話と添付の内容が、モデルが一度に扱える量(コンテキストウィンドウ)を超えたときに出るエラーです。公式のエラー一覧には、対話セッションでは「Context limit reached · /compact or /clear to continue」と表示されることがあると書かれています。
原因は、会話の履歴、システムの指示、ツールの定義、添付の内容の合計が大きすぎることです。対処の基本は、/compact で要約するか、/clear で新しく始めることです。この記事では、原因別の直し方を整理します。
基本(原因と対処)
公式のエラー一覧にある、原因と対処です。
| 原因 | 対処 |
|---|---|
| 会話が長くなった | /compact で、前のやり取りを要約する |
| 自動圧縮(auto-compact)がオフになっている | /config でオンに戻す。または環境変数 DISABLE_AUTO_COMPACT を解除する |
| 自動圧縮が失敗した(モデルが使えない、認証エラーなど) | 先に、その原因のエラーを直す。/compact も同じ原因で失敗する |
| 会話が1往復だけで、要約できない | /clear で始め直し、貼り付けや添付を小さくして再送する |
| 起動時に読み込まれる内容が大きい | /context で内訳を見て、使っていない MCP サーバーを無効にする。CLAUDE.md を短くする |
表示は環境で少し違います。Amazon Bedrock では「Input is too long for requested model」、Claude アプリのゲートウェイでは「capability_rejected: prompt_too_long」と出ることがあります。
具体例(表示のバリエーション)
公式のエラー一覧には、状況を詳しく示す表示もあります。
| 表示(一部) | 読み方 |
|---|---|
| Prompt is too long · automatic compaction failed | 自動圧縮が失敗した。その原因のエラーを先に直す |
| this conversation is a single exchange and cannot be compacted | 1往復で圧縮できない。システムの指示・ツール・添付が大半 |
| the request is about N tokens (limit L) but this conversation is only about M tokens | 会話は小さく、残りがシステムの指示・ツール定義・添付。連携や CLAUDE.md を見直す |
「Request too large (max 32MB)」は、別のエラーです。文脈のサイズではなく、リクエストそのものの容量が32MBを超えたことを示します。画像や添付、大きな貼り付けが原因です。この場合は、/compact で画像や添付を落とすか、Esc を2回押して大きな内容より前に戻る、または /clear を使います。
Prompt is too longエラーの実践ステップ
/compactを実行して、会話を要約する。- 「Not enough messages to compact.」と出たら、
/clearを実行し、貼り付けや添付を小さくして送り直す。 /contextで、何が文脈を占めているかを確認する。- 使っていない MCP サーバーを、
/mcp disable <名前>で無効にする。 - 大きな CLAUDE.md を短くする。作業ごとの手順は、パスで限定したルールやスキルに移す。
/configで、自動圧縮がオンか確認する。環境変数DISABLE_AUTO_COMPACTが設定されていないかも見る。- 大きなファイルは、全体ではなく、パスを示して、必要な範囲を段階的に読ませる。
Prompt is too longエラーの注意点
/compactの実行そのものも、大きな会話を読み込む処理です。余裕がなくなる前に実行するほうが安全です。/clearすると、現在の会話は消えます。必要なら、先に/renameで名前を付け、後で/resumeで戻れるようにします。- 自動圧縮が繰り返し失敗すると、「Autocompact is thrashing」というエラーが出ることがあります。この場合は、大きなファイルを小分けにして読む、
/compactに残す内容を指定する、サブエージェントに任せる、のいずれかで対処します。 - 環境変数や設定の名前は、バージョンで変わる可能性があります。公式の最新を確認してください。
Prompt is too longエラーでよくあるミス
- 自動圧縮がオフなのに気づかず、毎回手動で苦労する。
/compactが失敗する原因(認証、モデルの不具合)を直さず、繰り返す。- 巨大なファイルを、そのまま貼り付ける。
- 使っていない連携を放置し、起動時の文脈を圧迫する。
Prompt is too longエラーのチェックリスト
/compactを試したか。- 要約できない場合に、
/clearを使ったか。 /contextで、文脈の内訳を確認したか。- 自動圧縮が有効か、
/configで確認したか。 - 大きな貼り付けや添付がないか見直したか。
Prompt is too longエラーのFAQ(よくある質問)
Q. /compact と /clear はどう使い分けますか。
A. 続きの作業があるなら /compact、話題が変わったり要約できなかったりするなら /clear です。
Q. 毎回このエラーが出ます。
A. 会話ではなく、起動時の内容(ツールの定義、CLAUDE.md、添付)が大きい可能性があります。/context の内訳を見てください。
Q. エラーが出たあと、会話は失われますか。
A. /clear をしない限り、会話は残ります。/compact で要約して続けられます。
筆者の見解(Prompt is too longエラー)
私見では、このエラーで最初に見るべきは、メッセージの後半です。「automatic compaction failed」なら別の原因(認証やモデル)が本体で、「single exchange」なら会話ではなく貼り付けや起動時の読み込みが大きすぎる、というように、続く文言が対処を教えてくれるからです。見落としやすいのは、/compact が効かないのに何度も繰り返してしまうことで、要約できる会話がない状態では /clear と貼り付けの縮小に切り替えるしかないと考えます。予防の面では、自動圧縮をオンのままにすることと、大きなファイルは貼り付けずにパスで示して必要な範囲だけ読ませることの2点が、手間に対して効果が大きいと考えます。
Prompt is too longエラーの関連項目
- コンテキストの節約と/compact・/clear
- Claude Codeが重い・遅いときの対処
- Claude Codeのトークンの仕組み
- Claude Codeの使用量の節約
- MCPサーバーが読み込まれないときの対処
出典(一次情報)
本記事は一般的な情報の提供を目的としています。Claude Code の料金・利用上限・機能・エラーメッセージ・コマンドは頻繁に更新されるため、最新の内容は Anthropic の公式ドキュメントとお使いのバージョンで必ずご確認ください。契約・請求・セキュリティに関する判断は、公式サポートや社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。