Skip to content

engels74/claude-island

 
 

Repository files navigation

Logo

Release Version GitHub Downloads License: Apache 2.0 Swift 6 Ask DeepWiki

Claude Island

A macOS menu bar app that brings Dynamic Island-style notifications to Claude Code CLI sessions.

Features

  • Notch UI — Animated overlay that expands from the MacBook notch
  • Live Session Monitoring — Track multiple Claude Code sessions in real-time
  • Permission Approvals — Approve or deny tool executions directly from the notch
  • Chat History — View full conversation history with markdown rendering
  • Auto-Setup — Hooks install automatically on first launch

About This Fork

This is a fork of the original claude-island by farouqaldori.

Key improvements in this fork:

  • Code quality — Strict linting with SwiftFormat, SwiftLint (70+ rules), pre-commit hooks, and modern Swift concurrency (@Observable, Sendable, structured concurrency)
  • Bug fixes — Various stability and reliability improvements
  • Merged upstream PRs — See merged pull requests for integration details

Requirements

  • macOS 15.6+
  • Claude Code CLI

Installation Guide

Step 1 — Install the App

Download the latest .dmg from GitHub Releases, open it, and drag Claude Island into Applications. IMG

Step 2 — Bypass Gatekeeper

Claude Island is ad-hoc signed and not notarized, so macOS blocks the first launch.

  1. Open the app — macOS shows "Claude Island" Not Opened. Click Done. IMG
  2. Go to System Settings → Privacy & Security, find the blocked notice, and click Open Anyway. IMG
  3. In the confirmation dialog, click Open Anyway. IMG
  4. Authenticate with Touch ID or your password. IMG

Step 3 — Grant Keychain Access

macOS prompts for access to "Claude Code-credentials" (the CLI's OAuth token, used for optional usage-quota tracking). Click Always Allow. IMG

Step 4 — Grant Accessibility Permission

  1. The app shows an Accessibility Permission Required dialog. Click Open Settings. IMG
  2. In System Settings → Privacy & Security → Accessibility, click the + button. IMG
  3. Navigate to Applications, select Claude Island, and click Open. IMG
  4. Claude Island now appears in the Accessibility list with the toggle enabled. IMG

Tip: If Claude Island is already listed but not working, remove it first (click ), then re-add it with the steps above.

Subsequent launches require no extra setup. Auto-updates via Sparkle work normally.

Permissions Questions? Learn more about why Claude Island needs accessibility and keychain permissions.

Alternative: Terminal Bypass

If you prefer, you can skip the Gatekeeper steps above by removing the quarantine attribute:

xattr -d com.apple.quarantine "/Applications/Claude Island.app"

Alternative: Build from Source

xcodebuild -scheme ClaudeIsland -configuration Release build

Walkthrough

Installation guide walkthrough

How It Works

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.

When Claude needs permission to run a tool, the notch expands with approve/deny buttons—no need to switch to the terminal.

License

Apache 2.0

About

Claude Code notifications without the context switch. A minimal, always-present session manager for macOS.

Resources

License

Stars

Watchers

Forks

Contributors

Languages

  • Swift 95.4%
  • Python 2.4%
  • Shell 2.2%