Works with
Cursor sessions, in the one strip nothing else is using
If you work in Cursor, the editor is already full-screen and the agent's terminal is already somewhere behind it. CrewTower puts the session in the MacBook notch instead: above the window, not inside it, so you can see what the agent is doing without giving up a single pixel of the editor.
Full-screen is the point, and also the problem
People who live in Cursor tend to run it full-screen. That is not an accident: the editor is where the work is, and the fewer things around it the better. But a full-screen editor is also a wall. The agent's session is running somewhere on the other side of it, and the only ways to check are the ones that cost you the thing you set up full-screen to protect - a space switch, a window shuffle, a mission-control detour.
The notch is the exception. It is already there, it is already not part of any window, and nothing else on the display is competing for it. CrewTower draws the session there, which means checking on the agent stops being a context switch and starts being a glance.
What a glance gets you
Every running session has a card: what it is doing right now, how long it has been going, and whether it is waiting on a human. The waiting ones sort to the front. Nothing expands until you want it to, so the resting state costs you nothing but the strip the camera already lives in.
Answer without leaving the editor
When an agent stops for permission, its hook blocks on a local Unix socket while it waits. CrewTower answers over that same socket, so the prompt resolves in place - the terminal never comes forward, your editor never loses focus, and nothing is typed anywhere.
What CrewTower can do for a given session depends on what that agent exposes. Cursor is spoken to natively, with full status and decision support where the agent offers the channel for it - but a visible session does not by itself mean every prompt can be answered from the notch. Where no decision channel exists, the fallback is Jump, which focuses the exact terminal and leaves the answering to you.
Destructive shell commands are flagged on the card before you press anything. Two ways to say yes: once, or every permission request for the rest of the session, a grant CrewTower keeps itself rather than a rule written into Cursor's settings.
When you do want the terminal
Jump focuses the place the session belongs to, not just the application: 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. A terminal with no built-in support can be taught with a single line containing placeholders. How Jump finds the exact tab is written up terminal by terminal.
macOS Accessibility permission is used for Jump in the terminals that need it, such as Ghostty and Alacritty, and to tell whether you are already looking at a session. Answering from the notch does not need it.
Nothing is installed into your editor
CrewTower is a standalone native macOS app, not an extension. Hooks are configured on first launch and cleaned up when you remove the app; there is no config file to write by hand and nothing left behind afterwards.
# open CrewTower once, then keep working exactly as before.
# the session shows up in the notch on its own.It stays on your Mac
Sessions are read from what the agents already write locally. There is no cloud service, no account, no telemetry in the app, and no way to see a session from another machine.
What it does not do
CrewTower does not edit code, does not run agents, and is not a terminal. Its usage meter shows how much of your Claude Code or Codex subscription window is left, and its cards show how much context a session has left for the agents that report it, which Cursor does not. It keeps no token or cost history by day, session or model, and shows no cost for Cursor sessions. For that, ccusage is the tool people use. It watches and answers the sessions you started yourself.
Questions
Does CrewTower work with Cursor?
Yes. Cursor is one of the agents CrewTower speaks to natively, with full status and decision support wherever the agent exposes a decision channel.
Do I have to leave the editor to see what the agent is doing?
No. CrewTower draws at the top of the display, above your full-screen window rather than inside it. You keep the editor exactly as it is and read the session state from the notch.
Does it steal focus from the editor?
No. The panel is non-activating: it comes forward without taking focus, so your cursor stays where you left it.
Is CrewTower an editor extension?
No. It is a standalone native macOS app. Nothing is installed into the editor as an extension; CrewTower adds its hooks to Cursor's own hooks file on first launch.
Do I have to use the editor's built-in terminal?
No. It makes no difference where the agent runs. In a supported terminal Jump lands on the exact tab; in the editor's own terminal it brings the editor forward, which is less precise, as the Jump page explains.
Does my Mac need a notch?
No. CrewTower uses the notch when your display has one and a small pill at the top of other screens. It runs on macOS 15 or later.
Does CrewTower send my code anywhere?
No. Decisions travel over a local Unix socket, there are no accounts, and the app contains no analytics. Transcripts, prompts and diffs never leave the machine. The only network requests the app makes are the optional usage meter, license activation and update checks, and the privacy page lists all three.
Does it work with other agents?
Yes. Claude Code, Codex, Gemini CLI, Qwen Code and opencode are spoken natively. The twenty other agents CrewTower recognises get a card you can jump from, and the agents page lists all twenty-six with what it does for each.
Keep the editor full-screen
One price, one Mac, no subscription. Explore the interactive demo on our homepage, then get a license for your Mac.
Get CrewTower for Mac$9.99 once · macOS 15 or later