Worktreeで2つの作業を同時にAIに任せた話

Worktreeで2つの作業を同時にAIに任せた話

「あっちの作業が終わるまで、こっちは待たないといけないのか……」

Claude CodeのWorktree機能を知るまで、わたしはずっとこう思っていました。ブログ記事を生成させながら、別のファイルも整理してほしい。でも同じ画面で2つのことをお願いすると、どうしても前の作業が中断してしまう。

そんな悩みを解決してくれたのが、Worktree(ワークツリー)という機能でした。

正直に言うと、最初に「worktree」という言葉を見たとき、「Gitの用語っぽくて難しそう……」と思って避けていました。でも実際に使ってみたら、概念さえ理解してしまえば、非エンジニアでも十分に活用できる機能でした。今回はその体験を、できるだけわかりやすくお伝えします。

Claude Code Worktreeで何ができるのか、一言で言うと

「2つのClaudeセッションが、互いに干渉せず並行して動く」ということです。

通常、Claude Codeは1つの作業ディレクトリ(フォルダ)の中で動きます。そこに2つの指示を出すと、前の作業に上書きされたり、ファイルが混在して混乱することがあります。

Worktreeを使うと、同じリポジトリ(プロジェクトフォルダ)の中に「別の作業スペース」を自動で作成します。イメージとしては、同じ家を建てるための設計図を共有しながら、1階と2階を別々の職人が同時に工事している状態に近いです。

実際に試してみた

わたしが最初に試したのは、ブログ記事の生成と画像スクリプトの作成を同時にやらせてみること、でした。

通常だと、「記事を書いてください」→完成を待つ→「次に画像スクリプトを作ってください」という順番になります。これが一方を待っている間に、もう一方も動かせたら、と思っていたのです。

コマンドはシンプルでした。


claude --worktree article-writing

これを実行すると、Claude Codeが自動的に新しいWorktreeを作成して、その中でセッションを開始してくれます。同じリポジトリをベースにしながら、「article-writing」という名前の独立した作業スペースができるイメージです。

別のターミナルウィンドウを開いて、もう一つのWorktreeでも作業を始めることができます。


claude --worktree thumbnail-scripts

この2つが、互いに干渉せず同時に動く。最初に動いたとき、「あ、本当に別々に動いてる」と少し感動しました。

非エンジニアが使うときのポイント

ただ、使ってみて気づいた「落とし穴」もあります。

Gitリポジトリが必要です。

Worktreeは、Gitの仕組みの上に成り立っている機能です。Gitとは、ファイルの変更履歴を管理するための仕組みで、`git init`(初期化コマンド)を実行済みのフォルダでないと使えません。

わたしは最初、普通のフォルダで試して「コマンドが効かない……」と焦りました。エンジニアではないので、Gitの仕組みはよくわかっていなかったのです。

Gitを普段使っていない方には最初だけ少し手間がかかりますが、一度セットアップしてしまえば、あとは毎回 `claude –worktree [名前]` で始めるだけです。

もし「Gitってよくわからない」という方は、まずはClaude Codeのチャットに次のプロンプトを貼ってみてください。


現在のフォルダをGitリポジトリとして初期化して、
その後「blog-work」という名前でWorktreeを作って
Claude Codeを起動する手順を教えてください。
コマンドを1つずつ日本語で説明してください。

Claude Codeが丁寧に手順を教えてくれます。

セッション中に「Worktreeで作業して」と頼む方法

コマンドラインだけじゃなく、チャット中にお願いする方法もあります。

セッション中に、


この作業はWorktreeを作って、そこで進めてください。
名前は「draft-experiment」でお願いします。

と伝えるだけで、Claude Codeが自動的にWorktreeを作成して、その中で作業を続けてくれます。これはわたしもまだ試し始めたばかりで、どこまで柔軟に対応できるか探っているところです。

実際に使って変わったこと

Worktreeを使い始めてから、「次の作業を待つ時間」がほぼなくなりました。

以前は、ある記事の執筆を頼んでいる間、ほかのことに着手できずに待っていました。今は、片方のウィンドウでClaude Codeが記事を書いている間に、もう一方のウィンドウでサムネイル画像の生成スクリプトを作らせる、ということが普通になっています。

体感では、以前と比べて1日あたりの「Claude Codeで完了できるタスク数」が1.5倍くらいになった印象です(まだ計測はできていないので、あくまで体感です)。

まだわかっていないこと

正直に書いておくと、Worktree同士で「お互いの作業結果を参照させる」方法はまだよくわかっていません。

たとえば、一方のWorktreeで書いた記事を、もう一方のWorktreeで動いているClaude Codeに読み込ませて、それをベースに画像を生成させる、みたいな連携です。理論上はできそうなのですが、実際の手順はまだ試行中です。

わかったら改めて記事にしたいと思います。

まとめ:Worktreeは「待ち時間ゼロ」のための機能

  • Claude Codeは通常1つの作業スペースで動くが、Worktreeを使うと並行して動かせる
  • コマンドは `claude –worktree [名前]` だけ。シンプルです
  • 使うにはGitリポジトリが必要(初期設定が必要)
  • チャット中に「Worktreeで作業してください」と伝えることもできる
  • 2つの作業を同時に進められるようになり、待ち時間が大幅に減る

もし「Claude Codeを使っているけど、待ち時間がもったいない」と感じているなら、ぜひWorktreeを試してみてください。最初のセットアップさえ乗り越えれば、使い方は驚くほど簡単です。

*関連記事*

  • [Claude CodeのHooks機能が地味にすごい話](https://maahsachi.com/claude-code-hooks/)
  • [計画モードを使うとAIが暴走しなくなった話](https://maahsachi.com/claude-code-plan-mode/)
  • [スキル機能で繰り返し作業を1秒で終わらせる](https://maahsachi.com/claude-code-skill/)