セッションを再開する
セッションは作業中に ローカルトランスクリプトファイルに継続的に保存されるため、終了後または/clear を実行した後に再開できます。これらのエントリポイントを使用します。
実行中のバックグラウンドセッションを再開する
claude --resume または /resume で再開する会話が、実行中の バックグラウンドセッションに属する場合、Claude Code は実行中のセッション自体を開きます。コマンドラインで --bg を使用すると、再開は代わりに バックグラウンドディスパッチになります。v2.1.285 より前は、Claude Code は拒否し、claude attach <id> でセッションを開くか、先に claude stop <id> で停止するよう指示していました。
-
シェルから:
claude --resume <session>は、トランスクリプト自体を読み込む代わりに、同じターミナルでそのセッションに対してclaude attachを実行します。claude --resume <session> "check the tests too"のようにコマンドラインで渡すプロンプトは、最初にセッションの次のターンとして送信され、Claude Code はSent your prompt to the background session (<id>); opening it…を出力してからアタッチします。ターミナルで入力したclaude -p --resume <session> "prompt"も同じように動作するため、-pはその実行を非対話型に保ちません。 Claude Code は、コマンドラインに以下のいずれかがある場合、セッションを開きません。- パイプまたはリダイレクトされた入力または出力
--permission-mode、--model、--settingsなどのセッションを設定するフラグ--output-format jsonまたは--json-schemaなどの出力を読み込むフラグ--max-turnsまたは--max-budget-usdなどの実行を制限またはリワインドするフラグ
claude attach <id>コマンドを表示するか、ID を判定できない場合はclaude agentsで見つけるよう指示します。代わりに会話のコピーを再開するには、--fork-sessionを追加します。フラグを適用した自分のセッションで会話そのものを続行するには、claude stop <id>を実行してからコマンドを再度実行します。/または!で始まるプロンプトは送信されず、セッションが質問への回答を待っている間のプロンプトも送信されません。どちらの場合も Claude Code はセッションを開かず、メッセージにはYour prompt was not sent to itと理由が含まれます。 -
セッション内から:
/resumeは現在の会話をバックグラウンドに移動し、このターミナルを実行中のセッションにアタッチし、Opening "<title>", running in the background (<id>)を出力します。空のプロンプトで←を押すとエージェントビューに戻ります。エージェントビューには、離れた会話も一覧表示されます。現在の会話をバックグラウンドに移動できない場合(例えば、すでにバックグラウンドセッションにアタッチしている場合や、セッション永続性がオフの場合)、/resumeは代わりに実行するclaude attachコマンドを出力します。
再開されたセッションが復元するもの
Claude Code がトランスクリプトから会話を読み込むと、再開されたセッションは会話とそれに保存された状態を復元します。- 会話履歴:ツール呼び出しと結果を含む完全な履歴。前のプロセスが終了したとき(例えばクラッシュ時)に実行中だったツールは、再開時に完了または再実行されません。Claude はその呼び出しが結果の記録前に中断されたとマークされているのを確認し、再度実行する前にそれが有効になったかどうかを確認するよう指示されます。ただし、
CLAUDE_CODE_RESUME_INTERRUPTED_TURNが設定されている場合は除きます。 - モデル:セッションは使用していたモデルで続行されます。ただし、モデルの設定に記載されている場合は除きます。
- エージェント:
--agentまたはagent設定で開始されたセッションはそのエージェントとして続行され、ツール制限とモデルを保持します。別のエージェントを選択するには、再開時に--agentを渡します。どちらの場合のシステムプロンプトについては、再開された会話のシステムプロンプトフラグを参照してください。Claude Code は 2 つの場所でエージェントを検索します。セッションの元のディレクトリ(そのワークスペースを信頼している場合)と、次に再開元のディレクトリです。そのため、プロジェクトスコープのエージェントは別のディレクトリから再開する場合でも読み込まれます。Claude Code がどちらの場所でもエージェントを見つけられない場合、セッションはデフォルトのツールで再開され、エージェント名を示す警告が表示されます。 - 権限モード:
claude --continue、claude --resume <session-id>、またはclaude --resume <name>(名前が 1 つのセッションと一致する場合)で-pなしでターミナルから再開する場合、Claude Code はセッションが使用していた権限モードを復元します。ただし、再開時の権限モードに記載されている場合は除きます。このセクションでは、セッションピッカー、/resume、およびclaude -pで再開する場合も扱います。復元されたモードを上書きするには、--permission-modeまたは--dangerously-skip-permissionsを渡します。 - アクティブなゴール:セッションが終了したときにまだアクティブだった ゴールは引き継がれます。ターン数、タイマー、およびトークン支出ベースラインはリセットされます。
- スケジュールタスク:有効期限が切れていないタスクが復元されます。バックグラウンド Bash およびモニタータスクは復元されません。
- バックグラウンド作業:前のプロセスとともに終了した バックグラウンドサブエージェント、バックグラウンド Bash コマンド、または ワークフローは、再開されたトランスクリプトに完了しなかったというメモとして表示されます。Claude Code はそれらのメモからターンを開始しません。Claude は次のプロンプトとともにそれらを読みます。
--mcp-config、--settings、--plugin-dir、--fallback-model、または --add-dir で追加されたディレクトリに依存していた場合、再開時に再度渡します。セッション中に /add-dir で追加されたディレクトリも復元されませんが、セッションピッカーはセッションを見つけるためにそれらを使用します。settings.json や settings.local.json などの標準設定ファイルは起動時に再度読み込まれるため、それらに含まれる設定を再度渡す必要はありません。--system-prompt および --append-system-prompt については、再開された会話のシステムプロンプトフラグを参照してください。
再開時の権限モード
Claude Code が再開されたセッションをどの権限モードで開始するかは、再開方法によって異なります。以下のケースは、Claude Code がトランスクリプトから会話を読み込む場合に適用されます。代わりに 実行中のバックグラウンドセッションを開く場合、そのセッションは現在の権限モードを保持します。- ターミナル:
claude --continue、claude --resume <session-id>、またはclaude --resume <name>(名前が 1 つのセッションと一致する場合)で-pなし。Claude Code はセッションが使用していた権限モードを復元します。ただし、表に記載されている場合は除きます。復元されたモードを上書きするには、--permission-modeまたは--dangerously-skip-permissionsを渡します。 - 非対話型:
claude -p --resumeまたはclaude -p --continue。Claude Code は新しいclaude -p実行が開始される権限モードで実行を開始します。ただし、plan モードで終了したセッションは、以下の条件を満たす場合に plan モードで再開されます。 - VS Code:拡張機能の会話パネル。表は、plan モードで終了した会話のみを扱います。その他については、過去の会話を再開を参照してください。
- 起動時のセッションピッカー:セッションピッカーから選択したセッション。
claude --resumeだけで開いたか、claude --from-prで開いたか、複数のセッションと一致する名前で開いたかに関わらず。Claude Code は、同じコマンドラインから新しいセッションを開始する場合の権限モードでセッションを開始します。ただし、plan モードで終了したセッションは plan モードで再開されます。--permission-mode、--dangerously-skip-permissions、または--fork-sessionを渡した場合、Claude Code は plan モードを復元しません。それ以外の保存された権限モードは復元されません。 - セッション内の
/resume(引数の有無を問わず):切り替え先の会話は、現在のセッションの権限モードで続行されます。ただし、plan モードで終了した会話は、--permission-modeまたは--dangerously-skip-permissionsで Claude Code を起動した場合でも plan モードで再開されます。その会話がこの Claude Code の実行中にすでに開かれていた場合(開始時の会話や、/clearまたは/resumeで離れた会話など)は、代わりに現在の権限モードで続行されます。
ExitPlanMode ツールが削除されている場合、Claude はプランを承認のために提示できないため、Claude Code は plan モードを復元しません。セッションは、同じコマンドラインから新しいセッションが開始される場合の権限モードで開始されます。/resume の場合、会話は現在の権限モードで続行されます。
非対話型および VS Code の経路で plan モードを復元するには Claude Code v2.1.246 以降が必要です。各行は、セッションが終了した権限モード、ターミナル、非対話型、および VS Code の経路のどれで再開するか、および Claude Code が再開されたセッションを開始する権限モードを示します。