Claude Code Usage Taskbar

A Windows taskbar widget that keeps your Claude Code limits in view: the 5-hour and weekly windows, the Fable weekly cap, and the context window of the session you are working in right now. It also shows Codex, Google Antigravity, OpenCode Go, and Cursor usage.

Claude Code Usage Taskbar is a maintained continuation of Claude Code Usage Monitor by Craig Constable (MIT). It keeps that project's theme engine, Theme Studio, multi-account support and providers, and adds what Anthropic's newer plans and Claude Code's newer builds report.
What is new here
- Model caps (Fable). Anthropic reports per-model weekly caps in the usage API's
limits array; the widget shows the cap that binds you (Fable 37% · 4h) next to the weekly bar, and every cap is available to themes as {claude.model..*}.
- Session context. How full the context window of your current Claude Code session is (
ctx 41%), read from the local transcript every 5 seconds. With several sessions open (say five editor windows, each with its own chat) it follows the one that spoke last, and the tray tooltip names its project folder. Works with the terminal CLI and the VS Code extension; nothing leaves your machine.
- Widget position. Dock the widget at the left edge of the taskbar or beside the notification area. The default follows your taskbar: the free left end when Windows centres its buttons, the tray side when they start at the left edge.
- Clearer failures. The tray tooltip says why the bars are blank: an expired login, no login, or an unreachable service.
- Desktop-app logins are picked up on machines without the CLI, including the app's newer token cache.
Features
- Displays current usage and time remaining until each limit resets
- Counts usage up from zero or down from the full allowance, whichever you prefer
- Supports Claude Code, Codex, Google Antigravity, OpenCode Go, and Cursor
- Supports multiple accounts for Claude Code and Codex
- Lives in the Windows taskbar with quick controls in the system tray
- Supports multiple monitors and Windows startup
- Includes configurable refresh intervals, providers, languages, and updates
- Provides built-in themes and a visual Theme Studio for custom layouts
- Collects no analytics or telemetry
Requirements
- Windows 10 or Windows 11
- At least one supported provider installed and signed in
Claude Code credentials can be detected from the CLI, Claude desktop app, or WSL. Other providers are optional and can be enabled independently from the dashboard.
Installation
Install with WinGet:
winget install groovg.ClaudeCodeUsageTaskbar
Or download claude-code-usage-taskbar.exe from GitHub Releases and run it. A portable copy updates itself from that page; a WinGet install upgrades through winget upgrade and is offered the version WinGet publishes.
The executable is not code-signed, so the first launch of a downloaded copy may show a SmartScreen prompt ("Windows protected your PC"): click More info, then Run anyway. Every release also publishes claude-code-usage-taskbar.exe.sha256 to check the download against.
Usage
Start the monitor:
claude-code-usage-taskbar
Open the settings dashboard directly:
claude-code-usage-taskbar --dashboard
Use the dashboard to select providers, change the refresh interval, choose a display, enable startup, or customize the widget. Settings > Display > Usage direction switches the default theme and other themes that support this setting between showing what has been used and what is left, with Used as the default. Selecting Remaining makes a fresh limit read 100% and drain as you work.
Theme authors can opt in with .display bindings, including {claude.session.display:usage_line} and {claude.session.display:usage_badge}. Existing .percentage, .remaining, and unsuffixed usage summaries keep their meaning; warning thresholds should continue to use .percentage.
Settings > Display > Widget position docks the built-in themes at the left edge of the taskbar or beside the notification area. Automatic (the default) picks the left edge when Windows centres its taskbar buttons (the Windows 11 default) and the tray side when they start at the left, where the Start button would otherwise be covered. Custom themes keep the placement set in Theme Studio.
Model caps and session context (Claude Code)
Anthropic reports model-scoped weekly caps (Fable today) in the limits array of the usage endpoint. The Classic theme appends a column for them next to the Claude Code bars whenever the account reports one. Bindings:
{claude.scoped.*} — the cap that matters now: the one the API marks active, otherwise the fullest. .label (Fable), .percentage, .remaining, .display, .reset.*, .active, .available, .count, and {claude.scoped:usage_line} (43% · 2d).
{claude.model..*} — every reported cap by name, for a bar per model: {claude.model.fable.percentage}. The slug is the display name in lower case with runs of punctuation and spaces folded to _.
The same column shows the context window of a local Claude Code session, read from its transcript under ~/.claude/projects every five seconds. Which session: the one whose transcript was written most recently, i.e. the chat that last sent or received a message. With several sessions open the figure switches to whichever you are actively using; sub-agent transcripts are ignored. Bindings: {claude.context.percentage}, .remaining, .display, .tokens, .window, .model, .project (last folder of the session's working directory), .available, and {claude.context:usage_line} (14%). Claude Code offers two window sizes, 200k and 1M. A session already holding more than 200k tokens is on the 1M one, which also covers the case where the model was chosen with /model and nothing on disk records it. Otherwise the model setting decides, 1M when it carries the [1m] suffix: the session's .claude/settings.local.json and .claude/settings.json are consulted before ~/.claude/settings.json, as Claude Code does. A 1M session under 200k tokens therefore reads against 200k until it grows past that. The figure is a share of the window, so it sits a little below Claude Code's own "% remaining until auto-compact", which counts down to a threshold slightly before the window ends. Nothing is sent anywhere; it works with the terminal CLI and the VS Code extension alike.
In the default theme, left-click a provider tray icon to show or hide the widget and right-click it to open the menu.
Provider setup
| Provider | Setup |
|---|
| Claude Code | Sign in with the Claude Code CLI or desktop app. Windows and WSL credentials are detected automatically. |
| Codex | Install and sign in to the Codex CLI, then enable Codex in Providers. |
| Google Antigravity | Sign in to Antigravity, then enable it in Providers. |
| OpenCode Go | Connect an OpenCode Go account, configure the credentials described below, then enable OpenCode in Providers. |
| Cursor | Sign in to Cursor, then enable it in Providers. The local session is detected automatically. |
For OpenCode Go, set OPENCODE_GO_WORKSPACE_ID and OPENCODE_GO_AUTH_COOKIE, or create %APPDATA%\opencode-go\config.json:
{
"workspaceId": "wrk_01...",
"authCookie": "your-opencode-auth-cookie"
}
The workspace ID is part of the OpenCode Go console URL: https://opencode.ai/console//go. The auth cookie comes from an authenticated opencode.ai browser session. Set OPENCODE_GO_CONFIG_FILE to use a different config path. The monitor reads usage from the console JSON API using this workspace ID and cookie.
For Cursor, CURSOR_SESSION_TOKEN can override the automatically detected local session.
Data and privacy
The monitor reads local sign-in credentials for enabled providers and sends usage requests directly to their official services. It has no backend service, collects no telemetry, and does not upload credentials or project files.
Credentials are read without modifying the provider files that contain them. OpenCode Go credentials saved in a JSON configuration file are plain text and should be protected like a browser session cookie.
Troubleshooting
Run diagnostics with:
claude-code-usage-taskbar --diagnose
The diagnostic log is written to %TEMP%\claude-code-usage-taskbar.log. Application settings are stored in %APPDATA%\ClaudeCodeUsageTaskbar\settings.json.
Build from source
Install Rust 1.95 or later, then run:
cargo build --release
The executable will be created at target\release\claude-code-usage-taskbar.exe.
License
Licensed under the MIT License.