目次
Claude Code が Prompt is too long と報告するとき、公式のエラーリファレンスはこの状態を次のように定義しています: "The conversation plus attached files exceeds the model's context window." つまり、現在の会話と添付ファイルが、そのモデルのコンテキストウィンドウを超えた、ということです。これはウィンドウの問題であり、プランの利用枠切れでも、529 Overloaded のようなサーバー側の過負荷でもありません。同じ実行時エラーは CLI、Desktop、クラウドセッションで文書化されており、クラウドセッションのページは CLI と Desktop と同じエラーリファレンスを指しています。
以下の手順は、Anthropic の Claude Code 公式ドキュメントに沿っています。Claude Code を実行した検証はしておらず、このエラーも再現していません。94k、200k、967K、32MB、約 1,000 tokens といった数字は、公式ドキュメントに書かれているとおりに引用しているだけであり、本サイトで測った値ではありません。
メッセージの見え方
基準の文言は Prompt is too long です。対話セッションでは、同じ状態は通常次のように表示されます。
Context limit reached · /compact or /clear to continueDISABLE_COMPACT が設定されていると、この行は /clear だけを挙げます。圧縮失敗形を含む、より長い形は、いずれも Prompt is too long · で始まります。-p の出力と transcript では、文言は Prompt is too long のままです。
ユーザー設定で自動圧縮を切っていると、対話の行はさらに次のようになります。
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on/config の Auto-compact トグルは、autoCompactEnabled をユーザー設定に書き込みます。公式ドキュメントは、このヒントは /config の変更が効くときにだけ出ると書いています。DISABLE_AUTO_COMPACT や DISABLE_COMPACT で自動圧縮を切った場合や、プロジェクトや managed settings のような優先度の高い範囲で autoCompactEnabled が false になっている場合には出ません。v2.1.235 より前では、この行に自動圧縮のヒントはありませんでした。
Amazon Bedrock は同じ状態を Input is too long for requested model. と報告し、Claude Code はそれを同じように扱います。v2.1.217 より前ではこの Bedrock の言い回しを認識しなかったため、自動圧縮はそれで起動せず、/compact も同じエラーで失敗しました。Claude apps gateway は、クラウド上流が相手側のエラー形で拒否したときに capability_rejected: prompt_too_long と報告することがあり、Claude Code はこのトークンを Prompt is too long と同じに扱います。v2.1.228 より前ではこのトークンを認識しなかったため、自動圧縮はそれで起動しませんでした。
そのターンですでに自動圧縮が走り、利用できないモデルや認証失敗などの下層エラーで失敗した場合、メッセージはそのエラーを次の形で示します。
Prompt is too long · automatic compaction failed: <the underlying error>公式の案内は、まず指名されたエラーを解消することです。それが終わるまで /compact は同じ理由で失敗します。v2.1.229 より前では、失敗した自動圧縮は原因なしのむき出しの Prompt is too long だけでした。
公式の最初の手順: /compact または /clear
公式の "What to do" リストは、先行ターンを要約して空きを作る /compact、または新しい会話を始める /clear から始まります。/clear は会話のコンテキストを空にしますが、プロジェクトの記憶は残ります。コマンドページは /reset と /new を /clear の別名として挙げています。同じ会話を続けるなら /compact、やり直すなら /clear です。/compact [instructions] には、要約の焦点を示す指示を付けられます。/clear [name] は、前の会話に名前を付け、あとで /resume で見つけやすくできます。
/compact が Not enough messages to compact. と返す場合、会話は単一のやり取りであり、要約できる先行内容がありません。その場合、空きを奪っているのはその 1 回のプロンプトと、Claude Code が毎回のリクエストに乗せる内容です。公式の次の手順は、/clear を実行し、貼り付けや添付を減らして再送するか、後述のとおりツール定義と記憶ファイルを減らすことです。
圧縮の最中に Claude を止めた直後にこのエラーが出た場合、公式ドキュメントは、会話は変わっておらず、まだ圧縮が必要な大きさだと書いています。回復手順は /compact を実行してメッセージを再送すること、そして v2.1.304 以降へ更新することです。それより前のバージョンでは、その瞬間に止めると、このエラーでターンが終わることがありました。v2.1.305 では、多数の MCP ツールを繋ぎ、Anthropic API に直接接続していると、このエラーが無関係な 400 や 422 を隠すことがあります。公式の推奨は、元のエラーが見えるよう v2.1.306 以降へ更新することです。
/context で何がウィンドウを埋めているかを見る
/context は、ウィンドウ使用量を色付きグリッドで見る公式の方法で、ツールの過重、記憶の膨張、容量警告などの提案も出します。設定のデバッグページは、内訳をシステムプロンプト、システムツール、MCP ツール、カスタム subagent(読み込み元付き)、記憶ファイル、skills、会話メッセージに分けています。フルスクリーンでは項目ごとの内訳が折りたたまれ、/context all で展開します。サブディレクトリの CLAUDE.md はセッション開始時ではなくオンデマンドで読み込まれるため、セッション開始時の内訳には出ません。
会話がすでにモデルのコンテキストウィンドウを超えていると、/context は出力の先頭に警告を出します。次の行にある 200k と 94k は公式ドキュメントの例であり、本サイトや特定のマシンで測った値ではありません。
Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.Context exceeds の警告のあと、公式ドキュメントは、既定どおり自動圧縮がオンなら次のメッセージを送ってよい、と書いています。それでも失敗して Prompt is too long になる場合は、Prompt is too long の項が適用されます。自動圧縮がオフのときは、警告が指名する /compact を実行するか、/clear でやり直します。どれかを実行するまで、メッセージは Context limit reached で失敗し、-p 出力では Prompt is too long になります。
超えた上限が圧縮ウィンドウである場合、たとえば 1M コンテキストモデル上の 200K 境界では、警告の文言が変わります。圧縮ウィンドウはモデルのコンテキストウィンドウより低く置けるため、それを超えたリクエストでも成功することがあります。これも公式ドキュメントの例です。
Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.どちらの形も、DISABLE_COMPACT が設定されていると /compact ではなく /clear を挙げます。v2.1.216 より前では、/context は使用率が 100% を超えたことだけを示し、意味や回復方法を説明する警告行はありませんでした。
使っていない MCP と、大きすぎる CLAUDE.md
公式のリストには、使っていない MCP サーバーを /mcp disable <name> で切り、そのツール定義をコンテキストから外すことが含まれます。/mcp は、一覧を開かずに特定のサーバー、またはすべてのサーバーを切ることもできます。初めての配線手順は、このエラーの対処ではなく、Claude CodeでMCPサーバーを設定する(2026年11月) にあります。
大きな CLAUDE.md は短くするか、関連するときだけ読み込むパス範囲の規則へ移すべきです。記憶ページは、ファイルあたり 200 行未満を目安にしています。長いファイルはより多くのコンテキストを使い、従い方も下がることがあります。4 MiB を超えるファイルは丸ごとスキップされます。@path による分割は整理には役立ちますが、インポート先の CLAUDE.md と一緒に読み込まれるため、コンテキスト量は減りません。単一ファイルが推奨長を超えると、起動時と /status で警告が出ます。それぞれは推奨長以内でも、合算が組み合わせ上限を超える場合にも警告が出ます。
オンデマンドのサブディレクトリ CLAUDE.md と規則ファイルには、セッションのウィンドウに応じた文字数上限もあります。公式の数字は、200K ウィンドウでは 40,000 文字、1M ウィンドウでは Claude Opus 4.6 と Claude Sonnet 4.6 が 200,000 文字、それ以降のモデルが 150,000 文字です。上限を超えた分は先頭だけが送られます。v2.1.309 より前では、この制限はオンデマンドのファイルには適用されませんでした。
自動圧縮は既定でオン
autoCompactEnabled は /config では Auto-compact と表示され、既定値は true です。false にすると自動では圧縮しません。手動の /compact は使えたまま、idle compaction もオフになります。DISABLE_AUTO_COMPACT=1 は自動圧縮と idle compaction を切り、手動の /compact は残し、autoCompactEnabled を上書きします。公式の設定ページは、どちらか一方が自動圧縮を切ると、もう一方では戻せないと書いています。DISABLE_COMPACT=1 は自動圧縮も手動 /compact も含む、すべての圧縮を無効にします。その場合、対話上のヒントは /compact ではなく /clear を挙げます。
自動圧縮は既定でオンであり、公式ドキュメントによれば、通常はこのエラーを防ぎます。/config や DISABLE_AUTO_COMPACT で切っていた場合、文書上の回復は再びオンに戻すことです。オフのままにするなら、ウィンドウが埋まる前に自分で /compact を実行する必要があります。
コマンドページには /autocompact [auto|<tokens>] もあります。自動圧縮ウィンドウを、たとえば 500k のように設定するか、auto でそのモデル用のウィンドウに戻します。引数なしでは、現在のウィンドウを示すダイアログが開きます。このコマンドには Claude Code v2.1.221 以降が必要です。コンテキストウィンドウのページは、自動パスの前にできることとして、焦点付きの /compact、会話の一部だけを要約する /rewind、/autocompact 500k などで自動圧縮を早めること、無関係な作業に切り替えるときの /clear、大きなファイル読みを subagent に任せることも挙げています。
このエラーで自動圧縮が走るとき、通常は最も古いやり取りを要約し、新しいものを残します。最後の手段として、公式ドキュメントは次のように書いています。どの完全なやり取りも要約できない場合、最新のプロンプトはそのまま残し、それより前を要約します。そのとき会話がそのプロンプトで終わっていない場合は、会話全体を要約します。先に持ち越す内容にモデルの返信がなく、本人のテキストが約 1,000 tokens に満たない場合(大きすぎる貼り付けのあとに短い再送をしたときなど)、Claude Code はこの回復をスキップし、/clear が必要です。v2.1.269 より前では、完全なやり取りを要約できないと圧縮が失敗し、その状態のセッションは毎ターンこのエラーに再衝突しました。「約 1,000 tokens」は公式の文言であり、本サイトで測った値ではありません。
単一のやり取りでは圧縮できないとき
単一のやり取りの会話には、要約できる先行ターンがありません。自動圧縮が本来走るはずの場合、Claude Code は試みをスキップし、何がリクエストを埋めているかを説明します。API がエラーの中で token 数を報告しないときの公式メッセージは次のとおりです。
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 が token 数を報告し、会話自身の内容がリクエストの大半を占めるときの公式メッセージは次のとおりです(プレースホルダはドキュメントのまま残し、仮の数字は入れません)。
Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).リクエストの大半が会話の外にあるときの公式メッセージは次のとおりです。
Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.公式の回復は、貼り付け、添付、ツール、記憶ファイルを減らしてから /clear して再送することです。v2.1.162 より前では、Claude Code はそれでも圧縮を試み、失敗するとむき出しの Prompt is too long だけでした。
既定の自動圧縮しきい値と、認識されないモデル ID
自動圧縮ウィンドウを別に設定していない場合、Claude Code は一般に、会話がモデルのコンテキスト上限に達したときに圧縮します。ただし公式の例外があります。クラウドセッションはモデル上限に近づくと圧縮します。extended context なしの Sonnet 4.6 と Opus 4.6 は 200K 境界で圧縮します。CLAUDE_CODE_DISABLE_1M_CONTEXT=1 が設定されていると、Sonnet 5 や Fable モデルのようなネイティブ 1M ウィンドウのモデルも 200K 境界で圧縮します。ネイティブ 1M ウィンドウで動いているモデルは、ウィンドウが埋まる前、既定では約 967K tokens で圧縮します。公式のリストには Fable モデル、Sonnet 5 以降、Haiku 5.5、Opus 4.7 以降が含まれます。認識されないモデル ID のセッションは、Claude Code がその ID に仮定するウィンドウで圧縮します。この 967K は公式の既定値であり、本サイトで測った値ではありません。
このエラーが約 200K tokens 付近で、実際にはより大きなウィンドウを受け付けるモデルに出る場合、公式の原因のひとつは、Claude Code がそのモデル ID を認識せず、200K ウィンドウとして扱うことです。その点を超えて作業を続けるには、model-config の "Correct the window for a gateway or custom model ID" に書かれているとおり、実際のコンテキストウィンドウを伝える必要があります。起動時の警告は、公式例の Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens のような形になることがあります。この例の "my-gateway-opus" はドキュメントのプレースホルダであり、実在の製品名ではありません。
実際のウィンドウを宣言する方法には、トークン単位の CLAUDE_CODE_MAX_CONTEXT_TOKENS、既知モデルに対する modelOverrides や modelPicker の対応付け、1M ウィンドウを使うべき ID への [1m] 接尾辞があります。公式ドキュメントは、この変数がすべての ID に単独では適用されないことを明確にしており、対象になる ID は同じ model-config のページに書かれています。設定しただけで必ず効く、という保証ではありません。Claude Code が ID を認識するか、与えたウィンドウを使うようになると、起動時の警告は出なくなります。カスタムの ANTHROPIC_BASE_URL を使っていて、エラーが Prompt is too long · automatic compaction failed で始まる場合、公式の提案は、そのモデルのコンテキストウィンドウを設定するか、v2.1.299 以降へ更新することです。v2.1.299 より前では、Claude Code は仮定した 200K ウィンドウ付近でそのメッセージのままターンを終え、リクエストを送出しませんでした。
短い会話ではなく、より大きなウィンドウが必要なとき、公式ドキュメントは、Fable モデル、Sonnet 5 以降、Haiku 5.5、Opus 4.6 以降、および Sonnet 4.6 が 100 万 token のコンテキストウィンドウに対応すると書いています。[1m] バリアントの選び方とプラン上の利用条件は、公式 model-config の Extended context 節が正本です。プランの説明は Claudeの料金(2026年11月) にもあり、料金表はここに転載しません。
圧縮のあとに残るもの
context-window ページの公式 "What survives compaction" 表は、次のように説明しています。システムプロンプトと output style は引き続き効きます。プロジェクトルートの CLAUDE.md と、パス範囲のない規則はディスクから再注入されます。auto memory もディスクから再注入されます。skill の説明は、現在の skills から再構築されて再注入されます(これには Claude Code v2.1.304 以降が必要です)。セッション開始時に Git status snapshot があった場合、リポジトリから新しいものが読み直されます。plan mode で書いたプランはディスクから再注入されます。paths: フロントマター付きの規則と、サブディレクトリの CLAUDE.md はオンデマンドで再読み込みされます。Claude が読んだ、または編集したファイルは、最大 5 つ、最近変更されたものから再読されます。5,000 tokens を超えるファイルは内容なしのパス参照になり、Read ではなく Referenced file と表示されます。呼び出済みの skill ボディは再注入されますが、skill あたり 5,000 tokens、合計 25,000 tokens が上限で、古いものから落とされます。バックグラウンドのコマンドとバックグラウンドの subagent は動き続け、Claude Code はどれがまだ動いているかをモデルに思い出させます。以前 hooks が追加したコンテキストは、会話の残りと一緒に要約されます。compact ソースに一致する SessionStart hooks は再実行され、その出力が圧縮後のコンテキストに追加されます。上記の 5,000 tokens などの数字は公式の表からの引用であり、本サイトで測った値ではありません。
パス範囲の規則とサブディレクトリの CLAUDE.md は、一致するファイルが読まれ、書かれ、または編集されたときにメッセージ履歴へ載るため、圧縮時には他の内容と一緒に要約されます。会話の中にだけあった指示、まだ再読み込みされていないサブディレクトリの CLAUDE.md、圧縮後にまだファイルへ一致していないパス規則は、消えたように見えることがあります。公式の案内は、会話だけに存在した指示を CLAUDE.md に書くこと、圧縮を越えて残すべき規則については paths: を外すか、プロジェクトルートの CLAUDE.md へ移すことです。
利用枠切れ、529、32MB の Request too large、スラッシングとの違い
プランの利用枠切れは、エラーリファレンスでは別の一連の文、たとえば You've hit your session limit、You've hit your weekly limit、あるいは Opus や Sonnet の上限の変種を使います。これらはアカウントやプランの枠であり、モデルのコンテキストウィンドウではありません。その話題は Anthropic は Claude Code の利用枠をいまも倍率でしか示していない 各プランで実際に使える量 にあります。
529 Overloaded はサーバー側の容量エラーであり、ウィンドウが満杯になったことではありません。その解説は Claude Code で「529 Overloaded」と表示されたら?Anthropic のドキュメントの説明と試せる対処法 です。
Request too large (max 32MB) も別のエラーです。公式の定義は、トークン化の前に生のリクエスト本体が API の 32MB 制限を超えた、ということで、原因は多くの場合、大量の貼り付け、ツール結果、添付です。公式ドキュメントはこの制限がコンテキストウィンドウとは別だと明記しています。メッセージが compacting cannot make it fit と言う場合、公式の回復は Esc を 2 回押して大きな内容を足したターンより前に戻るか、/clear することです。そうでなければ /compact が使えます。ドキュメントは、それが蓄積した画像と添付を捨てると書いています。大きなファイルは全文を貼るのではなく、パスで参照して分割して読ませるべきです。32MB を Prompt is too long の別名としては扱いません。32MB は公式の API 制限であり、本サイトで測った値ではありません。
Autocompact is thrashing: the context refilled to the limit... は、さらに別のメッセージで、Prompt is too long の項目ではなくトラブルシューティングページにあります。そこでは自動圧縮はすでに成功していますが、ファイルやツール出力が何度もウィンドウを埋め直し、Claude Code はループを避けるために再試行を止めます。そのページの公式な回復手順には、大きすぎるファイルを小さな範囲で読むこと、焦点付きの /compact、大きなファイル作業を subagent に移すこと、先の会話が不要なら /clear することが含まれます。関連はしますが、Prompt is too long の定義ではありません。
GitHub の issue が報告していること、報告していないこと
anthropics/claude-code リポジトリの GitHub issue #103279 は、タイトルが [BUG] Auto-compact stops triggering on 1M-context sessions, which then fail with "Prompt is too long" (VS Code extension 2.1.301) で、当時はまだ open でした。コメントは 1 件です。ラベルには bug、platform:windows、area:core、platform:vscode が含まれます。作者は公式の Anthropic アカウントではありません(author_association は NONE)。
作者は、Windows 11 上の Claude Code VS Code 拡張 2.1.301、1M コンテキストのモデル claude-opus-5-5、Max サブスクリプション、autoCompactEnabled: true、圧縮関連の環境変数は未設定、と書いています。その報告によれば、2026 年 10 月 18 日の 2 つの長いセッション(issue の作成は 2026-10-18T20:27:08Z、すなわち 2026-10-19 04:27 Asia/Shanghai)では自動圧縮が走らず、あとから合成の Prompt is too long(isApiErrorMessage: true、error: invalid_request)で失敗し、その後は /clear まで毎ターン同じように失敗した、とのことです。作者は個人の transcript を読み、自動圧縮のしきい値をおよそ 967,000 から 971,000 tokens とみました。これはネイティブ 1M ウィンドウの公式既定である約 967K tokens と同じ桁ですが、ここで 967K を引用しているのは公式ドキュメントだけです。issue 内の逐次カウントは、そのユーザーが報告したセッションデータであり、公式のしきい値ではありません。作者自身の workaround は、約 900,000 tokens で手作業の /clear を実行することでした。これはユーザーの方法であり、公式の案内ではありません。
2026-10-28 23:02 Asia/Shanghai(2026-10-28T15:02:47Z)のコメントは、Linux CLI 2.1.310 のセッションからで、こちらも author_association は NONE です。約 940k tokens の長時間 subagent で、次の約 2 KB のメッセージがすぐに Prompt is too long を返した、との報告です。そのあと単語 continue だけを送ると、compact_boundary と要約が現れ、セッションは約 207k tokens で続いた、とあります。これもユーザー報告であり、公式手順ではなく、根本原因を推測する材料にもしません。issue #103279 は open のままで、公式コメントはありませんでした。公式ドキュメントが述べているのは想定される動作と回復手順です。それだけでは、この報告を確認済みの製品欠陥とも、修正済み/未修正とも言えません。
以上は公式のエラーリファレンスと、実際に参照したコマンド、コンテキストウィンドウ、設定、環境変数、モデル設定、記憶、トラブルシューティング、クラウドセッションの各ページに沿っています。docs.anthropic.com の Claude Code errors の入口は、同じ code.claude.com のエラーリファレンスへリダイレクトされ、内容の異なる第二のドキュメントセットではありません。
