17 agents, side by side
From Claude & Codex to Gemini, Cursor, Copilot, Kiro, Pi and a dozen more — 17 agents. Filter chips, collapsible per-provider groups, jump between them instantly.
Monitor sessions, approve permissions, answer questions, and jump back to your terminal —
without ever leaving the notch. 17 AI coding agents in one place.
rm -rf ./dist && npm run build && npm test
Deployed to staging cluster. Build finished in 47s, 12 files changed, smoke tests passed. Live at staging.api.dev.

















A live recreation — list, permission, question, finished, themes, mascots, jump-to, sound. Idle
Code Island surfaces the things you actually want to interrupt for — and only those.
From Claude & Codex to Gemini, Cursor, Copilot, Kiro, Pi and a dozen more — 17 agents. Filter chips, collapsible per-provider groups, jump between them instantly.
Approve or deny without leaving your editor — buttons adapt per agent. Claude & Codex get Allow All + Bypass (session rules / prefix_rules); others show only what their hooks support, or hand off to the tool.
Claude's AskUserQuestion answers inline with pill buttons. Codex's request_user_input mirrors in the notch with click-to-jump.
Per-provider 5h and 7d windows. Color-coded warnings (green / yellow / orange / red). Tap to cycle between providers.
When an agent finishes a task, the notch pops out with the response inline and a Done button. Auto-collapses after 3s.
Click any session card to jump to the terminal or IDE running it. Works with iTerm2, Ghostty, Terminal.app, VS Code, JetBrains, Codex.app, and more.
8-bit chiptune defaults with a per-event sound picker. Import your own .wav / .mp3 via "Add Sound…", assign them per event, and ▶ preview — no file-fiddling.
Every agent gets its own hand-drawn pixel mascot — crab, gem, moon, robot, cat & more — that bounces while thinking and swaps color by status.
Process-PID sweep removes Claude sessions when the agent exits. For Codex we listen to the app-server's thread/closed events — works for both CLI and Codex.app.
Weekly silent check against GitHub Releases. Pops an alert only when a newer version ships. Skip a release once and we won't nag again.
Hooks for every detected provider install automatically on every launch. Idempotent. Run once, forget about it.
No telemetry. No cloud. Bridge talks to the app over a Unix socket at /tmp/code-island.sock. Your code never leaves your Mac.
SwiftUI + AppKit. Lives at window layer 27 (just above the menu bar). No Electron, no web view, no JIT.
An event-driven loop between the agent, a tiny CLI bridge, and the notch app — all over a local Unix socket.
Claude Code or Codex fires SessionStart, PreToolUse, PermissionRequest, Stop — whatever's happening — and pipes JSON to a tiny bridge binary on stdin.
The bridge stamps source (claude / codex), captures the agent's PID, walks up the process tree to detect the terminal app, then forwards everything to the app over a Unix socket.
A permission request? The notch pops out with the tool details and four buttons. A question? Pill buttons with multi-select. A Stop event? The agent's reply scrolls inline with auto-collapse.
The socket stays open until you click. Your decision serializes to JSON, lands on the bridge's stdout, and the agent continues — all in under a second.
Code Island treats every provider as a first-class citizen — its own mascot, palette, and quirks. Claude and Codex go deepest; here's the full lineup.
Anthropic's terminal coding agent
dontAsk modeupdatedPermissionsOpenAI's terminal + GUI agent
prefix_rule TOML…and fifteen more — each with its own animated mascot, accent, and hooks:
droid CLINo config files. No env vars. Drop it in /Applications and start coding.
xattr -cr "/Applications/Code Island.app"
git clone https://github.com/rifqiakrm/code-island.git
cd code-island
swift build -c release
./scripts/build-dmg.sh 1.0.0
Yes — it's free and open source under the GNU GPLv3. You can use, modify, and redistribute it; the only condition is that any distributed fork or derivative stays open source under GPLv3 too (no closed-source/proprietary forks).
No. Hook payloads stay on your machine. The bridge talks to the app over a local Unix socket. Rate limit checks hit Anthropic / OpenAI directly using your existing auth tokens — same as your CLI does — so the same TLS connection your agent already uses.
The bridge walks the process tree to find the GUI app that spawned the agent, so it works with anything that has a bundle ID — iTerm2, Ghostty, Terminal.app, VS Code, Cursor, Windsurf, JetBrains IDEs, Codex.app, and more. iTerm2 gets a tab-specific jump via ITERM_SESSION_ID.
On every launch, Code Island auto-installs hooks for each of the 17 agents it detects — writing each tool's own config (e.g. ~/.claude/settings.json, ~/.codex/hooks.json, plus the right format for Gemini, Cursor, Kimi, OpenCode, and the rest). It also picks up multiple Claude profiles (~/.claude-work, etc.). Idempotent and non-destructive — foreign hooks are preserved, the original is backed up, and you can delete the app or the hook files and let it rewrite them.
It still works — on external displays or Macs without a notch, the panel shows as a compact bar at the top center of the screen. Hover to expand, leave to collapse — same UX, no physical notch needed.
Code Island is heavily inspired by Vibe Island — credit where it's due. Differences: this is open source (GPLv3), free, supports 17 AI coding agents, and is built from scratch in Swift — not a fork.
Because people mix and match — Claude for fast back-and-forth, Codex or a fork for longer runs, Cursor in the editor, a CLI for something else — and switching windows just to approve a Bash call was the original itch. One unified queue and a shared permission UI across all 17 agents saves dozens of context switches a day. Don't use most of them? Code Island only ever touches the ones it actually detects.
Code Island is free and open source, built in spare time. If it's earned a spot in your notch and you'd like to support development, it genuinely means a lot — and it's completely optional.