"Wow, it's something only Windows can do!"
Who says Dynamic Island is only for macOS?
A Dynamic Island-style desktop companion for AI coding agents on Windows.
Tired of slacking off while your agent works, with no one to nudge you back?
Code Island delivers an immersive slacking-off experience!
English | 简体中文
Download · Promo Film · Features · UI Guide · How It Works · Usage · Project Structure
⚠️ This project is Windows-only. Code Island is a WPF (.NET 8) application inspired by Apple's Dynamic Island, designed to bring the same fluid, glanceable experience to Windows developers using AI coding agents like Claude Code and Cursor.
Watch the 32-second promo film
- Real-time status: see when Claude Code is thinking, running tools, or waiting for input
- Permission approval: approve or deny tool executions (Bash, file edits, etc.) directly from the island
- Task completion alerts: sound + visual feedback when a task finishes or fails
- System monitor: live CPU & GPU utilization displayed above the island
- Multi-backend support: monitor Claude Code and Cursor sessions simultaneously
- Fullscreen auto-hide: automatically hides when a fullscreen app is detected (games, videos), pops back for permission requests
- Auto Retract (Notch mode): island slides into the top screen edge like a MacBook notch when idle — hover to reveal, right-click to toggle
- Global hotkeys:
Ctrl+Shift+Itoggle,Ctrl+Shift+Aapprove,Ctrl+Shift+Ddeny - Fushi mascot: a pixel-art companion that changes expression based on task status
The island has several visual states, each designed to give you the right amount of information at a glance.
A compact pill showing only the status dot and label. Appears after the island has been idle for a few seconds. Hover to expand.
| Element | Description |
|---|---|
| Fushi icon (left) | Pixel-art mascot, changes expression per state |
| Title | Model name, shows current tool when running (e.g. "Claude — Bash") |
| Subtitle | Status text: "Idle", "Working...", "Completed", "Error" |
| Dot (right) | Pulsing animation during running state |
| Glow border | Color matches status: orange (running), green (done), red (error) |
Expands automatically when Claude Code requests permission for a tool. Shows the tool name and the exact command or file path. Use the buttons or hotkeys (Ctrl+Shift+A / Ctrl+Shift+D) to respond.
Shows all active sessions. Click a session row to switch the active backend.
Right-click the island and enable Auto Retract — the island slides up into the screen edge when idle, leaving only a small notch visible (like a MacBook notch). Hover over the notch to slide it back out. You can also click Dock Now to retract immediately. The island automatically undocks when a new task starts or a permission request arrives.
| State | Icon | Meaning |
|---|---|---|
| Idle | Waiting for input | |
| Running | Processing or running a tool | |
| Completed | Task finished successfully | |
| Error | Task failed |
Claude Code CLI ──(hook)──> Python script ──(Named Pipe)──> Code Island UI
│
Permission ◄──┘
Response
- On first launch, Code Island installs a Python hook into
~/.claude/hooks/ - When Claude Code fires an event (task start, tool use, permission request, etc.), the hook sends it to Code Island via Windows Named Pipe
- Code Island updates the floating island UI in real time
- For permission requests, the user approves/denies from the island, and the decision flows back through the pipe to Claude Code
- Windows 10/11
- .NET 8.0 Runtime — Download
- Python 3.8+ — must be in PATH
- pywin32 —
pip install pywin32 - Claude Code or Cursor (at least one)
- NVIDIA GPU (optional) — for GPU utilization display via
nvidia-smi
- Download from Releases
- Extract to any folder
- Run
CodeIsland.exe
git clone https://github.com/Iroha-P/Code-Island.git
cd Code-Island
dotnet publish src/CodeIsland/CodeIsland.csproj -c Release -r win-x64 --self-contained false -o publishRun publish/CodeIsland.exe.
On first launch, Code Island automatically:
- Copies
code-island-hook.pyto~/.claude/hooks/ - Registers hooks in
~/.claude/settings.jsonfor all relevant events
No manual configuration needed.
CodeIsland/
├─ src/CodeIsland/
│ ├─ App.xaml.cs # Application entry point
│ ├─ MainWindow.xaml(.cs) # Island UI, animations, visual states
│ ├─ ViewModels/
│ │ └─ MainViewModel.cs # State management, event routing
│ ├─ Models/ # Data types (events, sessions, permissions)
│ ├─ Services/
│ │ ├─ Claude/ # Claude Code backend (pipe + hook installer)
│ │ ├─ Cursor/ # Cursor backend (process monitoring)
│ │ ├─ Shared/ # Named Pipe server, backend interface
│ │ ├─ FullscreenDetectorService.cs # Auto-hide when fullscreen app detected
│ │ ├─ SystemMonitorService.cs # CPU/GPU sampling
│ │ ├─ SoundService.cs # System sound alerts
│ │ └─ TrayIconService.cs # System tray
│ ├─ Interop/ # Win32 P/Invoke (hotkeys, window positioning)
│ └─ Assets/ # Hook script + Fushi sprites
└─ README*.md
- Exit Code Island from the tray icon
- Delete the application folder
- Remove hook entries from
~/.claude/settings.json - Delete
~/.claude/hooks/code-island-hook.py
MIT
Copy this prompt into your agent (Claude Code, Cursor, etc.) to auto-generate a well-structured issue:
Click to expand
I'm having an issue with Code Island (https://github.com/Iroha-P/Code-Island).
Please help me file a GitHub issue. Do the following:
-
Collect my environment info:
- Run
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"to get Windows version - Run
dotnet --versionto get .NET version - Run
python --versionto get Python version - Check if Code Island is running:
tasklist | findstr CodeIsland - Check which terminal I'm using
- Run
-
Ask me to describe:
- What I expected to happen
- What actually happened
- Steps to reproduce
-
Create the issue on GitHub using
gh issue createwith this format:- Title: concise summary
- Body with sections: Environment, Description, Steps to Reproduce, Expected vs Actual Behavior
- Add label "bug" if applicable
Repository: Iroha-P/Code-Island




