/context が行うこと
/context は、現在のセッションのコンテキストウィンドウ内にあるすべての内訳を出力します。Anthropic のコマンド概要では、その目的を簡潔に述べています。「会話が長くなったとき、/context はウィンドウを何が占有しているかを表示し、/compact はそれを要約してスペースを解放します。」
出力は 3 つの部分で構成されます:
- 色付きのグリッド: ウィンドウがカテゴリ別にどれくらい埋まっているかを示します。
- 内訳: 各カテゴリと、その中身をリスト表示します。
- 提案と警告: コマンドリファレンスによると、「コンテキストを大量に消費するツール、memory の肥大化、および容量の警告に対する最適化の提案を表示」します。
これは Claude Code を実行する場所ならどこでも機能します。ターミナルではスラッシュコマンドです。Claude デスクトップアプリでは、Anthropic によれば「プロンプトボックスに /context と入力すると、チャット内でこのセッションのコンテキストウィンドウのカテゴリ別の内訳が出力」されます。
/context all
フルスクリーンモードでは、/context はグリッドが見えるようにアイテムごとの内訳を折りたたみます。all を渡すと、それが展開されます。Anthropic の機能概要では、MCP サーバーについても言及しています。「/context all を実行して、ロードされた各 MCP ツールが何トークン使用しているかを確認してください。」
内訳の読み方
Anthropic の設定トラブルシューティングガイドには、カテゴリがリストされています。「システムプロンプト、システムツール、MCP ツール、それぞれのロード元ソースを含むカスタム subagents、memory ファイル、スキル、および会話メッセージ」です。それぞれが異なる情報を示しています。
システムプロンプトとシステムツール
これらは Claude Code 独自の指示と組み込みツールです。すべてのセッションに存在します。これらは「ベースライン」を設定します。つまり、何も入力する前からセッションが使用しているスペースです。
MCP ツール
この行は、接続された MCP サーバーからのツールを表示します。MCP ツールの定義はデフォルトで遅延(deferred)されます。Anthropic の説明では、「Claude が特定のツールを使用するまで、ツール名とサーバーの指示のみがコンテキストを消費する」となっています。(deferred) または (loaded on-demand) とラベル付けされたツールが表示されることがありますが、これはタスクで必要になったときに完全な定義が読み込まれることを意味します。
このカテゴリが大きい場合、/context all を実行すると、どのサーバーのツールがスペースを占有しているかがわかります。ウィンドウが混雑している場合の Anthropic のアドバイスには、使用していないサーバーを無効にすることが含まれており、これによりコンテキストからそのツールの定義が削除されます。
カスタム subagents
定義した subagents が、それぞれのロード元とともにここに表示されます。2 つの定義が同じ名前を共有している場合や、プロジェクトレベルとユーザーレベルの agent が重複している場合、そのソースが重要になります。
Memory ファイル
これは、ルールが守られていないときに確認すべきカテゴリです。このセッションで読み込まれた CLAUDE.md ファイルと auto memory がリストされます。Anthropic のコンテキストウィンドウガイドによると、/context は「どの CLAUDE.md や auto memory ファイルが読み込まれたかを含む、最適化の提案を伴うカテゴリ別のライブ内訳」を提供します。
これを使用して、1 つの疑問に答えてください:期待したファイルは実際に読み込まれましたか?プロジェクトルートの CLAUDE.md、ユーザーレベルの CLAUDE.md、または CLAUDE.local.md がリストにない場合、ファイルに何が書かれていようと、Claude は現時点のこのセッションでそれを読んでいません。
スキル
スキルセクションは、コンテキスト内のスキルの説明を表示します。これは skills コマンドよりも広範囲です。Anthropic は、このセクションには「/skills ではリストされないバンドルされたスキルも含まれる」と記しています。スキルの本体はスキルが呼び出されたときに読み込まれますが、説明は最初からコンテキストに存在します。
メッセージ
これはあなたの会話です。プロンプト、Claude の返答、Claude が読み取ったファイルの内容、およびコマンドの出力です。長いセッションでは、作業を進めるにつれて成長し続けるカテゴリです。パス指定のルールや、セッション中に読み込まれるサブディレクトリの CLAUDE.md ファイルも、メッセージ履歴の一部としてここに届きます。
/context を使って memory ファイルを確認する
ルールが守られていない場合、Anthropic のトラブルシューティングガイドは次の順序を提示しています:まずファイルが読み込まれたことを確認し、次にその書き方を確認します。
ファイルがリストにない場合
ファイルがどこにあるかを確認してください。すべての CLAUDE.md がセッション開始時に読み込まれるわけではありません。Anthropic の memory ドキュメントには、「作業ディレクトリより上のディレクトリ階層にある CLAUDE.md および CLAUDE.local.md ファイルは起動時に読み込まれる。サブディレクトリ内のファイルはオンデマンドで読み込まれる」とあります。
そのため、サブディレクトリのファイルがリストになくても、何も問題がない場合があります。トラブルシューティングガイドには直接こう書かれています。「サブディレクトリの CLAUDE.md ファイルはセッション開始時ではなくオンデマンドで読み込まれるため、その内訳には表示されません。」Claude Code は、Claude がそのサブディレクトリ内の別のファイルを読み取り、書き込み、または編集した時点で、そのファイルを読み込みます。サブディレクトリの CLAUDE.md 制限に関するガイドでは、読み込まれた際のそれらのファイルの制限について説明しています。
ルールも同様に機能します。paths フロントマターのないルールは起動時に読み込まれます。パス指定のルールは、Claude が一致するファイルを操作したときに読み込まれるため、それまではリストされません。Claude Code ルールに関するガイドでは、paths がルールの読み込みタイミングをどのように決定するかを説明しています。
AGENTS.md に依存している場合は、ここでも確認してください。Claude Code は一部の設定でのみそれを読み取ります。Claude Code の AGENTS.md サポートに関するガイドでは、どのファイルがそれをオフにするかを解説しています。
ファイルはリストにあるが無視される場合
その場合、読み込みは問題ではありません。Anthropic のガイドにはこうあります。「/context でファイルが読み込まれたことが確認できても、Claude が特定の指示に従わない場合、問題は読み込まれたかどうかではなく、指示の書き方にある可能性が高いです。」
よくある原因として、「複数の解釈ができるほど曖昧な」指示、2 つのファイルによる矛盾した指示、あるいはファイルが「長すぎて個々のルールへの注意が薄れる」ことが挙げられています。memory ドキュメントのサイズに関するアドバイスは、「CLAUDE.md ファイル 1 つにつき 200 行未満を目指す」ことです。2 つのレイヤーが矛盾している場合は、矛盾する CLAUDE.md レイヤーを調整するガイドで、矛盾を見つけて修正する手順を説明しています。
Auto memory
Auto memory も memory ファイルの下に表示され、独自の制限があります。Anthropic によれば、「MEMORY.md の最初の 200 行、または最初の 25KB のいずれか早い方が、すべての会話の開始時に読み込まれる」とのことです。それを超える部分はセッション開始時には読み込まれません。Claude Code auto memory に関するガイドでは、それらのファイルがどこにあり、どのように管理するかを解説しています。
フォローアップコマンド
/context はウィンドウに何があるかを教えてくれます。各カテゴリの詳細は他のコマンドにあります。Anthropic のトラブルシューティングガイドは、これらをペアにしています:
/memory: ユーザーおよびプロジェクトスコープにわたる memory ファイルの場所を表示し、それぞれを開くことができ、auto memory フォルダと切り替えへのアクセスを提供します。/skills: プロジェクト、ユーザー、およびプラグインソースから利用可能なスキルをリストします。/mcp: 接続された MCP サーバーとそのステータスを表示します。/doctor: セットアップの診断を実行します。Anthropic は、これが「サイズ超過の memory ファイルや未使用の拡張機能にフラグを立てる」と記しています。/status: 管理設定を含む、アクティブな設定ソースを表示します。
ウィンドウがいっぱいになりそうな時
/context はウィンドウがどれくらい埋まっているかを表示し、制限を超えたときには警告を出します。
制限超過の警告
Anthropic のエラーリファレンスによると、/context は「会話がモデルのコンテキストウィンドウを超えて成長したとき、出力の最上部に警告を表示」します。警告は、どれくらい超過しているかと、どのコマンドでスペースを解放できるかを教えてくれます。対処するまで、リクエストは prompt-too-long エラーで失敗します。
1M ウィンドウを持つモデルでは、警告は完全なコンテキストウィンドウではなく、compaction ウィンドウを指すことがあります。Anthropic は、「compaction ウィンドウはモデルのコンテキストウィンドウよりも低く設定されることがあるため、それを超えたリクエストでも成功する場合がある」と説明しています。
スペースを解放する方法
Anthropic の提案を、変化の大きい順に挙げます:
/compact: 以前のやり取りを要約し、セッションを維持したままスペースを解放します。/clear: 新しい会話を開始します。 /clear に関するガイドでは、何が保持されるかを解説しています。- 未使用の MCP サーバーを無効にする:
/mcp disableでツールの定義を削除します。 - 大きな CLAUDE.md ファイルを整理する: または、関連する場合にのみ読み込まれるパス指定のルールに指示を移動します。
Compaction 後に何が戻るか
Compaction はメッセージカテゴリを変更し、一部の memory ファイルは自動的に戻ってきます。Anthropic のコンテキストウィンドウガイドには、何が起こるかがリストされています:プロジェクトルートの CLAUDE.md、スコープのないルール、および auto memory は「ディスクから再注入(Re-injected)」されます。パス指定のルールとネストされた CLAUDE.md ファイルはオンデマンドで再読み込みされます。これは、compaction の直後に /context を確認し、メッセージカテゴリが縮小している一方で memory ファイルが残っているのを見たときに知っておく価値があります。
/context と関連コマンドの比較
いくつかのコマンドが、異なる角度からセッションを確認します:
/context: ウィンドウに何があるか、各カテゴリがどれくらいのスペースを使用しているかを表示します。/memory: memory ファイル自体を開いて編集します。/compact: 要約することでウィンドウ内の内容を減らします。/doctor: サイズ超過の memory ファイルなど、セットアップの問題をチェックします。/btw: ウィンドウに追加することなく、横道に逸れた質問をします。
よくある間違い
ファイルが存在するからといって CLAUDE.md が読み込まれたと思い込む。 存在することと読み込まれることは同じではありません。/context はこのセッションに何があるかを表示します。
サブディレクトリのファイルがないことをバグとして扱う。 これらは、Claude がそのフォルダ内のファイルを操作した時点でオンデマンドで読み込まれます。
ルールが無視されたときにさらにルールを追加する。 /context でファイルが読み込まれていることが確認できれば、問題はおそらく表現、矛盾、または長さです。ルールを増やすと長さの問題が悪化します。
Compaction で済むのに Clear してしまう。 /clear は最初からやり直します。/compact はセッションを維持しつつスペースを解放します。
MCP の行を無視する。 多くのツールを持ついくつかのサーバーが、ウィンドウの目に見える割合を占めることがあります。/context all でどれかを確認できます。
解決策: /context をセットアップ確認の一部にする
ステップ 1: 重要なセッションの開始時に /context を実行する
長いタスクの前に /context を実行し、memory ファイルカテゴリを確認してください。期待する CLAUDE.md ファイルとルールがリストされていることを確認します。欠けている場合は、編集する前にそれがどこにあるかを確認してください。
ステップ 2: 症状ではなく原因を修正する
ファイルが読み込まれているのに Claude がルールを見落とす場合は、ルールを具体的に書き直し、レイヤー間の矛盾を解消し、各 CLAUDE.md を短く保ちます。コードベースの一部にしか関係しない指示は、パス指定のルールに移動します。
ステップ 3: ウィンドウを作業のために確保する
長いセッション中、動作が遅くなったら /context を確認してください。使用していない MCP サーバーを無効にし、自然な区切りで compact を行い、無関係なタスクの間では clear を行います。
MemoryLake でのセットアップ
/context は、1 つのマシン、1 つのリポジトリから 1 つのセッションが何を読み込んだかを表示します。あなたが必要とするものの中には、それらのいずれにも縛られないものがあります。リポジトリをまたいで適用される決定、あらゆるアシスタントに伝えたい好み、そしてすべての CLAUDE.md で繰り返したくない事実などです。
MemoryLake は、これらを 1 つのリストに保持するための memory レイヤーです。あなたが管理し、Claude Code や、ChatGPT、Codex など接続する他のアシスタントから利用できます。
エントリーはあなた自身の言葉で書きます。CLAUDE.md ファイル、ルール、auto memory、Claude Code セッション、あるいはベンダーのストアから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。/context は Anthropic が説明する通りの動作を続けます。
ステップ 1: API キーを作成する
サインインして、ダッシュボードからキーを生成します。キーは MemoryLake ワークスペースに属し、Claude アカウントとは別個のものです。

ステップ 2: 最初の memory をアップロードする
解決策のステップ 2 で CLAUDE.md ファイル間で繰り返していることに気づいた事実から始めてください。1 つのリポジトリを超えて適用される決定、規約、制約などです。1 エントリーにつき 1 つのポイントを、日付付きで記入します。

ステップ 3: AI と agent を接続する
Claude Code や、使用している他のアシスタントを接続します。事実は次のセッション、別のリポジトリ、そして他のツールでも利用可能になります。

これが実際に何を変えるか
第一の違いは、推測をやめられることです。守られないルールは、内訳から欠落しているか、存在していても表現が悪いかのどちらかであり、/context がそれを教えてくれます。
第二に、どこで容量が消費されているかがわかります。MCP ツール、memory ファイル、メッセージにはそれぞれ数値があるため、すべてをクリアする代わりに、重い部分だけを削ることができます。
第三に、指示ファイルが短くなります。プロジェクト横断的な事実が別の場所にあれば、各 CLAUDE.md は自身のリポジトリに集中し続けることができます。
Claude Code における /context のベストプラクティス
長いタスクの前に実行する。 期待する memory ファイルがリストされていることを確認します。
ルールが無視されたときは、まず memory ファイルを確認する。 その後、表現と矛盾を確認します。
オンデマンド読み込みを忘れない。 サブディレクトリの CLAUDE.md ファイルとパス指定のルールは、Claude が一致するファイルを操作した後に表示されます。
MCP の詳細には /context all を使用する。 ツールごとのトークン数が表示されます。
警告行を読む。 スペースを解放するコマンド名が表示されます。
/memory や /doctor と組み合わせて使う。 1 つは何が読み込まれたかを示し、他はファイルを開いたり、サイズ超過のものにフラグを立てたりします。
CLAUDE.md を短く保つ。 Anthropic の目標は、1 ファイルあたり 200 行未満です。
結論
/context は、Claude Code セッションのコンテキストウィンドウにあるすべてのものを、カテゴリ別に表示します:システムプロンプト、システムツール、MCP ツール、カスタム subagents、memory ファイル、スキル、およびメッセージです。ルールが守られないときに最初に実行すべきコマンドです。なぜなら、ファイルがそもそも読み込まれたかどうかを教えてくれるからです。
ファイルがない場合は、サブディレクトリのファイルやパス指定のルールはオンデマンドで読み込まれるため、その場所を確認してください。ファイルが存在するのに無視される場合は、表現を確認してください。そしてウィンドウがいっぱいになりそうなとき、/context はどこで容量が消費されたかと、どのコマンドで解放できるかを示してくれます。