MemoryLake
すべての記事に戻る
Tutorial2026年11月5日·10 分で読了

Claude Codeのセッション要約(Session Recap)とは?離席後に表示されるタイミングと、会話履歴が維持される理由 (2026)

数分間別のウィンドウに切り替えてから Claude Code に戻ると、プロンプトの上に1行のメッセージが表示されていることがあります。これは、これまでのセッションの内容を短くまとめた「セッション要約(Session Recap)」です。また、/recap コマンドを使えば、いつでも手動で要約をリクエストできます。

どちらも会話のサマリーを作成するため、一見すると「圧縮(compaction)」に似ていますが、その違いは重要です。Anthropic のプロンプトキャッシュガイドによると、/recap は「メッセージ履歴を置き換えるのではなく、コマンド出力としてサマリーを追加するため、キャッシュされたプレフィックスはそのまま維持される」とされています。つまり、会話の内容は元のまま残り、要約はあくまでユーザーのための備忘録として機能します。

このガイドでは、自動要約が表示される条件、/recap の機能、長さの制限と実行権限、圧縮や他のコマンドとの関係、そして無効化する方法について解説します。Codex をお使いの場合は、Codexの/recapガイドで同等のコマンドについて確認できます。

セッション要約とは何か

Anthropic のインタラクティブモードに関するドキュメントでは、次のように説明されています。「離席した後にターミナルに戻ると、Claude Code はこれまでのセッションで何が起きたかの1行の要約を表示します。」

コマンドリファレンスには手動版の記述があります。/recap は「現在のセッションの1行のサマリーをオンデマンドで生成する」機能です。

どちらも状況把握(オリエンテーション)を目的としています。休憩の後、スクロールして過去のやり取りを読み返さなくても、何をしていたかの文脈をすぐに取り戻せます。これらはセッションの永続的な記録ではありません。

自動要約が表示されるタイミング

ドキュメントには具体的な条件が記されています。

  • 時間とフォーカス: 「最後のターンが完了してから少なくとも3分が経過し、かつターミナルがフォーカスされていない状態になると、バックグラウンドで要約が生成されます。そのため、戻ったときには準備ができています。」
  • 十分な会話量: 「要約はセッションが少なくとも3ターン以上経過した後にのみ表示され、2回連続で表示されることはありません。」
  • インタラクティブモード限定: 「自動要約は非インタラクティブモードでは表示されません。」 claude -p での実行時には表示されません。

したがって、短いセッション、離れなかったターミナル、あるいは新しいターンを挟まずに2回休憩した場合には要約は生成されません。これらがドキュメント化された条件であり、休憩のたびに必ず表示されるわけではない理由です。

エージェントビュー(agent view)の場合

バックグラウンドセッションにも関連する動作があります。Anthropic のエージェントビューガイドによると、バックグラウンドセッションにアタッチした際、「Claude はあなたが離席している間に何が起きたかの短い要約を投稿する」とされています。Claude Codeのエージェントビューに関するガイドでは、離席中にこれらのセッションがどのように実行されるかを詳しく説明しています。

/recap を自分で実行する

/recap は、オンデマンドで同じ種類のサマリーを生成します。どちらの形式にも2つの制限が適用されます。

長さ: 「Claude Code は、自動要約と /recap 出力の両方を400文字以内に制限しています。」 要約は1〜2文程度であり、詳細なステータスレポートではありません。変更ログには、カットされる場合は「単語の境界」で行われると記されています。

実行権限: 「ユーザー自身がリクエストした場合にのみ実行されます。」 エラーリファレンスでは、これが実務上何を意味するかを説明しています。Slack、Teams、プロジェクトスレッドから転送されたメッセージ内、あるいはクラウドのスケジュールタスクや他のプログラムから送信されたプロンプト内の /recap は、要約の代わりに通知を返します。Anthropic のリストによれば、実行可能な場所は「ターミナル、Claude アプリ、claude.ai/code、または Remote Control 経由」です。また、「claude -p に渡す /recap や、独自の Agent SDK アプリケーションが起動したセッションに送信するものは、ユーザー自身の入力としてカウントされる」とされています。

もし「/recap は自分自身でリクエストした場合にのみ実行されます」というメッセージが表示された場合、Anthropic が推奨する解決策は、セッションを直接開いてコマンドを実行するか、スケジュールタスク等が送信するプロンプトから /recap を削除することです。

なぜ要約は会話に影響を与えないのか

これは要約に関する最も有用な事実であり、プロンプトキャッシュガイドに記載されています。「/compact とは異なり、メッセージ履歴を置き換えるのではなく、コマンド出力としてサマリーを追加するため、キャッシュされたプレフィックスはそのまま維持されます。」

これには2つの利点があります。

情報が要約によって消えない: 圧縮(compaction)は過去のターンをサマリーで置き換えるため、一部の詳細が失われる可能性があります。要約(recap)は何も置き換えないため、過去のすべてのメッセージが会話内に残ります。

キャッシュが乱されない: 履歴が書き換えられないため、後続のリクエストを効率的に保つためのキャッシュされたプレフィックスが有効なまま残ります。

ただし、Claude Code が作成するすべてのサマリーが同じ仕組みなわけではありません。「アイドル圧縮(Idle compaction)」という別の機能は、離席中にセッションを圧縮することがあります。Anthropic の設定リファレンスによると、これが実行された後は「次のメッセージは会話全体ではなくサマリーを送信する」ようになります。Anthropic のコストガイドでは両者を併記しています。「セッション要約とアイドル圧縮は、アイドル中にトークンを消費する可能性があります。」 セッションに戻ったときに要約と圧縮の両方の通知がある場合、それらは異なる処理が行われたことを意味します。

要約と他のセッションコマンド

Claude Code には、セッションを変更せずに状況を確認するコマンドと、セッションの内容を変更するコマンドがいくつかあります。

  • /recap: 出力として追加される1行のサマリー。会話内容は変わりません。
  • /context: コンテキストウィンドウを占有している内容の内訳。 /context コマンドのガイドで読み方を解説しています。
  • /btw: 会話履歴に残らないサイドクエスチョン。/btw のガイドでは、サイドクエスチョンが参照できる範囲を説明しています。
  • /compact: 過去のターンをサマリーで置き換えます。
  • /clear: 新しい会話を開始します。/clear のガイドでは、何が保持されるかを解説しています。

最初の3つは現在の状況を理解するためのもので、後ろの2つは Claude が参照する情報を変更するものです。要約は最初のグループに属します。

要約をオフにする方法

要約はデフォルトで有効になっています。「セッション要約は、すべてのプランとプロバイダーでデフォルトでオンになっています。」

オフにする、または上書きする方法は3つあります。

  • /config で設定: 「自動要約をオフにするには、/config を開き、Session recap をオフにします。」
  • 設定ファイルで指定: awaySummaryEnabled 設定も同じ役割を果たします。Anthropic の設定リファレンスによれば、これを false に設定すると要約が停止します。デフォルトは未設定(オン)です。
  • 1つのセッション限定: 環境変数 CLAUDE_CODE_ENABLE_AWAY_SUMMARY は「この設定を1つのセッションに対して優先的に適用」します。0 に設定すると強制的にオフ、1 に設定すると強制的にオンになります。

/config のトグルは「自動要約」をオフにするものとして説明されています。/recap はオンデマンド形式です。

なぜオフにするのでしょうか?要約はバックグラウンドで生成され、Anthropic はアイドル中にトークンを消費する可能性があると指摘しています。頻繁に離席し、かつサマリーを必要としない場合は、オフにすることでリソースを節約できます。

要約が機能する場所

自動要約はターミナルの機能であり、ターミナルのフォーカスの喪失と復帰に紐付いています。一方、/recap はより広い範囲で利用可能です。Anthropic の Remote Control ガイドでは、/compact、/clear、/context と並んで、テキスト出力コマンドの一つとしてリストされています。つまり、スマートフォンから操作しているセッションでも要約をリクエストできます。

プロバイダーも関係ありません。この機能がリリースされた当初はテレメトリに紐付いていましたが、その後のリリースノートで「セッション要約は、テレメトリが無効なユーザー(Bedrock、Vertex、Foundry、DISABLE_TELEMETRY)でも利用可能になりました」と発表されました。同じリリースノートでは、オプトアウトの方法として /config や CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 が案内されています。

再開(Resuming)は別のケースです。別のリリースノートによると、Claude Code は「圧縮後の再開時に、続行前の前置きとしての要約を生成しないように変更」されました。そのため、圧縮されたセッションを再開しても、冒頭に余計なサマリーが表示されることはなくなりました。

要約ではないもの

要約は「備忘録」であり、「記憶(memory)」ではありません。

ドキュメントでは、表示用の出力としてセッションに追加されるものとして説明されており、後のセッションでそれを読み込むといった記述はありません。新しいセッションを開始したり /clear を実行したりした際、Claude が引き継ぐ知識は CLAUDE.md ファイルや自動記憶(auto memory)から得られるものであり、過去のセッションの要約からではありません。

また、引き継ぎ資料(handoff)でもありません。400文字という制限があるため、要約は「何をしていたか」を伝えることはできても、決定の背後にある推論や、除外した選択肢のリストまでは保持できません。別のセッションや別の人に作業を引き継ぐ場合は、引き継ぎプロンプトの書き方ガイドで含めるべき内容を確認してください。

よくある誤解

休憩のたびに要約が表示されると期待する: 3分間の経過、フォーカスの外れたターミナル、少なくとも3つのターン、そして前回の要約以降の新しいターンが必要です。

Slackやルーチンから /recap を送信する: 転送されたメッセージやスケジュールされたプロンプトは、要約の代わりに通知を受け取ります。セッション内で直接実行してください。

要約を共有用のサマリーとして使う: 400文字に制限されています。代わりに引き継ぎ資料を作成してください。

要約がセッションを圧縮すると想定する: 出力を追加するだけで、履歴はそのまま残ります。

アイドル圧縮を止めるために要約をオフにする: これらは別物です。アイドル圧縮には独自の設定があります。

解決策:要約を状況把握に使い、記録は別の場所に保管する

ステップ 1: 自動要約が必要か決める

1行の備忘録が作業再開の助けになるなら、オンのままにしましょう。ほとんど読まない場合は、/config で Session recap をオフにするか、awaySummaryEnabled を false に設定します。

ステップ 2: 必要なときに /recap を使う

長時間の作業の後、タスクを切り替える前、あるいはメッセージをキューに入れて状況が分からなくなったときに /recap を実行してください。Claude Codeでのメッセージキューに関するガイドでは、それらがいつ Claude に届くかを説明しています。

ステップ 3: セッション後も残すべきことを書き留める

決定事項、規約、あるいは行き詰まったアプローチなど、後で再び必要になることがセッションで決まったら、CLAUDE.md に記載するか、Claude に自動記憶(auto memory)に保存するよう指示してください。要約は「どこにいたか」を教え、これらのファイルは「何を知っているか」を次のセッションに伝えます。

MemoryLake でのセットアップ

要約は再開を助ける1文に過ぎません。作業の背後にある決定やその理由は、1つのセッション、1台のマシン、1つのツールを超えて存続する場所に置く必要があります。

MemoryLake は、それらの決定事項を一箇所で管理し、ChatGPT、Claude Code、Codex など接続したアシスタントから利用できるようにする記憶(memory)レイヤーです。

エントリーは自分自身の言葉で作成します。Claude Code のセッション、要約、CLAUDE.md ファイル、自動記憶、あるいはベンダーのストレージから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。セッション要約と /recap は、Anthropic が説明している通りに機能し続けます。

ステップ 1: API キーを作成する

サインインしてダッシュボードからキーを生成します。このキーは MemoryLake ワークスペースに属し、Claude のアカウントとは別物です。

エージェントで使用するために新しいキーが作成され、コピーされる API キー画面を表示する MemoryLake コンソール
エージェントで使用するために新しいキーが作成され、コピーされる API キー画面を表示する MemoryLake コンソール

ステップ 2: 最初の記憶(memory)をアップロードする

解決策のステップ3で書き留めた内容(決定事項、規約、除外したアプローチなど)から始めましょう。1つのエントリーにつき1つのポイントを、日付とともに記入します。

最初のドキュメントがアップロードされ、各ファイルが検索可能な記憶としてリストされている MemoryLake ワークスペース
最初のドキュメントがアップロードされ、各ファイルが検索可能な記憶としてリストされている MemoryLake ワークスペース

ステップ 3: AI とエージェントを接続する

Claude Code や他のアシスタントを接続します。新しいセッションでも、/clear の後でも、あるいは別のツールでも、同じエントリーを利用できます。

記憶レイヤーに接続可能な AI クライアントとエージェントフレームワークをリストした MemoryLake の統合画面
記憶レイヤーに接続可能な AI クライアントとエージェントフレームワークをリストした MemoryLake の統合画面

実務で何が変わるか

第一の利点は、再開が早くなることです。要約はあなたが何をしていたかを思い出させ、エントリーはあなたが何を決定したかを Claude に思い出させます。

第二に、セッションへのプレッシャーが軽減されます。重要な部分は書き留められているため、長いセッションですべてを保持し続ける必要がなくなります。

第三に、ツール間での一貫性です。同じ決定事項が Claude Code、Codex、ChatGPT で利用可能になります。

セッション要約のベストプラクティス

頻繁に離席するならオンのままにする。 素早く作業を再開できます。

読まないならオフにする。 アイドル中にトークンを消費する可能性があります。

自分で /recap を実行する。 チャットスレッドやスケジュールタスクから転送されたリクエストは拒否されます。

1行以上の内容を期待しない。 出力は400文字に制限されています。

圧縮と混同しない。 要約は追加し、圧縮は置き換えます。

残すべきことは書き留める。 次のセッションに必要なことは、CLAUDE.md や自動記憶を使用してください。

結論

セッション要約は、3ターン以上のセッションで3分以上離席した後に戻った際、Claude Code が表示する1行のサマリーです。 /recap はオンデマンドで同じサマリーを生成し、どちらも400文字に制限されています。 /recap を実行できるのはユーザー自身だけであり、ターミナル、Claude アプリ、Remote Control、claude -p、または独自の SDK アプリケーションから実行可能です。

圧縮とは異なり、要約は出力を追加するだけで、メッセージ履歴やキャッシュを維持します。そのため、安全な備忘録として機能しますが、同時に「記憶」ではない理由でもあります。次のセッションに知らせる必要があることは、Claude Code が読み取れる場所に記述してください。

よくある質問

Claude Codeのセッション要約(Session Recap)とは何ですか?

離席後にターミナルに戻った際、Claude Code が表示するセッションの1行のサマリーです。 /recap コマンドで生成することもできます。

Claude Codeが要約を表示するのはいつですか?

最後のターン完了から3分以上経過し、ターミナルがフォーカスされていない状態で、かつ3ターン以上のセッションである場合です。2回連続で表示されたり、非インタラクティブモードで表示されたりすることはありません。

/recap は会話を圧縮しますか?

いいえ。Anthropic によれば、 /recap はメッセージ履歴を置き換えるのではなく、コマンド出力としてサマリーを追加するため、キャッシュされたプレフィックスはそのまま維持されます。

セッション要約をオフにするにはどうすればよいですか?

/config で Session recap をオフにするか、 awaySummaryEnabled を false に設定するか、1つのセッションに対して CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 を設定します。

なぜ /recap が「自分自身でリクエストした場合にのみ実行されます」と表示されたのですか?

リクエストが Slack、Teams、プロジェクトスレッドからの転送メッセージ、あるいはスケジュールタスクや他のプログラムから送信されたためです。セッション内で直接 /recap を実行してください。

セッション要約はトークンを消費しますか?

はい。Anthropic によれば、セッション要約とアイドル圧縮は、アイドル中にトークンを消費する可能性があります。