Claude Code の `/resume` を使い倒す — `-c` だけじゃないセッション管理の全貌

-c だけで使っていませんか

claude -c で前のセッションに戻る、という使い方が定着している人は多いと思います。私もしばらくそうでした。-c が便利なのは確かで、最後のセッションに一発で戻れる。ただ、「最後のセッション」しか戻れない。

複数の作業を並行しているとき、昨日のデバッグセッションを今日また開きたいとき、PR に紐付いた議論を参照したいとき。こういう場面で -c だけでは届かない。--resume が開くピッカー画面を一度使うと、セッションの使い方が変わります。

この記事は /resume(および --resume)を中心に、Claude Code のセッション管理を整理します。先日公開した /export コマンドの記事 では「セッション内容を外へ出す」方向を扱いましたが、今回は「セッションそのものを行き来する」話です。

4つの entry point

Claude Code でセッションを再開する入口は1つではありません。公式ドキュメント(Manage sessions)には4つのパターンが整理されています。

コマンド動作
claude --continue-c現在ディレクトリの最新セッションを直接 resume
claude --resume-rピッカーを開く、または で指定
/resumeセッション内から別会話へ切り替える(ピッカー)
claude --from-pr <番号>PR に紐付いたセッションを resume

-c は「今いるディレクトリの最新1つ」だけを対象にします。速い反面、それ以外のセッションには届きません。--resume-r)は、引数なしで起動するとピッカーが開き、過去のセッションを選べます。名前を覚えているなら claude --resume auth-refactor と直接指定することもできます。

/resume はセッション内から使うコマンドです。作業の途中で「あ、別のセッションに切り替えたい」となったとき、シェルに戻ることなくピッカーを呼び出せます。

--from-pr は少し特殊です。claude --from-pr 123 と実行すると、PR 番号 123 に紐付いたセッションを resume します。「実装者がどういう文脈でこのコードを書いたか」をレビュー時に参照できるので、コードの意図を一から掘り起こす手間が省けます。

ピッカーの操作

--resume または /resume でピッカーが開きます。ここには過去のセッションが一覧表示され、セッション名(または自動生成されたサマリ)、最終アクティビティからの経過時間、メッセージ数、git ブランチが各行に出ています。

操作はキーボードで完結します。

キー動作
/ カーソル移動
/ グループの展開・折りたたみ
Enter選択して resume
Space(または Ctrl+Vプレビュー表示
Ctrl+Rセッションをリネーム
/ または文字入力検索モード(PR URL も受け付ける)
Ctrl+A全プロジェクト表示
Ctrl+Wリポジトリの全 worktree のセッションを表示
Ctrl+B現在の git ブランチで絞り込み
Escピッカーを閉じる

Space のプレビューが地味に便利です。セッション名だけでは「どの作業だったか」が分からないときに、会話の冒頭数件を確認してから resume できます。

Ctrl+W は worktree を複数運用している人に刺さる機能です。複数ブランチで別々に Claude と話していた場合、このフィルタで全 worktree のセッションが一覧に出ます。並列 worktree の活用についてはこちらの記事で詳しく扱っています。

Ctrl+B は「今いるブランチで行ったセッションだけ見たい」というときに使います。feature ブランチで長い作業を進めていたなら、このフィルタで素早く絞り込めます。

命名と保存場所

セッションの保存先は ~/.claude/projects//.jsonl です。 は作業ディレクトリのパスから生成されます。各行がメッセージ・ツール使用・メタデータのいずれかを表す JSON になっており、ピッカーはこのファイル群を読んで一覧を構成しています。

デフォルトでは30日後に自動削除されます。cleanupPeriodDays の設定値で変更できます。セッションを残したくない場合、CLAUDE_CODE_SKIP_PROMPT_HISTORY 環境変数は対話モード・非対話モードどちらでも有効です。--no-session-persistence フラグは非対話モード(-p)専用です。

ピッカーで後から探しやすくするには命名が欠かせません。名前なしだと自動生成サマリになりますが、複数のセッションが並ぶとどれがどれか分からなくなります。

名前を付けるタイミングはいくつかあります。

タイミング操作
起動時claude -n auth-refactor
セッション中/rename auth-refactor
ピッカーから行選択 → Ctrl+R
Plan 承諾時Plan 内容から自動命名

長期にまたがる設計議論や、再訪することが決まっているデバッグ作業は、始めたときに名前を付ける習慣にしておくと後で楽になります。

活用事例

翌日のデバッグ再開

夜遅くに手こずっていたバグを「今日はここまで」で中断して、翌朝に続きから再開する。claude -c でも良いのですが、claude --resume で名前指定した方が「昨日の作業」と明確に意識して戻れます。セッションには前日の調査過程や試みた仮説がそのまま残っているので、コンテキストを一から説明し直す必要がありません。

タスクスイッチの途中

機能 A の実装中に別チームから「急ぎで B を見てほしい」と来た場合。/resume でセッション B に切り替え、作業が終わったら同じ操作でセッション A に戻ります。同じターミナル内で完結するので、シェルを複数開く必要がありません。

PR レビューとの連動

claude --from-pr 123 は PR に紐付いたセッションを resume します。実装者が「なぜこの設計にしたか」「どのトレードオフを選んだか」を Claude と話した記録をレビュアーが直接参照できます。コードだけ読んでいては見えない判断の経緯が、そのまま残っています。

分岐して試す

実装 A を進めていて「もしかして B の方が良いかも」と思ったとき。--fork-session を使うとセッションを分岐させ、元のセッションは無傷のまま別のアプローチを試せます。セッション内では /branch で同様の操作ができます(公式ドキュメント上の「セッション内分岐コマンド」として紹介されている機能です)。B を試してうまくいかなければ、元の A へそのまま戻れます。

並列 worktree の横断

複数の worktree でそれぞれ別ブランチを進めている場合、ピッカーで Ctrl+W を押すと全 worktree のセッションが表示されます。別ブランチで Claude と話した議論を、今いるブランチのセッションに持ち込む際に便利です。

なお、同一セッションを2つのターミナルで同時に開いた場合、メッセージが1つのトランスクリプトに混在します。意図しない並列は避けるか、--fork-session で分岐させてから開くのが無難です。

関連コマンドとの整理

セッション操作に関わるコマンドをまとめておきます。

コマンド用途
-c / --continue最新セッションへ直接 resume
-r / --resumeピッカーまたは名前指定で resume
--from-pr PR 番号に紐付いたセッションへ
--fork-session現在のセッションを分岐させる
/resumeセッション内からピッカーを呼び出す
/rename セッションに名前を付ける
/clearコンテキストをリセット(セッション自体は残る)
/compact長い会話をサマリ化して圧縮
/exportセッション内容を Markdown などで書き出す

/clear/resume はよく混同されます。/clear はセッションをリセットして新しい会話を始めますが、以前のセッションファイルは削除されずに残ります。/resume はそのセッションを再訪するためのものです。

/export はセッションの内容を外部ファイルへ書き出す用途で、/resume とは目的が異なります。詳細はこちらの export 記事をどうぞ。

-c は起動の速さが魅力で、毎朝の「昨日の作業に戻る」操作ではこれで十分です。一方、複数セッションを行き来したいときや、どのセッションに戻るか確認してから決めたいときは --resume のピッカーを使います。この2つを状況で使い分けると、Claude Code のセッション管理がかなり楽になります。

今すぐ試すなら claude -r を打ってみてください。今まで溜まってきたセッションが一覧で出てくるはずです。Space でプレビューを確認しながら、戻りたいセッションを探してみてください。

参考リンク

コメント

タイトルとURLをコピーしました