はじめに
Claude Code(Anthropic公式CLI)を組織開発で活用する際、tmuxと組み合わせることで開発効率が劇的に向上します。
本記事では、tmuxとClaude Codeを連携させた並列開発の実装方法、メリット、そして組織での具体的な活用パターンを解説します。
対象読者:
- Claude Codeを組織・チームで導入検討中の方
- 複数タスクを並列で処理したい開発者
- AIアシスタントの活用効率を上げたい方
前提知識
tmuxとは
ターミナルマルチプレクサ。1つのターミナルで複数のセッションを管理できる。
# 主なコマンド
tmux new -s session_name # セッション作成
tmux attach -t session_name # セッションにアタッチ
tmux ls # セッション一覧
Ctrl+b d # デタッチ
Ctrl+b c # 新規ウィンドウ
Ctrl+b n/p # ウィンドウ切替
Claude Codeとは
Anthropicが提供するCLIツール。ターミナルからClaudeと対話しながらコーディングができる。
# インストール
npm install -g @anthropic-ai/claude-code
# 起動
claude
tmux + Claude Code のメリット
1. 複数タスクの並列実行
┌─────────────────────────────────────────────────┐
│ tmux session: project-dev │
├──────────────────┬──────────────────────────────┤
│ Window 0: API │ Window 1: Frontend │
│ Claude Code │ Claude Code │
│ (バックエンド開発)│ (フロントエンド開発) │
├──────────────────┼──────────────────────────────┤
│ Window 2: Test │ Window 3: Docs │
│ Claude Code │ Claude Code │
│ (テスト作成) │ (ドキュメント作成) │
└──────────────────┴──────────────────────────────┘
1つのプロジェクトで複数のClaude Codeインスタンスを起動し、異なるタスクを同時進行できる。
2. セッションの永続化
# 作業途中でターミナルを閉じても...
tmux detach
# 後から再開可能
tmux attach -t project-dev
# → Claude Codeの会話履歴もそのまま
SSH接続が切れても、tmuxセッション内のClaude Codeは動き続ける。
3. チームでのセッション共有
# メンバーAがセッション作成
tmux new -s pair-programming
# メンバーBが同じセッションに参加
tmux attach -t pair-programming
# → 同じClaude Code画面をリアルタイムで共有
ペアプログラミングやコードレビューに活用できる。
実装方法
Step 1: 環境セットアップ
# tmuxインストール(Ubuntu/Debian)
sudo apt install tmux
# tmuxインストール(macOS)
brew install tmux
# Claude Codeインストール
npm install -g @anthropic-ai/claude-code
Step 2: プロジェクト用セッション作成スクリプト
#!/bin/bash
# 開発用tmuxセッションを一括作成するスクリプト
SESSION_NAME="dev-$(basename $(pwd))"
PROJECT_DIR=$(pwd)
# 既存セッションがあれば削除
tmux kill-session -t $SESSION_NAME 2>/dev/null
# 新規セッション作成(Window 0: main)
tmux new-session -d -s $SESSION_NAME -n "main" -c $PROJECT_DIR
# Window 1: backend
tmux new-window -t $SESSION_NAME -n "backend" -c $PROJECT_DIR
tmux send-keys -t $SESSION_NAME:backend "claude" Enter
# Window 2: frontend
tmux new-window -t $SESSION_NAME -n "frontend" -c $PROJECT_DIR
tmux send-keys -t $SESSION_NAME:frontend "claude" Enter
# Window 3: test
tmux new-window -t $SESSION_NAME -n "test" -c $PROJECT_DIR
tmux send-keys -t $SESSION_NAME:test "claude" Enter
# Window 0に戻ってClaude Code起動
tmux select-window -t $SESSION_NAME:main
tmux send-keys -t $SESSION_NAME:main "claude" Enter
# セッションにアタッチ
tmux attach -t $SESSION_NAME
# 実行
chmod +x dev-session.sh
./dev-session.sh
Step 3: 各ウィンドウでの役割分担
| ウィンドウ | 役割 | Claude Codeへの指示例 |
|---|---|---|
| main | 全体設計・調整 | 「このプロジェクトの全体設計を確認して」 |
| backend | API開発 | 「/api/users エンドポイントを実装して」 |
| frontend | UI開発 | 「ユーザー一覧画面のコンポーネントを作成して」 |
| test | テスト作成 | 「作成したAPIのテストを書いて」 |
組織での活用パターン
パターン1: 機能開発の並列化
開発者1人 × Claude Code 4インスタンス
[タスク分解]
Feature: ユーザー認証機能
├── Window 1: DBスキーマ設計
├── Window 2: API実装
├── Window 3: フロントエンド実装
└── Window 4: テスト作成
→ 4つを並列で進め、完成したら統合
パターン2: コードレビュー + 修正の同時進行
# Window 1: レビュー担当のClaude Code
「このPRの変更内容をレビューして」
# Window 2: 修正担当のClaude Code
「レビューで指摘された○○を修正して」
→ レビュー結果を見ながら即座に修正を指示
パターン3: ドキュメント生成の自動化
# Window 1: 実装
「この機能を実装して」
# Window 2: ドキュメント(同時進行)
「Window 1で実装中の機能のドキュメントを作成して」
→ 実装とドキュメントを同時に完成させる
パターン4: 複数リポジトリの横断作業
# 各ウィンドウで異なるディレクトリに移動
Window 1: /project/api-server (APIサーバー)
Window 2: /project/web-client (Webクライアント)
Window 3: /project/mobile-app (モバイルアプリ)
Window 4: /project/shared-types (共通型定義)
→ マイクロサービス構成でも一貫した変更を並列実行
tmux操作のクイックリファレンス
# セッション管理
Ctrl+b d # デタッチ(セッションを残して離脱)
Ctrl+b $ # セッション名変更
Ctrl+b s # セッション一覧・切替
# ウィンドウ管理
Ctrl+b c # 新規ウィンドウ
Ctrl+b , # ウィンドウ名変更
Ctrl+b n # 次のウィンドウ
Ctrl+b p # 前のウィンドウ
Ctrl+b 0-9 # 番号でウィンドウ切替
Ctrl+b w # ウィンドウ一覧
# ペイン分割(1ウィンドウ内で分割)
Ctrl+b % # 縦分割
Ctrl+b " # 横分割
Ctrl+b o # ペイン切替
Ctrl+b x # ペイン削除
注意点・落とし穴
1. APIコスト管理
複数インスタンスを起動すると、API呼び出しも比例して増加する。
# 対策: 使わないウィンドウは終了
Ctrl+b & # ウィンドウを閉じる
2. コンテキストの分離
各ウィンドウのClaude Codeは独立したコンテキストを持つ。
Window 1で実装した内容を、Window 2のClaude Codeは知らない
→ 必要に応じてファイルを読ませるか、明示的に説明する
3. 同時編集の競合
複数のClaude Codeが同じファイルを編集すると競合が起きる可能性がある。
対策:
- 担当ファイルを明確に分ける
- mainウィンドウで統合作業を行う
- gitで変更を管理し、競合を検知する
4. CLAUDE.mdの活用
プロジェクトルートにCLAUDE.mdを置くことで、全インスタンスが同じルールに従う。
# プロジェクトルール
## コーディング規約
- TypeScript使用
- 関数にはJSDocを記載
## ディレクトリ構成
- src/api/ - APIエンドポイント
- src/components/ - Reactコンポーネント
まとめ
| メリット | 詳細 |
|---|---|
| 並列開発 | 複数タスクを同時進行で処理 |
| セッション永続化 | 中断・再開が容易 |
| チーム共有 | ペアプロ・レビューに活用 |
| 効率化 | 1人で複数の開発ラインを管理 |
tmuxとClaude Codeの組み合わせは、**「AIを1人のチームメンバーとして複数配置する」**ような開発体験を実現する。
組織でClaude Codeを導入する際は、tmuxによるセッション管理を標準化することで、より効率的な開発フローを構築できる。