ClaudeWatch – macOS menu bar usage monitor for Claude with notch pet
Notch pet that lives in your MacBook notch while tracking Claude token usage.
VibeBar is a lightweight macOS menu bar app that monitors live TUI session activity for Claude Code, Codex, and OpenCode.
Multi-tool session monitor via PTY wrapping, plugin events, and fallback scanning.
macOS developers using Claude Code, Codex, or OpenCode
VibeBar is a lightweight macOS menu bar app that solves this. It shows real-time session states (running / awaiting_input / idle / stopped) for Claude Code, Codex, and OpenCode without you leaving your current window.
How it works
Rather than relying on a single detection method, it uses three data channels and merges them:
1. PTY wrapper (vibebar): wraps the CLI in a pseudo-terminal and monitors output patterns to infer interaction state with high fidelity. 2. Plugin events (vibebar-agent): a local Unix socket server that receives lifecycle events from dedicated hooks in Claude Code and OpenCode. 3. Process scanner: a fallback that runs ps to detect running tool processes when the stronger channels aren't available.
State priority when channels conflict: running > awaiting_input > idle > stopped > unknown.
Honest caveats
- Without the plugin, awaiting-input detection uses regex heuristics on terminal output — it works but isn't perfect. - Codex has no plugin event channel yet, so it relies on the PTY wrapper or process scanner. - Automated test coverage is still thin. - macOS 13+ only.
Built in Swift 6.2 with strict concurrency. The menu bar icon has four styles (Ring, Particles, Energy Bar, Ice Grid) and supports English, 中文, 日本語, 한국어.
Source and releases: https://github.com/yelog/VibeBar
Happy to answer questions about the PTY/plugin architecture or the Swift implementation.
Notch pet that lives in your MacBook notch while tracking Claude token usage.
Native menu bar dots track Claude Code sessions plus browser-cookie usage limits.
Discovers Claude Code sessions automatically across any terminal—no plugins, no vendor lock-in.
Darwin notifications beat polling, but macOS-only limits who cares.
Finally tracks LLM spending across services without refreshing 27 browser tabs.
Menu bar tracker for Claude Code/Gemini sessions—solves real context loss, but audience is narrow.