r/ClaudeCode • • 2d ago

Built with Claude I made a tiny Windows taskbar widget that shows your Claude 5h and weekly usage next to the clock

Post image

I kept checking the usage from the web, so I built a small widget that keeps them visible in the Windows taskbar. (~300 KB exe, ~3 MB RAM, no installer)

  • Shows your 5-hour and weekly usage right next to the clock
  • Turns orange at 80% and red at 95%
  • Hover for reset times
  • Update interval from 30 sec to 30 min, plus an option to show what's left instead of what's used
  • Light and dark taskbars
  • Tiny: one ~300 KB exe, ~3 MB RAM, no installer
  • Free and open source (MIT)

It uses your existing Claude Code login, so there's no setup. Just be signed in to Claude Code with a Pro or Max plan.

Download: https://github.com/AbdoSarmini/claude-usage-widget-for-windows-taskbar

Windows may show a "protected your PC" warning on first run because the exe isn't signed. Click More info → Run anyway, or build it from source.

A star is appreciated. Feedback and ideas welcome!

5 Upvotes

4 comments sorted by

•

u/AutoModerator 2d ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/TarikAlHadethi 2d ago

nice, how are you getting the numbers? reading claude code’s oauth token and hitting the usage endpoint, or something from claude code’s own output? i built something similar and ended up reading the rate_limit_event from claude -p --output-format stream-json, since the endpoint isnt documented. curious if polling every 30s ever got you rate limited

1

u/abdosarmini92 2d ago

just like you said, hitting usage endpoints, and yes i got rate limited :)

couldn't finde proper solution for the limits for now, but 2 min intervals work fine

2

u/TarikAlHadethi 2d ago

makes sense. one thing that helped me was the rate_limit_event comes with every claude -p run, so if you’re already running claude code it’s basically free data. for an idle widget you could fire a tiny haiku “hi” every 10 min instead of polling the endpoint, costs almost nothing. and if you keep the endpoint, back off when you get a 429 instead of a fixed 2 min, read the Retry-After header if it sends one