Running one AI coding agent is fine. The current generation of tools — Claude Code, qalcode2, DeepSeek-TUI — do single-agent work well.
Running ten is when the problem starts.
Ten agents working in parallel across ten projects is increasingly normal. In plain tmux it's chaos. Agent 7 has been sitting on a permission prompt for an hour. Agent 3 finished its task. Agent 5 errored out silently. You have no idea — because tmux just shows you text boxes.
gmux is the workspace shell for that problem. It reads every agent's state directly from its API and presents the fleet through three pillars: gestures as a real input device, agent management that keeps work flowing, visual oversight so you see everything at a glance.
Pillar one · gestures as a real input device.
Most AI tools treat the keyboard as the only input. gmux adds a second one: your hands. A camera on your laptop runs MediaPipe locally, tracking both hands in real time, translating natural movements into terminal actions.
The system runs in two modes. Passive mode (default while typing) has a higher confidence threshold and blocks swipes — you don't accidentally switch agents mid-sentence. Active mode (triggered by holding an open palm for 1.5 seconds) accepts every gesture for deliberate navigation.
Voice rides the same input layer. Left-hand point toggles listening; faster-whisper transcribes on-device; the wake word routes the command to a specific agent pane. Camera sharing uses v4l2loopback so multiple apps can read the same webcam without conflicts.
Pillar two · agent management that keeps work flowing.
The reason ten agents in tmux is chaos: tmux is oblivious to what's running inside its panes. It just shows rectangles of text. Permission prompts fire silently. Agents finish without telling you.
gmux reads agent state directly from each agent's HTTP API (qalcode2's /event SSE
stream, opencode's /session/status). No pattern-matching, no screen-scraping —
exact state transitions pushed as they happen.
Those six colours are what tmux shows you for every window, every second. The status bar becomes a fleet dashboard:
The numbers (6/8, 3/5) are live todo progress pulled from each agent's
session. Permission prompts get a separate orange marker — when window 4 fires !,
you know to look without scanning every window.
Beyond state, gmux carries the memory of each agent — a context layer that injects ~600 tokens of structural and episodic context into each new pane. The agent knows the codebase architecture, recent decisions, what other agents are doing, before its first message.
Pillar three · visual oversight for the whole fleet.
Knowing the state of every agent is necessary but not sufficient. You also need to see what each one is touching, where attention is moving, and whether multiple agents are converging on the same file.
gmux ships four oversight views, each tuned for a different question.
The multi-agent grid is the default — every agent as a card, sorted by urgency (permission first, then waiting, then working, then idle). The flowchart takes a single agent and shows the path of its attention: agent → folder → file with a coloured pulse-line and a running timer. The memory panel shows decisions, facts, and episodes across the workspace, filterable by agent or memory type. The phone companion puts the urgent subset in your pocket — volume keys cycle agents, push-to-talk to send commands.
What ships now.
The Python terminal stack. pip install gmux && gmux --status-only
gives you live AI state in your tmux status bar — no camera, no mic, no ceremony. AUR package
available: paru -S gmux.
Four browser demos. Multi-agent monitor, agent flowchart, memory panel, phone companion — all on mock data, no backend required.
The Tauri desktop app. Real PTY, gesture canvas, live data flow. Three of five ship-criteria green; voice port and qalcode2 push-patch are the remaining blockers. Installer paused until all five are green.
gmux-brain memory wiring. Three-layer architecture (structural / episodic /
workspace) is built but not yet registered in opencode.json. The 30-minute task
that unlocks every agent getting ~600 tokens of context for free.
Try it.
All four demos run in your browser on simulated data with no backend. They use the same UI code that ships in the desktop app — just disconnected from the real data sources.
gmux is an open project. MIT licensed.
Install the working parts today: pip install gmux or paru -S gmux.