Native macOS · no account · no telemetry

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

When a coding agent stops to ask permission, the request drops from the notch — answer it there and the agent carries on. This is the app running; watch it work.

Developer ID signed & notarized · macOS 14+ · Free forever, not a trial.

Live, right here. The same thing happens on your screen — no video, no edit. See what Free and Pro give you ↓

What it does

The blocked session finds you, not the other way around.

Four things, and nothing you have to configure to get them — each one, shown.

payments-api · Bash
Add idempotency keys…
42
$ npx prisma migrate deploy
Deny
Allow

Answer 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.

+2

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.

Message payments-api… Send

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.

58
Claude Opus 5 · context 58%
$12.84

Know what it costs

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

The cockpit · ⌥P

When one session isn't the whole story.

Every live session on one screen, one row each — whatever needs an answer sorts to the top, and the one that's asking answers right where it sits.

One request answered at the top, every other session in view underneath — the real console, drawn live.

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.

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 change with what the selected row can 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. Past five sessions the rows group under their project.

Cost that 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.

Compatibility

Twelve CLIs, answered from the same place.

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.

Answer the prompt here
Claude CodeCodexCursorGemini CLICrushQwen CodeFactory DroidKimiClineGooseAmpOpenCode
Status only
AideriFlowneither lets an outside program answer a prompt
Needs one step from you
DeepSeek (dsh)runs our hooks through its Claude Code bridge, which you mount

Each was checked against that tool's own documentation in September 2026, not assumed from a family resemblance. GLM/Zhipu setups run the real claude binary, so they work through the Claude Code integration.

Pricing

Free forever. Pro is one payment.

The part that saves you the context switch is the free part — and it is not rationed. Pro is for running several agents at once.

Free forever

Free

$0not a trial — no card, no account
  • Permission, question and plan cards — unlimited, from every session you run. No daily cap, no countdown
  • 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

If a second session stops to ask you something, you still get the card and can still answer it here. What Free doesn't do is show you all of them at once. Nothing expires and nothing starts asking.

Download free
One-time

Pro

$49once — no subscription, ever
  • 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

One licence covers three Macs and can be moved between them.

Buy Pro — $49

Payment is handled by Polar, the merchant of record, 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. 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.

The business, in full

Where the money comes from.

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.

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.

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. 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 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 once there are enough people using the app for a sponsor's money to be worth asking for.

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.

Privacy

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.

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.

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.

Questions

The things people ask first.

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?
Twelve of fifteen let you answer the prompt in the island: Claude Code, Codex, Cursor, Gemini CLI, Crush, Qwen Code, Factory Droid, Kimi, Cline, Goose, Amp and OpenCode. Aider and iFlow report status only. DeepSeek can run our hooks through its own Claude Code bridge once you mount it.
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, and never rationed by session. What Free holds back is the overview: the list shows one session at a time. Pro is $49 once and puts every session in view at once, adds the keyboard cockpit, cost history and the other CLIs, and a switch to turn off the sponsored line.
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; 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 — 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.