A tmux-based agent queue manager. You sit at one "desk" and your AI agents come to you.
Running multiple AI coding agents (Claude Code, aider, Codex) at once? They all need your attention at different times. Aque queues them so you work through them one at a time — no forgotten terminal tabs, no context switching.
pipx install aqueOr with pip:
pip install aqueRequires: Python 3.11+, tmux
git clone https://github.com/can-can/aque.git
cd aque
pip install -e ".[dev]"Launch agents:
aque run --dir ~/projects/api --label "auth fix" -- claude --model opus
aque run --dir ~/projects/web -- aider --model gpt-4
aque run --dir ~/code/tests -- codexSit at your desk:
aque deskThe desk shows a unified dashboard with all your agents, their states, and a live preview of the selected agent's terminal output.
| Key | Action |
|---|---|
| ↑↓ | Navigate agent list |
| Enter | Attach to selected agent |
| n | Create new agent |
| k | Kill selected agent (moves to history) |
| h | Toggle hold on selected agent |
| q | Quit desk |
When you detach from a tmux session (Ctrl-b d), aque handles the transition automatically:
- Running/waiting agent — auto-dismissed back to running, returns to dashboard
- Exited agent — auto-marked as done and moved to history
No action menu, no extra steps.
When a waiting agent is detected (on the dashboard or after detaching), aque shows a 3-second countdown modal and auto-attaches to the top-priority waiting agent. Press Esc to cancel and stay on the dashboard.
Aque monitors tmux panes for prompt markers (❯, $, >>>) to detect when an agent is waiting for input. After the configured idle timeout (default: 10s), the agent transitions from running to waiting and enters the queue.
| State | Meaning |
|---|---|
| running | Agent is actively working |
| waiting | Agent is idle, queued for your attention |
| focused | You are currently attached to this agent |
| on_hold | Paused, skipped in the queue |
| exited | Tmux session has ended |
| done | Completed, moved to history |
aque list # show all agents and states
aque kill 3 # terminate an agentEdit ~/.aque/config.yaml:
idle_timeout: 10
snapshot_interval: 2
session_prefix: aque
default_dir: ~/Projects
action_keys:
dismiss: d
done: k
skip: s
hold: h