Works with

Every agent CrewTower works with

CrewTower recognises twenty-six AI coding agents. Six it speaks to natively: it follows them live and answers their permission prompts from the notch. Eight more it follows live through an observation hook, and twelve it detects while they run. For those twenty it shows the session and jumps to it, and approving stays in the agent.

CrewTower 1.0.34 · macOS 15 or later

At a glance

AgentStatusJumpAnswersUsage
Claude CodeLiveExact tab, Claude appPermissions, questions and plansYes
CodexLiveExact tab, ChatGPT appPermissions and questionsYes
CursorLiveExact tab, Cursor windowShell and MCP callsNo
Gemini CLILiveExact tabPermissionsNo
Qwen CodeLiveExact tabPermissionsNo
opencodeLiveExact tabPermissions and questionsNo
Factory DroidLiveTab or appNoNo
GitHub CopilotLiveTab or appNoNo
TraeLiveTab or appNoNo
KiroLiveTab or appNoNo
QoderLiveTab or appNoNo
ZCodeLiveTab or appNoNo
MiMoLiveTab or appNoNo
CodeBuddyLiveTab or appNoNo
AiderLiveExact tabNoNo
ClineShows it is runningExact tabNoNo
Kilo CodeShows it is runningExact tabNoNo
DeepSeekShows it is runningExact tabNoNo
KimiShows it is runningExact tabNoNo
MistralShows it is runningExact tabNoNo
GrokShows it is runningExact tabNoNo
AmpShows it is runningExact tabNoNo
AntigravityShows it is runningThe app's windowNoNo
WindsurfShows it is runningThe app's windowNoNo
ZedShows it is runningThe app's windowNoNo
WarpShows it is runningThe app's windowNoNo

Live means the card says what the session is doing right now. Answers are the prompts CrewTower can answer from the notch; where it says no, approving stays in the agent. Jump lands on the exact tab in Terminal, iTerm2 (down to the split) and Ghostty; the pane in WezTerm, tmux and herdr, and in kitty with its remote control on; Warp's tab through the focus link Warp provides; and the window in Alacritty, which has no tabs. How Jump finds the exact tab is written up terminal by terminal. The usage meter shows how much of your Claude Code or Codex subscription window is left. CrewTower keeps no token or cost history; with the beta Tell Claude plugin on, a Claude Code card can show what that session has cost so far.

Spoken to natively

Claude Code

CrewTower adds its hooks to Claude Code's settings file on first launch and follows the session transcript, so the card shows what the session is doing. Permission requests, questions and plan approvals are answered on the card, over the socket the hook is blocking on. The usage meter reads the session and weekly windows from Anthropic's own usage endpoint with your existing login. It works in a terminal and in the Claude desktop app, where Jump opens the session's own conversation. In beta, Tell Claude can send a session its next prompt, stop it or compact it. More on Claude Code.

Codex

Hooks go into Codex's hooks file, and Codex runs them once you have reviewed them; Settings > Integrations shows whether it has. The card follows the session transcript. Permission requests and questions are answered on the card. When the thread runs in the ChatGPT app, approvals are answered from the notch too, and anything else the app asks says to answer in ChatGPT. The usage meter reads the Codex CLI's own rate limit reporting, and Jump opens the thread in the ChatGPT app. More on Codex.

Cursor

Hooks go into Cursor's own hooks file. Shell commands and MCP tool calls the agent wants to run are approved or denied on the card. For the agent in Cursor's own panel, Jump brings Cursor forward and finds the window; for the agent CLI in a terminal, it lands on the exact tab. Cursor reports no context or usage to CrewTower, so its card shows neither. More on Cursor.

Gemini CLI

Hooks go into Gemini CLI's settings file. A tool call that needs approval is allowed or denied on the card; read-only tools go through without one. Questions are answered in the terminal. Gemini CLI fires no event when a turn ends, so CrewTower infers a finished turn from silence. The card shows how much context is left. More on Gemini CLI.

Qwen Code

Hooks go into Qwen Code's settings file. A tool call that needs approval is allowed or denied on the card; read-only tools go through without one. Questions are answered in the terminal. The card shows how much context is left. More on Qwen Code.

opencode

CrewTower adds a small plugin to opencode's plugin folder, which reports the session to the app. Permission requests are answered on the card, once or for the rest of the session, and so are questions. The card shows how much context is left. More on opencode.

Followed live through a hook

These agents share Claude Code's hook format, so CrewTower installs the same kind of hook into each one's own settings, set to observe only. It never blocks the agent and never answers for it: a decision channel CrewTower has not verified could hang the agent or let a tool through unasked.

Factory Droid

If ~/.factory exists, CrewTower adds an observation-only hook to Factory Droid's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in Factory Droid, and Jump takes you to its terminal tab, or to its app when it runs in one.

GitHub Copilot

If ~/.copilot exists, CrewTower adds an observation-only hook to GitHub Copilot's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events. Approving stays in GitHub Copilot, and Jump takes you to its terminal tab, or to its app when it runs in one.

Trae

If ~/.trae exists, CrewTower adds an observation-only hook to Trae's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in Trae, and Jump takes you to its terminal tab, or to its app when it runs in one.

Kiro

If ~/.kiro exists, CrewTower adds an observation-only hook to Kiro's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in Kiro, and Jump takes you to its terminal tab, or to its app when it runs in one.

Qoder

If ~/.qoder exists, CrewTower adds an observation-only hook to Qoder's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in Qoder, and Jump takes you to its terminal tab, or to its app when it runs in one.

ZCode

If ~/.zcode exists, CrewTower adds an observation-only hook to ZCode's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in ZCode, and Jump takes you to its terminal tab, or to its app when it runs in one.

MiMo

If ~/.mimo exists, CrewTower adds an observation-only hook to MiMo's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in MiMo, and Jump takes you to its terminal tab, or to its app when it runs in one.

CodeBuddy

If ~/.codebuddy exists, CrewTower adds an observation-only hook to CodeBuddy's settings there; nothing is installed for an agent you do not have. The card follows the session from its hook events and its transcript. Approving stays in CodeBuddy, and Jump takes you to its terminal tab, or to its app when it runs in one.

Detected in a terminal

No hook and nothing installed. CrewTower finds these from the process list while they run, gives each a card, and knows the terminal it is in, so Jump lands on the exact tab.

Aider

Detected while it runs in a terminal. CrewTower follows its chat history file, .aider.chat.history.md, so the card shows what it is doing. Approving stays in Aider, and Jump lands on the exact tab.

Cline

Detected while it runs in a terminal, from its process. The detection matches its command-line runtime, not the editor extension. The card shows that it is running; approving stays in Cline, and Jump lands on the exact tab.

Kilo Code

Detected while it runs in a terminal, from its process. The detection matches its command-line runtime, not the editor extension. The card shows that it is running; approving stays in Kilo Code, and Jump lands on the exact tab.

DeepSeek

Detected while it runs in a terminal, from its process. The card shows that it is running; approving stays in DeepSeek, and Jump lands on the exact tab.

Kimi

Detected while it runs in a terminal, from its process. The card shows that it is running; approving stays in Kimi, and Jump lands on the exact tab.

Mistral

Detected while it runs in a terminal, from its process. The card shows that it is running; approving stays in Mistral, and Jump lands on the exact tab.

Grok

Detected while it runs in a terminal, from its process. The card shows that it is running; approving stays in Grok, and Jump lands on the exact tab.

Amp

Detected while it runs in a terminal, from its process. The card shows that it is running; approving stays in Amp, and Jump lands on the exact tab.

Detected as an app

Editors and apps with their own agent and no terminal. CrewTower sees the app running and brings it forward when you jump.

Antigravity

Detected while the app is running. The card carries the title of its most recent conversation, read from Antigravity's own state, and Jump brings the app forward and finds its window. Approving stays in Antigravity.

Windsurf

Detected while the app is running. The card shows that it is running, and Jump brings Windsurf forward and finds its window. Approving stays in Windsurf.

Zed

Detected while the app is running. The card shows that it is running, and Jump brings Zed forward and finds its window. Approving stays in Zed.

Warp

Detected while the app is running. The card shows that it is running, and Jump brings Warp forward and finds its window. Approving stays in Warp.

Every session, one place to look

Explore CrewTower in the interactive website demo. A license gives you access to the Mac app.

Get CrewTower for Mac

$9.99 once · macOS 15 or later