AgentIsland

Three agents running.
One place to see which needs you.

When Claude Code stops to ask permission, the request appears at the top of your screen — answer it there and the agent carries on. Run several at once and they all report to the same place, so no session sits blocked while you are looking at a different terminal tab.

Native macOS · Developer ID signed and notarized · no account, no telemetry

macOS 14+ · Apple silicon and Intel · works with or without a real notch

or brew install --cask agentislandapp/tap/agentisland

Free forever, not a trial — no time limit, no card, no account.

A real permission request, answered without leaving what you were doing.
The permission card in place at the top of the screen, showing the project, the command npm run build && npm test, and Deny / Allow buttons with a countdown.
Free, paid for by one sponsored line. Or $49 once, and never see one. The free tier is not a trial and does not expire — it is funded by a single sponsored line that appears only when nothing is running and nothing is waiting on you, at most once every four hours. Pro gives you a switch to turn it off and puts every session in view at once, with the cockpit and the other CLIs. One payment, no subscription.
No sponsor runs today. The switch and the machinery exist; it starts once enough people use the app for a sponsor to buy the slot.

What it does

Answer permission prompts without switching apps

The card shows the tool, the command, and a red/green diff for edits. Allow or deny with a click, or ⌥↩ and ⌥N from any app.

See every session at a glance

One dot per running session, tinted by which CLI it is, with a context-usage ring and a todo count. Nothing else, until something needs you.

Reply from anywhere

⌥Space opens a composer aimed at whichever session most needs you. Type or dictate; it is delivered through tmux, or typed into the terminal for you.

Know what it costs

Live model, context percentage and spend per session — and a history of what each project actually cost you this week.

Works with your CLI

Depth differs per tool, so it is stated per tool. The app says the same thing in its own Settings rather than implying more than it does.

What you getTools
Permissions + statusClaude Code, Gemini CLI, Crush
Live session APIOpenCode (including OpenCode Zen)
Status eventsCodex, Qwen Code, iFlow, Factory Droid, Kimi
Detected onlyCursor, Goose, Amp, Aider, Cline, DeepSeek (dsh)

GLM/Zhipu setups run the real claude binary, so they work through the Claude Code integration.

The cockpit, when one session isn't the whole story

⌥P opens the console: every live session on one screen, one row each, columns that stay put whether or not a session has anything to put in them.

Answer a permission in the row it belongs to

A session asking for something tints its row and grows a line with the command, the countdown, and Deny/Allow. Several agents can be asking at once; you see all of them, not one at a time.

Drive it without the mouse

⌥↑ and ⌥↓ move between rows, ⌥↩ allows or opens a composer, ⌥N denies, ⌥S stops. The keys are printed along the bottom, and they change with what the selected row can actually do.

Read the fleet in one line

The header says what is waiting on you, what is running and what it has cost; the footer reports the day. Whatever needs an answer sorts to the top, and past five sessions the rows group under their project with a subtotal each.

Cost is never invented: it is whatever the CLI reports about itself. Claude Code and OpenCode report one; the rest do not, and their rows say so rather than printing $0.00.

Pricing

Free

$0 — forever, not a trial
  • Permission, question and plan cards — unlimited, from every session you run. No daily cap, no countdown, no card on file
  • One session listed at a time — the one that most needs you
  • Claude Code
  • Sponsored by one occasional line, which is what pays for it

The part that saves you the context switch is not the paid part, and it is not rationed either: if a second session stops to ask you something, you still get the card and can still answer it here. What Free does not do is show you all of them at once — the list holds one. Nothing expires and nothing starts asking.

Download

Pro

$49 once — no subscription
  • For running several agents at once — everything below is about that
  • Every session in view at once, not one at a time
  • The cockpit (⌥P) — every session on one screen, answered from the keyboard
  • Usage history and cost per project
  • Voice messages
  • Every supported CLI
  • A switch to turn the sponsored line off
Buy Pro

Payment is handled by Polar, which is the merchant of record and charges in USD with tax included. You get a licence key by email; the same download becomes Pro once you paste the key into Settings → Licence. One licence covers three Macs and can be moved between them. If it does not fit the way you work, ask for a refund within 14 days and you'll get one — you do not have to argue that the app is broken — write to support@tikistudios.io.

Where the money comes from

Every app this size eventually has to answer this, and a plan you only learn about on the day it ships is not a plan, it is a surprise. So: two lines, and no third one.

One payment, or one sponsored line. Pro is $49 once — not a subscription, not a renewal, not a licence that stops working next year. The free tier is paid for the other way: an occasional sponsored line, from a named sponsor who bought the slot directly. That is the whole business. There is no third revenue line hiding in the app, and there is nothing to sell about you, because nothing about you leaves the machine.

Nothing is running yet. There is no advertising in AgentIsland today and nothing has been shown to anyone. What exists already is the machinery and the switch. We are going to run it — a stated intention, not a maybe — once there are enough people using the app for a sponsor's money to be worth asking for.

Buying the app turns them off. That is what the $49 buys, alongside the features: a switch in Settings that ends sponsors for good, with no reminders afterwards. On the free tier there is no such switch, and saying so plainly is better than a greyed-out control that looks broken.

Nobody is paid to look at them. An earlier version of this page promised the opposite — that sponsor money would come back to you as credit. It was built and then removed, because paying people per impression is what ad networks call invalid traffic, and a business that has to police its own users for fraud is a worse deal for everyone than a cheaper app. So the slot earns you nothing, and it is honest about that.

And it stays out of the way. One sponsored line beneath your own sessions. Never over a permission request, never while an agent is working, at most once every four hours, and dismissing one buys a full day of quiet. If it could appear in the moment an agent needs you, it would have deleted the reason the app exists — so it cannot.

Your machine stays yours

Everything runs locally. There is no account to create, and no telemetry unless you switch it on — in which case Settings prints the exact list of what would be sent, next to the switch. Prompts, commands, tool inputs, repository paths and transcripts are never sent anywhere, under any setting. That is the app. This website counts page views with Cloudflare Web Analytics, which sets no cookie and cannot tell who you are; the privacy page lists exactly what it records.

Every file the app writes to your home directory is named in the interface before you agree to it, backed up once before the first edit, and restored when you remove the integration — including your own statusLine.

Questions

How do I know when Claude Code is waiting for me?

That is the whole point of this app. Claude Code stops on a permission request and waits silently, which you often notice minutes later. AgentIsland puts the request at the top of your screen the moment it fires, with a counter showing how long the CLI has been blocked.

Can I answer a permission prompt without switching windows?

Yes. The card carries the command and Deny/Allow, so you answer from whatever app you are in and the agent carries on. ⌥↩ allows and ⌥N denies from the keyboard, anywhere.

Does it work on a Mac without a notch?

Yes. On a Mac or an external display without a physical notch the app draws its own island in the same place, so it behaves identically.

Which coding agents does it work with?

Claude Code, Gemini CLI and Crush get full permission cards; OpenCode is read through its live session API; Codex, Qwen Code, iFlow, Factory Droid and Kimi report status events; a few more are detected only. The table above states the depth per tool rather than implying more.

Is it free?

The free tier is not a trial. There is no time limit, no card and no account: permission, question and plan cards are unlimited on it, for as long as you use it, and they are never rationed by session — if a second Claude Code session stops to ask you something, the card still reaches you and you can still answer it. What Free holds back is the overview: the list shows one session at a time. Pro is $49 once — no subscription — and puts every session in view at once, adds the keyboard cockpit, cost history and the other CLIs, and gives you a switch to turn off the sponsored line that pays for the free tier — Pro sees it too unless you flip that switch in Settings. It is for people running several agents in parallel, not a gate on the basic thing.

Why do my allow rules keep asking anyway?

Because an allow rule is a prefix match on the whole command string, so cd frontend && npm test does not match Bash(npm test:*) — it starts with cd. The full explanation is here, including where the rules are actually read from and why bypass mode does not bypass hooks.

I wrote a Claude Code hook and it does nothing. Why?

Start with claude --debug hooks, which shows whether your hook is ever invoked and so splits a config problem from a script problem in one line. The rest is here: the unquoted path with a space in it, the matcher that misses, and why a hook must fail open rather than exit non-zero.

Why don't I get notified when Claude Code finishes?

Two reasons, usually. Claude Code only fires its notification when it thinks you are away from the terminal, so watching the window is a test designed to fail; and a desktop notification is sent by default only in Ghostty, Kitty and iTerm2 — everywhere else you need "preferredNotifChannel": "terminal_bell". The settings, plus the traps (tmux swallows it, iTerm2 needs forwarding switched on) — and why "done" turns out to be three states rather than one.

Does it send my prompts or code anywhere?

No. Everything runs locally, there is no account, and prompts, commands, tool inputs, repository paths and transcripts are never sent anywhere under any setting.