Local-first tmux control panel
Know which coding agent needs you¶
vmux watches a swarm of CLI coding agents in tmux, brings the panes needing attention to the top, and turns supported terminal prompts into responses you can tap from the built-in PWA.
Pre-release beta · v0.1.0 in preparation
Install from source Choose remote access
Route attention¶
Statuses distinguish panes that need input, are working, encountered an error, are idle, or went offline. Tree, active, all, and starred views keep larger tmux sessions navigable.
Make replies cheap¶
Supported dialogs become buttons. You can also send literal text, allow-listed keys, saved snippets, or one broadcast message to several panes.
Keep control local¶
The FastAPI backend, WebSocket, and PWA run on your machine. React and htm are vendored; there is no hosted vmux account, telemetry service, or runtime CDN.
Start on localhost¶
vmux requires Python 3.10–3.14 and tmux. The PyPI project is not published yet, so install the current source:
Open http://127.0.0.1:8787. A working tmux agent appears automatically; use
vmux --include-shells if you want ordinary shell panes visible too.
Remote access changes the threat model
Anyone who has the bearer token and network reach can send input to your tmux panes. Tailscale is the recommended remote route. Direct LAN access requires a token; public-internet access additionally requires an HTTPS reverse proxy. Never expose vmux's plain-HTTP listener publicly.
Current client and platform status¶
The installable PWA is the public client included here. A separate native iOS companion is under development, is not publicly available, and is outside this MIT repository. vmux is used daily on macOS; Linux should work but needs more field verification, and WSL remains unverified.