Skip to content

About

Native Windows app (WinUI 3, .NET 10) for Claude Code and Codex token usage, estimated cost and runtime. Local-only.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

AI Usage (native)

CI Latest release MIT license Project site

A native Windows app that shows how much Claude Code and Codex you use: tokens, estimated cost and approximate runtime, overall, per project and per day. It reads the agents' own transcript files on this PC. Nothing leaves the machine: no network calls, no server, no account.

Built with WinUI 3 on .NET 10. A native port of the AI Usage Dashboard web app, sharing its design and its parsing rules but no code.

The whole Claude Code overview, top to bottom: total estimated spend, tokens and runtime; daily spend; cost by model; activity cards; the six-month heat map; daily spend by project; daily tokens and spend by model; token detail and model prices

The light theme, the projects page, and Codex

A light theme sits beside the dark one - Settings > Theme picks Dark, Light, or the Windows setting.

The same Claude Code overview in the light theme: white cards on a grey page

Projects open with a share-of-spend ring, because a ranked list looks the same whether the top project is 60% of your spend or 15%. Each project is drawn in its own colour - its logo's, or one you pick - and a slice opens it.

The projects page: a share-of-spend donut in per-project colours above the ranked list of projects, each with its share bar by model and its options menu

Codex gets its own accent, and its headline says API-equivalent spend, not "total spend": it is commonly used on a flat subscription, where these tokens were never billed individually.

The whole Codex overview, in its own teal accent, headed API-equivalent spend

Every number in those images is invented. They are captured from the synthetic transcripts demo-data writes (see Development). A real screenshot of this app would be a screenshot of somebody's projects, paths and spending.

Download

Get AIUsage-<version>-win-x64.zip from the latest release, unzip it anywhere, and run AIUsage.exe in the AI Usage folder. It carries its own .NET and Windows App SDK runtime, so nothing else needs installing. Windows 10 1809 or later, x64.

The build is not code-signed, so SmartScreen will say it does not recognise the app: More info → Run anyway. With Smart App Control turned on, Windows may refuse it outright; build it yourself instead (below). Signing is being considered.

Build and install from source

Needs the .NET 10 SDK to build (Visual Studio is not needed), then:

powershell -ExecutionPolicy Bypass -File tools\Install.ps1

That publishes a self-contained build to %LOCALAPPDATA%\Programs\AI Usage, adds AI Usage to the Start menu, and lists it under Settings → Apps → Installed apps (and Control Panel's Programs and Features). The installed app carries its own .NET and Windows App SDK runtime (~190 MB), so it needs neither installed. Run the same command again to update.

To uninstall, use Uninstall on its entry in Installed apps, or run tools\Install.ps1 -Uninstall. Either way your settings, archive and logos in %LOCALAPPDATA%\AI Usage Native are kept; add -RemoveData to the script to remove them too. The zip download is not installed at all: exit it from the tray and delete its folder.

Windows 10 1809 or later, x64. Built and tested on Windows 11. The build is unsigned: with Smart App Control on, Windows may block it.

Using it

  • Sidebar: switch between Claude Code and Codex. Top bar: Overview and Projects, Refresh (or F5), and Settings.
  • Zoom like a browser: Ctrl+Plus / Ctrl+Minus, Ctrl+mouse wheel, and Ctrl+0 to reset, from 50% to 200%. The page reflows rather than scrolling sideways, and the level is remembered. The same commands are in the Settings menu.
  • The tray icon shows today's spend for each agent. Closing the window keeps the app there; right-click the icon to exit.
  • Refresh when transcripts change is on by default: while an agent is writing, its numbers update at most once a minute.
  • Start at login is in Settings and in the tray menu. It starts straight to the tray.
  • Project logos: in a project's ⋯ menu choose Set logo…, or drag an image onto its card. SVG, PNG, JPG, WebP, GIF, BMP and ICO all work. Logos live in %LOCALAPPDATA%\AI Usage Native\project-logos\<agent>\, one file per project named after it (My App.svg); dropping files there works too, and Import project logos… copies in a whole folder.
  • Hide from project list (⋯ menu) hides a project from the list only. Its spend still counts in every total and chart.
  • Rename… (⋯ menu) changes the name a project is shown under. Only the label changes - the folder is left alone - and logos are matched by the new name. Reset goes back to the folder's name.
  • Merge into… (⋯ menu) counts one project as part of another - a folder that moved, or a private and a public copy of the same work. Its spend, sessions and history join the chosen project under that project's name; no total changes. Unmerge, in the merged project's menu, separates them again, except for days whose transcripts are already gone.
  • Project colours: the charts split by project (the Projects page's donut and the overview's Daily spend by project) draw each project in its own colour - the one you pick with Change colour… in its ⋯ menu (a colour picker with a hex field), else its logo's dominant colour with the logo's background left out, else one from a fixed palette. Click a donut slice or a legend row to open that project.
  • Daily spend by project, after the heat map on the overview: spend stacked by project over the last 30 days, the last 90, or every day on record.
  • Theme: Settings → Theme picks Dark (the default), Light, or the Windows setting.
  • Model prices, the last panel on the overview, lists each model's rate. Set price (or Edit) gives a model the rate card does not know yet a price of its own: it wins over the card, and every figure is recomputed with it, archived days included. The same editor picks the model's colour from shades of the agent's accent.
  • A project page has the overview's sections in the overview's order, for that project - without the third row of activity cards and the price table, and with its stacked charts opening on every day - followed by a day-by-model table.

Settings files

Everything the app writes is in %LOCALAPPDATA%\AI Usage Native\ (Settings → Open settings folder):

File What
config\settings.json localUtcOffsetHours, weekStartsOn (monday/sunday/saturday), maxIdleGapMinutes
config\projects.json, config\codex-projects.json merge a renamed folder's history into its new name; displayNames
config\pricing.json, config\codex-pricing.json a rate card that replaces the built-in one
model-settings.json, codex-model-settings.json prices and colours set in the Model prices table, one model at a time
project-colors.json, codex-project-colors.json colours picked for projects with Change colour…
project-settings.json, codex-project-settings.json merges and names set with Merge into… and Rename…; for one project they win over projects.json
history\ the daily archive that keeps days after the agents delete their transcripts

Every key is optional. Refresh after editing.

The two cost figures mean different things

Agent Headline Meaning
Claude Code Total estimated spend Tokens priced at Anthropic's per-token API rates
Codex API-equivalent spend What these tokens would cost through the OpenAI API. On a ChatGPT subscription this is not what you paid.

Do not add the two together.

Caveats

  • Estimates, not bills. Rates come from the built-in rate cards; the Cost by model panel says when each was last verified. A model missing from the card is flagged as unpriced, never counted as free, until you set its price. Claude Code's <synthetic> placeholder (a turn with no API call) is not counted as a model or a message.
  • Runtime is approximate: the sum of gaps between transcript lines, with gaps over 30 minutes treated as time away.
  • Codex fast mode doubles API rates and is not recorded in the transcripts, so heavy fast-mode use would cost more than shown.
  • Codex long prompts are priced as OpenAI bills them. On the models whose card entry has a longContext tier, a request whose prompt is over 272K tokens costs 2x the input and cache rates and 1.5x output; each request is checked on its own. Cache-write rates are on the card too, though Codex has not logged a cache write so far.

Development

dotnet build AIUsageNative.slnx
dotnet test --project tests\UsageCore.Tests\UsageCore.Tests.csproj
dotnet run --project src\UsageCli -- parse claude     # diagnostics and totals; or codex
dotnet run --project src\UsageCli -- demo-data         # synthetic transcripts for both agents

demo-data prints three environment variables that point the app at the invented transcripts. Set all three, including AIUSAGE_DATA_DIR, or the invented days are merged into your real archive. A copy pointed at its own data folder runs beside the one in your tray.

Script Does
tools\Capture-Views.ps1 Screenshots any page, at any scroll offset or top to bottom, on the demo data
tools\Capture-Readme.ps1 Regenerates the screenshots above, in both themes
node site/build.mjs Builds the project site into site/dist/ (see site/README.md)
tools\Package-Release.ps1 Builds the release zip
dotnet run tools/make-social-preview.cs Redraws .github/social-preview.png
dotnet run tools/make-icon.cs Rebuilds app.ico from app-icon.svg

Issues are welcome; see CONTRIBUTING.md, and report security problems privately as SECURITY.md describes.

License

MIT, except for the third-party material below.

Trademarks

Claude and Claude Code are trademarks of Anthropic. Codex and ChatGPT are trademarks of OpenAI. Their marks in src/UsageApp/Assets/AgentMarks are the vendors' own files, unmodified. This project is not affiliated with or endorsed by either. Geist is © Vercel, under the SIL Open Font License (src/UsageApp/Assets/Fonts/OFL.txt).

About

Native Windows app (WinUI 3, .NET 10) for Claude Code and Codex token usage, estimated cost and runtime. Local-only.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages