06 セッション管理とチェックポイント
更新日:
セッションとは
プロジェクトのディレクトリに紐づいた、保存された会話。作業中も自動保存される(~/.claude/projects/ に JSONL)。
デスクトップアプリ・Web・VS Code はそれぞれ別の履歴を持つ(デスクトップでは /resume で CLI のセッションも再開可能)。
再開する
| コマンド | 動作 |
|---|---|
claude --continue / -c | このフォルダの直近の会話を再開 |
claude --resume / -r | セッション選択画面 |
claude --resume <名前> | 名前で直接再開 |
claude --from-pr 123 | そのPRに紐づくセッションから選ぶ |
/resume | セッション中に別の会話へ切替(別名 /continue)。実行中のバックグラウンドセッションを選ぶと、そのままアタッチする |
名前を付ける
/rename oauth-migrationのように付けておくと後で探しやすい- 公式のすすめ: セッションをブランチのように扱う(作業の流れごとに1セッション)
分岐・コピー
| 操作 | 動作 |
|---|---|
/branch | 今の時点で会話を分岐し、分岐先に移る(元はそのまま残る) |
--fork-session | 再開時に新しいIDでコピー |
/fork [指示] | 会話をコピーしてバックグラウンドの別セッションで動かす(自分はこのまま作業) |
/subtask 作業 | 会話を引き継いだサブエージェントに脇作業を任せ、結果を今の会話に戻す |
チェックポイント(巻き戻し)
- プロンプトを送るたびに自動でチェックポイントが作られ、Claude の編集前のファイルが保存される
Escを2回(入力欄が空の時)または/rewindで巻き戻しメニュー- 会話だけ戻す / コードだけ戻す / 両方戻す
- ここから要約 / ここまで要約(部分的なコンパクション)
- 会話と一緒に保存されるので、ターミナルを閉じて再開しても巻き戻せる
- 直近100チェックポイント分、約30日保持(
cleanupPeriodDaysで変更)
注意(git の代わりではない)
- 追跡されるのは Claude のファイル編集ツールによる変更だけ
- Bash コマンド(
rm,sed -i, スクリプト)や外部プロセスによる変更は戻らない(v2.1.309 からsed -iも通常の Bash 扱い) - DB・API・デプロイなど外部への影響も戻らない
- → 大事な節目では git でコミットしておく
活用法: 「失敗してもいいからこの大胆な方法を試して」→ ダメなら巻き戻して別案。
コンテキストの管理
/clear… 関係ない次の作業に移る時は必ずリセット(前の会話は/resumeで戻れる)/compact [焦点]… 要約して空きを作る/context… 使用状況を確認/btw… 会話に残さない脇道の質問/recap… セッションの1行要約- 長時間放置した大きな会話は自動で要約されることがある(アイドル時のコンパクション → 02_仕組み(エージェントループ・ツール・コンテキスト))
データの場所・削除
- トランスクリプト:
~/.claude/projects/<project>/*.jsonl /exportでテキスト書き出しclaude purge [path]でそのプロジェクトのローカル状態を全削除(旧名claude project purgeも動く)