Claude Codeを1〜2週間使っていて、長いタスクを途中で中断して別日に再開したい人 向け
前夜のレシピ画像プロンプト作成を翌朝続きからやりたい時、3日前に途中で止めた家計簿アプリの設計セッションを今日再開したい時、同じスタート地点から別パターンも試したい時に、Claude Codeを起動するついでに過去の会話履歴をまるごと読み込ませて続きに入るために叩く
長いタスクを途中まで進めて、その日は寝て、翌朝続きから再開したい。Claude Codeにはそういう「過去の会話の続きから始める」ための起動の仕方が用意されています。claude -r がそれです。
同じ「再開」系の指定でも claude -c とは挙動が違います。-c は今いるフォルダで一番新しい会話を黙って引き継ぐ、-r は過去の会話を一覧から選んで再開する。中断した翌日に「あれの続きをやりたい」となった時、選び間違えると別の会話を開いてしまうので、最初に違いを押さえておきます。
噛み砕くと
会議室のホワイトボードに例えるなら、-cは「ついさっきまで使ってたボードをそのまま戻して続ける」、-rは「倉庫に置いてある過去のボードを並べて、どれを引っ張り出すか選んでから続ける」イメージです。
-r は --resume の短い書き方。中身は同じです。短いほうを叩く人が多いので、本記事では -r 表記で進めます。
大事な前提:再開できるのは「保存されている会話」だけ
Claude Codeは会話を1つずつファイルとしてパソコンに保存しています。具体的には ~/.claude/projects/ という場所に、フォルダ単位でJSONLファイルが置かれていく仕組みです。
ここに保存されている会話だけが -r の選択肢に出ます。**保存されていない・削除した・別マシンで作った会話は出てきません**。料理ブログのレシピ作業を会社のMacで進めて、家のMacで claude -r を叩いても何も出てこないのはこのためです。
「料理ブログのレシピ画像作り」を例に、実際の手順を見る
前日、私はClaude Codeでレシピ用の画像生成プロンプトを10件作りかけて、6件目で力尽きました。Ctrl+C でセッションを抜けて寝ます。翌朝、続きを claude -r で再開する流れです。
ステップ1: 前夜のセッションに名前をつけておく(推奨)
翌日の自分のために、前夜にセッションを起こす時点で名前をつけておくと、再開がぐっと楽になります。-n で表示名を渡しながら起動します。
$ claude -n "recipe-image-prompts"
名前を付けずに普通に claude で起動した場合は、Claude Code側が自動でユニークIDを振ります(あとで一覧から見つけられます)。
ステップ2: 翌朝、対象フォルダに移動して claude -r
料理ブログのプロジェクトフォルダに入って、コマンドの後ろに何も書き足さずにそのまま叩きます。
$ cd ~/projects/cooking-blog
$ claude -r
するとセッション選択画面(ピッカー)が出ます。今のフォルダで作られた会話が新しい順に並びます。
? Resume which session?
> recipe-image-prompts (yesterday at 11:42 PM, 47 messages)
hero-image-test (3 days ago, 12 messages)
setup-claude-md (last week, 8 messages)
矢印キーで recipe-image-prompts を選んでEnter。前夜のメッセージ47件を全部読み込んだ状態で会話が再開されます。
ステップ3: 名前で直接指定する書き方
名前を覚えているなら、ピッカーを開かず一発で再開できます。コマンドの後ろに名前を書き足します。
$ claude -r "recipe-image-prompts"
さらに最初に投げたいメッセージがあれば、その後ろにもう1つ書き足します。
$ claude -r "recipe-image-prompts" "7件目から続きをお願い"
これで再開と同時に「7件目から続きをお願い」が送信され、Claudeが続きの作業に入ります。
ステップ4: ID で指定する書き方(名前を付けてなかった時)
前夜に -n を付け忘れていたら、名前ではなくセッションIDで指定できます。IDは ~/.claude/projects/ 配下のJSONLファイル名です。
$ ls ~/.claude/projects/-Users-ayano-projects-cooking-blog/
16426d9f-3a4b-4186-b8f6-f0d5dccbf28b.jsonl
30289d5c-55d9-401e-877c-a4ecd8e146b4.jsonl
$ claude -r "16426d9f-3a4b-4186-b8f6-f0d5dccbf28b"
フォルダ名は / が - に置き換えられているのがポイントです。~/projects/cooking-blog なら -Users-ayano-projects-cooking-blog になります。
ここで初心者がやりがちな勘違いがあります。JSONLファイル本体を直接開いて読もうとしてしまう。中身は機械が読む形式なので、人が読んで続きを書ける場所ではありません。claude -r 経由で開かないと意味が薄いです。
ステップ5: 続きから別の方向に分岐したい時は --fork-session
「6件目までは合ってたけど、7件目以降は別パターンも試したい」みたいな時、元のセッションをそのまま使うと履歴が混ざります。--fork-session を足すと、再開した時点で**新しいセッションID**を切ってくれます。
$ claude -r "recipe-image-prompts" --fork-session
元のセッションは無傷のまま残り、分岐後の作業は別ファイルに保存されます。後から「やっぱりオリジナルに戻したい」も効きます。
つまり claude -r は何をしてくれるのか
- やってくれる: 過去のセッションを一覧で見せて選ばせる、または名前/IDを直接指定して即再開する。前回の会話履歴を全部読み込んだ状態でClaude Codeを立ち上げる
- やってくれない: 削除したセッションの復元、別マシンで作ったセッションの取り込み、保存されていない会話の救出
- 意味が薄い場面: 直前に抜けたばかりの会話を続けたいだけの時(それなら
claude -cで一発、ピッカーを開く必要なし)
使いどころ3シナリオ
シナリオ1: 料理ブログのレシピ画像プロンプトを翌朝続きから作る
前夜に claude -n "recipe-image-prompts" で起動して、Claude Codeに「うちのブログのトーン(家庭的・色味やわらか)に合うMidjourneyプロンプトを15件出して」と依頼。10件目まで詰めて寝る。翌朝 claude -r "recipe-image-prompts" で再開すると、Claudeはブログのトーン設定もこれまで作った10件も全部覚えた状態で出てきます。「11件目から続きをお願い」と打てばすぐ続きに入れます。
シナリオ2: 家計簿アプリのデータ設計をPRレビュー前に再開する
家計簿アプリの収支テーブルを設計しかけて中断したセッションが3日前にある。今日プルリク(変更提案)の反映作業をやりたい。claude -r でピッカーを開いて、3日前のセッション「budget-app-schema」を選ぶ。設計の経緯を全部覚えているClaudeが、前回保留にした「カテゴリの自由入力 vs プリセット選択」の論点から再開してくれます。一から状況説明し直す必要がない、これが一番効きます。
シナリオ3: 既存OSSのコードリーディング途中から別の角度を試す(fork-session 活用)
OSSをcloneしてきて構造を読み解いてもらっていたセッションがある。「同じスタート地点から別の解釈も試したい」というケース。claude -r "oss-reading" --fork-session で分岐すれば、元のセッションを汚さずに「別パターンの読み解き」を保存できます。両方を後で見比べる、みたいな使い方もできます。
初心者が踏みやすい落とし穴
- 違うフォルダで叩いて「ピッカーに何も出ない」。Claude Codeはフォルダ単位でセッションを管理しています。料理ブログのセッションを再開したいなら、料理ブログのフォルダに
cdしてから叩く必要があります。/add-dirで別フォルダを追加していたセッションは例外的に出てきますが、基本は「同じフォルダ」で起動すること -cと-rを混同する。-cはピッカーを開かず最新セッションを黙って引き継ぎます。3つ前のセッションを開きたいのに-cを叩くと、別の会話に入って「あれ?前の話覚えてないぞ」となります- セッションを削除したら復元不可。
~/.claude/projects/配下のJSONLファイルを手で消したり、claude project purgeで消したセッションは一覧から消えて二度と戻ってきません。捨てる前に本当に要らないか確認 - セッション中に
/resumeを叩いて混乱する。/resumeはClaude Codeのセッション中で別のセッションに切り替えるスラッシュコマンド。-rは起動時の指定で、これは別物です。「再開」と聞くと両方同じに見えますが、入る場所が違います --fork-sessionを付けずに分岐実験して履歴がぐちゃぐちゃになる。同じセッションで「Aパターンを試す→巻き戻して→Bパターンを試す」をやると、履歴が一直線で残ります。後から「Aだけ見たい」が効きません。試す前に分岐するクセをつけると安全- ID指定する時に引用符を忘れて怒られる。セッションIDにハイフンが入っているので、
claude -r 16426d9f-3a4b-...と裸で書くと、ターミナル側がハイフン以降を別の指定と解釈することがあります。claude -r "16426d9f-..."とダブルクォートで囲むのが安全です
書き方
claude -r
claude -r "<セッション名 または ID>"
claude -r "<セッション名 または ID>" "<最初に投げたいメッセージ>"
claude -r "<セッション名 または ID>" --fork-session
やってみるとこうなる
入力
$ cd ~/projects/cooking-blog
$ claude -r "recipe-image-prompts" "7件目から続きをお願い"
出力例
前夜の会話47件を全部読み込んだ状態でClaude Codeが起動し、「7件目から続きをお願い」が自動で送信される。ブログのトーン設定や既に作った6件のプロンプトをClaudeが覚えたまま、追加分の生成に入る
このページに出てきた言葉
- セッション
- Claude Codeで「起動してから抜けるまでの1回の会話」のこと。1セッション = 1つのJSONLファイルとして保存される
- セッションID
- セッション1つ1つに割り振られるユニークな文字列。<code>16426d9f-3a4b-4186-b8f6-f0d5dccbf28b</code> みたいな36文字のUUID形式
- ピッカー
- 選択肢が一覧で並んで、矢印キーで選ぶ画面のこと。<code>claude -r</code>の後ろに何も書き足さずに叩くと出る
- ~/.claude/projects/
- ホームフォルダの中の <code>.claude/projects/</code> という場所。Claude Codeがセッション履歴を保存する保管場所で、フォルダ単位でJSONLファイルが置かれていく
- JSONL
- 1行に1つのJSON(構造化テキスト)が並んだ形式のファイル。会話のやり取りを1ターン1行で書き残してある
- --fork-session
- 再開時に新しいセッションIDを切る追加スイッチ。元のセッションを汚さずに分岐実験ができる
- claude -c
- <code>--continue</code>の短い書き方。今いるフォルダで一番新しい会話を、選択画面なしで黙って引き継ぐ
- /resume
- Claude Codeのセッション中で別のセッションに切り替えるスラッシュコマンド。起動時の<code>-r</code>とは入る場所が違う別物