|
| 1 | +<div align="center"> |
| 2 | + <img src="docs/logo.svg" alt="Logo" width="256" height="256"> |
| 3 | + <h3 align="center">Claude Island</h3> |
| 4 | + <p align="center"> |
| 5 | + A macOS menu bar app that brings Dynamic Island-style notifications to Claude Code CLI sessions. |
| 6 | + <br /> |
| 7 | + <br /> |
| 8 | + <a href="https://github.com/engels74/claude-island/releases/latest" target="_blank" rel="noopener noreferrer"> |
| 9 | + <img src="https://img.shields.io/github/v/release/engels74/claude-island?style=rounded&color=white&labelColor=000000&label=release" alt="Release Version" /> |
| 10 | + </a> |
| 11 | + <a href="#" target="_blank" rel="noopener noreferrer"> |
| 12 | + <img alt="GitHub Downloads" src="https://img.shields.io/github/downloads/engels74/claude-island/total?style=rounded&color=white&labelColor=000000"> |
| 13 | + </a> |
| 14 | + </p> |
| 15 | +</div> |
| 16 | + |
| 17 | +## Features |
| 18 | + |
| 19 | +- **Notch UI** — Animated overlay that expands from the MacBook notch |
| 20 | +- **Live Session Monitoring** — Track multiple Claude Code sessions in real-time |
| 21 | +- **Permission Approvals** — Approve or deny tool executions directly from the notch |
| 22 | +- **Chat History** — View full conversation history with markdown rendering |
| 23 | +- **Auto-Setup** — Hooks install automatically on first launch |
| 24 | + |
| 25 | +## About This Fork |
| 26 | + |
| 27 | +This is a fork of the original [claude-island](https://github.com/farouqaldori/claude-island) by farouqaldori. |
| 28 | + |
| 29 | +Key improvements in this fork: |
| 30 | + |
| 31 | +- **Code quality** — Strict linting with SwiftFormat, SwiftLint (70+ rules), pre-commit hooks, and modern Swift concurrency (`@Observable`, `Sendable`, structured concurrency) |
| 32 | +- **Bug fixes** — Various stability and reliability improvements |
| 33 | +- **Merged upstream PRs** — See [merged pull requests](https://github.com/engels74/claude-island/pulls?q=is%3Apr+is%3Amerged+) for integration details |
| 34 | + |
| 35 | +## Requirements |
| 36 | + |
| 37 | +- macOS 15.6+ |
| 38 | +- Claude Code CLI |
| 39 | + |
| 40 | +## Install |
| 41 | + |
| 42 | +Download the latest release from [GitHub Releases](https://github.com/engels74/claude-island/releases/latest) or build from source: |
| 43 | + |
| 44 | +```bash |
| 45 | +xcodebuild -scheme ClaudeIsland -configuration Release build |
| 46 | +``` |
| 47 | + |
| 48 | +## Installation |
| 49 | + |
| 50 | +### First Launch (Gatekeeper Bypass Required) |
| 51 | + |
| 52 | +Since Claude Island uses ad-hoc signing (not notarized), macOS will block the first launch. |
| 53 | + |
| 54 | +#### Option 1: System Settings (Recommended) |
| 55 | + |
| 56 | +1. Download and open the DMG from [GitHub Releases](https://github.com/engels74/claude-island/releases/latest) |
| 57 | +2. Drag Claude Island to Applications |
| 58 | +3. Try to open the app — it will be blocked |
| 59 | +4. Go to **System Settings → Privacy & Security** |
| 60 | +5. Find "Claude Island was blocked" and click **Open Anyway** |
| 61 | +6. Click **Open** in the confirmation dialog |
| 62 | + |
| 63 | +#### Option 2: Terminal |
| 64 | + |
| 65 | +```bash |
| 66 | +xattr -d com.apple.quarantine "/Applications/Claude Island.app" |
| 67 | +``` |
| 68 | + |
| 69 | +This is only required on first launch. Auto-updates via Sparkle work normally. |
| 70 | + |
| 71 | +## How It Works |
| 72 | + |
| 73 | +Claude Island installs hooks into `~/.claude/hooks/` that communicate session state via a Unix socket. The app listens for events and displays them in the notch overlay. |
| 74 | + |
| 75 | +When Claude needs permission to run a tool, the notch expands with approve/deny buttons—no need to switch to the terminal. |
| 76 | + |
| 77 | +## License |
| 78 | + |
| 79 | +Apache 2.0 |
0 commit comments