All projects
System Tray Usage Monitor
Claude Usage for Windows preview

Claude Usage for Windows

A Windows system tray app that tracks Claude Code usage in real time. Dynamic color-coded icons, session and weekly usage windows, smart credential discovery from native and WSL installations.

I use Claude Code every day on Windows, WSL and MacOS.

Anthropic gives you a usage allowance but no way to see how much you've used. You hit a rate limit, you wait, you guess when it resets. There's no dashboard, no progress bar, no indicator anywhere in the product.

Challenge

One tool existed for tracking Claude Code usage: a macOS menu bar app. Nothing existed for Windows. No way to see how close you are to a rate limit until it stops you.

Solution

A system tray app that polls an undocumented Anthropic API and renders your usage as a dynamic, color-coded percentage icon. Always visible, never in the way.

Value

Session usage (5-hour window), weekly usage (7-day window), Sonnet-only model usage, and overage tracking. Auto-discovers credentials from both native Windows and WSL installations.

Claude Usage for Windows

Session208057%Resets in 2h 13m
Weekly208075%Resets in 3d 5h
Sonnet Only and Overage Usage

Sonnet Only

12%
Model-specific
Resets in 3d 5h

Overage

$3.50
Extra usageof $50 limit
Updated 48 seconds ago

The gap

A macOS-only menu bar app existed, but nothing was built for Windows. I could have waited for someone to build it, but I was hitting rate limits multiple times a week and had no way to plan around them.

So I decided to build one. A native Windows app. Not Electron, not a Python script with a tray icon, not a web wrapper. A real WPF application that uses the system's own rendering, sits in the tray like it belongs there, and runs on .NET 8.

Visual Studio was the real challenge

The whole thing took a few hours. The API integration and credential discovery were straightforward. What actually slowed me down was Visual Studio.

I build everything in VS Code with Claude Code in the terminal. But WPF apps need Visual Studio, the full IDE, with its own project system, build pipeline, and packaging tools. Navigating that environment for the first time, figuring out where configuration lives, how the designer interacts with XAML, how to get the build output where I needed it, was the friction I didn't expect. The code itself wasn't hard. The tooling around it was unfamiliar.

Dynamic tray icons

The app lives in the Windows system tray. Its icon is a small square with your current usage percentage rendered as a number, color-coded so you can read your status at a glance without hovering or clicking.

Green for 0-69%. Yellow for 70-89%. Red for 90% and above. Special icons at 95%, 99%, and 100%. An error icon if the API call fails.

Every icon is generated dynamically at runtime using Svg.NET. The percentage number, the background color, and the sizing. The app renders a fresh SVG for every state change, converts it to an icon, and swaps it into the tray. Getting text rendering, color fills, and scaling right at those sizes took the most iteration.

Fluent Design on WPF

The app should feel native to Windows 11. WPF-UI gives you Microsoft's Fluent Design system on WPF, including the Mica background material that lets the desktop wallpaper bleed through the window. The app adapts to your system theme automatically, dark or light.

Getting Mica to work correctly took more iteration than I expected. The transparency effect depends on the window composition, the backdrop type, and the OS version. Small configuration differences produce completely different visual results, from fully transparent to solid gray.

Credential discovery

Claude Code stores its API credentials differently depending on whether you're running it natively on Windows or inside WSL. The app checks both locations automatically. You install it, it finds your credentials, and it starts polling. No configuration, no pasting API keys.

Auto-refresh runs every 5 minutes with exponential backoff on API errors. There's a Launch at Login option so it's always there when you start your machine.

How it changed the way I work

The app is always running in my system tray. I glance at the icon the way I glance at the clock. Knowing my usage at any moment changed how I pace work across the week. I can see when to push hard on a feature and when to shift to tasks that don't need Claude Code.

The latest release is on GitHub. MIT license.

Status

Live on GitHub

Tech

C# / .NET 8WPFWPF-UI (Fluent Design)Svg.NETClaude Code

Skills

Native Windows developmentAI-assisted developmentSystem tray UXUsage monitoring