Claude Code Desktopの並列セッション機能(Git分離)を使う
Claude Code Desktopは複数セッションをサイドバーで並行管理でき、Gitリポジトリなら各セッションが自動でワークツリー分離されます。設定と落とし穴を確認します。
Claude Code Desktopは、サイドバーから複数のセッションを同時に開いて並行作業できます。Gitリポジトリでは各セッションが自動でワークツリー分離され、変更をコミットするまでほかのセッションに影響しません。CLIの--worktreeフラグを毎回指定する運用と違い、Desktopではこの分離が標準の挙動です。
Claude Code Desktopの並列セッションとは
セッションはそれぞれ独立した会話で、独自のコンテキストと変更履歴を持ちます。サイドバーの+ New sessionボタン、またはmacOSのCmd+N(WindowsはCtrl+N)で新しいセッションを開始でき、複数のタスクを並行して進められます。Ctrl+TabとCtrl+Shift+Tabでセッション間を順番に切り替えられます。
Gitリポジトリを対象にしたセッションでは、各セッションがGitワークツリーを使ってプロジェクトの独立したコピーを自動で持ちます。あるセッションでの変更は、コミットするまでほかのセッションに影響しません。同時に複数のタスクを走らせても、ファイルの取り合いや意図しない上書きが起きにくい設計です。この並列管理とビジュアルなレビューこそが、DesktopがCLIと使い分けられる大きな理由になっています。
新しいセッションを開いて切り替える
- サイドバーで+ New sessionをクリックする、または
Cmd+N(WindowsはCtrl+N)を押す - 環境(Local / Cloud / SSH / WSL)とプロジェクトフォルダーを選ぶ
- タスクを入力してセッションを開始する
Ctrl+Tab/Ctrl+Shift+Tabでサイドバーのセッションを順に切り替える
2つのセッションを同時に画面へ表示したい場合は、macOSならCmd、WindowsならCtrlを押しながらサイドバーのセッションをクリックします。すでに開いているペインの隣に、選んだセッションが第2ペインとして表示されます。分割中に別のセッションをクリックすると、フォーカスがあるペインの中身が置き換わる点には注意してください。分割を閉じて1セッション表示に戻すには、Cmd+\(WindowsはCtrl+\)を押します。
Gitワークツリーによる自動分離の仕組み
ワークツリーは既定で<プロジェクトルート>/.claude/worktrees/以下に作られます。保存先を変えたい場合は、Settings → Claude Codeの「Worktree location」でカスタムディレクトリーに変更できます。同じ設定画面では、Claudeが作るワークツリーのブランチ名に付けるプレフィックスも指定でき、Claude発のブランチを一覧で見分けやすくできます。
.envのようなgit管理外のファイルを新しいワークツリーにも含めたい場合は、プロジェクトルートに.worktreeincludeファイルを作成します。これを用意しておかないと、gitignoreされたファイルは新しいワークツリーにコピーされません。
終了したセッションを片付ける
タスクが終わったセッションは、サイドバーでカーソルを合わせてアーカイブアイコンをクリックすれば、ワークツリーごと片付けられます。PRのマージやクローズをきっかけに自動で片付けたい場合は、Settings → Claude CodeのAuto-archive after PR merge or closeをオンにしておくと、実行が終わっているローカルセッションが自動的にアーカイブされます。PRを開いた後のCI監視や自動アーカイブの詳しい挙動は、Claude Code DesktopのPR監視機能の使い方で扱っています。
セッションの通知とコンテキストを管理する
見ていないセッションでタスクが終わると、DesktopはOS通知を送ります。複数セッションを並行して走らせているときも、進捗を見逃しにくい作りです。サイドバーのセッション一覧はステータス・プロジェクト・環境で絞り込め、プロジェクトごとにグループ化することもできるため、セッション数が増えても目的のものを探しやすくなっています。セッションの名前はツールバーのタイトルをクリックすれば変更できます。
長時間動かしているセッションではコンテキストが埋まってくることがありますが、その場合Claudeは自動で会話を要約して作業を続けます。/compactと入力すれば、埋まりきる前に自分から要約を促すことも可能です。複数セッションを同時に見ながら作業していると、どのセッションが要約待ちかを見落としがちなので、気になったら早めに/compactを使うのも一つの手です。
並列セッションのGit分離はCLIの--worktreeフラグと何が違うか
CLIでセッションを分離するには--worktree(短縮形-w)フラグを明示的に指定する必要があり、既定の保存先は<リポジトリ>/.claude/worktrees/<名前>です。名前を省略すると自動生成され、PRやMRのURLを渡して該当ブランチからワークツリーを作ることもできます。Desktopとの違いは、この分離が「フラグを付けたときだけ」なのか「セッションを開くたびに自動」なのかという点です。
| 項目 | CLI | Desktop |
|---|---|---|
| セッション分離 | CLI--worktree / -wフラグを都度指定 | DesktopGitリポジトリなら自動でワークツリー分離 |
| 複数セッションの管理 | CLI別々のターミナルで手動管理 | Desktopサイドバーのタブで一元管理 |
| 保存先 | CLI<リポジトリ>/.claude/worktrees/<名前> | Desktop<プロジェクトルート>/.claude/worktrees/(変更可) |
Desktopは分離を意識せずに使える代わりに、CLIのようにワークツリーを作らない選択肢(共有チェックアウトで直接作業する)は用意されていません。分離を前提にした設計のほうが、複数セッションを気軽に開ける安心感につながっています。スクリプト化やCI組み込みなど、分離の有無を細かく制御したい場面ではCLIの--worktreeフラグのほうが柔軟です。並列セッションと単体のワークツリー運用の違いをさらに掘り下げたい場合は、Claude Code Worktree実践ガイドも参考になります。
よくある落とし穴
- ワークツリーの場所を勘違いする: 既定は
.claude/worktrees/以下で、プロジェクト本体のディレクトリーとは別の場所です。「変更が見当たらない」と感じたら、まずこのパスを確認してください .envが新しいセッションに引き継がれない: gitignoreされたファイルは.worktreeincludeを用意しない限りコピーされません。環境変数ファイルに依存するプロジェクトでは事前に設定しておく必要があります- クラウドセッションが作ったブランチがローカルに見当たらない: クラウド環境で作られたブランチは、ローカルには自動で存在しません。セッションツールバーのブランチ名をクリックしてコピーし、
git fetchとgit checkoutで手元に持ってくる必要があります
git fetch origin <ブランチ名>
git checkout <ブランチ名>よくある質問
セッション間でファイルの変更は共有されますか
共有されません。各セッションは独立したワークツリーで作業するため、あるセッションでの変更はコミットするまでほかのセッションから見えません。共有したい変更は、コミット・プッシュしてから別セッションで取り込む必要があります。この隔離こそが並列セッションの安全性を支えています。
Windowsで並列セッションを使うには何が必要ですか
Codeタブでローカルセッションを開始するにはGitが必須です。Git for Windowsをインストールし、インストール後にアプリを再起動してください。
セッション同士でメッセージを送り合えますか
Claudeに「どのセッションが認証周りを触ったか」のように尋ねると、ほかのセッションの状況を確認してメッセージを送ってくれます。この仕組みは並列セッションの管理そのものとは別の機能なので、詳しくはClaude Code @メンションでセッション間の連携を制御するで扱っています。
セッションを分割表示すると重くなりますか
2つのセッションを同時に画面へ出すこと自体で処理が重くなるわけではありません。ただし同時に走らせるセッションの数が増えるほど、それぞれがバックグラウンドで消費するリソースは積み上がります。手元のマシンで重さを感じたら、使っていないセッションはアーカイブして減らすのが手早い対処です。
ワークツリーの保存先はプロジェクトごとに変えられますか
Settings → Claude Codeの「Worktree location」はアプリ全体の設定です。プロジェクトごとに個別のパスを割り当てる機能ではなく、変更するとそれ以降に作られるワークツリーすべてに適用されます。
まとめ
Claude Code Desktopの並列セッションは、Cmd+N(WindowsはCtrl+N)で開始し、Gitリポジトリなら自動でワークツリー分離されます。保存先やブランチプレフィックスはSettingsから調整でき、.envのようなgitignore対象ファイルは.worktreeincludeで個別に引き継げます。CLIの--worktreeフラグが「都度の明示指定」であるのに対し、Desktopは分離が既定の挙動になっている点が最大の違いです。終わったセッションはアーカイブアイコンかAuto-archiveで片付け、サイドバーを進行中のタスクだけに保つ運用がしやすくなります。ワークツリーの場所や.worktreeincludeの設定を先に済ませておけば、あとはセッションを開くだけで分離された作業環境が毎回自動で用意されます。