Your Cursor agents are running. Do you know what they're doing?
Five cloud agents in parallel. One is stuck. One finished and opened a PR.
One errored out 10 minutes ago and you didn't notice.
You're alt-tabbing between browser tabs trying to keep track.
Welcome aboard the control tower. One terminal. All your agents. Full control.
You launched a Cursor cloud agent 20 minutes ago. Did it finish? Did it open a PR? Did it crash?
Your options right now:
- Open cursor.com, find the agents page, scroll, click, read
- Check your email for a notification that may or may not come
- Hope for the best
agents-control-tower is a retro terminal dashboard that connects to the Cursor Cloud Agents API and shows you everything in one screen. Launch new agents, send follow-up instructions, stop runaway agents, delete finished ones. All without leaving your terminal.
npx agents-control-towerOne command. The tower lights up.
Features
- Launch Cursor cloud agents from the terminal (repo, prompt, model)
- Send follow-up instructions to running agents without leaving the TUI
- Stop or delete agents from the dashboard
- See status at a glance: running (amber), done (with PR link), errors (red)
- No install needed — run with
npxor install globally for thecontrol-towercommand
Running agents pulse amber. Done agents link to their PR. Errors glow red.
| Cursor web dashboard | Conduit | SwarmClaw | agents-control-tower | |
|---|---|---|---|---|
| Cursor-native | yes | no | no | yes |
| Terminal UI | no | yes | no | yes |
| Launch agents | no | no | partial | yes |
| Follow-up / stop / delete | no | no | no | yes |
| Local agent hooks | no | no | no | Phase 2 |
| Retro ASCII aesthetic | no | no | no | yes |
| One command install | n/a | yes | no | yes |
| Key | Action | |
|---|---|---|
n |
Launch a new cloud agent | Pick repo, write prompt, choose model |
f |
Send follow-up | Give a running agent new instructions |
s |
Stop an agent | Kill it mid-run |
d |
Delete an agent | Remove permanently |
o |
Open in browser | Jump to the PR or agent URL |
enter |
View details | Full conversation, metadata, status |
↑↓ / jk |
Navigate | Move between agents |
r |
Refresh | Force sync with Cursor API |
c |
Reconfigure | Re-run setup wizard |
The dashboard polls every 5 seconds. Scroll through agents with arrow keys, view full agent messages with scrollable detail view.
Requires Node 20+. Published as agents-control-tower on npm.
Run directly with npx (nothing to install):
npx agents-control-towerOr install globally for a shorter command:
npm install -g agents-control-tower
control-towerBoth agents-control-tower and control-tower work after global install.
First run asks for your Cursor API key. Grab one from cursor.com/dashboard - Integrations. Saved to ~/.agents-control-tower/config.json.
Or pass it as an env var:
CURSOR_API_KEY=sk-... control-tower| Source | What | How |
|---|---|---|
| Cursor Cloud API | List, launch, stop, delete agents. Read conversations | REST, polled every 5s |
| Cursor Hooks (coming) | Local IDE sessions, file edits, shell commands | File-based event stream |
graph LR
A[Cursor Cloud API] -->|poll 5s| B[State Store]
C[Cursor Hooks] -->|file watcher| B
B --> D[Ink TUI]
| TUI framework | |
| Type safety | |
| Runtime | |
| Bundler | |
| Tests |
Launch wizard - 3 steps: pick repo (with fuzzy filter), write the task prompt, select model and launch.
Agent detail - repo, branch, PR link, the prompt you gave it, and the full agent response with scroll.
Follow-up - send new instructions to a running agent without leaving the terminal.
Stop / Delete - inline confirmation. Press s or d, then y.
DASHBOARD DETAIL VIEW
────────────────────────── ──────────────────────────
n launch new agent esc back to dashboard
↑ / k move up f send follow-up
↓ / j move down s stop agent
enter open detail d delete agent
s stop selected o open PR / URL
d delete selected ↑↓ scroll message
r force refresh
q quit LAUNCH FLOW
──────────────────────────
GLOBAL ↑↓ navigate options
────────────────────────── / filter repos
ctrl+c quit immediately enter select / confirm
c reconfigure esc cancel / go back
Contributions welcome. See CONTRIBUTING.md for setup.
If this helped you, star the repo, open an issue if something breaks.
README built with README Builder

