Claude Codeのresumeは、終了した会話を読み込み直して続きから作業する機能です。会話はセッションとして手元のパソコンに自動で保存されるので、ターミナルを閉じた後でも、/clearで新しい会話にした後でも戻れます。

先に答えをまとめると、直前の会話に戻るならclaude --continue、以前の会話を選ぶならclaude --resume、元の会話を残して別の方法を試すなら--fork-sessionを付けます。戻るのは会話で、ファイルの状態は当時に戻りません。再開したらClaudeに続きを頼む前に、対象の会話と作業フォルダーが合っているか、作業がどこまで終わっていたかを確かめます。

この記事は、2026年10月31日に確認したAnthropicの公式資料をもとに、編集部が使い分けと確認の順序をまとめたものです。コマンドの動きはバージョンで変わることがあります。本文中のコマンドと依頼文は説明用の例で、編集部が実際に実行して確かめた実測結果ではありません。

Claude Code resumeとは:保存された会話を読み込み直す

公式資料(英語)では、セッションは「プロジェクトのディレクトリに結び付いた、保存された会話」と説明されています。保存先は既定で~/.claude/projects/<プロジェクト>/<セッションID>.jsonlで、既定の保持期間は30日です。保存先がプロジェクトごとに分かれているため、どのフォルダーで実行するかによって、見つかる会話が変わります。

この記事で扱うのはターミナルのCLIです。Desktopアプリ、claude.ai/code、VS Code拡張機能は、それぞれ別のセッション一覧を持っています(DesktopアプリはCLIの会話も再開できます)。

目的別にresumeの方法を選ぶ

再開の入口はいくつかあります(各オプションはCLIリファレンス(英語)に一覧があります)。何をしたいかで選びます。

やりたいことコマンド補足
このフォルダーで直前の会話に戻るclaude --continue(-c)確認なしで開く。別の会話が直前だった場合は違う会話に入る
一覧から選んで戻るclaude --resume(-r)会話が複数ある時の基本
名前で戻るclaude --resume 名前完全に一致すれば直接開く。候補が複数なら一覧になる
IDで戻るclaude --resume <セッションID>どのフォルダーからでも実行できる
PRに結び付いた会話へ戻るclaude --from-pr 123絞り込んだ一覧が開く。ClaudeがPRを作ると自動で結び付く
今の会話から別の会話へ移る/resumeClaude Codeを起動したまま切り替える
元の会話を残して別案を試す--fork-sessionまたは/branch新しいセッションIDで分かれる

迷ったら--resumeを使うのが安全です。--continueは手早い反面、開く前に中身を確かめられません。

目的で選ぶClaude Codeの再開方法です。直前の続きはclaude --continue、一覧から選んで戻る時はclaude --resume、名前で戻る時はclaude --resumeと名前、分けて試す時は--fork-sessionまたは/branchを使います。戻るのは保存された会話で、ファイルの状態は再開時に確かめます。
図:目的で選ぶClaude Codeの再開方法です。直前の続きはclaude --continue、一覧から選んで戻る時はclaude --resume、名前で戻る時はclaude --resumeと名前、分けて試す時は--fork-sessionまたは/branchを使います。戻るのは保存された会話で、ファイルの状態は再開時に確かめます。編集部の説明図です。製品の実画面ではありません。画像を開くと拡大できます。

resumeする前に対象の会話と作業フォルダーを照合する

続きを頼む前に確かめることは、「その会話で合っているか」と「その場所で合っているか」の2つです。

一覧で目的の会話を見分ける

claude --resumeか/resumeで開く一覧には、名前(なければ生成されたタイトルや最初の依頼)、最後の操作からの時間、gitのブランチ、ファイルサイズが並びます。Enterで再開し、ほかは次のキーで操作できます。

キー動作
Space会話の中身をのぞく
1〜9その位置の会話を再開する
/または文字の入力検索する(Space、j、k、数字を除く)。PRのURLを貼ると、そのPRを作った会話を探せる
Ctrl+B今のgitブランチの会話に絞る
Ctrl+W同じリポジトリの全worktreeに広げる(複数のworktreeがある時だけ)
Ctrl+Aこのパソコンの全プロジェクトに広げる
Ctrl+R選んでいる会話の名前を変える

戻る場所を確かめる

別のプロジェクトの会話を一覧で選ぶと、再開する代わりにcdと再開のコマンドがクリップボードにコピーされます。そのプロジェクトのフォルダーが消えていれば、今のフォルダーで再開されます。同じリポジトリの別のworktree(公式資料・英語)の会話はその場で再開され、そのworktreeが消えていれば今のフォルダーで再開されます。つまり、再開はできても作業フォルダーが当時と違う場合があります。

そこで、再開した直後は、続きを頼む前に次のように状態の確認だけを頼みます(編集部の例です)。

作業を再開する前に確認だけしてください。ファイルの変更や外部への送信はしないでください。
1. 今の作業フォルダー、gitのブランチ、未コミットの変更を示してください。
2. 前回の依頼のうち、完了したこと、途中のこと、未着手のことを分けてください。
3. 完了と判断した根拠をコマンドの結果で示してください。

resumeで戻るもの・戻らないもの

公式資料で復元の対象とされているものと、対象外のものは次のとおりです。

項目再開後の状態
会話の履歴(メッセージ、ツールの呼び出しと結果)戻る。要約済みの会話は「Conversation compacted」の行から始まり、要約された部分は読み直されない
モデル、エージェント原則として同じものが続く
有効だったゴール引き継がれ、回数や時間の計測はやり直しになる
セッション内で予約したタスク期限切れでなければ戻る
実行中だったツール再実行されない
バックグラウンドのサブエージェントやBash戻らない。完了しなかった旨の記録が残り、Claudeは次の依頼の時に読む
起動時のオプション--mcp-config、--settings、--plugin-dir、--fallback-model、--add-dirは付け直す。会話中の/add-dirも戻らない

settings.jsonのような標準の設定ファイルは起動時に読み直されるので、そこに書いた内容は付け直す必要がありません。ファイルの状態はこの一覧に含まれていません。保存された会話に書かれた内容と今のファイルが違っている可能性があります。なお、チェックポイント(公式資料・英語)は会話と一緒に保存されるので、再開後も/rewindは使えます。

resumeの後で同じ作業を繰り返させない

再開で怖いのは、終わったはずの処理をもう一度実行してしまうことです。特に、途中で落ちた会話では注意が必要です。前の処理が落ちた時に動いていたツールは自動では再実行されませんが、そのツールがどこまで進んでいたかは会話からは分かりません。バックグラウンドの処理も同じです。

次の順に確かめると、やり直しを防げます。

  1. 実物を読む:git status、git diff、git logで、ファイルの実際の変更を確かめます。
  2. 外部の結果を読む:メール送信、デプロイ、データベースの更新のように外へ影響する処理は、送信先や本番の状態を読むだけのコマンドで確かめます。会話の記録で「実行した」と分かっても、成功したとは限りません。
  3. 再実行の範囲を伝える:「テストはやり直してよいが、デプロイは私が確認するまで実行しないでください」のように、やってよいことと止めることを分けて伝えます。

同じ会話を2つのターミナルで開くのも避けます。公式資料によると、分岐せずに同じセッションを2か所で再開すると、両方のメッセージが1つの記録に混ざります。並行して進めたい時は分岐します。

resume後の権限モードを確かめる

再開した時の権限モードは、再開の方法で変わります。ターミナルから再開するとbypassPermissionsは戻りませんが、autoは条件を満たせば戻り、セッション内の/resumeでは今のセッションのモードが続きます。確認が出るとは限らないので、再開したらモードを確かめます。

再開の方法権限モード
claude --continue、IDまたは一意の名前で--resume会話が使っていたモードに戻る。ただしbypassPermissionsは戻らず、新しいセッションの起動時のモードになる。autoはアカウントが条件を満たす場合だけ戻る
一覧(claude --resumeのみなど)から選ぶ新しいセッションのモードになる。plan modeで終わった会話だけはplan modeで戻る
セッション内の/resume今のセッションのモードが続く。plan modeで終わった会話はplan modeで戻る
claude -p --resume、claude -p --continue新しい-pの実行と同じモードになる(plan modeは条件を満たす場合のみ戻る)

表は主な場合で、Manualで終わった会話や、設定ファイルのdefaultModeが効く場合などには公式資料に細かな例外があります。「前は確認なしで進んでいたのに止まる」「確認が出ずに進む」と感じたら、--permission-modeで明示します。

resumeで分岐する:--fork-sessionと/branch

分岐は、そこまでの会話をコピーして別のセッションにする操作です。元の会話はそのまま残るので、別の方法を試して、だめなら戻れます。

  • セッションの中で:/branch 名前を実行すると、分岐した会話へ移ります。確認の表示に2つのセッションIDが出ます。元の会話には/resumeで戻ります。
  • コマンドラインで:claude --continue --fork-sessionやclaude --resume 名前 --fork-sessionで始めます。

/forkは似ていますが、会話を新しいバックグラウンドセッションへコピーし、自分は今の会話に残ります。

/branchと--fork-sessionでは、「このセッションでは許可」とした操作の扱いが違います。/branchは同じプロセスで続くので許可が引き継がれ、--fork-sessionは別のプロセスになるので承認し直します。分岐で分かれるのは会話だけで、作業フォルダーは同じです。ファイルの変更も分けたい時はworktreeを使います。

次にresumeしやすい名前を付ける

会話の数が増えると、一覧から探すのに時間がかかります。あとで戻りそうな作業には名前を付けておきます。

  • 起動時に:claude -n auth-refactor
  • 会話の途中で:/rename auth-refactor
  • 一覧で:会話を選んでCtrl+R

付けておけばclaude --resume auth-refactorで直接戻れます。名前を付けなくても、最初の依頼を要約したタイトルが生成され、それでも再開できます。一方、my-app-3fのような既定の表示名は再開には使えません。/clearで区切る時に/clear release-prepと書くと、離れる会話に名前を残せます。

resumeした会話が重い時の選び方

長い会話を再開すると、保存された履歴の分だけ使用量が増えます。次の作業に過去の会話がどこまで必要かで決めます。

  • 過去の文脈を残したい:/contextで内訳を見て、/compactで要約します。残したい内容は/compact テストの結果を残してのように指定できます。
  • 別の作業を始める:/clearで新しい会話にします。前の会話は保存されていて、/resumeで戻れます。

要約された部分は再開しても読み直されないので、細かい内容が必要な時はgitの履歴や実行ログで確かめます。

claude -pでresumeを使う

スクリプトから続ける時は、-p(公式資料・英語)と組み合わせます。複数の会話を動かす場合は、セッションIDを取っておくと取り違えません。

session_id=$(claude -p "テストの失敗を調べてください" --output-format json | jq -r '.session_id')
claude -p "前の調査の結果を3行で要約してください" --resume "$session_id"

claude -pやAgent SDKで作った会話は、一覧とclaude --continueには出ません。IDを渡せばclaude --resumeで開けます。また、claude -p --continueはこれらの会話も対象にします。実行が中断された場合、再開しても中断された処理は自動で続かず、次の依頼から進みます。-p全般の使い方はheadlessの記事にまとめています。

別のパソコンへ会話を渡すには:resumeの一覧には出ない

CLIの会話は手元のファイルに保存されるので、別のパソコンの一覧には出ません。読むために渡すなら/exportでテキストにします。記録ファイルが手元にあれば、claude --resume <.jsonlの絶対パス>で開けます。ファイルの形式は内部仕様でバージョンにより変わるので、スクリプトで解析する時は/exportや-pの出力を使います。

resumeで会話が見つからない時の確認項目

症状確かめること
一覧に出ない別のフォルダーで始めた会話かもしれません。Ctrl+W、Ctrl+Aで広げます。claude -p、Agent SDK、最初の依頼が/loopの会話も一覧には出ません
No conversation found with session IDIDが違うか、記録が消えています。既定の保持期間は30日で、cleanupPeriodDaysで変えられます。同じ記録の手作業のコピーが他のプロジェクトにある時も見つからないと表示されます
保存されていないかもしれないclaude -pに--no-session-persistenceを付けた実行は保存されないので、再開できません
クラウドの会話が出ない--resumeはこのパソコンの履歴だけを読みます。claude.ai/codeの会話はclaude --teleportで手元へ移します
名前で戻れない既定の表示名ではありませんか。名前の検索は今のリポジトリとworktreeの範囲です。一覧で探し、Ctrl+Rで付け直します
Your most recent conversation is running in the background直前の会話がバックグラウンドで動いています。claude agentsから開くか、claude --resumeで別の会話を選びます。動いている会話を--resumeで指定すると、読み込み直さずその会話に接続します
Failed to resume the conversation選んだ会話を読み込めませんでした。表示された再試行のコマンドを実行します。セッション内の/resumeで起きた場合は、今の会話はそのまま続きます
「Resume this conversation?」と出るPro、Max、Ultraで、長い間隔が空いた長い会話や別のモデルでの再開時に出ることがあります。保存された会話だけで5時間の使用量の何割を使うかの見積もりで、実際に使うのは次のメッセージを送った時です。次の作業に過去の会話が要らないなら新しい会話にします

まとめ:resumeは会話を戻すもの、作業の状態は別に確かめる

Claude Codeのresumeは、保存された会話を読み込み直す機能です。直前なら--continue、選ぶなら--resume、試すなら分岐と使い分け、再開したらまず状態の確認だけを頼みます。会話を区切るタイミングや引き継ぎのまとめ方はコンテキスト管理の記事に、Claude Code全体の使い方はClaude Codeとはの記事にまとめています。

社内で使う場合は、長い作業に付ける名前の決まりと、再開時に確かめる項目を手順書に入れておくと、担当が変わっても引き継ぎやすくなります。業務に合わせた運用ルールづくりは、PLaiのAI社員導入支援でも相談できます。