/compactでコンテキストを保つ
1Mのコンテキストのモデルは、既定で約967Kトークンで自動要約が走ります。/compactの使い方と、要約で残るものが分かります。
- コンテキストが上限に近づくと、Claude Code は会話を要約(compaction)して空きを作ります。使用量は /context で見られます。
- 長い作業の前に自分で /compact を実行し、引数で残すものを指定できます。毎回残したいものは CLAUDE.md に書いておきます。
- 自動要約の閾値は /autocompact、autoCompactWindow、CLAUDE_CODE_AUTO_COMPACT_WINDOW で変えられ、autoCompactEnabled: false で止められます。
Claude Code のコンテキストウィンドウには上限があります。上限に近づくと、Claude Code は会話の履歴を要約して空きを作ります。これが compaction です。要約のあとに、さっきまで守られていた指示が抜け落ちたように見えることがあります。この記事では、使用量の見方、/compact の使い方、自動の compaction、/clear との使い分け、要約に頼らない工夫、コストとの関係を順に説明します。編集部の検証環境(macOS、Claude Code 2.1.305、2026年10月21日)では claude --version と claude --help を確かめただけで、対話のセッションでの要約は試していません(未実行)。
いまの使用量を見る
| コマンド | 分かること |
|---|---|
/context | コンテキストの使用量を色分けのグリッドで表示する。容量を食っているツールや、メモリの肥大化への提案も出る |
/usage | セッションのコスト、プランの利用上限、活動の統計。/cost と /stats は別名 |
/memory | 読み込まれた CLAUDE.md と自動メモリのファイルを開いて編集する |
出典:https://code.claude.com/docs/en/commands 、https://code.claude.com/docs/en/context-window 、2026-10-21確認
使用量は statusline に常に表示することもできます(Claude Codeのstatusline設定)。
/compact の使い方
/compact は、それまでの会話を要約してコンテキストの空きを作ります。引数に指示を書くと、要約で何を残すかを決められます。
/compact テストの方針と、まだ直していないバグの一覧を残して
自動の要約は、何が大事かを Claude Code が推測して決めます。長い作業を始める前に自分で /compact を実行すれば、残したいものを指定できます。
会話の一部だけを要約することもできます。/rewind(または Esc を2回)でメッセージを選び、Summarize from here か Summarize up to here を選びます。前者はその地点から後ろを、後者はその地点より前を要約します。
出典:https://code.claude.com/docs/en/context-window 、https://code.claude.com/docs/en/best-practices 、2026-10-21確認
毎回残したいものがあるなら、プロジェクトの CLAUDE.md に要約のときの指示を書いておきます。公式の例は次のとおりです。
# Compact instructions
When you are using compact, please focus on test output and code changes
出典:https://code.claude.com/docs/en/costs 、2026-10-21確認
自動の compaction
Claude Code は、上限に近づくと自動で要約します。コンテキストがいっぱいになっても、セッションは終わりません。
いつ要約するかは、モデルと設定で決まります。 公式によると、何も設定しないと、モデルのコンテキストの上限に達したときに要約します。1M トークンのコンテキストを持つモデルは、いっぱいになる前の、既定で約 967K トークンで要約します。
要約の閾値は次の方法で変えられます。
/autocompact 500k:いまのモデルの閾値を決め、ユーザーの設定に保存する。autoでモデルに合わせた既定値に戻る- settings.json の
autoCompactWindow:すべてのモデルの閾値 - 起動時の
--autocompact:その起動だけ - 環境変数
CLAUDE_CODE_AUTO_COMPACT_WINDOW:スクリプトやクラウドの環境向け。/autocompact、--autocompact、autoCompactWindowより優先される。数字だけなら単位はトークンなので、200は 200 トークンと読まれ、最小値の 100K(とモデルの上限の小さいほう)として扱われて警告が出る。20万トークンのつもりなら200000と書く(v2.1.304 以降は200kも使える)
/autocompact と --autocompact に渡せる値は 100K から 1M トークンまでです。claude --help にも --autocompact <auto|tokens> と出ていました。自動の要約そのものを止めるには、settings.json で "autoCompactEnabled": false にします。既定は true です。
出典:https://code.claude.com/docs/en/model-config 、https://code.claude.com/docs/en/settings-reference 、2026-10-21確認
要約で残るもの・消えるもの
公式の表から、よく関わるものを抜き出しました。
| 中身 | 要約のあと |
|---|---|
プロジェクトのルートの CLAUDE.md、paths: の無いルール | ディスクから読み直される |
| 自動メモリ | ディスクから読み直される |
| plan mode で書いた計画 | ディスクから読み直される |
paths: 付きのルール、サブディレクトリの CLAUDE.md | 要約で消え、該当するファイルを触ったときに読み直される |
| Claude が読んだり編集したりしたファイル | 最近変更されたものから最大5つを読み直す |
| 使った skill の本文 | 読み直されるが、大きいものは先頭だけになり、古いものから落ちる |
| hook があとから足した文脈 | ほかの会話と一緒に要約される |
出典:https://code.claude.com/docs/en/context-window 、2026-10-21確認
要約のあとも必ず守らせたいルールは、paths: を外すか、プロジェクトのルートの CLAUDE.md に移します。
/compact と /clear の使い分け
| 場面 | 使うもの |
|---|---|
| 同じ作業を続けるが、会話が長くなった | /compact(残したいものを指示する) |
| 関係のない作業に移る | /clear |
公式のベストプラクティスは、関係のない作業の間では /clear で文脈をリセットするよう勧めています。無関係な文脈が長く残ると、性能が落ちることがあるからです。/compact は要約する会話を読むので、それ自体が大きなリクエストになります。続きが要らないなら /clear のほうが軽く済みます。
出典:https://code.claude.com/docs/en/best-practices 、https://code.claude.com/docs/en/costs 、2026-10-21確認
同じ訂正を何度もしているときの立て直し方は同じ修正を3回させないにまとめています。
要約に頼らない工夫
要約は便利ですが、何が残るかを完全には決められません。大事なものは、要約の外に置きます。
- 決めたことは、計画やメモのファイルに書き出す。ファイルは要約のあとでも読み直せる
- 毎回必要な事実は CLAUDE.md に置く。ルートの CLAUDE.md は要約のあとにディスクから読み直される
- 大量のファイルを読む調査は、サブエージェントに任せる。読んだ中身はサブエージェントのコンテキストに残り、メインには要約だけが返る
サブエージェントの作り方はClaude Codeのサブエージェントの作り方にあります。
コストとの関係
公式によると、トークンのコストはコンテキストの大きさに比例します。Claude Code はリクエストのたびに会話全体を送るので、文脈が大きいほど1ターンの入力が増えます。プロンプトキャッシュがあっても、長く開いたままのセッションでは、短い質問でも会話全体のぶんを使います。
出典:https://code.claude.com/docs/en/costs 、2026-10-21確認
プランの利用上限に当たったときの対処は利用上限に当たったらを読んでください。
まとめ
- 使用量は
/contextで見る。/usageでコストと上限も分かる /compactに指示を渡すと、要約で残すものを決められる。会話の一部だけなら/rewindから要約する- 自動の要約の閾値は
/autocompact、autoCompactWindow、--autocompactで変えられる。止めるならautoCompactEnabled: false - ルートの CLAUDE.md と計画は要約のあとも読み直されるが、
paths:付きのルールは消える - 同じ作業なら
/compact、関係のない作業に移るなら/clear - 決めたことはファイルに書き出し、重い調査はサブエージェントに任せる