2026-08-20時点の公式文書に基づく。Claude CodeもCodexも複数の会話を扱える。tmux Windowが必要な理由と、Windowだけでは解決しない共有作業領域の衝突を区別する。
§ 00 · 結論 — どちらも複数の会話を扱える
Claude CodeとCodexは、どちらも別々の会話を複数作り、保存した会話を再開したり分岐させたりできる。tmux WindowごとにCLIプロセスを一つ起動すれば、複数の会話を並行実行し、名前で切り替えられる。「片方だけが複数チャットに対応する」という違いが核心ではない。
区別すべき層は三つある。tmux Windowはターミナル画面とプロセスを分ける。各ツールのsessionやchatは会話履歴と文脈を分ける。Git branchや別の作業ディレクトリはファイル変更を分ける。前の二層を分けても、最後の層まで自動で隔離されるわけではない。
§ 01 · Claude Code — Sessionに名前を付けて分岐する
Claude Codeの会話は、プロジェクトディレクトリに結び付いたSessionだ。公式文書は、claude --resumeまたは/resumeで保存したSessionを選び、/branchまたは--fork-sessionで既存の履歴をコピーした新しいSessionを作る流れを説明している。複数の作業を並行するためのSession命名機能もある。
公式文書は、同じSessionをforkせず二つのターミナルで同時にresumeすると、両方のメッセージが一つのtranscriptに混ざる可能性を警告している。したがってWindowを二つに分けるときは、同じSessionを二度開くのではなく、独立したSessionを作るか分岐する。
§ 02 · Codex — Chatとagent threadを区別する
Codex CLIは/newで別のChatを始め、/resumeで保存したChatを続け、/forkで元のtranscriptを残した新しいChatを作る。公式文書は、異なる成果を目指す作業には別のChatを使い、同じ問題の続きは同じChatに残す方法を勧めている。
Codexのsubagentと/agentに表示されるagent threadは、一つの主会話が作業の一部を委任し、結果を集める内部の並列構造だ。利用者がtmux Windowごとに独立したCLI Chatを開くこととは目的が違う。独立した責任と長期の文脈が必要なら別のChat、一つの成果に向けた範囲の限られた調査ならagent thread、と区別する。
§ 03 · なぜtmux Windowなのか — 会話と実行状態を目に見える形で分ける
長時間動く対話型CLIはターミナル一つを占有し続ける。Windowを分ければ、notes、implementation、reviewのように目的別の会話を同時に開き、C-b wや番号で移動できる。Window名が「今どの会話に入力するのか」を示す安全標識になる。
detach後もプロセスを残せるため、長い回答や検証を待つ間、外側のターミナル接続から離れられる。ただし、各ツールの利用量制限、サーバー状態、会話の保存、承認要求までtmuxが管理するわけではない。
§ 04 · 最も大切な境界 — Windowが違っても同じファイルを見る
二つのWindowで同じリポジトリのパスを開けば、二つのAIは同じファイルとGit indexを見る。一方がファイルを直している間に、他方が同じファイルを上書きしたり、branchを変えたり、相手の未完成の変更を自分の作業だと思い込んだりする。tmuxはこの衝突を防がない。
リポジトリの規則が許すなら、作業ごとに隔離したディレクトリとbranchを使う。許さないなら、同じファイルを同時に編集しないよう責任と順番を明確にする。一つのWindowに一つの目的、一つのChatに一つの成果、一つの作業領域に一つの書き込み作業、という規則はショートカットより重要だ。
| 層 | 分かれるもの | 分かれないもの |
|---|---|---|
| tmux Window | 画面、ターミナル、実行プロセス | リポジトリのファイルとGit index |
| Claude/Codexの会話 | transcriptと会話の文脈 | 同じパスのファイル変更 |
| 別の作業領域とbranch | 許可された範囲のファイル変更履歴 | 外部アカウントと共有サービスの状態 |
記事を読む: sass.studio.