Feature: Notch pill UI for needs-attention sessions
Show a small pill widget next to the macOS notch (in the menu bar area) when any Claude Code session needs attention (permission prompt, AskUserQuestion). Clicking the pill navigates to that session.
Motivation
- More noticeable than the status dot inside CodeV's Sessions tab (which requires switching to CodeV)
- Better UX than macOS native notifications (which stack in notification center and require dismissal)
- Precedent: Vibe Island does this for Claude Code sessions using native Swift
Technical approach
Electron BrowserWindow approach (no native code needed):
-
Create a tiny BrowserWindow (~200×24px)
transparent: true, frame: false, skipTaskbar: true
win.setAlwaysOnTop(true, 'status') — places at menu bar / status bar level (same as Vibe Island's NSWindow.level = .statusBar)
- Position: top of screen, right of notch (or center-right on non-notch Macs)
-
Render a pill UI with React:
- Show project name + session count needing attention
- Click → focus CodeV + switch to Sessions tab + scroll to that session
- Right-click → context menu (dismiss, open session, settings)
-
Show/hide logic:
- Show when any session status becomes
needs-attention
- Hide when all needs-attention sessions are resolved
- Auto-hide after a configurable timeout (optional)
-
Settings toggle: "Show notch indicator for needs-attention sessions" (default: on)
Edge cases
- Non-notch Macs (pre-2021): pill still works, just positioned in menu bar area
- Full-screen mode: macOS hides menu bar — pill may also hide. Acceptable trade-off.
- Multiple needs-attention sessions: show count badge or cycle between them
Alternative: native Swift addon
If the Electron BrowserWindow approach has issues (z-order, transparency glitches), a Swift native module using NSWindow with .statusBar level would be more robust. Higher effort (Swift + napi-rs bridge) but identical to Vibe Island's approach.
References
- Vibe Island — commercial Swift app
- open-vibe-island — open source Swift clone
- Electron
setAlwaysOnTop levels: normal, floating, torn-off-menu, modal-panel, main-menu, status, pop-up-menu, screen-saver
Feature: Notch pill UI for needs-attention sessions
Show a small pill widget next to the macOS notch (in the menu bar area) when any Claude Code session needs attention (permission prompt,
AskUserQuestion). Clicking the pill navigates to that session.Motivation
Technical approach
Electron BrowserWindow approach (no native code needed):
Create a tiny
BrowserWindow(~200×24px)transparent: true,frame: false,skipTaskbar: truewin.setAlwaysOnTop(true, 'status')— places at menu bar / status bar level (same as Vibe Island'sNSWindow.level = .statusBar)Render a pill UI with React:
Show/hide logic:
needs-attentionSettings toggle: "Show notch indicator for needs-attention sessions" (default: on)
Edge cases
Alternative: native Swift addon
If the Electron BrowserWindow approach has issues (z-order, transparency glitches), a Swift native module using
NSWindowwith.statusBarlevel would be more robust. Higher effort (Swift + napi-rs bridge) but identical to Vibe Island's approach.References
setAlwaysOnToplevels:normal,floating,torn-off-menu,modal-panel,main-menu,status,pop-up-menu,screen-saver