Claude Code は、会話の文脈(コンテキスト)が上限に近づくと、自動で要約(圧縮)します。
会話が長くなったら/contextで残りを確認し、区切りで/compactに残したい事項を指定できます。ただし要約で細部を失う可能性はあるため、重要な条件はファイルにも残し、圧縮後に確認します。
- /context:今どれだけ使っているかを、項目ごとに表示する
- /compact 残したいこと:会話を要約して空きを作る
- /clear:会話を空にして新しく始める(前の会話は /resume で戻れる)
- 自動圧縮の発動点は /autocompact で決められる(10万〜100万トークン)
この記事は、Claude Code の公式ドキュメント(code.claude.com/docs、2026年10月23日に再照合)にもとづいています。
手元の確認は、2026年9月29日に Windows 11 の Claude Code 2.1.284 で、練習用のフォルダー(C:\demo\cc-b)を使って行いました。
/contextの表示
MSYS_NO_PATHCONV=1 claude -p "/context"練習用のフォルダーで実行すると、次のように出ました(MCP のツールの内訳は省いています)。
## Context Usage
**Model:** claude-opus-5
**Tokens:** 29k / 1m (3%)
| Category | Tokens | Percentage |
|----------|--------|------------|
| System prompt | 3.2k | 0.3% |
| System tools | 20.3k | 2.0% |
| MCP tools (deferred) | 5.6k | 0.6% |
| System tools (deferred) | 19.7k | 2.0% |
| Custom agents | 45 | 0.0% |
| Skills | 5.3k | 0.5% |
| Messages | 8 | 0.0% |
| Free space | 938k | 93.8% |
| Autocompact buffer | 33k | 3.3% |会話を始める前から、システムの指示やツールの説明で約29,000トークンを使っていました。
自作のサブエージェント(Custom agents)やスキル(Skills)も、説明の分だけ文脈を使います。
Git Bash では /context がパスに書き換えられるので、MSYS_NO_PATHCONV=1 を付けています(PowerShell なら不要)。
/compactで空きを作る
/compact 認証まわりの修正の経緯を残して/compact のあとに書いた指示で、要約で何を残すかを決められます。
CLAUDE.md に「Compact Instructions」の節を書いておくと、毎回の圧縮で残すことを指示できます。
圧縮で消えるもの・残るもの
- 依頼や重要な情報を要約して引き継ぐが、コード全文や細かな指示の保持は保証されない
- プロジェクトルートのCLAUDE.md・無条件のrulesと自動メモリは、圧縮のあとディスクから読み直される
- 読んだ・編集したファイルから更新の新しい順に最大5つを再読込み。5,000トークンを超えるファイルは本文でなくパス参照になる
- 使ったスキルの本文は、1つ5,000トークン・合計25,000トークンまで戻される
いつも守らせたい決まりは、会話ではなく CLAUDE.md に書きます。
自動圧縮の設定
| 方法 | 働き |
|---|---|
| /autocompact 500k | 現在のモデル用に保存(2.1.288以降はmodelSettings配下。以前は全モデル共通) |
claude --autocompact 500k | その起動だけ |
| CLAUDE_CODE_AUTO_COMPACT_WINDOW | 有効な値なら最優先。2.1.304以降はk/M接尾辞も可。接尾辞なしはトークン数 |
| CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | 対応するセッションの発動点を1〜100%で早める。既定より遅くはできない |
| DISABLE_AUTO_COMPACT=1 | 自動圧縮を止める(手での /compact は使える) |
/autocompactで指定する窓は10万〜100万トークンの範囲で、モデルのコンテキスト上限にも制限されます。保存値と実際の発動点は同一とは限りません。元から1Mのモデルは既定で約967Kで圧縮し、出力例のAutocompact bufferはそのための余白を示します。上位設定や環境変数による上書きも確認します。
/clearとの違い
/clear は会話を空にして新しく始めます(別名 /reset・/new)。
同じ話を続けたまま空きを作りたいときは、/clear ではなく /compact を使います。
文脈を食わないコツ
- CLAUDE.mdは1ファイル200行未満が目安。単にrulesや@参照へ分割しても総量は減らないため、必要に応じてパス条件付きrulesやスキルに分ける
- CLAUDE.mdのブロック単位のHTMLコメントは自動読込み時に除かれる。コードブロック内やReadで直接読む場合は残る
- 使わないプラグインや MCP サーバーは外す
上限に当たってエラーになったときは、Context limit のエラーの対処法で紹介しています。
まとめ
- /context で残りと内訳を見る
- 区切りで /compact 残したいこと
- 話を変えるなら /clear
- いつも守らせる決まりは CLAUDE.md に
参考:Claude Code「Commands」「Context window」「How Claude Code works」「Memory」(2026年10月23日に再照合)と、Claude Code 2.1.284 での実行結果。
よくある質問:Claude Codeのコンテキストと圧縮
/context では、何が分かりますか?
今どれだけ文脈(コンテキスト)を使っているかを、項目ごとに表示します。
記事の練習用フォルダーでは、会話を始める前から、システムの指示やツールの説明で約29,000トークンを使っていました。
自作のサブエージェント(Custom agents)やスキル(Skills)も、説明の分だけ文脈を使います。
/compact は、何をしますか? 残したいことを指定できますか?
会話を要約して空きを作ります。
/compact のあとに書いた指示で、要約で何を残すかを決められます。
CLAUDE.md に「Compact Instructions」の節を書いておくと、毎回の圧縮で残すことを指示できます。
圧縮すると、何が消えて、何が残りますか?
依頼や重要な情報を要約して引き継ぎますが、コード全文や細かな指示の保持は保証されません。
プロジェクトルートのCLAUDE.md・無条件のrulesと自動メモリは、圧縮のあとディスクから読み直されます。
更新の新しい順に最大5ファイルを再読込みしますが、5,000トークン超のファイルは本文ではなくパス参照になります。スキル本文は1つ5,000・合計25,000トークンまでで、上限に応じて末尾や古いスキルが省かれます。パス条件付きrulesや下位CLAUDE.mdは必要時に再読込みします。
いつも守らせたい決まりは、会話ではなく CLAUDE.md に書きます。
自動圧縮が始まるタイミングは、変えられますか?
/autocompact 500kで窓を指定できます。2.1.288以降は現在のモデル用としてmodelSettingsに保存されます。上位設定によって保存値が実効値にならない場合もあります。
claude --autocompact 500k ならその起動だけ、CLAUDE_CODE_AUTO_COMPACT_WINDOWは有効な値なら優先されます。2.1.304以降は200kなども使え、接尾辞なしの200は200トークンとして扱われます。
CLAUDE_AUTOCOMPACT_PCT_OVERRIDEは、モデル上限より前に圧縮するセッションで発動点を早める指定です。1〜100%を指定できますが、既定より遅くする値は使えません。
指定できる範囲は10万〜100万トークンです。
自動圧縮を、止められますか?
DISABLE_AUTO_COMPACT を "1" にすると、自動圧縮が止まります(手での /compact は使えます)。
/clear と /compact は、どう使い分けますか?
/clear は会話を空にして新しく始めます(別名 /reset・/new。前の会話は /resume で戻れます)。
同じ話を続けたまま空きを作りたいときは、/clear ではなく /compact を使います。
話を変えるなら /clear です。
文脈を食わないコツはありますか?
CLAUDE.mdは1ファイル200行未満が目安です。無条件rulesや@参照への分割だけでは総量は減りません。必要なときだけ読むパス条件付きrulesやスキルを検討します。
CLAUDE.mdのブロック単位のHTMLコメントは自動読込み時に除かれます。ただしコードブロック内やReadで直接読む場合は残ります。
使わないプラグインや MCP サーバーは外します。
Windowsの Git Bash で、/context が動かないときは? 記事の確認範囲は?
Git Bash では /context がパスに書き換えられるので、MSYS_NO_PATHCONV=1 を付けます(PowerShell なら不要です)。
なお、記事の手元の確認は、2026年9月29日に Windows 11 の Claude Code 2.1.284 で、練習用のフォルダーを使って行ったものです。
上限に当たってエラーになったときは、別の記事(Context limit のエラーの対処法)を、最新の仕様は公式ページをご確認ください。2026年10月23日は本文と公式資料の再照合で、圧縮・復元や画面の実機再検証はしていません。
