Skip to content

原文(日本語に翻訳)

--resumeを改善し、同じリポジトリの別worktreeのセッションを、cdコマンドを表示するのではなく直接再開できるようになりました。

原文(英語)

Improved --resume to resume sessions from other worktrees of the same repo directly instead of printing a cd command

概要

claude --resumeコマンドが、同一Gitリポジトリの異なるworktree(作業ツリー)で行われたセッションを直接再開できるようになりました。以前は別worktreeのセッションを再開しようとすると、cd /path/to/worktreeというコマンドが表示されるだけで、自動的な移動は行われませんでした。この改善により、複数のworktreeを使ったブランチ並行作業のワークフローがよりスムーズになります。

基本的な使い方

通常と同じように--resumeを使用します:

bash
# 直近のセッションを再開(別worktreeのセッションでも直接再開)
claude --resume

# セッションIDを指定して再開
claude --resume <session-id>

実践例

複数ブランチの並行作業での活用

Gitのworktreeを使って複数ブランチを並行して作業するシナリオ:

bash
# worktreeの作成
git worktree add ../feature-branch feature/new-api
git worktree add ../bugfix-branch fix/critical-bug

# feature-branchのworktreeでClaudeを使用
cd ../feature-branch
claude  # セッションA開始

# 緊急のバグ修正のため別worktreeへ
cd ../bugfix-branch
claude  # セッションB開始

# バグ修正後、feature-branchのセッションAを再開
# どのディレクトリからでもセッションIDで直接再開可能
claude --resume <session-A-id>
# 以前は cd コマンドが表示されるだけだったが、今は直接再開される

セッション一覧から選択して再開

bash
# インタラクティブにセッションを選択
claude --resume
# 別worktreeのセッションも一覧に表示され、選択すると直接再開

CI/CDスクリプトでの活用

複数のworktreeを使ったビルドパイプラインでセッションを管理:

bash
#!/bin/bash
# 特定のworktreeでのセッションを再開
SESSION_ID=$(cat .claude-session-id)
claude --resume "$SESSION_ID" --print "ビルド結果を確認してください"

注意点

  • この改善は同一Gitリポジトリ内の異なるworktree間で有効です
  • 全く別のリポジトリのセッションは直接再開できません
  • セッションIDを指定しない場合、最近のセッション一覧からインタラクティブに選択できます
  • worktreeのパスが変更・削除されている場合、再開できないことがあります

関連情報