tmux config with built-in terminal automation and agent-to-agent communication.
Shell
1,529
35 commits
updated Oct 5, 2026
One-command tmux setup with terminal automation for AI agents.
tmux-bridge CLI lets any agent read, type, and send keys to any panetmux-bridge read codex 20 # read the pane
tmux-bridge type codex "review src/auth.ts" # type into it
tmux-bridge keys codex Enter # press enter
https://github.com/user-attachments/assets/9d5463ba-5972-4bbd-a07e-b585f1178011
curl -fsSL https://shawnpana.com/smux/install.sh | bash
This installs:
Everything lives in ~/.smux/.
All keybindings use Option (Alt) with no prefix required.
| Key | Action |
|---|---|
Option+i/k/j/l | Navigate up/down/left/right (no wrap) |
Option+Shift+i/k/j/l | Swap pane with its neighbor up/down/left/right |
Option+n | New pane (split + auto-tile) |
Option+w | Close pane |
Option+Shift+w | Close window |
Option+Shift+n | Reopen the last closed pane or window (see Reopening) |
Option+o | Cycle layouts |
Option+g | Mark pane |
Option+y | Swap with marked pane |
| Key | Action |
|---|---|
Option+m | New window, placed right after the current one |
Option+u | Next window |
Option+h | Previous window |
Option+Shift+u/h | Move window right/left |
| Key | Action |
|---|---|
Option+Tab | Toggle scroll mode |
i/k | Scroll up/down |
Shift+I/K | Half-page up/down |
q or Escape | Exit scroll mode |
Closing works like closing a browser tab: the process really ends, but enough is remembered to bring the pane back with Option+Shift+n.
Option+Shift+w closes a whole window as one entry, and reopening brings back all of its panes together.The keys call smux-pane, which you can also use directly:
| Command | Description |
|---|---|
smux-pane close <pane> | Remember the pane, then kill it |
smux-pane close-window <pane> | Remember every pane in the window, then kill the window |
smux-pane revive | Reopen whatever was closed most recently |
smux-pane list | Show what can be reopened, newest first |
smux-pane peek <pane> | Show what closing a pane would record, without closing it |
Window numbers always match their position in the status bar: Option+m opens the new window right after the current one, and numbers close up when a window goes away.
A CLI for cross-pane communication. Any tool that can run bash can use it — Claude Code, Codex, Gemini CLI, or a plain shell script.
| Command | Description |
|---|---|
tmux-bridge list | Show all panes with target, process, label |
tmux-bridge read <target> [lines] | Read last N lines from a pane |
tmux-bridge type <target> <text> | Type text into a pane (no Enter) |
tmux-bridge keys <target> <key>... | Send keys (Enter, Escape, C-c, etc.) |
tmux-bridge name <target> <label> | Label a pane for easy addressing |
tmux-bridge resolve <label> | Look up a pane by label |
tmux-bridge id | Print this pane's ID |
See the smux skill for full documentation on agent-to-agent workflows.
smux update
smux uninstall
Install the smux skill to teach your agents how to use tmux-bridge:
npx skills add ShawnPana/smux
Works with Claude Code, Codex, Cursor, Copilot, and 40+ other agents.
smux is free and maintained in my own time. Sponsoring keeps it that way.
847 followers · starred Mar 2026
789 followers · starred Mar 2026
653 followers · starred May 2026
38 followers · starred Mar 2026
tmux config with built-in terminal automation and agent-to-agent communication.
Shell
1,529
35 commits
updated Oct 5, 2026
One-command tmux setup with terminal automation for AI agents.
tmux-bridge CLI lets any agent read, type, and send keys to any panetmux-bridge read codex 20 # read the pane
tmux-bridge type codex "review src/auth.ts" # type into it
tmux-bridge keys codex Enter # press enter
https://github.com/user-attachments/assets/9d5463ba-5972-4bbd-a07e-b585f1178011
curl -fsSL https://shawnpana.com/smux/install.sh | bash
This installs:
Everything lives in ~/.smux/.
All keybindings use Option (Alt) with no prefix required.
| Key | Action |
|---|---|
Option+i/k/j/l | Navigate up/down/left/right (no wrap) |
Option+Shift+i/k/j/l | Swap pane with its neighbor up/down/left/right |
Option+n | New pane (split + auto-tile) |
Option+w | Close pane |
Option+Shift+w | Close window |
Option+Shift+n | Reopen the last closed pane or window (see Reopening) |
Option+o | Cycle layouts |
Option+g | Mark pane |
Option+y | Swap with marked pane |
| Key | Action |
|---|---|
Option+m | New window, placed right after the current one |
Option+u | Next window |
Option+h | Previous window |
Option+Shift+u/h | Move window right/left |
| Key | Action |
|---|---|
Option+Tab | Toggle scroll mode |
i/k | Scroll up/down |
Shift+I/K | Half-page up/down |
q or Escape | Exit scroll mode |
Closing works like closing a browser tab: the process really ends, but enough is remembered to bring the pane back with Option+Shift+n.
Option+Shift+w closes a whole window as one entry, and reopening brings back all of its panes together.The keys call smux-pane, which you can also use directly:
| Command | Description |
|---|---|
smux-pane close <pane> | Remember the pane, then kill it |
smux-pane close-window <pane> | Remember every pane in the window, then kill the window |
smux-pane revive | Reopen whatever was closed most recently |
smux-pane list | Show what can be reopened, newest first |
smux-pane peek <pane> | Show what closing a pane would record, without closing it |
Window numbers always match their position in the status bar: Option+m opens the new window right after the current one, and numbers close up when a window goes away.
A CLI for cross-pane communication. Any tool that can run bash can use it — Claude Code, Codex, Gemini CLI, or a plain shell script.
| Command | Description |
|---|---|
tmux-bridge list | Show all panes with target, process, label |
tmux-bridge read <target> [lines] | Read last N lines from a pane |
tmux-bridge type <target> <text> | Type text into a pane (no Enter) |
tmux-bridge keys <target> <key>... | Send keys (Enter, Escape, C-c, etc.) |
tmux-bridge name <target> <label> | Label a pane for easy addressing |
tmux-bridge resolve <label> | Look up a pane by label |
tmux-bridge id | Print this pane's ID |
See the smux skill for full documentation on agent-to-agent workflows.
smux update
smux uninstall
Install the smux skill to teach your agents how to use tmux-bridge:
npx skills add ShawnPana/smux
Works with Claude Code, Codex, Cursor, Copilot, and 40+ other agents.
smux is free and maintained in my own time. Sponsoring keeps it that way.
847 followers · starred Mar 2026
789 followers · starred Mar 2026
653 followers · starred May 2026
38 followers · starred Mar 2026