「昨日の続きから始めたいだけなのに、どこへ行けば戻れるのか分からない」。Claude Codeを日常的に使っていると、この状態に一度は行き当たります。

セッションは、こちらの都合を待たずに切れます。アップデート、再起動、電源の落ちたノートPC。切れ方はさまざまでも、困り方はいつも同じです。何を話していたかは覚えているのに、その会話がどこに置かれているのかが分かりません。

この記事は、中断した会話を呼び戻す手順と、呼び戻したあとに残る「戻っていないもの」の見分け方を扱います。素材は公式ドキュメントと、運営元での運用実例です。

こんなふうに調べていませんか

  • 再起動したら会話が消えた。昨日の続きから始めたいだけなのに、戻り方が分からない
  • --resume は打った。それでも、探しているセッションが一覧に出てこない
  • 復元はできた。ただ、前と同じように動いていない気がして落ち着かない

この記事を読み終えたときに手に入るもの

  • 3つの入口を、探しにいく範囲の違いで選び分けられるようになります
  • 黙って戻る状態と、起動のたびに渡し直す設定を線引きできるようになります
  • 呼び戻せないときに、どこから疑うかを順に切り分けられるようになります

結論30秒でわかる、この記事の結論

  • 復元は、ディスクに書かれた会話を新しいプロセスへ差し戻す標準機能です。会話は戻りますが、起動のときに渡した設定は戻りません。
  • 入口は3つあり、違うのは手数ではなく「どこまで探しにいくか」です。範囲を取り違えると、あるものが見つかりません。
  • 戻ったかどうかは画面の見た目ではなく、モデル・エージェント・権限モード・起動フラグの4点で確かめます。
呼び戻す入口は、探す範囲の広さで分かれます短い道から順に当たるのが、いちばん速い呼び戻す入口は、探す範囲の広さで分かれます手元直前の1件をそのまま開く迷う余地がない代わりに、拾えるのは1件だけ一覧候補を並べて目で選ぶ記憶があいまいでも、見れば思い出せる名指し付けた名前で直に指す先に名前を用意しておく手間が要る鈴木さん短い道から順に当たるのが、いちばん速い
呼び戻す入口は、探す範囲の広さで分かれます — 短い道から順に当たるのが、いちばん速い

進行役は3人です。若葉さんが用語の側から、高梨課長が自分の手で動かす側から聞き、鈴木さん(本誌監修)が答えます。

01Claude Codeのセッション復元って、AIエージェントの作業を何から呼び戻す仕組みなんですか?

若葉さん
若葉さんの発言

復元というと、どこかに保存ボタンがあるということでしょうか。

鈴木さん
鈴木さんの発言

議事録に近いと思っています。会議が終わってから清書するのではなく、発言のたびに書き足されていく議事録です。だから途中で部屋の電気が落ちても、そこまでは残っています。

Claude Codeのセッション復元は、直前までの会話をディスクから読み込み、新しいプロセスへ差し戻す機能です(出典: Claude Code公式ドキュメント「Manage sessions」)。追加のインストールは要りません。

書き出し先は~/.claude/projects/の下です。プロジェクトごとのディレクトリの中に、セッションIDをファイル名にしたJSONL形式のファイルが置かれます。1行が1メッセージという形です(出典: 同ドキュメント)。

セッションIDはUUID形式で、550e8400-e29b-41d4-a716-446655440000のような文字列になります。人が覚えて打ち込む形ではありません。だからこそ、あとで触れる「名前を付ける」操作が効いてきます。

いちばん大事なのは、書き込みのタイミングです。会話は終了を待たず、操作のたびに逐次書かれます(出典: 同ドキュメント)。こちらが「保存しておこう」と考える機会は、そもそも用意されていません。

裏を返すと、落ちたあとに残っているかどうかは、落ち方では決まりません。そこまで操作が進んでいたかどうかで決まります。強制終了だから消えたはずだ、という心配の仕方は当たっていないことになります。

覚えにくい言葉を、身近な物に置きかえる呼び名が変わるだけで、指しているものは同じです覚えにくい言葉を、身近な物に置きかえる呼び名が変わるだけで、指しているものは同じです身近な言い方この記事で使う言葉発言のたびに書き足される議事録トランスクリプト座席にふられた番号セッションID書類をしまってある棚の区画プロジェクトのディレクトリ背表紙に書いた見出しセッションに付けた名前覚えている側から、覚えにくい側を引けるようにしておきます。
覚えにくい言葉を、身近な物に置きかえる — 呼び名が変わるだけで、指しているものは同じです

02セッションを呼び戻す入口は3つあると聞きました。AI社員に毎朝続けさせるなら、どれを選ぶんですか?

入口は3つです。違うのは操作の手数ではなく、どこまで探しにいくかです。

コマンド対象探索範囲使う場面
claude --continue-c直前のセッション1件現在のディレクトリと/add-dirで追加した範囲同じ作業を毎朝続けるとき
claude --resume-rセッション選択ピッカー現在のワークツリー。Ctrl+Wで全ワークツリー、Ctrl+Aで全プロジェクトへ広げられるどのセッションか名前を思い出せないとき
claude --resume <名前>名前を付けたセッション1件同一リポジトリと配下のワークツリー名前を狙って呼び出したいとき

(出典: Claude Code公式ドキュメント「Manage sessions」)

毎朝おなじ作業に戻るだけなら、--continueがいちばん短い道です。迷いようがない代わりに、拾えるのは直前の1件だけになります。

名前で呼ぶには、先に名前を付けておきます。方法は3つあり、起動時に-nを渡す、セッション中に/renameを打つ、ピッカーの中でCtrl+Rを押す、のいずれかです(出典: 同ドキュメント)。

UUIDを控えておくより、名前を付けるほうが運用に乗ります。あとから探す人が、記憶ではなく言葉で探せるからです。定期的に戻る作業ほど、この差が効いてきます。

見あたらないときは、輪を外へ広げます同じ操作を繰り返さず、範囲だけを変える見あたらないときは、輪を外へ広げます同じ操作を繰り返さず、範囲だけを変える1手元の棚を見るいま開いている場所だけが対象2同じ倉庫まで広げる枝分かれした作業場も含める3建物ぜんぶを見る別の案件で作った分まで届く鈴木さん範囲を変えずに何度打っても、返ってくる答えは変わりません
見あたらないときは、輪を外へ広げます — 同じ操作を繰り返さず、範囲だけを変える

この章のまとめ

入口の違いは速さではなく射程です。手が覚えている作業は--continue、記憶があいまいなときは--resume、狙って指したいときは名前、と覚えておきます。

03Claude Codeのセッション復元を始める前に、AIエージェントの何を確かめるんですか?

呼び戻す前に見ておく前提が3つあります。ここを飛ばすと、あとの手順がまるごと空振りします。

検証環境は、claude-opus-5・Claude Code v2.1.x・macOS 15、2026-07-28時点の確認です。バージョンで挙動が変わる機能があるため、先に並べておきます。

  • ディレクトリ:セッションIDでの検索は、起動したディレクトリとそのgit worktreeに限られます(出典: 同ドキュメント)。別のディレクトリで探すと見つかりません。
  • バージョン:機能追加はバージョンで区切られています。バックグラウンドセッションの表示はv2.1.144以降、/clearのあとに前の会話へ戻る行の表示はv2.1.191以降です。
  • 権限モードplanモードとbypassPermissionsモードは、復元のときに自動では引き継がれません(出典: 同ドキュメント)。使っていたなら、起動フラグか設定で入れ直します。
打つ前に、空欄のまま埋めておくどれも失敗ではなく、空振りという形で出ます打つ前に、空欄のまま埋めておくどれも失敗ではなく、空振りという形で出ますいま立っている場所は、そのとき立っていた場所と同じか場所が違うと、記録はあっても手が届かない使いたい機能は、この版にもう入っているか版で区切られている機能がある外していたモードは、入れ直したか会話は帰ってきても、モードは帰ってこないことがある
打つ前に、空欄のまま埋めておく — どれも失敗ではなく、空振りという形で出ます

この3つに共通するのは、どれも「復元が失敗する」という形では出てこないところです。復元そのものは成功したように見えて、探す場所が違う、その版にまだ機能が無い、モードだけが外れている、という表れ方をします。

04中断したセッションに戻る手順は、AI導入の現場でどんな順に踏むんですか?

手順は4段です。1段ずつ、打つものと見るものをセットで置いていきます。

戻るまでの道のりを、四つに割る各段に、打つものと見るものを一つずつ置きます戻るまでの道のりを、四つに割る各段に、打つものと見るものを一つずつ置きます1見つける元の場所に立ってから、候補を並べる2引き寄せる選ぶか、付けた名前でそのまま指す3見比べる起動した直後の表示を、思っていた姿と照らす4言い直す手渡しで持たせていた分を、もう一度持たせる
戻るまでの道のりを、四つに割る — 各段に、打つものと見るものを一つずつ置きます

ステップ1|セッションを特定する

  • 入力:元の作業ディレクトリへcdし、claude --resumeを実行する
  • 確認:ピッカーに、探している会話の名前かタイトルが出るか
cd ~/projects/my-app
claude --resume

出てこないときは、Ctrl+Wで同じリポジトリの全ワークツリーへ、Ctrl+Aで同じマシン上の全プロジェクトへ、探す範囲を広げます(出典: 同ドキュメント)。ここで打ち直すのはコマンドではなく、範囲を変えるキーのほうです。

ステップ2|呼び戻す

  • 入力:ピッカーで選んでEnterを押す。名前が分かっているなら、そのままコマンドへ渡す
  • 確認:会話履歴の最後のやり取りが、中断した内容と合っているか
claude --resume auth-refactor

ステップ3|戻った状態を見比べる

  • 入力:なし。起動した直後の画面をそのまま読む
  • 確認:モデル・エージェント・権限モードが想定どおりか。/contextコマンドでも確かめられる

ここは飛ばしたくなりますが、見比べる相手は会話ではなく設定です。会話が並んでいることは、設定が揃っている根拠になりません。

ステップ4|戻らなかった設定を言い直す

  • 入力:元のセッションが使っていた--mcp-config--add-dirなどを、復元のコマンドへ付け直す
  • 確認:意図したMCPツールや、追加したディレクトリのファイルへ手が届くか

settings.jsonsettings.local.jsonは起動のたびに読み直されます。この2つに書いた設定は、言い直す必要がありません(出典: 同ドキュメント)。

05復元された直後、エージェントの状態はどこまで元どおりになっているんですか?

戻るものと戻らないものは、公式ドキュメントで分かれています。

状態復元されるか条件・注意
会話履歴(ツール呼び出し含む)される全文が復元される
モデル原則される廃止済みモデルや--model指定時は上書きされる
エージェント原則される元のディレクトリで見つからないと警告つきで既定に戻る
権限モード条件付きplanbypassPermissionsは毎回引き継がれない
アクティブなゴールされるターン数・タイマー・トークン基準はリセットされる
スケジュール済みタスクされる期限切れは対象外。バックグラウンドのBash・監視タスクは対象外
--mcp-config--settings--plugin-dir--fallback-modelされない復元のたびに渡し直す
/add-dirで追加したディレクトリされない起動フラグで渡し直す

(出典: Claude Code公式ドキュメント「Manage sessions」)

高梨課長
高梨課長の発言

会話が戻っているなら、もう同じ状態だと思ってしまいそうです。

鈴木さん
鈴木さんの発言

そこが分かれ目です。画面に出るのは会話のほうなので、戻らなかった側は黙っています。気づくのは、たいてい何かを頼んだあとになります。

読み方のコツは、表を上から順に眺めないことです。下の2行から見ます。 起動のときに渡したものは戻らない、と先に決めておくと、迷う時間が減ります。

「原則される」と書かれた行にも、条件が付いています。モデルは廃止済みだと上書きされ、エージェントは元のディレクトリで見つからないと警告つきで既定へ戻ります。どちらも、警告を読み飛ばすと気づけません。

アクティブなゴールとスケジュール済みタスクにも、戻り方の癖があります。ゴールは戻りますが、ターン数・タイマー・トークン基準はリセットされます。スケジュール済みタスクも戻りますが、期限切れのものと、バックグラウンドのBash・監視タスクは対象外です。

06セッション復元で渡し直しが要る設定は、AI活用の運用でどこに寄せておくんですか?

戻らないものが分かったら、次は置き場所の話になります。同じ設定でも、書いた場所によって「黙って読まれる」か「毎回言い直す」かが変わります。

黙って読まれる側と、毎回言い直す側分かれ目は中身ではなく、書いてある場所です黙って読まれる側と、毎回言い直す側分かれ目は中身ではなく、書いてある場所ですファイルに書いてある開くたびに読み直される打ち直す作業が生まれない書き換えれば、次に開いた回から効く置き場所を決めた時点で、手から離れます起動のときに手渡した渡した回かぎりで消える次に開くときは、無い状態から始まる抜けていても、画面には出てこない手渡しなので、渡す人がいなければ届きません
黙って読まれる側と、毎回言い直す側 — 分かれ目は中身ではなく、書いてある場所です

settings.jsonsettings.local.jsonは、起動のたびに読み直されます(出典: 同ドキュメント)。ここへ書いた設定は、復元のたびに打ち直す必要がありません。

いっぽう--mcp-config--settings--plugin-dir--fallback-modelと、/add-dirで足したディレクトリは、起動のときに手渡したものとして扱われます。だから復元のたびに、もう一度渡します。

運用としては、呼び戻すコマンドを起動フラグごと1行で書き残しておくのが素直です。案件の手元メモに1行だけ置いておく。次に呼び戻す人は、思い出す作業から解放されます。

07復元したあとに文脈を思い出させるのは、AIエージェントのどの仕組みなんですか?

復元そのものは、Claude Code本体の機能です。復元した直後に何を思い出させるかは、SessionStartフックで足せます(出典: Claude Code公式ドキュメント「Hooks」)。

このフックは、新規の起動でも復元でも発火します。どちらで動いたかはsourceフィールドで見分けられます。

sourceの値発火するとき
startup新規セッション
resume--resume--continue/resume
clear/clear
compact自動または手動の要約
fork--fork-session/fork/branch

(出典: 同ドキュメント)

新しく開いた日も、開き直した日も同じ入口見分けるための札が、入口で一枚だけ渡されます新しく開いた日も、開き直した日も同じ入口見分けるための札が、入口で一枚だけ渡されます新しく始めた側開き直した側これから積む会話/前提はまだ何もない積み上がった会話/前提は積んだ本人の中どちらも通るどちらも通る : 同じ仕掛けが顔を出す / 渡された札で行き先を変えられる札を見ずに同じ処理を流すと、要らない読み込みが毎回走ります。
新しく開いた日も、開き直した日も同じ入口 — 見分けるための札が、入口で一枚だけ渡されます

フックへの入力にはtranscript_pathも渡ります。そのセッション自身の記録を、フックの側から読み返せます

{
  "session_id": "abc123",
  "transcript_path": "~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",
  "hook_event_name": "SessionStart",
  "source": "resume"
}

運営元WEBMARKSは、.claude/settings.jsonSessionStartのフックを3本登録しています(同ファイル実測・2026-07-28)。1本目は起動時に読む資料を読み込み、2本目はタスク台帳を読んで中断の疑いを提示し、3本目は定期実行の健全性を確かめます。matcherを指定していないため、3本ともstartupresumeの両方で発火します。

{
  "hooks": {
    "SessionStart": [
      { "hooks": [{ "type": "command", "command": "python3 .claude/hooks/check-unfinished-tasks.py" }] }
    ]
  }
}
高梨課長
高梨課長の発言

会話が戻るなら、フックまで用意しなくてもよいのでは。

鈴木さん
鈴木さんの発言

会話は戻ります。ただ、戻った会話を人が読み直すとはかぎりません。台帳のほうから「途中の作業があります」と声をかけてもらえると、読み飛ばしても気づけます。

台帳そのものの項目設計や、更新の粒度は、この記事の範囲を超えます。粒度・更新のタイミング・完了時の扱いは、別の記事で扱います。

08セッションの再開でつまずくのは、AI社員の運用のどこに原因があるんですか?

実際に運用すると、つまずき方はだいたい3通りに収まります。場所を間違えている型、一覧の仕様を知らない型、そして道具そのものを取り違えている型です。

いちばん多いのは、別のディレクトリで探している型です。あるディレクトリでセッションIDを控え、別のディレクトリへ移ってからclaude --resume <ID>を実行すると失敗します。エラー文は「No conversation found with session ID」です(出典: 同ドキュメント)。

原因は、IDでの検索が起動ディレクトリとそのgit worktreeに限られる仕様だからです。手がかりは、エラー文にセッションIDがそのまま出ているところです。IDは届いているのに見つからない、と読めれば、疑う先が場所のほうへ向きます。

残る2つのうち、道具の取り違え(/rewindとの混同)は次の章でまとめて扱います。もうひとつの一覧の仕様は、この直後に続けます。

09定期実行のために作ったセッションが一覧に出ないのは、AIエージェントの不具合なんですか?

不具合ではなく、一覧に出す条件のほうが変わった結果です。/loopコマンドを最初のプロンプトにしたセッションは、v2.1.211以降ではピッカーの一覧から外れます(出典: 同ドキュメント)。

困るのは、定期実行のために作ったセッションを、あとから手で呼び戻したくなったときです。一覧を開いても並ばないので、消えたと受け取ってしまう例があります。

見分け方は単純で、そのセッションを何で始めたかを思い出すことです。最初の一手が/loopだったなら、一覧に並ばないほうが仕様どおりということになります。名前を付けてclaude --resume <名前>で直に指す運用にしておくと、この差に振り回されずに済みます。

この章のまとめ

一覧に出ない=記録が無い、ではありません。一覧は入口のひとつであって、記録そのものではないと分けて考えます。

10Claude Codeのセッション復元と/rewindは、エージェントの何が違うんですか?

/rewindは、同じプロセスの中でコードと会話を過去の一点まで巻き戻す機能です。プロセスをまたいで呼び戻す復元とは、別の道具になります(出典: Claude Code公式ドキュメント「Checkpointing」)。

checkpointが持っているのは、直近100件のスナップショットだけです。それより前の地点へは戻れません。

さらに、bashコマンドで書き換えたファイルは対象外です。rmmvで消したファイルは、/rewindでは戻りません。セッションを再開したあとで「rewindすれば直る」と考えて手を止めるのが、よくある止まり方です。

似た三つの道具は、届く範囲が違う同じ戻すでも、またいでいるものが別です似た三つの道具は、届く範囲が違う同じ戻すでも、またいでいるものが別です同じ起動の内側時間だけを、少し前へ引き戻せる開き直しの境目開くたびに、決めた資料を読ませられる起動をまたぐ層(土台)会話ごと、次に開いた場所へ持っていける外側ほど広く届き、内側ほど細かく戻せます。手で消した実体は、どの層にも入りません。
似た三つの道具は、届く範囲が違う — 同じ戻すでも、またいでいるものが別です
若葉さん
若葉さんの発言

名前が似ていて、どちらを打てばいいのか分かりません。

鈴木さん
鈴木さんの発言

何をまたぎたいかで決めています。プロセスをまたぎたいなら復元、同じプロセスの中で時間だけ戻したいなら/rewindです。消したファイルを取り戻す道具では、どちらもありません。

この章のまとめ

復元は場所をまたぐ道具、/rewindは時間を戻す道具です。取り違えると、直らないものを直そうとして時間だけが溶けていきます。

11セッション復元が成功したかどうかは、AI活用の現場で何を見て判定するんですか?

判定は4点です。

  1. 会話履歴の最後のやり取りが、中断した内容と合っているか
  2. モデル名とエージェント名が、警告なしで元の設定と合っているか。合っていなければ警告が出ます(出典: 同ドキュメント)
  3. bypassPermissionsなど復元されないモードを使っていたなら、起動フラグで入れ直したか
  4. --mcp-config--add-dirなど、元のセッションが頼っていた起動フラグを渡し直したか

この4点が揃っていれば、Claude Code本体の側での復元はそこまでです。ここから先、何を思い出させるかは前の章で触れたフックの領分になります。

高梨課長
高梨課長の発言

毎回この4点を見るのは、正直たいへんです。

鈴木さん
鈴木さんの発言

全部を毎回は見ていません。渡し直しの1行を残しておけば、実際に目で見るのは会話の最後と警告の有無だけになります。手順を減らすより、確かめる対象を減らすほうが続きます。

12よくある質問

Claude Codeのセッション復元に、追加の設定は要りますか

標準機能なので、追加のインストールは要りません。settings.jsonsettings.local.jsonは起動のたびに読み直されるため、そこへ書いた設定を渡し直す必要もありません(出典: Claude Code公式ドキュメント「Manage sessions」)。言い直しが要るのは、起動のときにフラグで手渡していた分だけです。

セッション復元とcheckpointの/rewindは何が違いますか

復元はプロセスをまたいで会話全体を呼び戻す機能です。/rewindは同じセッションの中で、コードと会話を過去の一点まで戻す機能で、対象も保存件数も別になります(出典: 同ドキュメント「Checkpointing」)。checkpointが持つのは直近100件のスナップショットだけで、bashコマンドで書き換えたファイルは対象外です。

復元できるセッションの保存期間はどれくらいですか

既定は30日で、cleanupPeriodDaysという設定で変えられます(出典: 同ドキュメント)。保存場所そのものも、CLAUDE_CONFIG_DIRという環境変数で移せます。長く残しておきたいセッションがあるなら、期間の設定を先に見ておくほうが安全です。

セッション復元を無効にすることはできますか

非対話の実行では、--no-session-persistenceフラグで1回分の記録を止められます。全体を止めたいときはCLAUDE_CODE_SKIP_PROMPT_HISTORYという環境変数を使います(出典: 同ドキュメント)。記録を止めると、あとから呼び戻す先も無くなる点だけ先に決めておきます。

セッションに名前を付けておく意味はありますか

あとで探す人が、UUIDではなく言葉で探せるようになります。付け方は3つで、起動時に-nを渡す、セッション中に/renameを打つ、ピッカーの中でCtrl+Rを押す、のいずれかです(出典: 同ドキュメント)。claude --resume <名前>で直に指せるようになるため、ピッカーを開く手間も減ります。

--continue--resumeは、どちらを既定にすればいいですか

同じ作業へ毎朝戻るなら--continue、その日によって戻る先が変わるなら--resumeです。違いは探す範囲で、--continueは直前の1件、--resumeは現在のワークツリーの一覧を出します(出典: 同ドキュメント)。迷ったら--resumeから入ると、そのまま範囲を広げる操作へつながります。

13まとめ|今日やる3つのこと

復元は、消えたものを取り戻す機能ではありませんでした。書かれ続けていた会話を、もう一度開く機能です。だから開く場所を取り違えれば見つからず、開けたとしても、起動のときに渡した設定までは戻ってきません。

今日この順で手をつけます

  1. いま動かしているセッションに名前を付ける

    UUIDを控える運用は、あとで探す人へ引き継げません

  2. 呼び戻すコマンドを、起動フラグごと1行で書き残す

    戻らない側を、思い出す作業から外せます

  3. 別のディレクトリからわざと--resumeを打ち、見つからない画面を見ておく

    本番で慌てないための予行です

AI検索では、こう聞かれています

  • 中断したClaude Codeのセッションは、どうやって呼び戻すんですか?

    「中断したセッションに戻る手順は、AI導入の現場でどんな順に踏むんですか?」の章に手順があります

  • 復元したのに設定が元どおりになっていないのはなぜですか?

    「復元された直後、エージェントの状態はどこまで元どおりになっているんですか?」の章で境界を整理しています

  • セッションが一覧に出てこないときは、どこを見ればいいんですか?

    「セッションの再開でつまずくのは、AI社員の運用のどこに原因があるんですか?」の章で切り分けています

次に読むなら、この記事です