How cef62/claude-usage-monitor works
Claude Usage Monitor is a Tauri desktop app that surfaces Claude plan usage in a macOS menu bar or Windows tray and popover. The workflow polls Claude using Claude Code’s stored login, builds a snapshot with quota history and pace forecasts, then presents it and evaluates alerts. Settings, history, and logs persist locally; the tray also exposes update and configuration actions. The README documents additional UI and alert capabilities. Some Rust wiring and website internals were not sampled, so uncertain links are omitted.
Main entry points: tray.rs Tray and menus · poll.rs Poll coordinator · App.tsx Usage popover · usage.rs Credentials and API
Components 21
Popover UI
- Usage popover
src/App.tsx - Tauri IPC
src/lib/ipc.ts - Quota presentation
src/lib/format.ts - About panel
src/About.tsx - Snapshot types
src/lib/quota.ts
Usage monitoring
- Poll coordinator
src-tauri/src/poll.rs - Credentials and API
src-tauri/src/usage.rs - Quota history
src-tauri/src/history.rs - Pace forecast
src-tauri/src/forecast.rs - Alert evaluation
src-tauri/src/alerts.rs
Desktop experience
- Tray and menus
src-tauri/src/tray.rs - Tray icon
src-tauri/src/icon.rs - Application updates
src-tauri/src/update.rs
Local state
- User settings
src-tauri/src/settings.rs - Local log
src-tauri/src/log.rs
Project website
- Guide and downloads
site/src/pages
Other components
- Desktop user
- Claude usage API
- Claude Code login
- GitHub releases
- OS notifications
Connections 26
- Desktop user → Tray and menus: opens menu
README.md - Desktop user → Usage popover: opens popover
README.md - Desktop user → Guide and downloads: visits
README.md - Usage popover → Tauri IPC: requests snapshot
src/App.tsx - Usage popover → Quota presentation: formats display
src/App.tsx - Usage popover → About panel: renders
src/App.tsx - Usage popover → Snapshot types: uses snapshot types
src/App.tsx - Tauri IPC → Poll coordinator: invokes snapshot
- Poll coordinator → Credentials and API: fetches usage
src-tauri/src/poll.rs - Credentials and API → Claude Code login: reads token
- Credentials and API → Claude usage API: requests quotas
src-tauri/src/usage.rs - Poll coordinator → Quota history: updates samples
src-tauri/src/poll.rs - Poll coordinator → Pace forecast: computes forecast
src-tauri/src/poll.rs - Pace forecast → Quota history: reads samples
src-tauri/src/forecast.rs - Pace forecast → Credentials and API: uses quotas
src-tauri/src/forecast.rs - Poll coordinator → Local log: records polling
src-tauri/src/poll.rs - Tray and menus → Poll coordinator: reads snapshot
src-tauri/src/tray.rs - Tray and menus → User settings: loads settings
src-tauri/src/tray.rs - Tray and menus → Alert evaluation: evaluates alerts
src-tauri/src/tray.rs - Tray and menus → Tray icon: updates icon
src-tauri/src/tray.rs - Tray and menus → Local log: opens log
src-tauri/src/tray.rs - Tray and menus → Application updates: offers update actions
src-tauri/src/tray.rs - Alert evaluation → OS notifications: delivers alerts
- Desktop user → Application updates: requests update
README.md - Application updates → GitHub releases: checks releases
README.md - Desktop user → OS notifications: receives warnings
README.md