Repository navigation
Releases
0.12.0: the orbit, on the phone, iPhone and watch
Every client now draws your accounts as the orbit: each account's week is a thread, bright for what's left and faint where it's used, with a bead where it runs out. Claude's accounts twist round the outer ring, Codex's round the inner one.
Wear OS (AIusageWear 0.6.0), first watch release on GitHub
- The orbit is the app and a tile. Tap a ring: it blurs a little and the family's session and week left circle over it, slowly turning, with the Claude or Codex mark in the middle. From the tile, the outer ring opens Claude's figures and the inner opens Codex's.
- The images are drawn off the main thread once per data change and cached, so opening the app and tapping cost almost nothing.
- The Session and Weekly pages and the old two-arc tile are removed. Setup, complications and alerts stay.
- Works with servers older than
/pool: the orbit is built from each provider's/usageinstead.
Android (AIusageWidget 0.12.0)
- New 2x2 orbit widget; the dot-matrix 2x2 is removed.
- Threads redrawn as a true braid: clear over-and-under at every crossing for any number of accounts, with no seams.
iPhone (build from source, ios/)
- Brought level with Android: the family cards, the tap card with the five-hour graph, every provider and pool fetched in parallel.
- Widgets: orbit (small), dash (medium), threads (medium, with 5H LEFT, BURN and USABLE NOW; also Lock Screen) and the pooled ring (Lock Screen). The ring is also the app's icon.
Installing
Both APKs are signed with a local debug key from a different machine than earlier releases, so they won't install over an older copy. Uninstall the old app first, then pair again (aiusage-server -pair).
The Claude mark comes from Simple Icons (CC0) and the Codex mark from LobeHub Icons (MIT). Both are their owners' trademarks and are shown only to identify the provider.
🤖 Generated with Claude Code
Widget 0.11.1: pooled Claude accounts
Android widgets and app for several Claude accounts, plus the server and tray changes they need.
Phone (AIusageWidget 0.11.1)
- The 1x1 ring pools every account of the selected family: the ring is what you can spend now, the pie the pooled week.
- The tap card shows Claude and Codex side by side (5h and 7d, with a bar segment per account and what the next reset brings back), a 12-hour graph of the pooled session with upcoming reset steps (remembers the Claude/Codex toggle), and every account's week as twisted threads.
- The app shows each family's Session and Weekly cards with a row per account (email, % left, reset countdown). Pairing and "Widgets show" moved to the ••• sheet.
- Works with older servers: without
/poolit falls back to the per-provider look.
Server
-cliproxy-url/-cliproxy-key-file: read per-account Claude limits from a local CLIProxyAPI hub, served as providersclaudeandclaude2with anaccountfield.GET /pool?family=claude|codex: pooled limit, burn rate, 7-day projection with reset step-ups, and 14 days of history.
Linux tray
- Lists every provider with meters and reset times; the top bar shows both Claude accounts by default (
Claude 42 · 17%) with a two-bar icon.
Signed with the same local key as earlier releases, so it installs over them.
Widget 0.7.0: threads
Adds the threads widget (4x1, resizes wider): Claude's and Codex's weekly limits as two twisted threads, bright for what's left, faint for what's used. The tap card ends with the same strip.
Android widgets 0.6.1 — Refresh waits for Claude
Refresh no longer leaves Claude stale while Codex updates. The app now waits up to 45s for the server, which refreshes Claude's numbers before answering, instead of giving up after 15s and falling back to old data.
Android widgets 0.6.0 — Claude and Codex together
Tap a home-screen widget and the card now shows Claude and Codex together, each with both limits, reset times, pace and its own "updated" age. Use Show on widgets on either one to pick which provider the widgets draw. Switching is instant and works mid-refresh: every refresh fetches both providers in parallel and keeps a separate cache for each.
The app has a new design in the widgets' Nothing style. It has the same two-provider panel as the card, and a compact gallery showing the four widgets with your live numbers, plus chips to preview any state. Tap a widget to add it. Unpair is now in the footer and asks before it acts.
Widget fixes:
- When the weekly limit runs out, the strike no longer crosses text. The dash strikes only the spent bar, and the matrix's diagonal passes behind the countdown.
- The dash reads "62%" over "5H LEFT", and the matrix shows the % too.
- Any headroom lights at least one dot, so 1% left no longer looks like empty.
Download AIusageWidget-0.6.0.apk and install it over the existing Android app. Android 12+; development-signed with the same key as earlier releases. SHA256SUMS contains its checksum. After upgrading, the provider that wasn't selected fills in on the first refresh (opening the app or tapping a widget).
Works with the v0.5.0 server. Server, tray and watch downloads.
Validation: Android unit tests and release build; checked on an emulator with Nothing Launcher against a live server, including switching providers during a refresh.
v0.5.0 — Standalone Go server and Linux tray client
The usage server now runs independently of the Linux tray. aiusage-server is a standalone Go service with no GTK dependency; aiusagebar is a paired HTTP client, like the phone, watch and iOS apps. Closing or restarting the tray leaves the server running.
- Separate Linux amd64 archives for the server and tray, with installation/migration instructions and an example user service.
- Existing mobile tokens, API endpoints and alert state are preserved. Pair the new tray once for its own device token.
- Claude/Codex selection stays in the Android widget tap card, as in v0.4.1. Phone/watch pairing help now points to
aiusage-server -pair. - Tray provider caches, source freshness and offline state are isolated. Public server connections require HTTPS.
Upgrade: stop the old combined process, start aiusage-server with its previous server flags, run aiusage-server -pair, then aiusagebar -server URL -pair CODE. Start aiusagebar without the old server flags. See README.md for the independent user service and tray autostart.
Validation: GPT-6.1 Sol xhigh review; Go race tests/vet; static server and tray builds; isolated binary pairing/both-provider/restart checks; Android 28 and Wear OS 18 tests, release builds and lint. GitHub Go CI and the native iOS app/widget simulator build also passed. SHA256SUMS covers all binary assets.
iOS app and Liquid Glass widgets are included as source under ios/. No signed IPA is provided; installation requires Xcode and your Apple signing team.
Android widgets 0.4.1 — Switch providers from the widget card
Tap any home-screen widget to open its card, then choose Claude or Codex in the header. The switch has moved out of the main setup/gallery app.
Choosing a provider updates the expanded card and all home-screen widgets using the existing pairing. The selected provider has its own accent and outline, and both controls expose their selection state to accessibility services. Refresh and provider changes share the same busy state to avoid overlapping actions.
Download AIusageWidget-0.4.1.apk and install it over the existing Android app. Android 12+; development-signed with the same key as v0.4.0. SHA256SUMS contains its checksum.
Compatible with the v0.4.0 desktop bridge. Server and watch downloads.
Validation: 28 Android unit tests, release build and lint. Reviewed by GPT-6.1 Sol. Device UI preview was unavailable in this environment.
AIusageBar 0.4.0 — Codex support
Codex subscription quotas now work across the desktop server/tray, Android app and widgets, Wear OS app/tile/complications, and iOS app/widgets. Select Claude or Codex in each app. Codex uses the official CLI's existing ChatGPT login on your desktop.
- Provider-specific quotas, reset times, caches, source freshness, and alerts. All captions use the reported window duration, including hourly/daily combinations. Codex cost estimates are unavailable.
- Android ring, matrix, and dash designs with green Codex accents; provider selection across Wear OS surfaces and alerts.
- iOS source includes matching ring, matrix, and dash widgets plus a circular Lock Screen widget. App cards use Liquid Glass on iOS 26; Home Screen widgets support the system's Clear appearance. Earlier iOS versions use material backgrounds.
- Concurrent iOS widget refreshes wait for one shared fetch.
Downloads:
AIusageWidget-0.4.0.apk: Android app and Home Screen widgets, Android 12+.AIusageWear-0.4.0.apk: Wear OS companion, Wear OS 3+.AIusageBar-0.4.0-linux-amd64.tar.gz: Linux desktop tray/server, built on Ubuntu/Pop!_OS 22.04 with GTK 3/Ayatana runtime libraries. Includes setup notes and license.SHA256SUMS: checksums of the three downloads.
Android and Wear APKs are development-signed for sideloading; the previous signing key is retained. Update the desktop bridge before selecting Codex in a companion app.
iOS is source-only: build ios/ with Xcode 26+, XcodeGen, and your own signing team. No installable IPA is included. Physical iPhone pairing, shared Keychain behavior, and Liquid Glass appearance remain unverified.
Validation passed: Go tests, race checks and vet; Android (28 tests) and Wear OS (18 tests), release builds and lint; 31 Swift core tests and the concurrent-fetch regression check. The native iOS app and WidgetKit extension build also passed on macOS/Xcode. Two GPT-6.1 Sol reviews completed; all findings were fixed before release.
Android widgets 0.3.5
Claude usage as Nothing-style Android home-screen widgets: a 1x1 and a 2x2 ring, a 2x2 dot matrix and a 4x2 dashboard. Tapping a widget opens a card with both limits, their resets and a refresh.
Needs Android 12 or newer and a running AIusageBar bridge (./aiusagebar -serve :8765). Install the APK, open the app, and pair it with a code from ./aiusagebar -pair.
The APK is signed with a development key, so it installs over earlier builds from the same source only.
🤖 Generated with Claude Code