000%
TMUX · AGENT CHATS
NOTES — ED. 2026.08

A Window is a wall between chats,
not an isolation barrier against file conflicts.

Technical Reference · Drafted with Codex.

Based on official documentation as of 2026-08-20: both Claude Code and Codex can run multiple conversations. Distinguish the reasons for using tmux Windows from shared-workspace conflicts that Windows alone cannot resolve.

Notes
FIG. 01MANY CHATS, MANY PROCESSES — ONE FILESYSTEM
CLAUDE CODE · CODEXBOTH SUPPORT MULTIPLE CHATS

The answer — both support multiple conversations

MULTIPLE CHATS · 2026

Both Claude Code and Codex let you create multiple separate conversations, reopen saved ones and branch them. Running one CLI process in each tmux Window lets you run conversations side by side and switch by name. The central distinction is not that only one tool supports multiple chats.

There are three layers to distinguish. A tmux Window separates terminal displays and processes. Each tool’s session or chat separates conversation history and context. A Git branch or separate working directory separates file changes. Separating the first two layers does not automatically isolate the last.

SESSION · RESUMEBRANCH, DO NOT INTERLEAVE

Claude Code — name and branch Sessions

CLAUDE CODE SESSIONS · 2026

A Claude Code conversation is a Session associated with a project directory. The official documentation describes choosing a saved Session with claude --resume or /resume, and creating a new Session by copying an existing history with /branch or --fork-session. It also provides Session naming for parallel tasks.

The official documentation warns that resuming the same Session in two terminals without forking can mix both sides’ messages into one transcript. When splitting into two Windows, create a separate Session or branch one instead of opening the same Session twice.

CHAT · NEW · RESUME · FORKAGENT THREADS ARE DIFFERENT

Codex — distinguish Chats from agent threads

CODEX CHATS · 2026

Codex CLI starts a separate Chat with /new, continues a saved Chat with /resume, and creates a new Chat while preserving the original transcript with /fork. The official documentation recommends a separate Chat for each distinct outcome and keeping continued work on the same problem in the same Chat.

Codex subagents and the agent threads shown by /agent form an internal parallel structure: a main conversation delegates parts of the work and gathers the results. Their purpose differs from independently launching a CLI Chat in each tmux Window. Use a separate Chat for independent responsibility and long-term context, and an agent thread for a bounded investigation contributing to one outcome.

ONE WINDOW, ONE PURPOSEVISIBLE PROCESS BOUNDARY

Why tmux Windows? Make conversations and execution states visibly separate

VISIBLE BOUNDARIES · 2026

A long-running interactive CLI keeps occupying a terminal. Separate Windows let you keep purpose-specific conversations such as notes, implementation and review open simultaneously and move between them with C-b w or a number. A Window name becomes a visible safeguard showing which conversation will receive your input.

Processes can remain after detach, allowing you to leave the outer terminal connection while waiting for a long response or validation. tmux does not, however, manage each tool’s usage limits, server status, conversation storage or approval requests for you.

SAME DIRECTORY, SAME FILESWINDOWS ARE NOT ISOLATION

The crucial boundary — different Windows still see the same files

NOT FILESYSTEM ISOLATION · 2026

If two Windows open the same repository path, both AIs see the same files and Git index. While one edits a file, the other can overwrite it, switch branches or mistake the other’s unfinished changes for its own work. tmux does not prevent these conflicts.

If repository rules permit it, use an isolated directory and branch for each task. Otherwise, make responsibilities and order explicit so that the same files are not edited simultaneously. One purpose per Window, one outcome per Chat and one writing task per workspace matter more than shortcuts.

What each layer actually separates
tmux Window
Separated
Display, terminal and running process
Not separated
Repository files and Git index
Claude/Codex conversation
Separated
Transcript and conversation context
Not separated
Changes to files at the same path
Separate workspace and branch
Separated
History of file changes within the permitted scope
Not separated
External accounts and shared service state
— FIN —