
Windows 11でClaude Codeのマルチエージェント開発環境をホントの1から構築してみた 〜WSL + Arch Linux + tmuxで画面分割表示まで~
はじめに
新入社員の田中雄一郎です。せっかく真っ新なWindows11環境が手に入ったので、1からsplit panesなマルチエージェント開発環境を立ち上げてブログにしようかなと思いました。Linuxの環境設定まで記載するのでLinuxやWSLにあまり慣れていない方でも、順番に進めれば再現しやすいように書いたつもりです。
そもそも自分がマルチエージェントに目覚めたきっかけが、掃除機をかけている横で複数のエージェントが爆速でコード生成してレビューを回している動画でした。この動画を見てこれになりたい!(訳:サボりながら仕事したい!)と思い環境構築したのを覚えています。
今回は、Windows11上でWSLとLinuxを使い、tmuxをインストールしてClaude Codeを組み合わせ、マルチエージェントを画面分割しながら動かす環境を1から構築してみました。イメージはこんな感じ

突然横文字を唱え始めたなと思われないよう、ざっくり用語解説。
- WSL: Windows上でLinuxを動かす仕組み
- tmux: 1つのターミナル内で画面分割して使えるツール
- Claude Code: Claudeをターミナルから使うためのCLIツール
- マルチエージェント: 複数のAIが役割分担して同時に作業すること
- split panes: 画面を複数に分割して同時表示すること
前提として、Claudeのアカウントは作成済みであること。そしてLinuxは個人的な宗教上の都合でArch Linuxをインストールします。早速慣れていない人向けじゃないですが、Ubuntuでもインストール用のコマンドが違うだけなので大丈夫です!
用語解説まではしませんが、詳しくない方でも大丈夫なように結構細かくコマンドを記載しました。
そのため、慣れてる人にとっては煩わしい内容かも知れません。そういった方向けに付録として実際に打ち込んだコマンド一覧と設定ファイルの中身一覧を付録として最後に記載しました!解説いらないって人はそちらへ飛んで下さい。
それでは、始めていきましょう!!!
全体の流れ
全体の流れは以下の通りです。長い道のりですが一つ一つやっていきましょう!
WSLをインストール
↓
Arch Linuxをインストール
↓
tmuxをインストール
↓
gitをインストール
↓
Claude Codeをインストール
↓
初回起動設定と認証
↓
CLAUDE.mdとsettings.jsonを設定してマルチエージェントを有効化
↓
tmuxでマルチエージェントを画面分割で動かす
1. WSLをインストールする
まずは PowerShellでWSLをインストールします。
wsl --install
インストール後、再起動が求められるのでWindowsを再起動します。
2. Arch Linuxをインストールする
WSLが使えるようになったので、Arch Linuxをインストールします。
wsl --install archlinux
Ubuntuが良い場合はarchlinuxではなくUbuntu-24.04とすることでインストールできると思います。
インストール後、Arch Linuxが自動で立ち上がります。
3. 初期セットアップと一般ユーザー作成
まずsudoをインストールします。インストール前にパッケージの更新を忘れずに
pacman -Syu
pacman -S sudo
次に一般ユーザーを作成します。
useradd -m -U -G wheel -s /bin/bash あなたのユーザー名
passwd あなたのユーザー名
設定するパスワードを聞かれるので、好きな文字列を打ち込みパスワード設定を行います。
これでユーザーが作成されました。以後、この一般ユーザーで作業を行っていく事になりますので、準備を行っていきましょう。
Arch linuxでは初期インストールでviしか使えないので、設定ファイル等の編集用にvimかnanoをインストールした方が便利です。
今回はnanoをインストールすることにします。
pacman -S nano
これで設定ファイルをnanoで編集できるようになったので、追加した一般ユーザーがsudoコマンドを使えるようにsudoersを編集します。
EDITOR=nano visudo
nanoは矢印でカーソルが移動できますし、ctrl+Fで検索窓を開く事が出来ます。
検索窓にwheelと打ち込むと以下の行が確認出来ると思います。
#%wheel ALL=(ALL:ALL) ALL
この頭に付いている#を削除しコメントアウト状態を解除することで設定が有効になります。#を削除したらctrl+xで終了し、上書き保存するか聞かれるのでyと打ち込んでエンターで保存します。
その後、作成したユーザーに切り替えます。
su - あなたのユーザー名
4. WSL起動時のデフォルトユーザーを変更する
WSL起動時にrootではなく、さきほど作成した一般ユーザーで入るように設定します。
sudo nano /etc/wsl.conf
以下の内容を末尾に追記します。alt+/で末尾に移動出来るので、覚えておくと便利です。
[user]
default=あなたのユーザー名
設定後、exitを2回打ち込んでArch Linuxから抜け出しPowerShellに戻り、WSLを再起動します。
wsl --shutdown
wsl -d archlinux
これで、次回以降は一般ユーザーで入れるようになります。
5. 日本語化する
次にArch Linuxを日本語化します。まずlocale.genを開いて編集します。
sudo nano /etc/locale.gen
ja_JP.UTF-8の行のコメントアウトを外します。検索窓を開いてja_JPと打ち込めば楽に探せます。
#ja_JP.UTF-8 UTF-8
↓
ja_JP.UTF-8 UTF-8
上書き保存の後、localeを生成します。
sudo locale-gen
ちゃんとlocale一覧にja_JP.UTF-8が追加されたか確認します。
locale -a
表示されたリストの中にja_JP.UTF-8が入っていれば大丈夫です。
次に ~/.bashrcを開きます。
nano ~/.bashrc
末尾に以下を追加します。
export LANG=ja_JP.UTF-8
反映します。
source ~/.bashrc
これで日本語化が完了しました。再起動しても日本語のままなのが確認出来ると思います。
6. tmuxとgitをインストールする
次にtmuxとgitをインストールします。
sudo pacman -S tmux git
インストール確認もしておくと安心です。最新バージョンがインストールされているか確認し、バージョンが表示されればインストール出来ています。
tmux -V
git --version
7. Claude Codeをインストールする
いよいよClaude Codeをインストールします。
curl -fsSL https://claude.ai/install.sh | bash
インストール後、パスを通します。これでclaudeコマンドが実行出来るようになります。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
念のためバージョンを確認します。バージョンが表示されているならインストール出来ています。
claude --version
8. Claude Codeの初回認証を行う
Claude Codeを起動します。
claude

最初にスタイルの設定を聞かれるので好きな見た目を選択します。

ログイン方法を選択します。今回は事前にClaudeのアカウントを用意しているので"Claude account with subscription"を選択します。
そうすると認証用のURLが表示されるので、コピーしてブラウザに貼り認証画面を開きます。
そこで表示されたキーをコピーし、ターミナルに貼り付けると認証完了です。

Claude codeが無事起動しました!exitでClaude codeから抜けて設定ファイルを設定していきます。
9. CLAUDE.mdとsettings.jsonを設定する
Claude Code用の設定ディレクトリに移動します。
cd ~/.claude
CLAUDE.md を編集します。CLAUDE.mdは共通指示用のクライアント側の全体設定です。
nano CLAUDE.md
例えば以下のようにしておくと、今後の挙動を安定させやすいです。
# 開発方針
## 応答言語
- ユーザーが別言語を指定しない限り、日本語で回答する。
## 基本ワークフロー
- 曖昧な点は推測せず、ファイルや実行結果を確認する。
- 破壊的、または巻き戻し困難な操作の前には、必ずユーザーの明示同意を取る。
- 最終報告では、変更点・確認内容・未検証事項を簡潔にまとめる。
## マルチエージェント運用
- 並列調査や役割分担が有効な場合は、agent team を作成してよい。
- 調査・レビュー・比較検討のように独立して進められる作業では、複数の teammate に分担して進める。
- 実装を伴う大きな作業では、必要に応じて team の人数や役割を増やしてよい。
- team を作る場合は、各 teammate の役割が重複しないように分ける。
- split panes を使える環境では、team 作成時は split panes を優先する。
次に settings.jsonを作成します。setting.jsonではなく settings.jsonです。settings.jsonはClaude Codeの設定ファイルになります。
nano settings.json
自分は以下のように設定しました。マルチエージェントを有効化するにはCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSを1に設定します。
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
},
"defaultMode": "acceptEdits",
"disableBypassPermissionsMode": "disable",
"permissions": {
"ask": [
"Bash(git branch -d *)",
"Bash(git branch -D *)",
"Bash(git push --delete *)",
"Bash(git tag -d *)",
"Bash(git push --force *)",
"Bash(git push -f *)",
"Bash(git reset --hard *)",
"Bash(git clean -fd *)",
"Bash(git clean -xfd *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}
ざっくりいうと、CLAUDE.mdは「Claudeへの指示書」、settings.jsonは「Claude Codeの動作設定」です。
特に settings.json の permissions は、Claude Code を安全に使うための制御です。
deny は「このファイルや操作は拒否する」、ask は「実行前に人間へ確認する」という意味で、たとえば .env や secrets 配下のような機密ファイルを保護するのに使います。
こうしたファイルには API キー、トークン、認証情報、社内用の設定値などが入っていることがあるため、最初から読めないようにしておくと安心です。
10. tmuxでsplit panesを試す
まずtmuxセッションを起動します。
tmux new -s claude-team-test
次に作業用のフォルダとテスト用ファイルを作成します。自分は作業用フォルダをwork、テスト用ファイルをtest.txtにしました。test.txtの中身は空です。
mkdir ~/work
cd ~/work
touch test.txt
workフォルダの中で Claude Codeを起動します。
claude
ここで、マルチエージェントの確認用に簡単な指示を出します。自分は以下のプロンプトを打ち込みました。
表示確認のため、このタスクは agent team を作って進めてください。
split panes を使える場合は split panes を優先してください。
ファイル変更はしないでください。
独立して進められる観点ごとに役割を分け、並列に調査してください。
1人は現在のディレクトリ構成と主要ファイルを確認してください。
もう1人は test.txt と関連する設定・状態を確認してください。
各 teammate は短く結果をまとめ、最後に lead が統合して報告してください。
自分の環境では、この時点でsplit panes が実際に動きました。実際の様子がこちら

これでtmux上で各エージェントが画面分割されて動作するところまで確認できました。お疲れ様でした!!!
おわりに
今回、Windows11でマルチエージェント開発環境を1から組み上げて、実際にtmux上でsplit panes動作まで確認できました。
今後はここに、案件ごとのCLAUDE.mdや、Python担当・JavaScript担当・QA担当などのエージェント定義を足していくと、さらに実用的になりそうですね。あなただけの最強のCLAUDE.mdを作り上げましょう!
次回はエージェント定義を追加し、簡単な開発を実際に行っていきたいと思います!おわり!
付録: 今回実行したコマンドまとめ
wsl --install
wsl --install archlinux
pacman -Syu
pacman -S sudo
useradd -m -U -G wheel -s /bin/bash あなたのユーザー名
passwd あなたのユーザー名
pacman -S nano
EDITOR=nano visudo
su - あなたのユーザー名
cd ~
sudo nano /etc/wsl.conf
exit
exit
wsl --shutdown
wsl -d archlinux
sudo nano /etc/locale.gen
sudo locale-gen
locale -a
nano ~/.bashrc
source ~/.bashrc
sudo pacman -S tmux git
curl -fsSL https://claude.ai/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
claude --version
claude
cd ~/.claude
nano CLAUDE.md
nano settings.json
tmux new -s claude-team-test
mkdir ~/work
cd ~/work
touch test.txt
claude
表示確認のため、このタスクはagent team を作って進めてください。
split panesを使える場合はsplit panesを優先してください。
ファイル変更はしないでください。
独立して進められる観点ごとに役割を分け、並列に調査してください。
1人は現在のディレクトリ構成と主要ファイルを確認してください。
もう1人はtest.txtと関連する設定・状態を確認してください。
各teammate は短く結果をまとめ、最後に lead が統合して報告してください。
付録: 今回編集した設定ファイルの追記内容まとめ
[user]
default=あなたのユーザー名
export LANG=ja_JP.UTF-8
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
},
"defaultMode": "acceptEdits",
"disableBypassPermissionsMode": "disable",
"permissions": {
"ask": [
"Bash(git branch -d *)",
"Bash(git branch -D *)",
"Bash(git push --delete *)",
"Bash(git tag -d *)",
"Bash(git push --force *)",
"Bash(git push -f *)",
"Bash(git reset --hard *)",
"Bash(git clean -fd *)",
"Bash(git clean -xfd *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}
# 開発方針
## 応答言語
- ユーザーが別言語を指定しない限り、日本語で回答する。
## 基本ワークフロー
- 曖昧な点は推測せず、ファイルや実行結果を確認する。
- 破壊的、または巻き戻し困難な操作の前には、必ずユーザーの明示同意を取る。
- 最終報告では、変更点・確認内容・未検証事項を簡潔にまとめる。
## マルチエージェント運用
- 並列調査や役割分担が有効な場合は、agent team を作成してよい。
- 調査・レビュー・比較検討のように独立して進められる作業では、複数の teammate に分担して進める。
- 実装を伴う大きな作業では、必要に応じて team の人数や役割を増やしてよい。
- team を作る場合は、各 teammate の役割が重複しないように分ける。
- split panes を使える環境では、team 作成時は split panes を優先する。








