Documentation

Everything vmux does, explained.

vmux is a terminal multiplexer for working alongside AI coding agents: persistent workspaces, live agent status, a scriptable socket, and your terminal on your phone. Pick where you want to start.

New to vmux

Never used a multiplexer before

You don't need to learn keybindings to get going — attach, split a pane, and vmux keeps it alive.

Start here
Coming from tmux / zellij

You already know the shape

Session → workspace → tab → pane instead of session → window → pane. Same prefix-key model.

Concepts & keys
Setting up an agent

Claude Code, Codex, Grok, or your own script

Install hooks once and agent status — busy, waiting, done, failed — shows up in the sidebar.

Agent integrations

Core guides

Ten pages cover the whole surface — from your first attach to the wire protocol the phone app speaks.

Getting started

Install, attach, and run your first agent in a pane.

Read

Concepts

Session, workspace, tab, pane — and how snapshots keep the UI live.

Read

Configuration

Every config key: themes, prefix key, relay, ports, agent titles.

Read

Keyboard shortcuts

The full prefix-key map, mouse actions, and the command palette.

Read

Agent integrations

Hooks for Claude Code, Codex, Grok, and plain shells. Status and automatic tab titles.

Read

Phone relay & remote

Drive a session from your phone over Tailscale, and paste screenshots into an agent over SSH.

Read

Ports & forwarding

Automatic detection of listening ports, SSH tunnels, and Tailscale forwards.

Read

CLI reference

Every subcommand vmux ships, grouped by what it does.

Read

Architecture

Daemon, client, and relay — how the pieces talk and why the daemon is authoritative.

Read

Troubleshooting

Fixes for the problems people actually hit, from stuck attaches to relay pairing.

Read

AI agent reading this? vmux is scriptable end to end — every CLI command speaks the same protocol the attach UI does. Start with Agent integrations for hooks and status, then the CLI reference for the full command surface. Panes export VMUX_SESSION, VMUX_WORKSPACE_ID, and VMUX_PANE_ID so a process can find its own place in the tree without being told.