agent-isle
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 9 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in Scripts/bundle.sh
- rm -rf — Recursive force deletion command in Scripts/release.sh
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
A Dynamic Island for your coding agents — a native macOS notch monitor for Claude Code, Grok, Copilot and more. Monitor, approve, and jump back without leaving your flow.
Agent Isle
A Dynamic Island for your coding agents. Agent Isle is a native macOS app that
lives in the notch and lets you monitor, approve, and jump back to your AI coding
agents — Claude Code, Grok, Copilot and more — without leaving your flow.
Pure Swift, no Electron. Runs as a lightweight menu-bar accessory under 100 MB RAM.
Icon: a neon terminal prompt —
>and a block cursor.
Features
- Notch-anchored island — a black pill hugging the notch that expands on hover or
click into a full panel of every running agent session. - Multi-agent, hook-free monitoring — reads each tool's own session history:
- Claude Code — terminal, VS Code, Cursor, and Desktop sessions
- Grok CLI and GitHub Copilot CLI
- Live status — each session shows working / idle, its latest activity line, git
branch, elapsed time, and token usage. - Approve from the notch — for Claude Code, permission requests render an inline
diff with Deny (⌘N) / Allow (⌘Y); the decision flows straight back to the agent. - Answer questions — multiple-choice prompts answered right in the island.
- Click to jump — click a session to focus its terminal or IDE (detected via
TERM_PROGRAM, so a session in VS Code's integrated terminal opens VS Code). - Filter tabs — Monitor / Approve / Ask.
- 8-bit sound alerts — synthesized chiptune cues (no audio files).
- Fully local — the only moving part is a
localhostevent server; nothing leaves
your machine.
Requirements
- macOS 14 (Sonoma) or later, Apple Silicon or Intel
- Xcode / Swift 5.9+ toolchain (to build)
Build & run
swift build # compile
bash Scripts/bundle.sh # build "build/Agent Isle.app"
open "build/Agent Isle.app" # launch (appears in the notch + menu bar)
On first launch it shows demo mode — simulated sessions so you can see it work.
It switches to real sessions automatically as soon as any are detected. Quit and
toggle demo/sound from the gear menu in the expanded island.
Connect your agents
Claude Code — monitoring works with no setup (Agent Isle reads~/.claude/projects/ transcripts). To also approve permissions from the notch:
bash Scripts/install-hooks.sh # adds hooks to ~/.claude/settings.json
bash Scripts/uninstall-hooks.sh # remove them (monitoring still works)
Grok CLI / GitHub Copilot CLI — detected automatically from ~/.grok/sessions
and ~/.copilot/history-session-state. Nothing to configure.
Any other tool — POST to the event server:
curl -X POST http://localhost:4711/event -H 'Content-Type: application/json' -d '{
"type": "status", "session": "my-session", "agent": "codex",
"title": "build api", "terminal": "iTerm",
"status": "working", "message": "Writing routes/users.ts"
}'
Event types
type |
Behavior |
|---|---|
status |
Create/update a session (status, message, title). |
permission |
Show an approval card; blocks until you decide, then replies {"decision":"allow"|"deny"}. |
question |
Show options; blocks until chosen, replies {"decision":"<option>"}. |
done |
Mark the session finished. |
remove |
Drop the session. |
Architecture
Sources/AgentIsle/
main.swift App entry (NSApplication, accessory policy)
AppDelegate.swift Notch window + menu-bar item + watcher/server wiring
Notch/
NotchGeometry.swift Detects the physical notch (falls back to a centered pill)
NotchWindow.swift Fixed-size floating panel + click-through hit region
PassthroughView.swift Passes clicks through everywhere except the island
Views/
IslandRootView.swift Collapsed <-> expanded switch, spring animations
CollapsedIsland.swift Resting pill (focus session + count badge)
ExpandedIsland.swift Full panel: header, session list, filter tabs, gear menu
SessionRow.swift Per-session row (badge, status, tokens); click to jump
PermissionCard.swift Inline diff + Allow/Deny; QuestionCard for choices
AppMark.swift The terminal-prompt logo, drawn in SwiftUI
Model/
Models.swift AgentKind, SessionStatus, AgentSession, PermissionRequest
SessionStore.swift Observable state + demo generator + filters
Server/
EventServer.swift Localhost HTTP listener; parks blocking requests
IdeWatcher.swift Hook-free Claude Code session discovery (transcripts)
TranscriptReader.swift Tails transcripts for activity + token totals
ExternalAgents.swift Adapters for Grok / Copilot
Jumper.swift Focus a session's terminal/IDE
Sound/
SoundPlayer.swift Runtime-synthesized square-wave alerts
Scripts/
bundle.sh Package the binary into a .app
release.sh Universal build + (optional) notarization + zip
install-hooks.sh Register Claude Code hooks
uninstall-hooks.sh Remove them
agent-isle-hook.py Claude Code -> island bridge (approvals from the notch)
make_icon.py Generate the app icon
Contributing
Contributions are welcome — especially new agent adapters. Each adapter is a small
addition to ExternalAgents.swift that reads a tool's session history and returnsExternalSession values. Open an issue or PR.
License
MIT — see LICENSE.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found