Claude Codeのセッション管理を使い倒す — 会話の再開・分岐・並行開発とCodexとの違い

Claude Codeのセッション管理:continue・resume・worktreeの使い分けとCodexとの違い ClaudeCode

表紙: Claude Codeのセッション管理。中断した会話に戻る、並行で進める、Codexとの違いも

はじめに

Claude Codeで数時間かけてログイン画面の修正を進め、途中でターミナルを閉じてしまった。翌朝もう一度 claude と打ったら、まっさらな状態から「昨日どこまでやったか」を説明し直すことになった。こうした経験は、Claude Codeを使い始めた人の多くが一度は通る道です。

結論から言うと、Claude Codeは会話を勝手に捨てません。会話は「セッション」という単位で自動保存されていて、戻るためのコマンドが用意されています。この記事では、その仕組みと3つの再開手段(--continue--resume・セッション内の /resume)、会話の分岐(/branch)、そして並行開発のための --worktree までを、判断フローと図で整理します。あわせて、OpenAIのCodex CLIでは同じことをどう表現するかも比較します。

想定読者は、Claude Codeをすでにインストールして一度は動かしたことがある方です。Gitの基本操作(ブランチ、コミット)が分かっていれば、worktreeの節も追えるはずです。

この記事で実際に確認した環境

2026年9月15日、macOS上のClaude CodeとCodex CLIを確認しました。Claude Codeは初回起動時が 2.1.266、内蔵の自動更新後の再開・分岐・worktreeの実演は 2.1.272、Codex CLIは 0.154.0 です。

実演用の小さなGitリポジトリで、会話の終了と再開、名前変更、一覧表示、分岐、worktree作成と終了時の確認を行いました。以下の「実行ログ再生」は、実際のCLI入出力を記録して読みやすく再描画したものです。OSの画面録画ではありません。 操作間の待ち時間を短縮し、作業パスと一部の表示記号を整理しています。

撮影用の起動には --safe-mode --tools "" --permission-mode manual --no-chrome を追加し、個人のカスタマイズやツール実行を使わずに確認しました。通常の再開でこの追加指定は必須ではありません。Codex側はCLIヘルプと公式資料を照合しており、以下のClaude Codeと同じ会話の実演は行っていません。

まずは「合言葉を伝える → 終了する → 再開して思い出せるか確認する」という短い実演です。

実行ログ再生:合言葉を伝えた会話を終了し、claude --continue で再開して合言葉を答える

保存は自動、再開はコマンド1つ、というのがこの記事の骨子です。実演では合言葉を再送せずに質問し、「青いノート」と回答されることを確認できました。

セッションとは何か — 保存の仕組みを先に理解する

セッションは、プロジェクトに紐づけて保存される1つの会話です。新しい会話には一意のセッションIDが振られ、終了後に再開しても同じ会話として続けられます。やり取りしたメッセージ、ツールの呼び出しとその結果、コンテキストは、作業ディレクトリ(プロジェクト)ごとのトランスクリプトファイルに逐次書き込まれます。

保存先は既定で次の場所です。

~/.claude/projects/<作業ディレクトリのパスを変換した名前>/<session-id>.jsonl

ここで重要なのは「逐次」という点です。終了時にまとめて保存するのではなく、会話が進むたびに書き込まれるため、ターミナルが落ちても、PCがスリープしても、保存済みの内容はファイルに残っています。ただし、停止時に実行中だったツールの続行や、まだ保存されていない内容まで保証されるわけではありません。流れを整理すると次のようになります。

段階 会話と保存の関係
新しい会話を開始 新しいセッションIDが付く
やり取りを進める 会話が逐次保存される
/exit で終了する 保存済みの会話は残る
--continue / --resume で再開 保存済みの会話を読み込み、続きを追記する

再開したあとは同じセッションIDに新しいメッセージが追記されていきます。--no-session-persistenceCLAUDE_CODE_SKIP_PROMPT_HISTORY で保存を抑止した場合は、この前提から外れます。

運用上、次の3点は最初に知っておくと後で困りません。

  • トランスクリプトは既定で30日で掃除されます。settings.jsoncleanupPeriodDays で変更できます。
  • 保存場所を変えたい場合は環境変数 CLAUDE_CONFIG_DIR を使います。会社支給PCで ~/.claude の下に置きたくない場合などに有効です。
  • JSONLの中身の形式は内部仕様で、バージョンごとに変わります。人が読む用途なら /export、スクリプトから使うなら claude -p --resume <session-id> --output-format json のような公式インターフェースを使う方が安全です。

再開手段は3つ+1つ — どれを使うかの判断フロー

再開の入口は「起動時のオプション」と「起動中のスラッシュコマンド」に分かれます。起動時オプションは claude を立ち上げる時点で指定するもので、claude --help で一覧を確認できます。

コマンド 何をするか 向いている場面
claude --continue-c 現在のディレクトリで最後に使ったセッションを自動で開く 昨日の続きをそのままやる
claude --resume-r セッションピッカー(一覧)を開いて選ぶ どの会話だったか一覧で探したい
claude --resume <name または id> 名前・ID・トランスクリプトのパスで直接指定して開く 名前を付けてある、IDを控えてある
/resume(起動中) 終了せずに別の会話へ切り替える 作業中に「あの会話を見たい」

このほか、claude --from-pr <番号> で「そのプルリクエストに紐づくセッション」だけに絞ったピッカーを開くこともできます。レビュー指摘への対応で元の文脈に戻りたいときに便利です。

どれを使うか迷ったら、次の順で考えると決まります。

再開手段の判断フロー。起動中なら /resume、直前の会話なら --continue、名前やIDを知っていれば --resume <name|id>、覚えていなければ --resume でピッカーを開く

「起動中か → 直前か → 名前を知っているか」の3段階で分岐します。

--continue で直前の会話に戻る

もっとも手数が少ないのがこれです。手順は次の通りです。

  1. 前回作業していたディレクトリに移動します(cd ~/work/taskboard など)。
  2. claude --continue または claude -c を実行します。
  3. 直前のセッションのメッセージ履歴・ツール実行結果・コンテキストが復元されるので、そのまま続きの指示を出します。
# 前回のプロジェクトのディレクトリで実行する
cd ~/work/taskboard
claude --continue

# 短縮形。復元したうえで最初の指示まで一気に送ることもできる
claude -c "テストが通るようになったか確認して"

ここで押さえておきたい注意点が4つあります。

  • 「現在のディレクトリで最後に使ったセッション」が対象です。別のプロジェクトで作業してから戻ってきても、そのディレクトリの中での最新が選ばれます。
  • claude -p(非対話モード)やAgent SDKで作ったセッションは --continue の対象外です。これらに戻るには claude --resume <session-id> でIDを直接指定します。逆に claude -p --continue は非対話セッションを含めて最新を拾います。
  • 最初のプロンプトが /loop だったセッションも --continue からは除外されます。
  • 直前の会話をバックグラウンドに送っていて、それがまだ動いている場合、--continue は「Your most recent conversation is running in the background」と表示して終了します。claude agents から接続するか、--resume で別のセッションを選びます。

動きを試すなら、次の手順が簡単です。

  1. claude -n session-demo で起動します。
  2. 「合言葉は『青いノート』です。『覚えました』とだけ答えてください」と送ります。
  3. /exit で終了し、同じディレクトリで claude -c を実行します。
  4. 「先ほどの合言葉は何ですか」と尋ねます。履歴の再表示と回答を確認します。

合言葉はデモ用の短い文です。パスワードなど、本物の秘密情報を使う必要はありません。

--resume で過去の一覧から選ぶ

複数のタスクを行き来しているときは、直前ではない会話に戻りたくなります。そこで使うのが --resume です。引数なしで実行するとセッションピッカーが開き、各行にセッション名(または最初のプロンプトから自動生成されたタイトル)、最終更新からの経過時間、Gitブランチ、ファイルサイズが表示されます。

# 一覧から選ぶ
claude --resume

# 名前やIDで直接指定する
claude --resume auth-fix
claude -r 075c637d-54aa-4c5a-8d89-2e54ef7487c1

実際に /resume を開くと、次のような一覧になります。ここではデモで作った auth-fix が表示されています。

実行ログ:resumeのセッション一覧でauth-fixを選択した状態

ピッカーでよく使うキー操作を表にまとめます。

キー 動作
/ セッション間を移動
Enter 選択したセッションを再開
Space 内容をプレビュー
任意の文字 / / 検索モードに入って絞り込み(PRのURLを貼って探すこともできる)
Ctrl+R 選択中のセッションの名前を変更
Ctrl+B 現在のGitブランチのセッションだけに絞る
Ctrl+W 同じリポジトリの全worktreeのセッションを表示
Ctrl+A このマシン上の全プロジェクトのセッションを表示
Esc ピッカーや検索モードを抜ける

Ctrl+A で別プロジェクトのセッションを選ぶと、そのディレクトリへ cd して再開するコマンドがクリップボードにコピーされます。無関係なプロジェクトのセッションを今いる場所で開いてしまわないための配慮です。

名前を付けると一覧が「作業ボード」になる

IDは覚えられません。並行タスクが増えるほど、名前を付けておく価値が上がります。名前を付けるタイミングは3つあります。

  1. 起動時: claude -n auth-fix--name
  2. 作業中: /rename auth-fix。名前はプロンプトバーにも表示されます
  3. ピッカー上: 対象を選んで Ctrl+R

このほか、プランモードで計画を承認すると、まだ名前がなければ計画に基づくタイトルが自動で付きます。

実行ログ再生:rename auth-fixで名前を付け、終了後にclaude --resume auth-fixで同じ会話を開く

名前で呼び戻せるようになると、IDを控える運用がまるごと不要になります。

名前解決の細かい挙動も知っておくと迷いません。

指定方法 完全一致 同名が複数あるとき
claude --resume <name> そのまま再開 名前を検索語にしたピッカーが開く
/resume <name> そのまま再開 エラー。/resume を引数なしで実行して選ぶ

同じマシンで動作中のセッションと同じ名前を付けようとすると、後から付けた側に「auth-fix-graceful-unicorn」のような2語の接尾辞が付きます。意図した名前にしたければ /rename で付け直します。

復元されるもの、されないもの

「セッションを再開すると、すべてが元通りになる」と思っていると、権限まわりで足をすくわれます。公式ドキュメントに基づいて整理すると次の通りです。

項目 再開時の扱い
会話履歴(ツール呼び出しと結果を含む) 復元される。ただし前回プロセス終了時に実行中だったツールは再実行されない
モデル 前回使っていたモデルで続く(提供終了や --model 指定などの例外あり)
エージェント(--agent 同じエージェントとして続く
権限モード ターミナルからの --continue / --resume <id> / 一意に一致する --resume <name> は、原則として前回のモードを復元。ただし bypassPermissionsplan で終えた場合は新規セッションの既定に戻る。ピッカー経由や /resume は復元しない
「このセッションだけ許可」した承認 復元されない
--mcp-config--settings--plugin-dir--add-dir などの起動フラグ 復元されない。再開時にもう一度付ける
settings.json / settings.local.json の内容 起動時に再読み込みされるので指定不要

前回の bypassPermissions を再開時に自動継承するわけではありません。ただし、設定ファイルの defaultMode や起動フラグで再び指定していれば、その設定が使われます。auto の利用条件や既定モードにも例外があるため、再開後の画面で現在のモードを確認してください。

もう1つ、長いセッションを久しぶりに開くときの挙動も知っておきましょう。ProまたはMaxプランで、1時間ほど放置したセッションが10万トークンを超えている場合、再開直後に「要約から再開するか」「そのまま全部読むか」を選ぶダイアログが出ます。どちらを選んでも最初のリクエストでは全履歴を処理します。要約から再開すると、それ以後のリクエストは軽くなりますが、要約から漏れた詳細は文脈から消えます。判断基準は「細部まで必要か、コストを抑えたいか」です。

会話を分岐する — /branch と --fork-session

再開とは別に「ここまでの会話を土台に、別の方針を試したい」という場面があります。元の会話は壊したくない、でも同じ文脈からやり直したい。そのための機能が /branch です。

/branch try-streaming-approach

実行すると会話がコピーされ、新しいセッションIDの分岐に切り替わります。元のセッションはディスク上そのまま残り、ピッカーからも /resume <元の名前> からも戻れます。起動時に分岐したい場合は claude --continue --fork-session のように --fork-session を組み合わせます。

実行ログ再生:branchでtry-another-wayを作り、resumeの一覧から元のauth-fixへ戻る

ここでコピーされるのは会話です。/branch だけでプロジェクトのファイルやGitブランチが複製されるわけではありません。 元の会話に戻っても、分岐後に編集したファイルは自動で巻き戻りません。コードも分けて試したい場合は、次節のworktreeを組み合わせます。

注意点として、同じセッションを2つのターミナルで分岐せずに開くと、両方のメッセージが1つのトランスクリプトに交互に書き込まれて混ざります。「別ターミナルで同じ会話を見ながら作業したい」ときは、必ず /branch--fork-session を使ってください。

セッションを跨がずにコンテキストを整えたいだけなら、次のコマンドが該当します。

  • /clear: コンテキストを空にして新しく始める。前の会話は保存されているので /resume で戻れる
  • /compact [指示]: 履歴を要約に置き換える。指示を添えると要約の焦点を指定できる
  • /context: 今コンテキストを何が占めているかを表示する

--worktree で並行開発する

ここからは「戻る」ではなく「同時に進める」話です。Claude Codeを2つのターミナルで同じディレクトリに対して起動すると、両方が同じファイルを編集するため衝突します。これを避けるのが --worktree-w)オプションで、Gitのworktree機能を使って隔離された作業ディレクトリを作り、その中でセッションを開始します。

前提として、対象ディレクトリがGitリポジトリである必要があります。Git以外のバージョン管理を使う場合は WorktreeCreate / WorktreeRemove フックで作成・削除ロジックを差し替える方式になります。

基本の手順

  1. リポジトリのルート(メインのチェックアウト)で、一度は通常の claude を起動してワークスペースの信頼確認を済ませておきます。未実施だと --worktree はエラーで止まります。
  2. claude --worktree <名前> を実行します。名前を省略すると bright-running-fox のような名前が自動生成されます。
  3. 別のターミナルで、別の名前を付けてもう1つ起動すれば、2つのセッションが互いのファイルに触れずに進みます。
# 機能開発用のworktreeでセッションを開始する
claude --worktree feature-auth

# 別ターミナルで、バグ修正用のworktreeを開始する
claude --worktree bugfix-123

作成されるディレクトリとブランチは次の構成です。

<リポジトリのルート>/
└── .claude/
    └── worktrees/
        └── feature-auth/     # 隔離された作業ツリー(ブランチ: worktree-feature-auth)

--worktree による並行開発の概念図。1つの .git を共有しつつ、メインのチェックアウトと .claude/worktrees/<name>/ にそれぞれ別のセッションが立ち上がる

worktree側のセッションからメイン側を書き換える操作はClaude Code自身がブロックします。

.claude/worktrees/ はメイン側から見ると未追跡ファイルの塊になるので、.gitignore に追加しておくと git status が汚れません。

隔離はどこまで守られるか

「隔離される」と言っても、Claude Codeがただ別ディレクトリで動いているだけではありません。公式ドキュメントによれば、worktree内のセッション(とそこから生まれるサブエージェント)に対して次の4つのチェックが常時かかります。

  1. Edit / Write / NotebookEdit がメインのチェックアウト内のパスを対象にしていたらブロック
  2. Bash等のコマンドの作業ディレクトリがメイン側に解決される、または検証できない場合はブロック
  3. git -CGIT_DIR などでgitをメイン側に向けるコマンドはブロック
  4. コマンド文字列からgitがworktree内に留まると検証できない形(実行時に決まるコマンド名など)はブロック

つまり「Claudeがうっかりmainを触った」は仕組み上起きにくくなっています。4つ目のチェックはオフにできません。

worktreeの環境を整える

worktreeは新しいチェックアウトなので、node_modules のような依存関係や、gitignoreされた .env は存在しません。依存関係はClaudeに「インストールして」と頼むか、自分でセットアップを実行します。.env のようなgitignore済みファイルを毎回自動でコピーしたい場合は、プロジェクトルートに .worktreeinclude を置きます。

# .worktreeinclude(.gitignore と同じ書式。gitignoreされているファイルだけがコピーされる)
.env
.env.local
config/secrets.json

終了時にworktreeはどうなるか

対話セッションを /exit で終えると、Claude Codeはworktreeに残っている作業(変更ファイル、未追跡ファイル、新しいコミット)を確認し、次のように振る舞います。

worktree終了時の分岐フロー。作業が残っていれば残すか削除するか確認、作業がなく名前付きなら残すか確認、無名で変更なしなら自動削除

実演では claude --worktree feature-auth -n worktree-demo を実行し、.claude/worktrees/feature-authworktree-feature-auth ブランチが作成されたことを確認しました。/exit では、名前付きセッションを残すかどうかの確認が表示され、Keep worktree を選んで終了しました。

実行ログ再生:worktree内で起動し、exitでKeep worktreeまたはRemove worktreeを選ぶ

「削除」はディレクトリとブランチ、その中の作業も削除します。worktree内でコミットしただけでは、そのブランチごと削除した際の保護として十分ではありません。 必要な変更を元のブランチへ取り込むか、リモートへpushして退避先を確認してから削除してください。今回の実演では削除していません。

-p の非対話実行には終了時の確認がないため、worktreeは残り続けます。git worktree remove で手動削除し、ロックされていて拒否される場合は先に git worktree unlock を実行します。

知っておくと便利な挙動

  • 再開するとworktreeに戻る: worktree内で始めたセッションを --continue--resume で再開すると、そのworktreeに戻って続きます。worktreeが消えていた場合は起動したディレクトリで続行され、その旨が表示されます。
  • 同じ名前を再利用できる: 既存のディレクトリ名を --worktree に渡すと、新規作成せずそのworktreeを開きます。
  • 分岐元ブランチを変えられる: 既定ではリモートの既定ブランチ(通常 main)から新しいworktreeを切ります。手元の未pushコミットを土台にしたい場合は、settings.json"worktree": { "baseRef": "head" } を設定します。
  • PRから切れる: claude --worktree "#1234" のようにPR番号を渡すと、そのPRのheadから .claude/worktrees/pr-1234 を作ります。シェルが # をコメント扱いしないよう引用符が必要です。
  • 会話中に頼める: セッション中に「worktreeで作業して」と伝えると、Claudeが EnterWorktree ツールでworktreeを作って移動します。
  • 承認はリポジトリ単位で共有: worktree内で「Yes, and don’t ask again」を選んだBashの許可ルールは、メインのチェックアウトの .claude/settings.local.json に保存され、他のworktreeにも効きます(v2.1.211以降)。

Codex CLIとの違い

同じ「AIコーディングエージェントのCLI」でも、OpenAIのCodex CLIはセッション管理の語彙と設計が少し違います。両方を使う人が混乱しやすいポイントを対応表にします。

やりたいこと Claude Code Codex CLI
直前の会話に戻る claude --continue-c codex resume --last
一覧から選ぶ claude --resume-r codex resume
名前やIDで指定 claude --resume <name | id> codex resume <id | name>
起動中に別の会話へ /resume /resume
名前を付ける -n/rename、ピッカーで Ctrl+R /rename。起動した環境のコマンド一覧も確認
会話を分岐 /branch--fork-session codex forkcodex fork --last/fork
非対話で続きを実行 claude -p --continue / -p --resume <id> codex exec resume --last / codex exec resume <id>
他ディレクトリのセッションも対象にする ピッカーで Ctrl+A。ID指定はv2.1.223以降マシン全体を検索 --all
保存を残さない -p--no-session-persistence、または CLAUDE_CODE_SKIP_PROMPT_HISTORY codex exec --ephemeral
セッションの整理 既定30日で自動掃除、claude project purge codex archive / codex unarchive / codex delete
並行開発(worktree) --worktree-w)。既定では .claude/worktrees/ 配下 手元のCLI 0.154.0で --worktree を確認。公式コマンド一覧には /worktree も掲載。デスクトップアプリの管理先は $CODEX_HOME/worktrees

表だけでは見えにくい、設計思想の違いを3つ挙げます。

1. 「直前」の扱い方

Claude Codeは --continue という専用フラグで「このディレクトリの直前」に戻ります。Codexは resume サブコマンドに --last を付ける形で、基本の入口が resume に一本化されています。どちらも既定では現在のディレクトリのセッションが対象で、Codexは --all で他ディレクトリまで広げます。

2. 分岐は「セッションのコピー」か「独立コマンド」か

Claude Codeは /branch で会話をコピーして分岐し、起動時なら --fork-session を再開フラグに添える設計です。Codexは fork が独立したサブコマンドで、codex fork --last のように再開と同じ引数体系で分岐します。実務上できることは近く、「元の会話は無傷で残る」点は共通です。

3. worktreeの指定方法と置き場所

Claude Codeでは --worktree feature-auth のように名前を指定でき、既定の作成先は .claude/worktrees/feature-auth、ブランチ名は worktree-feature-auth です。

Codex CLI 0.154.0では、ローカルの codex --helpcodex resume --help の両方に --worktree が表示されました。公式の開発者向けコマンド一覧にも /worktree があるため、現在の説明では「CLIでは使えない」と捉える必要はありません。CLIとデスクトップアプリでは操作入口が異なるため、手元のヘルプで確認しましょう。

実行ログ:Codex CLI 0.154.0のresumeヘルプ。セッションIDまたは名前、last、allの指定を確認

デスクトップアプリのCodex管理worktreeは $CODEX_HOME/worktrees 配下に作られ、通常は特定のブランチを直接チェックアウトしない「detached HEAD」の状態から始まります。LocalとWorktreeの間で作業を移すHandoffや、既定で直近15個を保持する掃除の設定もあります。

.worktreeinclude は両方の公式資料に登場します。ただし、Codex側の説明はローカルのデスクトップアプリが管理するworktreeを対象としており、手動の git worktree add やリモートworktree全般に同じ動作を保証するものではありません。CodexのWorktrees公式資料も確認してください。

名前での再開は、手元の codex resume --help に「Session id (UUID) or session name」と記載されています。同名で区別しにくいときは、IDを使うと対象を明確にできます。

トラブルシューティング — 再開できないときの見る順番

再開まわりで詰まったときは、症状ごとに見る場所が決まっています。

エラー文で検索する前に、まずこの表で当たりを付けます。

症状 原因の候補 対処
No conversation found with session ID: ... 起動ディレクトリが違う、IDの写し間違い 正しいディレクトリで実行する。v2.1.223以降は他プロジェクトも自動検索される。IDの誤り、保持期限、保存抑止、手動コピーした同一IDの重複も確認する
ピッカーや --continue に目的の会話が出ない claude -p / SDK / 先頭が /loop のセッションは非表示 claude --resume <session-id> でIDを直接指定する
Your most recent conversation is running in the background と表示されて終了する 直前の会話をバックグラウンドで実行中 claude agents から接続する。別の会話なら --resume で選ぶ
Failed to resume the conversation セッションの読み込みに失敗 表示された再試行コマンドを実行する。/resume 内での失敗なら現在の会話はそのまま続く
Your worktree <path> no longer exists worktreeディレクトリが削除済み そのまま現在のディレクトリで続行される。隔離は効かない点に注意
Could not re-enter your worktree <path> worktreeの内側から起動している等 メインのチェックアウトから再開し直す
再開したら権限モードが変わっている bypassPermissionsplan は復元されない仕様 必要なら --permission-mode を付けて再開する

実務で回すためのコツ

ここまでの機能を、1人で複数案件を回す前提でどう組み合わせるか。おすすめの組み合わせは次の形です。

  • 1タスク1セッション、必ず名前を付ける: claude -n <チケット番号-要約> で始めれば、ピッカーがそのままタスク一覧になります。Ctrl+B でブランチ絞り込みができるので、ブランチ名と名前を揃えておくと探しやすくなります。
  • 「昨日の続き」は -c、「先週のあれ」は -r <name>: 判断フローの通りです。IDを控える運用はしません。
  • 別方針の相談は /branch から: 会話を分岐し、コードも別々に編集するならworktreeを使います。/resume で元の会話へ戻っても、ファイルの変更は元に戻りません。
  • 並行作業は --worktree、終了前にpush: worktreeの削除はブランチごと消えるので、終了前にコミットとpushを習慣にします。.claude/worktrees/.gitignore に入れておきます。
  • 長期放置セッションは要約から再開してよいか判断する: 細部が要らない引き継ぎ作業なら要約再開でコストを抑え、細かい設計判断の経緯が要るときはそのまま読みます。
  • 監査やナレッジ化は /export-p --resume: 後者は保存履歴を読むだけのコマンドではなく、既存の会話へ新しい依頼を送って実行する操作です。単純な書き出しなら /export を使います。JSONLを直接パースするスクリプトは、Claude Codeの更新で壊れる前提で書かないのが安全です。

まとめ

  • Claude Codeの会話はセッション単位で逐次保存され、~/.claude/projects/ 配下にトランスクリプトとして残ります。
  • 再開は「起動中なら /resume、直前なら --continue、名前やIDが分かるなら --resume <name|id>、分からなければ --resume で一覧」の順で選びます。
  • 名前付け(-n / /rename)とブランチ絞り込みで、ピッカーはタスクボードとして機能します。
  • 別方針の会話を試すなら /branch、ファイルを分けて並行で進めるなら --worktree。会話の分岐とファイルの隔離は別の機能です。
  • 再開で復元されない項目(起動フラグ、セッション限定の承認、一部の権限モード)は表で確認しておくと事故を防げます。
  • Codex CLIは resume --last / fork / archive といった語彙で同等の操作を提供し、CLIには --worktree もあります。.worktreeinclude は両者の資料にありますが、適用対象を確認して使います。

次のステップとしては、CLAUDE.md や設定ファイルの適用範囲(どこに置くと何に効くか)を押さえると、再開したセッションでも指示が安定して効くようになります。権限モードやサンドボックスと合わせて整理してみてください。

参考リソース

本記事は2026年9月15日に公式ドキュメントとCLIヘルプを照合し、冒頭に記載した範囲を実行確認しました。削除、実案件の同時編集、全権限モードの復元までは実演していません。Claude Code・Codexともに更新頻度が高いため、バージョン依存の挙動(本文中にバージョン番号を添えた箇所)は実行環境の --version と照らし合わせてください。

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