My tmux setup for remote development with AI coding agents (Claude Code, Codex, etc.).
- Clipboard over SSH — text copy syncs to local clipboard via OSC 52 passthrough
- Image paste bridge — push images from local Mac to remote tmux sessions
- Persistent sessions — auto-save/restore with tmux-resurrect + tmux-continuum
- Catppuccin Mocha theme with top status bar and git branch in pane headers
- Vi mode keybindings in copy-mode
- Mouse support with persistent selection (highlight doesn't vanish on release)
- fzf integration for tmux commands (
prefix + Ctrl-f)
- 100K line scrollback history
# 1. Clone this repo
git clone https://github.com/drewstone/tmux-config.git ~/tmux-config
# 2. Symlink the config
ln -sf ~/tmux-config/tmux.conf ~/.tmux.conf
# 3. Install TPM if you don't have it
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# 4. Start tmux and install plugins
tmux
# Press prefix + I (capital I) to install all plugins
| Binding |
Action |
| Mouse drag |
Select text (highlight persists) |
| Double-click |
Select word |
| Triple-click |
Select line |
prefix + [ |
Enter copy-mode |
v (in copy-mode) |
Begin selection |
y (in copy-mode) |
Yank to clipboard |
q / Esc |
Exit copy-mode |
| Binding |
Action |
prefix + P |
Insert latest clipboard image path |
prefix + M-p |
fzf picker for clipboard images |
| Binding |
Action |
prefix + H/J/K/L |
Resize by 10/5 |
prefix + h/j/k/l |
Resize by 2/1 |
| Binding |
Action |
prefix + = |
Even horizontal |
prefix + - |
Even vertical |
prefix + \ |
Main vertical |
prefix + _ |
Main horizontal |
prefix + + |
Tiled |
| Binding |
Action |
prefix + Ctrl-f |
fzf tmux commands |
prefix + I |
Install TPM plugins |
prefix + Ctrl-s |
Save session |
prefix + Ctrl-r |
Restore session |
See tmux-clipboard-bridge for the tcb local CLI that pushes clipboard images from your Mac to the remote server.
Sessions auto-save every 5 minutes and restore on tmux start. Preserved processes: ssh, node, npm, pnpm, yarn, bun, python3, bash, zsh, fish, claude, codex.