Repository navigation
Releases: Kohei-SAWADA/usage_kun
Release list
usage_kun v0.4.7 — Windows sync approval
Windows v0.4.7 packages the latest verified Windows source with explicit sync approval. Review Sync sources, then choose Start sync to save approval before the app reads usage sources or credentials. Save alone does not approve sync. Existing explicit off choices remain off. Both the app and core are version 0.4.7.
Download UsageKun-Windows-x64.zip for Windows 10/11 on Intel / AMD x64. Extract all files together and run UsageKun.exe; the .NET runtime is included. Windows ARM is unsupported. macOS remains v0.4.4: macOS download.
The package passed the Windows Release build (zero warnings/errors), isolated Core checks, the bundled x64 Core checks, and 92 WPF checks. The packaged Settings screen showed 0.4.7; restart and single-instance checks passed. A separate read-only diagnostic using the matching 0.4.7 Core fetched Codex official usage successfully. The running GUI refresh result and floating-meter/native-tray visuals were not captured. Live Claude/Antigravity sync and logout/login startup were not tested.
The Windows-only source ZIP preserves all 30 exact build inputs. SOURCE_INPUTS.sha256, SOURCE_INPUTS.json, and BUILD_MANIFEST.json record source/package identity. The packaged executable is unchanged from the previously verified 0.4.7 build; documentation and sanitized publication metadata were updated afterward. No personal configuration, credentials, live quota values, or machine-specific logs are included. The app is unsigned.
Windows v0.4.7 は、明示的な同期承認を含む最新ソースをまとめた配布版です。Sync sources で使うソースを確認し、Start sync で承認を保存してから、使用量ソースや認証情報の読み出しを始めます。Save だけでは同期を承認しません。既存の明示的なオフ設定は保持します。アプリ・コアともに 0.4.7 です。
Windows 10/11 の Intel / AMD x64 では UsageKun-Windows-x64.zip をすべて展開し、UsageKun.exe を起動してください。.NET ランタイムを同梱しています。Windows ARM は非対応です。macOS は v0.4.4 のままです:macOS のダウンロード。
Windows Release ビルドは警告・エラー 0、隔離した Core チェック、ランタイム同梱 x64 Core チェック、WPF 92 項目が成功しました。配布アプリの設定画面で 0.4.7 を確認し、再起動・単一起動も確認しました。対応する 0.4.7 Core を使った別の読み取り専用診断で、Codex の公式使用量 API 取得に成功しています。運用中 GUI の更新結果とフローティングメーター・トレイの実表示は取得できていません。Claude / Antigravity の実同期とログアウト・ログインは未検証です。
Windows 専用ソース ZIP に、ビルドに使った 30 ファイルをバイト単位で保存しています。ソース・配布物のハッシュと検証結果は SOURCE_INPUTS.sha256、SOURCE_INPUTS.json、BUILD_MANIFEST.json にあります。実行ファイルは検証済み 0.4.7 と同一で、説明資料と個人情報を除いた公開用記録を後から更新しています。実設定・認証情報・個人の残量・端末固有のログは含めていません。実行ファイルは未署名です。
usage kun 0.4.4 — Login startup
usage kun v0.4.4
Login startup is enabled once for fresh installations. Settings can turn it on or off and reports OS approval, disabled status, and registration failures. Existing explicit off choices and OS-disabled entries survive upgrades. Legacy installations without a startup item stay off. macOS requires the app in Applications before automatic registration; Windows uses a single current-user Run entry. No repeated registration on launch or usage refresh. Enabled moved installations repair the existing entry once, without changing OS approval controls.
Only startup handling and its documentation/tests changed. The Windows v0.4.3 quota fixes and macOS usage measurement remain unchanged.
日本語
新規インストール時に一度だけ自動起動を登録し、設定画面から変更できます。既存のオフ選択と OS の無効化を更新時に保持します。旧版で登録がない場合はオフを維持します。macOS は Applications への配置後に登録します。OS の承認待ち・失敗を設定画面に表示し、承認を回避しません。起動や使用量更新のたびに再登録しません。
Validation limits
Automated checks cover fresh installation, no repeated registration, explicit off, OS removal/approval, relocation, failures, and persisted settings reconstruction. macOS build/core checks and Windows build/core/WPF checks are required before the release workflow publishes. No logout, reboot, real login cycle, or physical Windows startup is claimed. macOS assets are Apple Silicon, ad-hoc signed and not notarized; Windows x64 assets remain unsigned and self-contained.
usage_kun v0.4.3 — Windows quota accuracy
usage_kun v0.4.3
Windows quota readings no longer turn an expired snapshot or a rounded decimal
into a full allowance. This release contains Windows assets only. macOS remains
on the existing v0.4.2 download; its source, settings, behavior, and published
asset are unchanged and are not rebuilt or replaced for this release.
| Platform | Download |
|---|---|
| Windows (Intel / AMD, x64) | UsageKun-Windows-x64.zip · SHA-256 |
| macOS (Apple Silicon, unchanged v0.4.2) | UsageKun-macOS.zip |
Windows fixes
- Remove the local Codex reset-expiry shortcut that invented 100% remaining
and afreshlabel. A synthetic 95% remaining record with a past reset
reproduces the old result; it now stays unknown until a new reading arrives. - Keep decimal percentages through the weekly path and display. 99.5% remains
99.5%. Only an exact 100% reading displays 100% or fills the tray bar completely. - Treat stale, future-dated, missing-timestamp, expired, and invalid readings as
unknown. Local quota records expire at 30 minutes; timestamps more than
5 minutes in the future are rejected. Rereading an old file does not make
its quota current. Failed authenticated sync leaves quota unknown, including
when historical local logs belong to an unverified account. Local-only readings
do not verify account switching or activity on other devices. A failed refresh
does not retain an old percentage as
a successful current reading. - Use field-defined units and reported window durations. Used and remaining
percentages are converted once, Claude OAuth utilization remains a percentage,
a weekly primary window stays weekly, and missing windows stay unknown.
General Codex quota remains separate from model-specific limits. - Stop presenting Claude token-cap estimates as subscription remaining quota
or reset times on Windows. Local logged token and API-equivalent cost details
remain available; usable opt-in official Claude quota is required for a
percentage. Existing calibration/settings files can remain in place.
Codex quota is Codex quota even when the CLI uses a ChatGPT sign-in. It does not
measure ordinary ChatGPT chat limits or API billing, and this app does not add a
separate ChatGPT chat-quota meter. Existing sync remains opt-in and reads existing
credentials without saving, refreshing, or logging them. No model request is
made to manufacture a new quota reading.
Updating
On an Intel / AMD Windows PC (x64), quit usage_kun, extract the v0.4.3 ZIP,
and replace the complete app contents at the existing location. Keep
%APPDATA%\usage_kun and the existing CLI sign-ins/logs; no migration is required.
Start UsageKun.exe and choose Refresh now. The package includes the runtime;
the executable is unsigned. Windows ARM remains unsupported.
See the Windows guide for update steps and unknown-value guidance.
macOS users continue to use the unchanged v0.4.2 package.
Validation and limits
- Synthetic regression coverage includes 94.9, 95, 95.1, 99, 99.5, and 100,
used/remaining conversion, Claude OAuth values below 1, missing windows,
weekly-only and reversed windows, invalid values, expired resets, stale and
future timestamps, failed reads, and separation of providers/model buckets. - Windows CI passed the solution build, core and isolated WPF checks, and reran
the core checks as a self-contained single-file x64 executable to exercise
bundled SQLite, then packaged and published the Windows x64 ZIP with its SHA-256 files.
The existing macOS CI build/core checks do not publish a macOS asset. - Live authenticated Windows account comparison and physical mouse/tray
interaction have not been verified. WPF checks use synthetic fixtures and
invoke handlers rather than physical mouse input. The reproduced defects
do not establish that the user's live 95% discrepancy had the same cause. - No macOS UI inspection is repeated for this Windows-only implementation.
Windows auxiliary Codex statistics fromstate_5.sqliteand toast notifications
remain unsupported.
The review used similar Windows open-source projects as design references; no
third-party code was copied. See provider details
for source distinctions, references, and limitations.
Verified for release commit 95f1caa: Windows-only build and publication, main CI, and PR review.
The public ZIP was downloaded after publication; its SHA-256 matched both the published checksum and GitHub asset digest: 144ae94c0050045d84ead510519d34318eba322609e393fdeb780ddbe7e2b933. The archive contains the Windows x64 UsageKun.exe. The existing macOS asset retained ID 569701478 and SHA-256 7448f91e5325fc5958074ad84ec4ee427165d99b24739e48c62e651f113375e6; its download URL remains valid.
usage_kun v0.4.2 — Windows x64 quota fix
usage_kun v0.4.2
Windows now supports Intel / AMD PCs (x64) only, and Codex quota no longer misses newer live local readings. macOS behavior, including Apple Silicon support, is unchanged.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | UsageKun-macOS.zip |
| Windows (Intel / AMD, x64) | UsageKun-Windows-x64.zip |
Windows
- Remove Windows ARM packaging, CI builds, and ARM-specific Antigravity process discovery. Reject Windows build targets other than x64. Windows ARM, including Windows on Apple Silicon Macs, is no longer supported. Older releases and their assets are retained as history.
- Read Codex live quota from
logs_2.sqlitein read-only mode, then compare its event timestamp with session JSONL records. Previously a stale session could show 80% remaining while a newer live event reported 25%; this is reproduced in a regression fixture. - Exclude model-specific rate-limit records from the General Codex quota. Previously a newer model-specific session event could overwrite the General reading.
- Keep remaining-quota conversion, quota-window labels, opt-in official sync precedence, refresh cadence, and settings schema unchanged. Check absolute reset timestamps, timezone offsets, event-relative reset delays, subsecond ordering, and database fallback paths.
- Bundle SQLite with the self-contained executable; users do not need a separate SQLite or .NET installation.
Updating
Quit usage-kun, extract the appropriate release ZIP, and replace the app at its existing location. Keep %APPDATA%\usage_kun on Windows or ~/Library/Application Support/usage_kun on macOS. CLI sign-ins and logs also remain in place; no settings migration is needed.
If you move the app, update its shortcuts and startup registration. See the detailed English or Japanese instructions. Windows ARM has no supported update from this version onward.
Validation and limits
- Local macOS Swift build, core checks, publication preflight, and ZIP extraction/signature verification passed. macOS source and tests are unchanged; only release metadata advances to 0.4.2.
- Windows core fixtures cover the reproduced stale-source and wrong-bucket failures, newest-source selection, corrupt/missing/incompatible database fallback, reset formats, timezone offsets, official sync, and existing Claude/Gemini behavior.
- GitHub CI builds on Windows x64, runs core and isolated WPF checks, runs the core fixtures again as a self-contained single-file x64 executable to verify bundled SQLite, and builds the downloadable x64 ZIP. CI also runs the macOS build and core checks.
- Live authenticated Windows account comparison and physical mouse/tray interaction on an Intel / AMD PC have not been verified. Automated WPF checks use synthetic data; they do not simulate physical mouse input. macOS manual UI inspection was not repeated because its implementation is unchanged.
- Windows auxiliary Codex statistics from
state_5.sqliteand toast notifications remain unsupported. The macOS app is ad-hoc signed and not notarized; the Windows executable is unsigned.
The confirmed fixes address local-source selection (including fallback after failed official sync). They do not establish that every live-account discrepancy has the same cause. See provider details.
Windows x64 and macOS CI passed: build, core/WPF checks, bundled SQLite execution, and x64 packaging.
Main-branch verification also passed: CI for release commit 1c89ceb.
usage_kun v0.4.1 — macOS & Windows
usage_kun v0.4.1
Windows downloads are now available alongside the macOS app.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | UsageKun-macOS.zip |
| Windows (Intel / AMD) | UsageKun-Windows-x64.zip |
| Windows ARM64 / Parallels on Apple Silicon | UsageKun-Windows-arm64.zip |
Windows
- Native tray app and floating usage meter with working refresh/settings handlers and an independent settings window.
- Codex 1W / 5H labels reflect the actual limit duration, including weekly-only plans.
- Opt-in official Claude/Codex usage sync and Gemini (Antigravity) local quota support.
- Clear unavailable-data messages, small-screen scrolling, and persistent settings.
- Self-contained executables include the .NET runtime. Extract the ZIP and run UsageKun.exe. Sign in to the CLI or Antigravity inside Windows before enabling sync.
Validation
Windows ARM64 installation/startup, core checks, and 27 isolated WPF checks passed in Parallels. GitHub CI builds the Windows solution, runs core and WPF checks, and packages both Windows architectures. SHA-256 checksums are included.
Live account sync and physical mouse/tray interaction have not been verified in the Parallels session. Windows SQLite log reading and toast notifications remain unsupported; see the Windows guide.
macOS
The app behavior is unchanged from v0.4.0; the version number is aligned with this release. The macOS app is ad-hoc signed and not notarized. Windows executables are unsigned.
usage_kun v0.4.0
usage_kun v0.4.0
This release adds optional Gemini quota display from the running Antigravity IDE and fixes desktop widget controls and Codex window labels.
- The pinned widget's refresh and settings buttons accept clicks reliably. Settings opens in a separate, reusable window.
- Codex labels follow the reported quota duration: weekly-only plans show 1W / 1-WEEK, and five-hour limits show 5H / 5-HOUR. Unknown durations show LIMIT. Both official sync and local-log fallback preserve the duration.
- A sole secondary limit is displayed as the primary bar. When two limits are present, the shorter window is shown first.
- Gemini (Antigravity) can be enabled in Settings. It reads quota from the running local IDE without saving or logging its ephemeral credentials. Missing quota values remain unknown.
- Provider changes during an active refresh are reflected after the refresh finishes.
Validation
swift buildandswift run UsageKunCoreCheckpass, including weekly-only, secondary-only, dual-window, reversed-window, and unknown-duration Codex fixtures.- The user confirmed the installed macOS build works after the fixes.
- The release archive is checked by extraction and strict code-signature verification.
Installation
Download UsageKun-macOS.zip, unzip it, and move UsageKun.app into /Applications.
Requires macOS 14 or later. The ZIP contains an Apple Silicon build, ad-hoc signed and not notarized. Intel Mac users can build from source with Swift 6 and Xcode Command Line Tools.
usage_kun v0.3.1
usage_kun v0.3.1
This patch release publishes the responsive layout polish for single-provider mode.
Changed
- The popover now adjusts its height based on the visible provider count, so Claude-only or Codex-only mode no longer keeps the full two-provider layout.
- The pinned home meter uses the same provider-aware sizing and compacts when only one provider is enabled.
- The header metric and desktop next-action label follow the currently visible provider set.
Notes
- There are no changes to credential storage, official sync, or local usage parsing.
- Both providers are still enabled by default after updating.
日本語:
- Claude だけ / Codex だけの single-provider 表示で、popover の高さが自動で小さくなるようにしました。
- 固定ホームメーターも provider 数に合わせて高さが変わり、1 provider 表示では余白を抑えます。
- 上部の 5h メトリックと desktop の next-action label は、表示中 provider に合わせて切り替わります。
- credential storage、公式 sync、local usage parsing の挙動は変更していません。
usage_kun v0.3.0
usage_kun v0.3.0
This release adds per-provider visibility so you can show only Claude, only Codex, or both.
Added
- Settings > Providers: checkboxes for Claude and Codex. Only checked providers appear in the menu bar, the popover, and the pinned desktop meter. Unchecked providers are not fetched at all — no local log reads and no official-sync requests are made for them, and no notifications fire for them.
- The desktop meter's next-action label now reflects the overall status of whichever providers are visible, instead of always following Codex.
- A custom Usage Kun app icon is now bundled into the packaged macOS app, and the README screenshots were refreshed for the popover, pinned desktop meter, and provider settings.
- The popover and pinned desktop meter now resize automatically when only Claude or only Codex is enabled, so single-provider mode no longer leaves empty space. The header metric also follows the visible provider.
Notes
- Both providers are checked by default, so existing setups keep their current behavior after updating.
- If you uncheck both providers, the meters show an empty state until one is re-enabled in Settings.
日本語:
- Settings > Providers に Claude / Codex のチェック欄を追加しました。チェックしたプロバイダだけがメニューバー、popover、固定デスクトップメーターに表示されます。チェックを外したプロバイダは表示されないだけでなく、ローカルログの読み取りも公式同期のリクエストも行わず、通知も出ません。
- デスクトップメーターの next-action ラベルが、Codex 固定ではなく表示中プロバイダ全体の状態を反映するようになりました。
- 既定では両方チェック済みなので、アップデート後も今までの表示のままです。
- Usage Kun の app icon を
.appに同梱し、README の画像を popover、固定デスクトップメーター、provider settings の新しいものに更新しました。 - Claude だけ / Codex だけの single-provider 表示では、popover と固定デスクトップメーターの高さが自動で小さくなるようにしました。上部の 5h メトリックも表示中 provider に合わせて切り替わります。
usage_kun v0.2.2
usage_kun v0.2.2
This release fixes plan detection so the local Claude estimate is right for Max plans, adds a manual plan setting, and makes the Codex live rate-limit reader tolerant of plan differences.
Fixed
- Max 20x plans were treated as Max 5x in the local Claude estimate. Real accounts report
organizationTypeas plainclaude_maxfor both Max tiers; the 5x/20x distinction only appears in the rate-limit tier strings (e.g.default_claude_max_20x), which usage_kun did not read. Every Max user therefore got the Max 5x cap, and Max 20x users saw their 5-hour usage overstated by roughly 4x. Plan detection now also readsuserRateLimitTierandorganizationRateLimitTierfrom~/.claude.json. - The Codex live rate-limit reader required the primary window to be exactly 300 minutes and silently dropped rows otherwise. It now accepts a range of short windows, so plan or rollout differences in the window length no longer blank out the Codex meter. (Codex percentages themselves come from the server and are plan-independent.)
Added
- Settings > Sync > Claude plan: choose Auto / Pro / Max 5x / Max 20x. Auto reads the plan from
~/.claude.json; pick your plan manually if the local estimate looks off. This only affects the local estimate — official usage sync is always exact regardless of plan. - Team / Enterprise accounts are now labeled as such and start from the Pro cap until official-sync calibration adjusts it.
Notes
- The plan caps used by the local estimate are initial estimates (Pro 2M / Max 5x 10M / Max 20x 40M deduplicated weighted tokens). Enabling official Claude usage sync once lets usage_kun calibrate the cap against the exact numbers for your account.
日本語:
- Max 20x プランがローカル推定で Max 5x として扱われていた問題を修正しました。 実際のアカウントでは Max 5x / 20x のどちらも
organizationTypeがclaude_maxで、5x/20x の区別は rate-limit tier 文字列 (例:default_claude_max_20x) にしか現れないため、Max 20x の使用率が約 4 倍過大に表示されていました。~/.claude.jsonのuserRateLimitTier/organizationRateLimitTierも読むようにしました。 - Codex の live rate-limit 読み取りが「primary window = ちょうど 300 分」を要求していたのを範囲判定に緩和しました (Codex の percent はサーバー由来でプラン非依存です)。
- Settings > Sync > Claude plan を追加しました。Auto / Pro / Max 5x / Max 20x から選べます。自動検出が外れる場合に手動で指定してください。この設定はローカル推定にのみ影響し、公式同期の数値は常に正確です。
usage_kun v0.2.1
usage_kun v0.2.1
This is a packaging and hardening release. There are no feature changes.
Fixed
- The release
UsageKun-macOS.zipnow contains a properly signed app bundle. Previous releases shipped a binary that only carried the linker's bare ad-hoc signature (no sealed resources,Info.plistnot bound), so Gatekeeper rejected downloaded copies as "damaged and can't be opened".Scripts/package_app.shnow strips extended attributes and re-signs the whole bundle with a full ad-hoc signature (hardened runtime enabled), and verifies it withcodesign --verify --strict. - The release zip no longer archives filesystem extended attributes as AppleDouble
._*files, which could invalidate the sealed signature after extraction.Scripts/package_release_zip.shalso round-trips the archive and re-verifies the signature before publishing.
Hardening
- The Codex local databases (
~/.codex/state_5.sqlite,~/.codex/logs_2.sqlite) are now opened withsqlite3 -readonly -batch, so usage_kun can never write to, or leave lock/journal files next to, another app's database. - The CI workflow's
GITHUB_TOKENis now restricted tocontents: read.
Docs
- README (English and Japanese) now documents installing from the release zip, including the expected one-time Gatekeeper approval for a non-notarized app.
First Launch: "Apple could not verify UsageKun is free of malware"
The app is signed but not notarized, so the first launch of a downloaded copy still shows a Gatekeeper warning ("Apple could not verify "UsageKun" is free of malware..."). This is expected for any non-notarized app and is different from the previous "damaged" error, which prevented the app from being opened at all. Approve it once:
- In the warning dialog, click Done (do NOT click "Move to Trash").
- Open System Settings > Privacy & Security.
- Scroll down to the Security section, where "UsageKun" is listed as blocked.
- Click Open Anyway, then confirm with Open Anyway again and authenticate.
日本語: 初回起動時に「Apple は、"UsageKun" にマルウェアが含まれていないことを確認できませんでした」と表示された場合:
- 警告 dialog で 「完了」 を押します(「ゴミ箱に入れる」は押さないでください)。
- システム設定 > プライバシーとセキュリティ を開きます。
- 下にスクロールし、セキュリティ 欄の「"UsageKun" はブロックされました」の横の 「このまま開く」 を押します。
- 確認 dialog でもう一度 「このまま開く」 を押し、Touch ID または password で認証します。
Alternatively, from Terminal: xattr -d com.apple.quarantine /Applications/UsageKun.app
The approval is needed only once per downloaded version.