Skip to content

About

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

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

36 Commits

Folders and files

Repository files navigation

Logo

Claude Island

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

Release Version GitHub Downloads

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

Requirements

  • macOS 15.6+
  • Claude Code CLI

Install

Download the latest release or build from source:

xcodebuild -scheme ClaudeIsland -configuration Release build

How It Works

Claude Island supports two provider integrations that can be enabled independently from the menu:

  • Claude Code Hooks
    • Installs claude-island-state.py in ~/.claude/hooks/.
    • Registers hook commands in ~/.claude/settings.json so Claude Code emits lifecycle events.
  • OpenCode Plugin
    • Installs claude-island-opencode-plugin.ts in either:
      • Project scope: <current-project>/.opencode/plugins/
      • Global scope: ~/.config/opencode/plugins/
    • In npm plugin mode, updates OpenCode config at <current-project>/opencode.json or ~/.config/opencode/opencode.json.

The app listens for hook/plugin events over a Unix socket 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.

OpenCode Hook Compatibility

The OpenCode bridge plugin accepts documented hook names and keeps typed/camelCase aliases for one release. Alias usage is supported with deprecation warnings so integrators can migrate safely.

Expected hook name Fallback alias Required payload fields
session.created sessionCreated sessionID
session.updated sessionUpdated sessionID
session.idle sessionIdle sessionID
session.error sessionError sessionID
session.ended sessionEnded sessionID
tool.execute.before toolExecuteBefore sessionID, callID, tool name (tool)
tool.execute.after toolExecuteAfter sessionID, callID, tool name (tool)
permission.ask permissionAsk sessionID, callID, tool name (tool)

Analytics

Claude Island uses Mixpanel to collect anonymous usage data:

  • App Launched — App version, build number, macOS version
  • Session Started — When a new Claude Code session is detected

No personal data or conversation content is collected.

License

Apache 2.0

About

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

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages