惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
Vercel News
Vercel News
L
LangChain Blog
B
Blog RSS Feed
Y
Y Combinator Blog
IT之家
IT之家
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
V
V2EX
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
D
Docker
V
Visual Studio Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
月光博客
月光博客

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - apexlocal-jz/claude-usage-tray: Windows system-t...
JosephZeng · 2026-05-27 · via Hacker News: Show HN

Windows system-tray app that shows your Claude Code rate-limit usage at a glance.

status license deps

A colored circle next to your clock with your session and weekly usage percentage. Green under 70, amber at 70+, red at 90+. Click for the full breakdown.

Tray icon next to the Windows clock with a hover tooltip showing 'Claude S:54% W:6% So:1%'

Why

If you use Claude Code on a Pro or Max subscription, you have a 5-hour session window and a 7-day weekly cap. Hit either and you get cut off mid-refactor. Anthropic shows this in the CLI when you run /usage, but only when you ask. This puts it in your tray so you can glance like any other dev metric.

Works across every IDE you use Claude Code in (VS Code, Cursor, plain terminal). The data comes from your own account via the same endpoint Claude Code itself uses.

Requirements

  • Windows 10 or 11
  • Windows PowerShell 5.1 (built in) or PowerShell 7
  • Claude Code installed and logged in (so ~/.claude/.credentials.json exists)

No Node, no npm, no installer, no admin rights needed.

Install (do this once)

You only need to do this one time. It takes about a minute. Don't worry if you've never used a command line before, just follow the steps.

Step 1 — Open PowerShell. Press the Windows key, type PowerShell, and click Windows PowerShell. A blue window with white text opens. This is where you paste the commands below. To paste, right-click inside the window (or press Ctrl+V), then press Enter to run.

Step 2 — Download the app. Copy the line below, paste it into the PowerShell window, and press Enter:

git clone https://github.com/apexlocal-jz/claude-usage-tray.git "$env:USERPROFILE\.claude\bin\claude-usage-tray"

This downloads the app into a folder tucked inside your user profile. (No Git installed? See "I don't have Git" below.)

Step 3 — Turn it on. Copy this line, paste it, and press Enter:

& "$env:USERPROFILE\.claude\bin\claude-usage-tray\install.ps1"

That's it. Within about 5 seconds you should see a small colored circle with a number appear next to your clock. From now on it starts by itself every time you log in. You can close the PowerShell window.

If Windows blocks the script with a red message like running scripts is disabled on this system, paste this one line, press Enter, then run Step 3 again:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

This tells Windows it's OK to run scripts you installed yourself. It does not lower any other security.

I don't have Git

If Step 2 gives a git is not recognized error, you can download the app as a ZIP instead:

  1. On the repo page, click the green Code button, then Download ZIP.
  2. Unzip it, and move the unzipped claude-usage-tray folder to exactly this location: C:\Users\<your-name>\.claude\bin\claude-usage-tray (replace <your-name> with your Windows username). Putting it here keeps every command in this README working as written.
  3. Continue with Step 3 above.

Everyday use

Action Result
Always visible Colored % circle in the system tray
Hover Compact tooltip: Claude S:54% W:6% So:1%
Left click Modal with full breakdown and reset times
Right click Refresh now / Details / Quit

The icon color reflects the higher of your session and weekly utilization:

  • Green under 70%
  • Amber at 70-89%
  • Red at 90%+

If the icon shows ! (red) the tooltip explains the error. The most common one is "Auth expired - open Claude Code to refresh": the tray reads the token Claude Code maintains but does not refresh it itself, so when the token expires (typically because Claude Code has not run for a while, like overnight) the tray pauses fetching and waits. Open Claude Code and the tray picks up the refreshed token on the next poll. Other causes are a rejected token or the network being down.

Three views

Passive — just the icon next to your clock:

Tray icon showing a green '54' circle next to the Windows clock

Hover — compact tooltip:

Hover tooltip showing 'Claude S:54% W:6% So:1%'

Left click — full breakdown with reset times:

Claude Usage modal showing Session 54%, Weekly 6%, Sonnet 1%, with reset times and last-fetched timestamp

Can't see the icon?

Windows hides new tray icons by default. Click the small ^ arrow (the "show hidden icons" chevron) to the left of your clock and look for the colored Claude circle. To keep it visible all the time, drag it out of that pop-up and drop it directly onto the taskbar next to your clock. Windows remembers it from then on.

Launch, restart, and stop

You shouldn't need any of this day to day. The app turns on by itself when you log in. But here's how to control it by hand if you ever want to.

Launch it right now (if it isn't running): Open the folder C:\Users\<your-name>\.claude\bin\claude-usage-tray in File Explorer and double-click Start.vbs. Nothing visible happens (no window pops up, that's normal), and the icon appears by your clock within a few seconds.

Stop it for now (it'll come back next time you log in): Right-click the tray icon and choose Quit.

Restart it (for example after you log in to Claude Code again, or if the icon looks stuck): Right-click the icon, choose Quit, then double-click Start.vbs again. Or just run the installer line once more, it safely restarts a clean copy:

& "$env:USERPROFILE\.claude\bin\claude-usage-tray\install.ps1"

Stop it from starting at login (but keep the app installed): Press the Windows key, type Startup Apps, open that settings page, find Claude Usage Tray, and switch it Off. Turn it back On anytime.

Uninstall (remove it completely)

The clean way to remove everything is one command. Open PowerShell (Windows key → type PowerShell → Enter), paste this, and press Enter:

& "$env:USERPROFILE\.claude\bin\claude-usage-tray\install.ps1" -Uninstall

That stops the running tray, removes it from your login startup, and deletes its log folder at %LOCALAPPDATA%\claude-usage-tray. The icon disappears immediately.

That leaves the app files on disk in case you want to reinstall later. To delete those too, paste this:

Remove-Item "$env:USERPROFILE\.claude\bin\claude-usage-tray" -Recurse -Force

No registry keys, no leftover files, no background services. Clean uninstall.

How it works

Every 5 minutes (with 0-60 second jitter), the script:

  1. Reads your OAuth token from ~/.claude/.credentials.json (the file Claude Code itself maintains)
  2. Calls GET https://api.anthropic.com/api/oauth/usage with that token
  3. Parses five_hour.utilization, seven_day.utilization, seven_day_sonnet.utilization and their resets_at timestamps
  4. Redraws the tray icon and tooltip

That's it. No background services, no extra processes, no telemetry. Single ~300-line PowerShell script using WinForms NotifyIcon for the UI. The polling cadence matches Claude Code's own internal polling, with jitter added so we don't sync.

Before each call the script checks the token's expiresAt. If the token is expired (or within 60 seconds of it), the call is skipped entirely: the tray shows last-known numbers with an "open Claude Code" hint and re-checks on the next poll. This matters because the tray does not refresh tokens itself (Claude Code owns that). Sending an expired token just returns 401, and repeated 401s get escalated by the API to a 429 and a 60-minute lockout. Skipping the doomed call avoids that loop, and the tray self-heals the moment Claude Code writes a fresh token.

On 429 (rate limited), the script honors Retry-After and backs off. On 401, it backs off for 5 minutes (rather than hammering every 5 minutes) so a rotated or not-yet-refreshed token can't escalate into a 429 lockout.

Privacy and security

  • Your OAuth token never leaves your machine except in the Authorization: Bearer header sent to api.anthropic.com over TLS 1.2.
  • No telemetry. The script makes exactly one HTTPS call (to Anthropic) per poll. There are no other network destinations.
  • The log file (%LOCALAPPDATA%\claude-usage-tray\tray.log) records timestamps of errors and start/stop events. No tokens, no response bodies.
  • Response body is capped at 1 MB before parsing to prevent memory-exhaustion from a hostile or misconfigured response.
  • Retry-After is capped at 1 hour so a bad 429 header can't lock the tray out indefinitely.
  • Source is ~320 lines of PowerShell with zero runtime dependencies. Audit it yourself in 10 minutes.

Threat model note: like Claude Code itself, the running script holds your OAuth token in memory during each poll (~5 ms per fetch, every 5 min). Any process running as the same Windows user can read that memory. This is inherent to all credential-using local utilities. If your threat model includes a hostile process running as your user, this tool is not a meaningful additional exposure on top of Claude Code itself, but it's worth knowing.

Disclaimer

This is an independent, unofficial tool. Not affiliated with or endorsed by Anthropic.

It uses an undocumented Anthropic endpoint (/api/oauth/usage) that powers Claude Code's own usage display. Anthropic may change or remove that endpoint at any time. If they do, this tool will break and that's a fixable bug, not a guarantee of service.

Use at your own risk. The MIT license disclaims all warranties.

Credits

The idea, the endpoint, and the color-threshold model come from Harsh1210/claude-usage-bar, a VS Code extension that does the same thing inside VS Code's status bar. If you live in VS Code, install that instead. This project is a Windows-tray equivalent for cross-IDE users.

License

MIT. See LICENSE.