Claude Codeを使っていて、前回のセッションはどこまで残るのか気になったことはありませんか。
実は私も、/exitや/clearを打つたびに「これで履歴は消えるのか」と迷っていた時期がありました。
この記事では、/resume・/clear・/exit、そして再起動時に表示される確認画面まで、Claude Codeのセッション管理の仕組みを整理して解説します。
巨大セッションで出る「Resume from summary」の判断基準や、履歴の保存場所・保存期間の実例も紹介します。
さらに、ネットで見かけた情報を鵜呑みにせず、Claude Code本体の中身を実際に検証し、現行バージョンの挙動とどこまで一致しているかも合わせて確認しました。
生成AI講師として登壇してきた筆者が、実際の画面表示と検証結果をもとに現場目線で解説します。
最後まで読んで、resumeを迷わず使いこなせるようになりましょう。
この記事を読めば、Claude Codeの履歴がいつまで残るのかがわかり、resumeを迷わず使い分けられるようになります。
この記事では、次の流れで解説します。
- Claude Codeの「セッション」とは何か
- Claude Codeで「/exit」しても履歴が消えない理由
- Claude Codeの「resume」使い方を4ステップで解説
- Claude Codeの「/clear」と「/exit」は何が違うのか
- 巨大セッションで出る「Resume from summary」の判断基準
- Claude Codeの履歴はどこに保存されているのか
- Claude Codeの履歴を安全に運用するための注意点
それでは、順番に説明していきましょう。
Claude Codeの「セッション」とは何か

Claude Codeでの一連のやり取りは、ひとつの「セッション」としてまとめて記録されます。
依頼した内容、Claudeが返した回答、読み込んだファイル、実行したコマンドまで、作業の流れ全体が一体で保存される仕組みです。
まずは基本の定義から確認していきましょう。
セッションに含まれる情報
セッションには、会話だけでなく作業の流れ全体が記録されます。
Claude Codeが文脈を保ったまま作業を続けるために、操作ログをまとめて保持しているからです。
依頼内容と回答はもちろん、読み込んだファイルや実行したコマンドまで一体で残ります。
セッションは「作業ログの塊」と捉えると理解しやすくなります。
セッションが再利用される場面
一度Claude Codeを終了しても、後から同じセッションを呼び出せる場合があります。
Claude Codeが過去のやり取りをローカルに保存しているためです。
例えば、翌日同じプロジェクトフォルダで起動すると、前回の続きが検出されることがあります。
この仕組みが、この記事の主役である/resumeなど、後続の機能の土台になっています。
伝さん私も最初は「え、これって全部覚えてるの?」と驚きました。でも実際に中身を調べてみると、記憶しているというより「保存したログを読み直している」に近い動きでした。
Claude Codeで「/exit」しても履歴が消えない理由


/exitは、Claude Codeそのものを終了するためのコマンドです。
ただし、終了したからといって過去のセッションが即座に削除されるわけではありません。
実際にどう表示されるのか、順番に見ていきましょう。
再起動時に表示される画面の正体
/exitのあとに再びClaude Codeを起動すると、以前の作業に関する表示が出ることがあります。
ネット上の情報では「Recovered history」という表示名が紹介されている場合がありますが、今回、手元のClaude Code(バージョン2.1.233)の中身を実際に確認したところ、少なくとも現行バージョンには「Recovered history」という文言のUIは見当たりませんでした。



え、じゃあ「履歴が復元される」っていう話自体がガセなんですか?



いいえ、そこは誤解しないでくださいね。仕組み自体はちゃんとあります。実際には「Welcome back!」という挨拶メッセージが表示されたり、直前に大きなセッションを扱っていた場合は、再起動時に自動で「要約から再開しますか、それとも続けますか」という確認が出たりします。呼び方が変わっただけで、過去の作業を検出して再利用できる状態にする、という役割は変わっていません。
具体的には、セッションの経過時間がおおむね70分以内で、かつトークン数が10万を超えているような大きな会話だった場合に、この自動確認が表示される仕組みになっています。
ChatGPTから得た情報だけを鵜呑みにせず、実際の挙動まで確認しておくことが、Claude Codeを安全に使いこなすうえで大切だと感じました。
環境やバージョンで表示は変わる
Claude Code自体のアップデートによって、こうした表示や仕組みは今後も調整される可能性があります。
今回の検証はあくまで2026年8月時点のバージョン2.1.233での結果です。
「必ずこの文言が出る」と決め打ちせず、「過去の作業を検出して再利用する仕組みがある」という大枠だけ押さえておけば、バージョンが変わっても混乱しにくくなります。
Claude Codeの「resume」使い方を4ステップで解説


/resumeは、過去のセッションを選んで再開するためのコマンドです。
画面には保存済みセッションの一覧と件数が表示されます。実際の操作を4ステップで確認していきましょう。
ステップ1 /resumeで再開可能なセッション一覧を開く
/resumeと入力すると、保存済みセッションの一覧が表示されます。
Claude Codeがプロジェクトごとに履歴を保持しているためです。
画面上部には「Resume session(1 of 11)」のように、件数付きで表示されます。
一覧の下には、Ctrl+Aで表示範囲を「現在のプロジェクトのみ⇄すべてのプロジェクト」に切り替え、Ctrl+Bで「すべてのブランチ⇄現在のブランチのみ」を切り替えるヒントが並びます。
今回の検証では、これに加えてCtrl+Wで「すべてのworktree⇄現在のworktreeのみ」を切り替えられることも確認できました。
Gitのworktreeを使って複数の作業ツリーを並行させている人向けの、比較的新しい絞り込み機能です。
ステップ2 Spaceキーでプレビューして中身を確認する
Enterを押す前に、Spaceキーで内容を確認しておくのが安全です。
セッションが増えてくると、どれが何の作業だったか見分けにくくなるからです。
「これは何をしていたときの会話だっけ」となる事態を防げます。
初心者ほど、プレビューを習慣にしておきたい操作です。
ステップ3 目的のセッションをEnterで再開する
プレビューで確認できたら、Enterキーで再開します。
矢印キーで選択してEnterを押すだけの、シンプルな操作です。
ただし、ここには実際に検証して初めてわかった注意点があります。



実は私も、Ctrl+Aで「すべてのプロジェクト」を表示した状態から、別のプロジェクトのセッションを選んでそのままEnterを押してみたことがあります。
このとき、選んだセッションが今いるディレクトリとは別のディレクトリのものだった場合、その場でそのまま再開されるわけではありません。
「This conversation is from a different directory.」という案内とともに、再開用のコマンドが自動的にクリップボードへコピーされます。
そのコマンドを、対象のディレクトリに移動したうえで実行する、という一手間が必要になる仕組みです。
選んだセッションがバックグラウンドエージェントとしてまだ動いている最中だった場合は、「That session is still running as a background agent.」と表示され、claude agentsでの確認が案内されます。
この場合もresumeでその場に直接呼び出すことはできません。
ステップ4 Ctrl+Rで名前を付けて管理する
Ctrl+Rを押すと、選択中のセッションに名前を付けられます。
初期状態では、番号や最初のメッセージの一部だけでは内容が判別しにくいためです。
「料金体系の設計」「CLAUDE.md作成」のように命名しておけば、後から探しやすくなります。
長期プロジェクトを回している人ほど、この命名の効果を実感しやすいはずです。
Claude Codeの「/clear」と「/exit」は何が違うのか


両者は名前が似ているように見えますが、役割は大きく異なります。
混同すると、履歴の扱いを誤解しやすいポイントです。初心者が混乱しやすいところを整理していきましょう。
役割の違いを整理する
/clearは、現在の会話コンテキストをリセットするコマンドです。
一方/exitは、Claude Codeそのものを終了する操作です。
/clearを実行してもClaude Code自体は起動したままで、次の会話にそのまま移れます。
実際、/clearを実行したあとのセッションも、後から/resumeの一覧に表示されて見つかる場合があります。
「/clear=履歴削除」ではない、と覚えておくことが大切です。
/clearが必要になる理由
コンテキストが膨らみすぎたときに、/clearで整理するのがおすすめです。
会話・読み込んだファイル・ツールの実行結果が、作業時間が長くなるほど積み重なっていくためです。
情報量が増えるほど、Claude Codeにとっても人間にとっても扱いにくくなります。
だからこそ、重要な情報は会話任せにせず、ファイルとして残しておく判断が必要になります。
巨大セッションで出る「Resume from summary」の判断基準


大きなセッションを/resumeすると、警告画面が表示される場合があります。
「177.9k tokens」のような具体的な数値とともに表示されるのが特徴です。
実際に表示された画面をもとに解説します。
警告画面が示す意味
この警告は、利用上限を大きく消費する前に、選択を促すためのものです。
巨大なセッションをそのまま再開すると、それだけ負荷が大きくなるためです。
画面には「Resuming the full session will consume a substantial portion of your usage limits. We recommend resuming from a summary.」と表示されます。
今回の検証では、この文言はバージョン2.1.233の中身でも一字一句そのまま確認でき、選択肢も「Resume from summary(recommended)」「Resume full session as-is」「Don’t ask me again」の3つで変わっていませんでした。
通常は、推奨どおりResume from summaryを選ぶのが無難です。



177.9k tokensという表示を初めて見たときは、正直「そんなに溜め込んでいたのか」と驚きました。日々の作業がそのまま積み上がっていくのを実感した瞬間です。
要約再開と全文再開の使い分け
要約から再開する場合、細かい例外条件までは残らないことがあります。
要約は、重要事項を圧縮して引き継ぐ処理だからです。
例えば「A案を採用するが、◯◯の場合だけはB案にする」といった条件は、要約の中で抜け落ちてしまう恐れがあります。
重要な条件は、セッション任せにせず文書として残しておくことが安全です。
Claude Codeの履歴はどこに保存されているのか


/resume用の履歴は、少なくともMac側にローカル保存されています。
代表的な保存場所は~/.claude/です。
保存場所と通信の仕組みは、分けて理解しておく必要があります。
~/.claude/projects/の役割
プロジェクトごとのセッション情報は、~/.claude/projects/以下に保存されます。
Claude Codeが、実際の作業フォルダとは別の場所で履歴を管理しているためです。
ターミナルでls ~/.claude/projects/と入力すれば、実際に確認できます。
中身を直接編集したり削除したりするのは避けるのが安全です。
ローカル保存とサーバー送信は別の話
ローカルに保存されているからといって、通信が一切発生しないわけではありません。
Claude Code自体が、Anthropic側のモデルを利用する仕組みだからです。
入力した内容は、推論のためにサーバーへ送られます。
保存場所の話と、送信の話を混同しないように注意しましょう。
Claude Codeの履歴を安全に運用するための注意点


履歴には、作業の詳細な情報が残っている場合があります。
保存期間にも、設定による目安があります。
長期運用を見据えた注意点を確認していきましょう。
保存期間の目安とcleanupPeriodDays
今回、Claude Code内部の設定定義を確認したところ、cleanupPeriodDaysという項目に「default: 30」「minimum: 1」と明記されているのが確認できました。
標準では、30日程度が保持期間の目安になります。
設定ファイルで値を変更すれば、保持期間を調整できます。
長期保存が目的の機能ではないという前提で運用するのが安全です。
入力してはいけない情報とCLAUDE.mdとの役割分担
顧客情報や機密情報は、セッションに不用意に入力しないことが重要です。
Macそのものへのアクセスがあれば、ローカルファイルを見られる可能性が残るためです。
恒久的なルールはCLAUDE.mdに、正式に決まった内容は仕様書に残しておきましょう。
セッションは「作業の続き」のためのもの、文書は「正式な記録」のためのもの、と役割を分けて考えることが大切です。
まとめ|Claude Codeのresumeを使いこなす


まずやるべきなのは、ネット上の情報を鵜呑みにせず、実際の挙動で裏取りすることです。
今回、ChatGPT経由で得た情報をもとに検証したところ、名称や細部が現行バージョンとずれている部分が見つかりました。
Claude Codeのようにアップデートが頻繁なツールでは、表示文言や仕様が変わっていることが珍しくないからです。
気になる挙動があれば、自分の環境で一度確かめてから記事や資料に落とし込むようにしましょう。
もう一つ大切なのは、resumeを万能の記憶装置として過信しないことです。Ctrl+A・Ctrl+B・Ctrl+Wでの絞り込みや、Spaceでのプレビュー、Ctrl+Rでの命名は便利ですが、あくまで作業の続きを探しやすくする道具にすぎないためです。
resumeで戻れるのは「作業の続き」であり、「絶対に忘れてはいけない情報」ではありません。
resumeに頼る前に、まず重要な決定事項をCLAUDE.mdや仕様書に書き出しておく。
そうしておけば、セッションが巨大化して要約からの再開になっても、細かい条件を見失う心配もありません。
resumeという機能は、あなたのClaude Codeでの作業を確実に支える心強いツールになるのです。
Claude Codeのセッション管理についてさらに深掘りした記事も、ブログ内で公開しています。あわせてチェックしてみてください。
最新の検証結果はX(旧Twitter)やnoteでも発信していますので、ぜひフォロー・ブックマークしてお待ちください。
よくある質問
- 「Recovered history」という表示は今のClaude Codeにも出ますか?
-
検証した範囲では、現行バージョン(2.1.233)に「Recovered history」という文言のUIは見当たりませんでした。実際には「Welcome back」という挨拶や、大きなセッション再開時の自動確認プロンプトとして機能が引き継がれています。
- /resumeと-c(–continue)は何が違いますか?
-
/resumeは過去のセッション一覧から選んで再開する操作、-c(--continue)は今いるディレクトリの最新の会話を一発で再開するショートカットです。用途に応じて使い分けます。 - 別ディレクトリのセッションは/resumeでそのまま再開できますか?
-
できません。選択するとその場では再開されず、再開用コマンドがクリップボードにコピーされます。対象のディレクトリでそのコマンドを実行する必要があります。
- バックグラウンドで動いているセッションをresumeしたらどうなりますか?
-
「まだバックグラウンドエージェントとして実行中」と表示され、
claude agentsで状態を確認するよう案内されます。resumeでその場に直接呼び出すことはできません。 - 保存期間を延ばすにはどうすればいいですか?
-
設定ファイルの
cleanupPeriodDaysに任意の日数を指定します。標準は30日で、長期保持したい場合は数値を大きく設定します。









コメント