要点だけ
- 会話がコンテキスト上限に近づくと、auto compact は古い履歴を要約します。v2.1.288 からは auto モードも長い会話でツール呼び出しを失敗させる代わりに圧縮します。
- /autocompact 500k でトリガーウィンドウを設定(100K–1M トークン)。v2.1.288 からはモデル別に保存されます。/autocompact auto でモデル調整済みの既定値に戻せます。
- /context で使用内訳と予約済みの Autocompact buffer が見られます。同じ機能を続けるなら compact、新しいタスクなら /clear。
- 圧縮は会話全体を読むため長いセッションほど時間がかかります。固まったらまず Claude Code を更新——2.1.288 で「Prompt is too long」エラーではなく圧縮するよう修正されました。
Context Management in Claude Code
チャンネル:Anthropic · Claude3:31
Claude Code release notes — v2.1.288
リリースノート:github.com/anthropics/claude-code
Set the auto-compact window — official documentation
ドキュメント:code.claude.com/docs
本ページの事実は Claude Code 公式ドキュメントと v2.1.288 のチェンジログでクロスチェック済み。スクリーンショットは上記動画より引用です。記載の挙動は Claude Code v2.1.288(2026 年 9 月)に準拠します。
スクリーンショットは Anthropic の動画「Context Management in Claude Code」のフレームを使用し、出典を明記したうえで各ステップに元動画のタイムスタンプへのリンクを付けています。
auto compact を図解でステップごとに
何がコンテキストを消費しているか知る
- 1
コンテキストに読み込まれているものを一覧する
/context を実行して内訳をスクロールします。MCP ツールはオンデマンド読み込みですが、ツール定義・カスタムエージェント・スキルはそれぞれトークンを事前確保します。最初のプロンプトを送る前から引かれている計算です。プロジェクトに不要な MCP サーバーを切るのが、最も安くコンテキストを節約する方法です。

/context の内訳には、作業開始前の MCP ツール・カスタムエージェント・スキルのトークンコストが表示されます。動画 0:10 で見る - 2
空き容量と autocompact バッファを読む
/context の上部にはモデルのウィンドウと使用量が表示されます。デモでは claude-opus-4-6 で 21k/200k トークン(11%)。最終行の Autocompact buffer は、ウィンドウが真満杯になる前に auto compact を実行できるよう Claude Code が確保している余量です。

/context の Autocompact buffer 行が圧縮用の予約スペースです。この例では 33k トークン(16.5%)。動画 2:38 で見る - 3
満杯に近づくセッションを見分ける
長いセッションはツール結果で膨らみます。ファイル読み込み・コードレビューの指摘・修正のたびにメッセージが積まれていきます。デモのセッションはコードレビューを実行し、「入力バリデーション欠如」「ハードコードされた JWT シークレット」などの指摘を列挙して修正を依頼——まさに上限に突き当たりやすい種類の仕事です。

指摘と修正を伴うコードレビューは、コンテキストウィンドウを上限へ押し上げる典型的な長時間セッションの作業です。動画 0:24 で見る - 4
まとめから「残るもの」を確認する
会話が長くなると、Claude Code 自身のまとめ——優先度ランキング・ユーザーメッセージ全部・未完了タスク——が、サマリーが守るべきものを示してくれます。auto compact の考え方も同じです。リクエストと主要なコード断片は残り、最初に捨てられるのは古いツール出力です。

優先度ランキング・ユーザーメッセージ・未完了タスク。圧縮後のサマリーが引き継ぐべき状態とはこのことです。動画 0:50 で見る
意図的にコンパクトする
- 5
スラッシュメニューから /compact を選ぶ
/ を入力して説明文を読んでみましょう。/clear は「Clear conversation history and free up context」、/compact は「Clear conversation history but keep a summary in context」。この一文がすべての違いです。compact はサマリーと引き換えに継続性を得て、clear は最大の空き容量を買います。/compact は /compact Focus on the API changes のような焦点指定も受け付けます。

スラッシュメニューがはっきり言っています。/compact はサマリーを残し、/clear は全解放。動画 0:09 で見る - 6
Compacting conversation スピナーを理解する
/compact を実行すると「Compacting conversation…」が表示され、モデルがそこまでの全内容を読んで要約します。auto compact は上限付近でこの同一ルーチンを自動実行します。v2.1.288 ではさらに、auto モードが長い会話でツール呼び出しを失敗させる代わりに圧縮するようになり、タスクの途中で止まることはなくなりました。

手動でも自動でも、圧縮中に見えるのは同じ「Compacting conversation…」です。動画 0:46 で見る - 7
コンパクトサマリーを読む
出力は「This session is being continued from a previous conversation that ran out of context」で始まり、Primary Request and Intent・Key Technical Concepts・Files and Code Sections を新しいウィンドウへ引き継ぎます。完全な履歴の代わりにサマリーを持って作業を続けられるのです。

圧縮サマリーは「コンテキストを使い切った」ことを明記したうえで、保持した内容を列挙します。動画 0:48 で見る - 8
完全なトランスクリプトから詳細を復旧する
サマリーに必要な情報が落ちていたら、圧縮後のノートが探し先を教えてくれます。「read the full transcript at」に続く .jsonl のパスに、Current Work と Optional Next Step のセクション。ドキュメントの警告はどのみち有効です。会話序盤の詳細な指示は失われることがあるため、恒久的なルールは CLAUDE.md に置きましょう。

Current Work・Optional Next Step・トランスクリプトのパス。圧縮後の3つの復旧ポイントです。動画 0:52 で見る
クリア・委譲・復旧
- 9
タスクが終わったら /clear
新機能を始めますか? /clear は会話を丸ごと消します。ドキュメントが言うようにコストはほぼゼロで、大きなコンテキストの圧縮はそれ自体が大きなリクエストです。先に /rename を実行して終わったセッションを /resume で見つけられるようにし、将来のセッションが知るべきことは CLAUDE.md に書きましょう。

/clear はサマリーなしで白紙から始めます。先にリネームしておけば /resume で戻れます。動画 3:14 で見る - 10
重い読み込みをサブエージェントに委譲する
サブエージェントは独立したコンテキストウィンドウで動作し、メインセッションには要約だけを返します。デモのように code-reviewer サブエージェントを呼び出せば、レビュー出力はあなたのウィンドウに一切入ってきません。「答えだけ欲しくて過程はいらない」タイプの質問に対する、ドキュメント推奨の解法です。

code-reviewer サブエージェントの呼び出し。作業はメインのコンテキストウィンドウの外で行われます。動画 2:50 で見る - 11
サブエージェントに働かせ、答えだけ受け取る
サブエージェントがリファクタリングの要約や Todo 更新を進めている間、メインウィンドウが受け取るのは結果だけ。メインスレッドのツール出力が減れば、auto compact の発火は遅くなる——あるいは来ません。長いプロジェクトをバッファまで到達させない最も安価な方法です。

サブエージェントは要約済みの結果だけを返します。中間出力はメインセッションに保存されません。動画 2:53 で見る
auto compact と /compact・/clear・/rewind の違い
4つのコマンドは Claude Code の同じ角落きにあり、いずれも会話をリセット・再構成しますが、答える問いは違います。どれが正解かを解説します。
- 1auto compact(自動):会話がコンテキスト上限——または /autocompact で設定したウィンドウ——に達すると発火し、古い履歴を要約してセッションをそのまま続けます。v2.1.288 からは auto モードも非常に長い会話でツール呼び出しを失敗させる代わりに圧縮します。
- 2/compact(手動・サマリー保持):同じ要約をオンデマンドで実行します。メニューの言葉を借りれば「Clear conversation history but keep a summary in context」。ウィンドウを超えたけれど同じ機能を続けるときに使い、/compact Focus on the test output のように焦点を指定できます。
- 3/clear(白紙から):サマリーなしで全部を消し、コストはゼロ。大きなコンテキストの圧縮はそれ自体が大きなリクエストです。計画が終わって次のタスクが無関係なときに使い、先に /rename しておけば /resume で旧セッションに戻れます。
- 4/rewind(取り消し):性質が別物です。Esc 二度押しでリワインドメニューが開き、以前のチェックポイントからコードと会話を復元します。最近の変更を取り消したいときに使うもので、コンテキスト上限を超えて作業を続けたいときの道具ではありません。
- 5Anthropic 自身のウォークスルーにある経験則:ウィンドウを超えても同じ機能の継続が必要なら compact、新しいことを始めるなら clear、将来のセッションに覚えてほしいことは CLAUDE.md に書く。どちらの操作でも消えません。
もうひとつ知っておきたい違い:圧縮は設計上、情報を落とします。リクエストと主要なコード断片は保持されますが、会話序盤の詳細な指示は失われることがある。それが空き容量の対価であり、恒久的なルールをチャット履歴ではなく CLAUDE.md に置くべき理由です。
Compacting conversation が遅い・固まるときの応急手当
圧縮は会話全体を読むため、大きなセッションの要約には目に見えて時間がかかります。それ自体はバグではありません。ここでは本当に問題があるケースと、その対処を示します。
- 1圧縮ではなく「Prompt is too long」エラー——まず Claude Code を更新。v2.1.288 で、直前の応答のトークン使用量がゼロの場合に長い会話が自動圧縮されずこのエラーで落ちる問題が修正されました。旧ビルドはまさにここで止まります。
- 2圧縮が終わった直後にコンテキストが即再充填される(スラッシング)。巨大なファイル読み込みやツール出力ひとつで、サマリーの直後にウィンドウが満杯になります。Claude Code は数回の試行後、ループする代わりに自動圧縮を停止してエラーを表示します。/clear、タスク分割、重い読み込みのサブエージェント委譲で対処しましょう。
- 3ゲートウェイやプロキシが大きなリクエストを拒否する場合。エンドポイントが 200K トークン超を拒否するなら CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 を設定し、ゲートウェイの上限を超える前に圧縮が発火するようにします。
- 4/autocompact が保存したと言うのに反映されない場合。managed settings など上位スコープが上書きしています。その場合コマンド自体が通知してくれます。環境変数 CLAUDE_CODE_AUTO_COMPACT_WINDOW は /autocompact よりも優先されます。
- 5純粋に遅いだけの場合。上限近くのウィンドウの要約は大きなリクエストです。/compact を再実行する前に少し待ち、サマリーが本当に要らないなら /clear は一瞬で無料です。無関係な MCP サーバーを切っておくと、今後の圧縮もすべて短くなります。
同じセッションで圧縮が繰り返し失敗するなら、手動の脱出経路はこれです。/rename して /clear、あとで /resume——あるいは前回の圧縮サマリーから続行。ディスク上のものは何も失われません。圧縮が再構成するのは会話メモリだけです。
