Git worktree

Claude Code、Codex、あらゆるエージェントCLIのための
git worktreeマネージャー

チケットのチェックボックスを1つオンにするか、エージェントを追加するときにworktreeを選ぶだけで、そのエージェントは自分専用のチェックアウトと自分専用のブランチで作業します。複数のエージェントが同じリポジトリを同時に編集しても、互いのファイルには触れません。

エージェントが起動する前に、AgentsRoomが依存関係をインストールし、.envファイルを新しいworktreeにコピーするので、すぐにビルドしてテストを実行できます。作業が終わったら、デスクトップでもスマートフォンからでも、「変更」タブでそのworktreeをレビュー、コミット、プッシュ、マージできます。

1つのリポジトリ、エージェントごとに1つのチェックアウト
メインのチェックアウトmain
  • バックエンドエージェント.worktrees/fix-login-redirect準備済み
  • フロントエンドエージェント.worktrees/settings-dark-mode作業中
  • QAエージェント.worktrees/agents/qaレビュー

3つのエージェント、3つのworktree、1つのリポジトリ:各チェックアウトはエージェントの起動前に準備され、それぞれ個別にレビューされてマージされます。

同じチェックアウトに2つのエージェントがいるのは、同じファイルに2人が同時に打ち込んでいるのと同じです。片方が編集の途中なのにもう片方がフォーマッターを走らせ、片方がもう片方の足元でブランチを切り替え、最後にレビューするdiffには両方の作業が混ざります。git worktreeはこれを解決します。同じリポジトリの2つ目のチェックアウトで、専用のフォルダと専用のブランチを持ち、履歴は共有してもファイルは共有しません。

worktreeを1つ作るのはgitコマンド1つで済みます。難しいのは10個と付き合っていくことです。新しいworktreeにはnode_modulesも.envもないので、エージェントの最初のビルドは失敗します。どのエージェントがどこで作業しているかは何も教えてくれません。そして作業が終わっても、フォルダを探し、レビューし、コミットし、マージし直さなければなりません。

AgentsRoomはこのライフサイクルを引き受けます。バックログのチケットやエージェントがworktreeを求めると、AgentsRoomは最新のベースブランチからプロジェクト内の.worktrees/の下にworktreeを作り、準備し、その中でエージェントを起動し、「変更」タブにセレクターを用意して、レビュー、コミット、プッシュ、マージができるようにします。エージェントを動かすCLIが何であっても同じように動きます:Claude、Codex、GitHub Copilot CLI、Cursor、ほか10種類のエージェントCLI。

worktreeは任意です。worktreeを持たないエージェントはこれまでどおりプロジェクトフォルダで作業し、チケットごと、エージェントごと、エージェントテンプレートごとに使うかどうかを決められます。

worktreeマネージャーができること

タスクが分離されたチェックアウトを求めた瞬間から、そのブランチがマージされる瞬間まで。

バックログのチケットごとに1つのworktree

チケットで「このタスクは分離したワークツリーでコーディング」にチェックを入れ、プロジェクトのworktreeから1つ選ぶか新しいブランチ名を入力すれば、チケットを開始したときにworktreeが作られ、その中でエージェントが起動します。

エージェントを追加するときにworktreeを選ぶ

「エージェントを追加」ウィンドウの「ワークスペース」カードには、「メイン」、プロジェクトの既存のworktree、「新規」が表示されます。自分でgit worktree addを使って作ったworktreeも一覧に出ます。

テンプレートのエージェントごとに新しいworktree

保存済みのエージェントやデフォルトプロファイルで「エージェントごとに新しい worktree」をオンにすると、そこから作られる各エージェントが専用のブランチを持ちます。ブランチ名はagents/<テンプレート>、続いて-2、-3となるので、コピー同士がチェックアウトを共有することはありません。

最初の起動からビルドできる

新しいworktreeで最初のエージェントが起動する前に、AgentsRoomは必要なgitで無視されているファイル(デフォルトではすべての.envファイル)をコピーし、ロックファイルから検出したインストールコマンドを実行します:yarn、pnpm、npm、bun、uv、poetry、pipenv、bundle、composer。

各worktreeをレビュー、コミット、プッシュ

「変更」タブ上部の「ワークツリー」セレクターで、diff、レビュー、「コミット」、「Pull」、「Push」がそのチェックアウトに切り替わります。専用のworktreeを持つエージェントのバッジをクリックすると、そのworktreeが直接開きます。

チケットが完了したらマージ

「タスク完了時に現在のブランチへ自動マージ」をオンにしておけば、チケットを「完了」にするとそのブランチがマージされます。「作業完了時に自動でコミットする」をオンにすれば、エージェントが未コミットのまま残した作業もマージに含まれます。

AgentsRoomのタスクフォーム。「このタスクは分離したワークツリーでコーディング」にチェックが入り、プロジェクトの既存のworktreeであるfix-checkout-cacheとfree-shipping-couponがチップで表示され、ブランチ名update-checkout-total-cacheがタイトルから自動入力され、「タスク完了時に現在のブランチへ自動マージ」にチェックが入っている
タスクのチェックボックスを1つオンにするだけです。プロジェクトのworktreeから1つ選ぶか、タイトルから自動入力されたブランチ名をそのまま使い、タスク完了時にブランチをマージするかどうかを決めます。

仕組み

1つのチケットがフォームからマージまでたどる道のり。

  1. 1

    チケットでworktreeを指定する

    チケットのフォームの「実行設定」で、「このタスクは分離したワークツリーでコーディング」にチェックを入れます。チップから既存のworktreeを選ぶか、「ブランチ名」フィールドをそのまま使います。このフィールドは編集するまでタイトルから自動入力され、タスクの開始時に新しいworktreeになります。

  2. 2

    チケットを開始する

    AgentsRoomはベースブランチ(リモートのデフォルトブランチ、またはプロジェクト設定で指定した「ワークツリーのベースブランチ」)をfetchし、.worktrees/<branch>/の下にworktreeを作り、そのフォルダをクローンの.git/info/excludeに追加します。そのため、メインのチェックアウトで未追跡ファイルとして表示されることはありません。

  3. 3

    worktreeが準備され、それからエージェントが起動する

    エージェントのターミナルにインストールコマンドとその出力が表示され、コピーされた無視ファイルの数が通知で示されたあと、エージェントのCLIがworktreeの中で起動します。これはworktreeごとに1回だけ行われます。インストールが失敗してもエージェントがブロックされることはなく、エラーはそのターミナルに残ります。

  4. 4

    レビューしてマージする

    「変更」タブでworktreeを選び、diffを読んでコミットします。チケットを「完了」にすると、自動マージがオンならそのブランチが現在のブランチにマージされ、確認画面に結果が表示されます。worktree自体は最後の確認のためにディスクに残ります。

AgentsRoomの「変更」タブ。「ワークツリー」セレクターが開いて「メイン」と2つのエージェントのworktreeが表示され、fix-checkout-cacheが選択されて、その変更ファイルsrc/checkout.jsが下に表示されている
「変更」タブの「ワークツリー」セレクター:エージェントのworktreeを選ぶと、diff、コミット、プッシュがそのチェックアウトに対して行われます。

Claude CodeとCodexもworktreeを作れます。違いはここです。

Claude Codeには専用のフラグがあります:claude --worktree feature-authは、worktree-feature-authという名前のブランチ上に.claude/worktrees/feature-authを作り、.worktreeincludeファイルに列挙されたgitで無視されているファイルをコピーし、終了時にworktreeを残すか削除するかを尋ねます。ドキュメントには、worktreeは新しいチェックアウトであり、依存関係は自分でインストールするかClaudeに頼む必要があるとはっきり書かれています。サブエージェントもisolation: worktreeでそれぞれworktreeを持てます。

Codexアプリは$CODEX_HOME/worktreesでworktreeを管理し、選んだブランチからdetached HEAD状態で開始し、同じく.worktreeincludeを読み、ローカル環境を選べばそのセットアップスクリプトを実行し、デフォルトで直近の15個を保持します。Handoffは、チャットとそのコードをLocalとworktreeの間で移動します。codex-cli 0.162.1にも--worktreeフラグがあります。

どちらもよくできていますが、どちらも1つのベンダーのものです。AgentsRoomはそれらを置き換えるのではなく、同じ分離を1段上、つまりチケットとエージェントがある場所で、すべてのCLIに対して一度に提供します。エージェントが目にする前にチェックアウトを準備し、レビュー、コミット、マージをいつも使っているウィンドウの中で行えるようにします。2026年10月、Claude Code 2.1.299とcodex-cli 0.162.1で確認しました。

知っておくべきこと

  • worktreeが自動で削除されることはありません。レビューできるように、あえてそうしています。worktreeは.worktrees/の下にたまっていくので、作業が終わったらgit worktree removeで削除してください。エージェントがまだ中で動いている間は削除しないでください。
  • 自動マージがコンフリクトにぶつかると警告が記録され、チケットはそのまま「完了」に移ります:そのマージは手動で解決してください。
  • worktreeを使うには、プロジェクトのルートにgitリポジトリが必要です。複数のリポジトリを並べてまとめているだけのフォルダでは使えません:各リポジトリを別々のプロジェクトとして開いてください。
  • SSHサーバー上で開いたプロジェクトでは、worktreeはサーバー上に作られ、インストール手順はありません。エージェントがリモートホストで動くローカルのチェックアウトではworktreeを使えず、チケットは開始する代わりにその旨を表示します。
  • QAエージェントが専用のworktreeを持つことはありません。新しいworktreeにはテストすべき未コミットの作業が含まれないため、マスターエージェントのチェックアウトの中でテストします。

よくある質問

git worktreeとは何ですか?なぜAIエージェントに1つずつ与えるのですか?

git worktreeは同じリポジトリの2つ目のチェックアウトで、専用のフォルダと専用のブランチを持ち、履歴とリモートをメインのチェックアウトと共有します。AIコーディングエージェントそれぞれに1つずつ与えれば、各エージェントは自分のファイルのコピーを編集、ビルド、コミットするので、同時に作業する2つのエージェントが互いの変更を上書きしたり、相手の足元でブランチを切り替えたりすることはありません。git側のより詳しいガイドはブログにあります:git worktree: 複数のAIエージェントを衝突なしで動かすための土台。

Claude Codeにはworktreeが組み込まれていますか?

はい。claude --worktree <名前>(または-w)は、worktree-<名前>という名前のブランチ上に.claude/worktrees/<名前>を作り、.worktreeincludeに列挙されたgitで無視されているファイルをコピーし、終了時にworktreeを残すか削除するかを尋ねます。サブエージェントはisolation: worktreeで専用のworktreeの中で動かせます。依存関係はインストールしません。AgentsRoomではこれをそのまま使い続けることも、チケットやエージェントにworktreeを指定させることもできます。後者ならworktreeの準備も行われ、「変更」タブに表示されます(Claude Code 2.1.299で確認)。

Codexはworktreeに対応していますか?

Codexアプリは対応しています:$CODEX_HOME/worktreesに管理されたworktreeをdetached HEAD状態で作り、.worktreeincludeに列挙された無視ファイルをコピーし、ローカル環境のセットアップスクリプトを実行でき、直近の15個を保持し、HandoffでチャットをLocalとworktreeの間で移動します。codex-cli 0.162.1には、新しい管理されたworktreeでセッションを実行する--worktreeフラグがあります。AgentsRoomは、ほかのエージェントと同じように、チケットや「エージェントを追加」ウィンドウからCodexエージェントにworktreeを与えます。

AgentsRoomのworktreeではどのエージェントCLIが動きますか?

すべてです:worktreeは単にエージェントの作業ディレクトリなので、そこでどのCLIが動いていても関係なく、Claude、Codex、GitHub Copilot CLI、Cursor、ほか10種類のエージェントCLIが同じように動きます。Kimi CodeとAntigravity CLIはフォルダを正確なパスで信頼するため、AgentsRoomは起動前に新しいworktreeをそれらにとって信頼済みとして登録し、信頼の確認で止まらないようにします。

worktreeごとにyarn installを実行し、.envをコピーする必要がありますか?

いいえ。新しいworktreeで最初のエージェントが起動する前に、AgentsRoomはメインのチェックアウトにあるgitで無視されているファイルのうち「このチェックアウトからコピーするファイル」に一致するもの(デフォルトではすべての.envファイル)をコピーし、ルートのロックファイルから検出したインストールコマンドを実行します。どちらも「プロジェクト設定 > Git > 新しいワークツリーを準備する」で設定でき、コマンドをたとえばpnpm install && pnpm build:depsに置き換えられます。worktreeにすでにあるファイルが上書きされることはありません。

エージェントがworktreeで行った作業をレビューしてマージするには?

「変更」タブを開き、上部の「ワークツリー」セレクターでworktreeを選びます:ファイル一覧、diff、レビュー、「コミット」、「Pull」、「Push」がそのチェックアウトに対して働きます。チケットの場合、「タスク完了時に現在のブランチへ自動マージ」はチケットを「完了」にしたときにそのブランチをマージし、「作業完了時に自動でコミットする」(設定 > Backlog)は先にエージェントが残した作業をコミットするので、マージに作業全体が含まれます。

worktreeはどこにあり、片付けられますか?

プロジェクト内の.worktrees/<branch>/の下にあり、プロジェクト設定で「ワークツリーのベースブランチ」を指定していなければ、リモートのデフォルトブランチから作られます。このフォルダはクローンの.git/info/excludeに追加され、.gitignoreには決して追加されないので、コミットに含まれることはありません。worktreeが自動で削除されることはありません:使い終わったらgit worktree removeで削除してください。

スマートフォンやリモートサーバーでもworktreeを使えますか?

どちらも使えます。スマートフォンでは「変更」画面に同じ「ワークツリー」セレクターがあり、worktreeを指定したチケットをスマートフォンから開始すると、ほかと同じくデスクトップが準備したworktreeの中で動きます。SSHサーバー上で開いたプロジェクトでは、worktreeはサーバー上に作られ、インストール手順はありません。エージェントがリモートホストで動くローカルのチェックアウトではworktreeを使えず、チケットは開始する代わりにその旨を伝えます。

さらに詳しく

こちらもおすすめ

タスク管理

ドラッグ&ドロップでAIエージェントをオーケストレーションする視覚的なかんばんボード。TODOでタスクを作り、In ProgressにドラッグするとClaudeエージェントが自動で立ち上がり、PendingとDoneの列で完了を追跡します。並列AIコーディングのためのバックログ駆動開発。

エージェント別レビュー

各AIエージェントのコード変更を個別にレビューできます。AgentsRoomはどのClaude Codeエージェントがどのファイルを変更したかを追跡します。エージェントごとにdiffをフィルタリングし、個別にレビューし、クリーンなgit履歴のためにエージェントごとにコミットできます。

マルチプロジェクト · マルチエージェント · 並列

AgentsRoomは、AIエージェントを複数のプロジェクトをまたいで並列に、すべて1つのウィンドウで動かします:Claude、Codex、GitHub Copilot CLI、Cursor、ほか10種類のエージェントCLI。色分けされたロール、ライブステータス、プロジェクトごとのカウンター、ネイティブのデスクトップ・モバイル通知。12個のターミナルタブと、iTerm2やWarpやtmuxに散らばったClaude Codeセッションの混沌に代わる、視覚的な選択肢です。

エージェントをカスタマイズ

14の組み込みエージェントロールから選択し、The Agencyの専門エージェントを追加するか、独自のシステムプロンプトを持つカスタムAIコーディングエージェントを構築します。その後、チャットを通じてチームとエージェントを共有し、コミュニティに公開して皆で共にレベルアップしましょう。

Multi-Agent Workflow • Handoff • Feedback Loop

AgentsRoom Agent Teams は、AI コーディングエージェントを本物のエンジニアリングチームのように連結します。Dev、QA、PM、Security、DevOps のロールを配線するビジュアルワークフローエディタ (n8n スタイルのキャンバス)。要約、git diff、リスク、テストヒント付きの自動ハンドオフ。マシン検証のクオリティゲート (判定するのはあなたのテストスイートであってエージェントではありません)、QA と Security の並列レビューブランチ、条件付きエッジ、フィードバックループ、最大サイクル制限。ロールの走らせ方はチームごとに選べます。ロールからロールへモーフして全コンテキストを保つ 1 つのエージェントか、ロールごとに生きたエージェントを立ててリアルタイムで書き合わせるかです。Claude、Codex、GitHub Copilot CLI、Cursor、ほか10種類のエージェントCLI のエージェントに欠けていたマルチエージェントオーケストレーターです。

すべてのエージェントに専用のチェックアウトを

macOS、Windows、Linux向けのAgentsRoomをダウンロードして、複数のエージェントが互いの邪魔をせずに同じリポジトリで作業できるようにしましょう。

無料無料でダウンロード

コンパニオンアプリ:外出先でもエージェントを確認

Claude、Codex、Antigravity CLI、またはその他の AI プロバイダーを使用します。

拡張機能を入手
Chrome Web Store

バグや要望を公開バックログに直接送信できます。

マルチプロジェクト
マルチプロバイダー
マルチエージェント
ライブステータス
ファイル差分
モバイルアプリ
ライブプレビュー
エージェントチーム
ブラウザテスト
バックログ駆動開発
プロンプトライブラリ
スキルライブラリ
すべての機能を見る