tmux
tmux commands: the cheat sheet you'll actually remember
The tmux commands worth memorising, grouped by what you are trying to do: sessions, windows, panes, copy mode and scripting.
Ivo Hart9 min read
blog
Working guides rather than announcements. Everything here is something we needed to figure out ourselves.
tmux
The tmux commands worth memorising, grouped by what you are trying to do: sessions, windows, panes, copy mode and scripting.
Ivo Hart9 min read
agents
The exact commands to make Claude Code play a sound when it finishes or needs you — afplay, paplay, PowerShell, the WSL crossing, and two distinct tones.
Ivo Hart8 min read
agents
Claude Code, Codex CLI and Gemini CLI each signal done and blocked differently. Four layers can page you, and not all of them survive tmux.
Nadia Okonkwo10 min read
agents
How Warp, iTerm2, Ghostty and Windows Terminal raise notifications for coding agents — and why tmux swallows OSC 9 until you allow passthrough.
Ivo Hart8 min read
tmux
tmux can watch a pane for output, a bell or silence and run any command when it fires — the config, the hooks, and how to route one to your phone.
Ivo Hart9 min read
comparisons
ttyd spawns any command and ships read-only by default. wetty tunnels over SSH and has no read-only mode. The differences that decide it, with real flags.
The mtmux team9 min read
tmux
vim-tmux-navigator crosses Ctrl-h/j/k/l between vim splits and tmux panes; escape-time 10 fixes Neovim's laggy Escape key. Config for both.
Nadia Okonkwo8 min read
tmux
tmux over SSH keeps a job running through a dropped connection. The pattern is ssh host -t 'tmux attach || tmux new', plus keepalives for broken pipe.
Ivo Hart8 min read
tmux
TPM installs tmux plugins via prefix + I; the shortlist is tmux-resurrect, tmux-continuum, tmux-sensible, vim-tmux-navigator, tmux-yank and floax.
Ivo Hart8 min read
mobile
A native SSH app, a web terminal, or a purpose-built client can reach tmux from a phone — the real obstacle is Ctrl-b on a screen with no keyboard.
Ivo Hart7 min read
tmux
Install tmux on macOS with Homebrew, fix pbcopy clipboard integration, and decide whether iTerm2's tmux -CC control mode is worth using for your setup.
Nadia Okonkwo6 min read
tmux
A start-to-finish tmux tutorial: the server/session/window/pane model, your first split, detaching and reattaching, and a minimal config that sticks.
Ivo Hart9 min read
comparisons
tmate is the best tool for sharing a terminal for ten minutes. This covers the different job: reaching your own sessions continuously, from your devices.
The mtmux team7 min read
tmux
Install tmux with apt, dnf, pacman or apk, then check tmux -V — several distros ship a version too old for features like display-popup or true color.
The mtmux team7 min read
comparisons
ttyd or wetty behind your own reverse proxy, tmate's web link, or a purpose-built client — the real setup, trade-offs, and an actual ttyd + nginx recipe.
The mtmux team7 min read
tmux
There is no native Windows build of tmux. WSL2 is the practical option; Git Bash and Cygwin exist but neither runs tmux well. Here is the real setup.
Nadia Okonkwo7 min read
agents
A long agent run ends in four distinct ways and only one is success — why exit codes can't tell them apart, and what reading the pane gets you instead.
Nadia Okonkwo8 min read
agents
Codex CLI's notify hook only fires on turn completion. The real config, how to make Codex ding when it is waiting on you, and a wrapper for the gap.
Nadia Okonkwo10 min read
tmux
tmux attach -t name reattaches to a session by name; tmux a is shorthand for the most recent one. Use -d to detach other clients first.
Ivo Hart7 min read
agents
Claude Code fires Stop and Notification hooks you can wire to a sound, a desktop alert, or a push — the real config, and where each stops helping.
Nadia Okonkwo8 min read
tmux
tmux new -s name creates a named session and attaches. Add -d to start it detached, -c for its directory, and -A to create it only if it doesn't exist.
Ivo Hart10 min read
mtmux serves the tmux sessions you already run to any browser, end-to-end encrypted, with nothing to port-forward.