I built SessionWatcher, a lightweight macOS menu bar app designed to help developers track and visualize their Claude Code usage.
While experimenting with prompts and running tests, I found it tiring to dig through terminal tools to see how much I had spent or how many tokens I had consumed. So, I created a simple utility that:
Sits in the macOS menu bar
Tracks real-time usage
Displays live stats (sessions, tokens, cost estimates)
Claude's 5-Hour Session Limit:
Claude Code enforces a 5-hour rolling session limit, resetting every 5 hours. This means that after 5 hours of continuous use, the session expires, and users must wait for the reset to continue. This limit can impact workflows, especially during intensive coding sessions. My tool helps you to monitor your usage through the session to run out of tokens too quickly
Tech details:
Built in Swift for MacOS 15+
Lightweight UI with SwiftUI + menubar integration
Packaging/updates handled via Sparkle
I'm seeking feedback from fellow developers:
Is this kind of utility useful for your workflow ?
Any features you'd want ?
Any concerns ?
sorenstarck•1h ago
I built SessionWatcher, a lightweight macOS menu bar app designed to help developers track and visualize their Claude Code usage.
While experimenting with prompts and running tests, I found it tiring to dig through terminal tools to see how much I had spent or how many tokens I had consumed. So, I created a simple utility that:
Sits in the macOS menu bar Tracks real-time usage Displays live stats (sessions, tokens, cost estimates)
Claude's 5-Hour Session Limit: Claude Code enforces a 5-hour rolling session limit, resetting every 5 hours. This means that after 5 hours of continuous use, the session expires, and users must wait for the reset to continue. This limit can impact workflows, especially during intensive coding sessions. My tool helps you to monitor your usage through the session to run out of tokens too quickly
Tech details:
Built in Swift for MacOS 15+ Lightweight UI with SwiftUI + menubar integration Packaging/updates handled via Sparkle
I'm seeking feedback from fellow developers:
Is this kind of utility useful for your workflow ? Any features you'd want ? Any concerns ?
Thanks for your time!