GitHub Buy me a coffee

Claude
Bell

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

Download v1.11.0 for macOS How It Works
Live demo

Hands off the mouse.

Pop open the panel, answer with the keyboard, and jump back to the exact terminal that asked.

claude-bell · /Users/you/project Recording
ClaudeBell in action: keyboard shortcut opens the panel, Enter confirms the action, a click opens the originating terminal tab
⌘⇧B
Open with a shortcut Global hotkey surfaces the notification from any app. Remap it in Settings.
Enter to confirm Navigate with arrow keys, Return fires the focused action. Mouse optional.
→ ↵
Jump to the terminal Focus the exact Terminal.app or iTerm2 tab that sent the request — one keypress away.

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.

⌨️

Shortcut to open

Surface the latest notification from any app with a global hotkey (default ⌘⇧B). Fully remappable — no Accessibility permissions.

Enter to confirm

Arrow keys move focus between Allow, Deny, and Dismiss. Return fires the focused action. Answer without ever reaching for the mouse.

💻

Open in Terminal

Jump straight back to the originating Terminal.app or iTerm2 tab — Claude Bell tracks each session by working directory and transcript path.

🔔

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.