Popup positions itself near the system tray (bottom-right)
Structure
All files live under windows/. No changes to the macOS app.
File
Purpose
App.xaml.cs
Tray icon, popup lifecycle, refresh timer
PopupWindow.xaml/cs
Main UI — limit cards, settings, update sheet
LoginWindow.xaml/cs
WebView2 browser for claude.ai auth
UsageViewModel.cs
Data fetching, cookie handling, state
UpdateManager.cs
Version checking, download and install
Controls/GaugeControl.cs
Custom circular gauge (matches macOS style)
Controls/SparklineControl.cs
Burn history sparkline
Requirements to build
.NET 8 SDK
Assets/icon.ico and Assets/icon.png — copy from the macOS xcassets folder before building
Test plan
Build with dotnet build -c Release in windows/
Tray icon appears on launch
Sign in flow works via WebView2
Usage data loads and displays correctly
Settings panel opens/closes cleanly
Update check works (use fake version JSON trick)
Refresh timer fires on schedule
## Summary
A native Windows port of ClaudeChecker built with WPF (.NET 8) and WebView2.
- System tray icon — left-click to show/hide the popup
- 5-hour and 7-day usage gauges with circular gauge control and burn rate sparklines
- Cookie-based auth via embedded WebView2 browser (sign in once, session persists across restarts)
- Auto-refresh on a configurable interval (1–10 min)
- Update checking against the same `version.json` / `version-beta.json` as the macOS app, with one-click install
- Beta channel toggle
- Settings panel (auth, refresh interval, update channel)
- Popup positions itself near the system tray (bottom-right)
## Structure
All files live under `windows/`. No changes to the macOS app.
| File | Purpose |
|---|---|
| `App.xaml.cs` | Tray icon, popup lifecycle, refresh timer |
| `PopupWindow.xaml/cs` | Main UI — limit cards, settings, update sheet |
| `LoginWindow.xaml/cs` | WebView2 browser for claude.ai auth |
| `UsageViewModel.cs` | Data fetching, cookie handling, state |
| `UpdateManager.cs` | Version checking, download and install |
| `Controls/GaugeControl.cs` | Custom circular gauge (matches macOS style) |
| `Controls/SparklineControl.cs` | Burn history sparkline |
## Requirements to build
- .NET 8 SDK
- `Assets/icon.ico` and `Assets/icon.png` — copy from the macOS xcassets folder before building
## Test plan
- [ ] Build with `dotnet build -c Release` in `windows/`
- [ ] Tray icon appears on launch
- [ ] Sign in flow works via WebView2
- [ ] Usage data loads and displays correctly
- [ ] Settings panel opens/closes cleanly
- [ ] Update check works (use fake version JSON trick)
- [ ] Refresh timer fires on schedule
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
A native Windows port of ClaudeChecker built with WPF (.NET 8) and WebView2.
version.json/version-beta.jsonas the macOS app, with one-click installStructure
All files live under
windows/. No changes to the macOS app.App.xaml.csPopupWindow.xaml/csLoginWindow.xaml/csUsageViewModel.csUpdateManager.csControls/GaugeControl.csControls/SparklineControl.csRequirements to build
Assets/icon.icoandAssets/icon.png— copy from the macOS xcassets folder before buildingTest plan
dotnet build -c Releaseinwindows/View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.