Tower GitHub

Claude Code plugin

One cockpit for every Claude Code agent.

Five repos, a dozen agents, one of them stuck on a permission prompt in a terminal you can't find. Tower shows every session in one place: who needs you, what each one is doing and changing, and a box to steer it.

claude plugin marketplace add alaturqua/tower-mods && claude plugin install tower@tower

Then type /cockpit in any session. Requirements and setup

Try it · this is the real cockpit with sample data · approve a request, switch views, start a workstream, fold the panels Open full screen ↗

What the cockpit does

A local web page served from your own machine, over every Claude Code session on it. It reads what each session reports and acts through the session itself, so nothing leaves your computer.

Answer from the cockpit, not the terminal

When an agent the cockpit launched wants permission, the question comes to you, not to a terminal nobody is watching.

  1. Agent in api

    Bash git push origin main

    Asks to run a command.

  2. Held

    Waiting for approval in the cockpit

    Nothing runs. You get a notification and a card.

  3. You, anywhere

    AllowDeny

    One click or keypress.

  4. Runs once

    ✓ git push origin main

    The agent retries; that exact call goes through, nothing else.

Launched from the cockpit

Permission prompts and questions come to the cockpit.

Started by hand

Keeps its own dialog. The cockpit shows what it waits on, and Jump brings its window forward.

Want every session?

Set remoteAnswers to always in /config.

Or stay in the terminal

The same plugin works inside Claude Code too, so you never need the browser.

/tower

Tower · 4 sessions · 1 needs you

▸! dbt-platform needs-input Bash: git push origin main 2m

~ web working Running tests 10s

✓ infra done Migrated 12 models. 5m

· api (bg) idle 1h

Needs approval: Bash git push origin main

[ Allow ] [ Deny ]

Send to dbt-platform…

1 needs you · tower-mods ⎇ main* · Opus 5.5 · high · auto · ctx 42% · $1.23

type /tower

The tower pane

Every session in a pane beside your conversation: who needs you on top, allow, deny, answer, send a prompt, jump, or launch a background agent.

in every session

Notifications

A desktop notification when a session needs you: a permission prompt, a question, a long turn finishing.

at the bottom

Status line

How many sessions wait on you, then folder, branch, model, effort, mode, context and cost.

Install

One line adds the marketplace and installs the plugin. Install it everywhere: every session then reports to the cockpit and can be steered from it.

claude plugin marketplace add alaturqua/tower-mods && claude plugin install tower@tower

On Windows, run the two commands one after the other, in PowerShell or Command Prompt. Neither takes both in one line: PowerShell 5 has no &&, and Command Prompt has no ;.

Help: update, restart, stop

The cockpit is a small server that keeps running after the session that started it. Updating the plugin doesn't touch it, so it needs one step to pick up a new version.

Update

Update the plugin, then reload it in every open session:

claude plugin marketplace update tower && claude plugin update tower

Then type /reload-plugins in your sessions and /cockpit in any of them. A cockpit of an older version is replaced by the new one on its own, and your open browser tab keeps working.

Restart or stop

In any session:

/cockpit restart
/cockpit stop

From a shell, with the plugin folder in place of the placeholder:

node "<plugin folder>/cockpit/server.mjs" --restart
node "<plugin folder>/cockpit/server.mjs" --stop

Stopping ends only the server. Your agents keep running and keep their status files; the cockpit finds them again when it starts.

When something is off

Settings are in /config under the plugin, and the README lists each one. Still stuck? Open an issue with your version from claude plugin list.