Skip to content

ofershap/agents-control-tower

agents-control-tower

agents-control-tower

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.

Try It Now   Install   See Dashboard

npm CI License: MIT TypeScript GitHub Stars PRs Welcome


The Tower Is Watching

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-tower

One 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 npx or install globally for the control-tower command

The Dashboard

agents-control-tower dashboard

Running agents pulse amber. Done agents link to their PR. Errors glow red.


What's Different

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

What You Can Do

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.


Install

Requires Node 20+. Published as agents-control-tower on npm.

Run directly with npx (nothing to install):

npx agents-control-tower

Or install globally for a shorter command:

npm install -g agents-control-tower
control-tower

Both 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

How It Works

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]
Loading

Tech Stack

Ink TUI framework
TypeScript Type safety
Node.js Runtime
tsup Bundler
Vitest Tests

Screens

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.


Keyboard Map

 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

Contributing

Contributions welcome. See CONTRIBUTING.md for setup.


Author

Made by ofershap

LinkedIn GitHub


If this helped you, star the repo, open an issue if something breaks.


README built with README Builder

License

MIT © Ofer Shapira

About

Launch, watch, and command your Cursor agents from one terminal

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors