Claude
Bell

A unified notification and action center for all your Claude Code sessions, right in your macOS menu bar.

Download v1.9.12 for macOS Download for Windows (Coming Soon) How It Works
ClaudeBell panel showing a permission request for a Bash command

Everything you need.
Nothing you don't.

Stop hunting through terminal tabs. Respond to Claude Code from anywhere on your Mac.

🖥️

Multi-Session Tracking

Track all active Claude Code sessions in one place. Rename sessions, see activity timestamps, auto-cleanup when done.

🔐

Permission Requests

Allow or deny tool execution with one click. See what command Claude wants to run, with full context from the conversation.

💬

Interactive Notifications

Answer Claude's questions directly from the menu bar. Supports free text input, single-select, and multi-select options.

📋

Transcript Context

See the last messages from your conversation right in the panel. Understand what Claude is working on before deciding.

⌨️

Global Shortcut

Toggle the panel from anywhere with a customizable hotkey. No Accessibility permissions needed — uses native Carbon API.

🔔

Native Notifications

macOS notifications with customizable sounds. Never miss a permission request, even when you're in another app.

How it works

Claude Bell uses Claude Code's HTTP hooks to intercept events before they reach the terminal.

1

Claude Code triggers a hook

When Claude needs permission to run a tool (Bash, Edit, Write...) or wants to ask a question, it sends an HTTP POST to localhost:19485.

2

Claude Bell shows the request

The menu bar icon lights up, a sound plays, and a native notification appears. The panel shows the tool, its input, and the conversation context.

3

You respond from anywhere

Click Allow, Deny, or Always. For questions, type your answer or pick from options. Responses go straight to Terminal.app or iTerm2.

4

Claude Code continues

The HTTP response is sent back, and Claude Code resumes immediately. If the app isn't running, Claude falls back to the normal terminal dialog.

Terminal 1 claude code Terminal 2 claude code Terminal 3 claude code Terminal 4 claude code Terminal 5 claude code Terminal N claude code . . . . . . . . . . . . Claude Bell One place to manage all your sessions 🔒 Permission Request Allow / Deny 💬 Questions & Dialogs Text / Select Idle Prompt AppleScript 📋 Session Tracking Sessions list

One-click install

Claude Bell adds its hooks to your ~/.claude/settings.json automatically. Or configure manually:

~/.claude/settings.json
{ "hooks": { "PermissionRequest": [{ "matcher": "", "hooks": [{ "type": "http", "url": "http://localhost:19485/hooks/permission-request", "timeout": 300 }] }], "Notification": [{ "matcher": "", "hooks": [{ "type": "http", "url": "http://localhost:19485/hooks/notification", "timeout": 10 }] }] } }

Supported Hooks

Hook Type Purpose
PermissionRequest Blocking Allow or deny tool execution
Notification Async Questions, idle prompts, dialogs
Stop Async Task completed notification
PostToolUseFailure Async Tool error alerts
SessionEnd Async Session cleanup

Tech Stack

Native performance, zero compromise.

🐦
Swift 5.10+
Modern async/await concurrency
🎨
SwiftUI
Native macOS MenuBarExtra
🐝
Hummingbird
Lightweight async HTTP server
📜
AppleScript Bridge
Terminal.app & iTerm2 control
🔑
Carbon API
Global hotkeys, no permissions
📦
SPM
Swift Package Manager build

Changelog

What's new in each release.