Releases: guocity/CodexBar
Releases · guocity/CodexBar
Release list
CodexBar 0.54.1
Highlights
- Codex CLI 0.149.0 compatibility: the usage probe works again after the CLI removed the
untrustedapproval value (steipete#3115). - Layout editor drag-and-drop fixed: chip reordering and the trash drop zone are reachable again, and the trash zone doubles as a click target (steipete#3121).
- Faster relaunches: the Codex priority-turn scan cursor persists across restarts — no more re-scanning the whole trace database on every launch (steipete#3130).
- Faster spend dashboard: provider baselines and Codex multi-account scans load in parallel, cutting cold opens to roughly the slowest single provider (steipete#3105).
- Grok Bot on the Cursor card: weekly included Bot usage appears as a fourth bar next to Total / Cursor / Third Party (steipete#3127).
Fixed
- Fixed the Codex CLI usage probe against Codex CLI 0.149.0: the removed
untrustedapproval value is replaced byneveron both the app-server and isolated status launches, keeping the read-only sandbox (steipete#3115, steipete#3118). Thanks @kiranmagic7! - Fixed menu bar layout editor drag-and-drop: chips are draggable views instead of Buttons (whose gesture recognizer swallowed the drag), so reordering and the trash zone work again — and the trash zone now also removes the selected token on click (steipete#3121). Thanks @J2TeamNNL!
- Fixed Codex profile-home account switches briefly showing another profile's token counts, costs, usage chart, top model, and cost history while the selected profile loads (steipete#3125).
- Fixed the mainland Alibaba Personal/Solo Token Plan always reporting "login required": the console shell now serves its
sec_tokento CodexBar's fetch and the upper-caseSEC_TOKENshape is parsed (steipete#2891, steipete#3098). Thanks @LeoLin990405! - Alibaba: retry the Personal usage gateway's transient empty-Success responses instead of surfacing a parse error (steipete#3128). Thanks @LeoLin990405!
- Fixed long agent session names stretching the menu: session rows now truncate inside the menu's width with the full label in a tooltip (steipete#3096). Thanks @KaranocaVe!
Performance
- Codex: persist the priority-turn trace-database scan cursor across relaunches so a restart resumes incrementally instead of re-scanning the whole
logs_2.sqlite(minutes of full-core CPU on large trace databases); existing cost caches are adopted on upgrade, not rebuilt (steipete#3130). Thanks @olddonkey! - Spend dashboard: load provider baselines and Codex multi-account scans in parallel and memoize currency conversion and calendar buckets, cutting cold opens from multiple seconds to roughly the slowest single provider (steipete#3105). Thanks @Yuxin-Qiao!
Providers
- Cursor: show Grok Bot weekly included usage as a fourth card bar sourced from the dashboard's sand-usage endpoint, best-effort and hidden on accounts without a Bot allowance or on legacy request plans (steipete#3127). Thanks @kvarga!
- Codex: show Business/Enterprise individual monthly credit used vs cap on stacked multi-account cards instead of "Limits not available" (steipete#3112). Thanks @sf-jin-ku!
- Claude: migrate email-keyed claude-swap iCloud snapshots to their slot-keyed records and delete the leftover email-keyed predecessors, so other Macs stop showing duplicate fleet cards (steipete#3111). Thanks @sf-jin-ku!
- Claude: distinguish claude-swap accounts that share an email with the workspace name or slot, and honor a user-chosen display alias (steipete#3082). Thanks @sf-jin-ku!
- Kiro: show overage credits spent against their cap, plus accrued charges against the overage budget — reading the plan and overage ceilings from the same
GetUsageLimitsservice the CLI itself calls, with a CLI-report fallback (steipete#3083). Thanks @sf-jin-ku! - Command Code: recognize the repriced Pro tier (
individual-pro-v1, $80/mo in credits) instead of failing with an unknown-plan error (steipete#3116). Thanks @sebastianmarines! - z.ai: show the BigModel CN pay-as-you-go account balance inside Quota details, best-effort and CN-only (steipete#3109). Thanks @RunhuaHuang!
Localization
- Simplified Chinese now labels quota windows by their actual duration ("5 小时" instead of a generic session label), keeping the generic wording for conversations (steipete#3069, steipete#3070). Thanks @YunyueLi!
CodexBar 0.49.3
Fixed
- Grok: persist web weekly usage samples in plan-utilization history when billing omits the window duration.
- CLI: load bundled provider-plugin resources when
codexbaris installed as a symlink to the packaged helper or standalone executable (steipete#2889). Thanks @djbclark for the report! - Menu bar layout: restore dragging placed chips to reorder or remove them while preserving click and keyboard selection (steipete#2582). Thanks @ikkira!
- Plan history: avoid atomically replacing byte-identical provider history files, reducing unnecessary disk writes (steipete#2495). Thanks @guocity for the report!
- OpenRouter: restore remaining credit balance in saved custom menu-bar layouts and preserve the legacy Automatic display during migration (steipete#2870). Thanks @yuansaysay!
- Claude: distinguish claude-swap account switching from ambient Claude Code sign-in in the menu without changing either action (steipete#2874). Thanks @ynaamane!
- Codex: avoid full SQLite cost-cache rewrites for unchanged scans while preserving retention, freshness, and concurrent saves (steipete#2852). Thanks @Yuxin-Qiao!
- Azure OpenAI: allow enough v1 completion budget for reasoning-capable deployment validation while keeping the probe bounded (steipete#2867). Thanks @yilinxia!
- Codex: preserve request-level pricing tiers while reconciling forked usage, preventing day aggregates from triggering long-context rates (steipete#2858). Thanks @thomaschow19!
- CLI: stop standalone version lookup from walking past the filesystem root and hanging with unbounded memory on affected macOS versions (steipete#2856). Thanks @Manwholikespie!
- Cost store: prevent launch-time executor-assumption crashes on macOS 15 by keeping synchronous SQLite cache bridges on their validated serial queue (steipete#2857). Thanks @Manwholikespie!
- Codex: reduce idle disk activity by limiting automatic local cost-history scans to four per day; manual refresh remains immediate.
- Codex: reduce disk activity during cost-history refreshes by reusing unchanged cache data while detecting concurrent app and CLI updates.
CodexBar 0.49.4
Fixed
- Codex: reduce idle disk activity by limiting automatic local cost-history scans to four per day; manual refresh remains immediate.
CodexBar 0.48.1
Fixed
- Claude: the menu-bar indicator now renders the active claude-swap account's usage when the adapter owns account presentation (2+ accounts), instead of drawing empty bars from an ambient snapshot without usable windows (steipete#2731). Thanks @Meldiron for the report!
- z.ai/GLM: parse
CREDIT_LIMITquota entries from credit-based Coding Plans (lite/standard/pro) so usage no longer sticks at 100% remaining / 0% used and the 5-hour credit window drives the primary percentage and reset time (steipete#2724, steipete#2712). Thanks @stuible!
Changed
- CLI: dashboard snapshot identity now defaults to full; use
--identity redactedto restore redacted emails.
Fixed
- CLI: claude-swap accounts with expired or missing credentials now keep their email on the serve dashboard instead of showing a bare slot number.
CodexBar 0.47.0
Added
- Currency: Korean won (KRW) in the preferred-currency picker, with correct zero-decimal formatting (steipete#2669, refs steipete#2449). Thanks @kes02!
- Dashboard v1 snapshot: Claude rows now include all claude-swap accounts (windows, pace, active flag, redacted identity) when the integration is enabled.
- CLI: add a built-in auto-refreshing web dashboard at
/tocodexbar serve. - CLI: expose Codex cost-history completeness in JSON and add an experimental provider-native-only scan mode (steipete#2520). Thanks @NickGuAI!
- Usage & Spend: add an accessible daily, weekly, and cumulative token-activity heatmap backed by the existing persistent cost scan cache (steipete#2548). Thanks @Yuxin-Qiao!
- Settings: the sidebar is now resizable — drag the divider between 200–380pt; the width persists across launches.
- z.ai/GLM: route BigModel aliases and relay-file keys only to China endpoints, reject canonical cross-region overrides before bearer auth, and keep Kimi browser import disabled when Cookie Source is Off (steipete#2351). Thanks @Leehow!
- Kimi: enrich Code API and CLI usage with the monthly membership pool from a signed-in Kimi Desktop session, using WAL-safe read-only cookie access (steipete#2351). Thanks @Leehow!
- Sessions: discover live pi and OMP sessions through one Pi-family scanner, with dialect-aware metadata, PID-only startup rows, and mixed-version CLI/remote support (steipete#2529). Thanks @wdmitchelluk!
- Kimi/GLM: distinguish Kimi Code from the regional Open Platform, bind China and international keys to their issuing hosts, and show GLM Coding Plan's 5-hour window as primary with MCP separate (steipete#2351). Thanks @Leehow!
- Provider plugins: declarative detail rows/charts plus bundled JavaScript conversions for OpenAI, z.ai, OpenRouter, Poe, and ClawRouter behind
CODEXBAR_JS_PROVIDERS=1. - Provider plugins: install local JavaScript or TypeScript providers with manifest-driven settings and generic menu cards, approval-bound network/cookie access, and sandboxed Sucrase transpilation.
- OpenCode Go: per-model cost and request breakdowns by day in the shared cost history chart, resolved from the local session database (steipete#2649). Thanks @kentoku24!
- Copilot: decode the AI credits counter for token-billed seats and expose it in
codexbar diagnose, so Business seats with zero-entitlement quotas are no longer blank at the data layer (steipete#2613, refs steipete#2593). Thanks @Yuxin-Qiao, and @KSEGIT for the discovery!
Changed
- Provider plugins: use the bundled JavaScript implementation by default for Crof, Venice, OpenRouter, ClawRouter, Deepgram, and sub2api on macOS, with identical golden-tested output and the native fetchers retained only for the Linux CLI.
- Settings: refresh the Plugins pane to match the other panes — labeled install and directory rows with a Show in Finder affordance, a tilde-abbreviated path, a properly sized empty state, and consistent section footers.
- Settings: localize every Plugins pane control, status, approval prompt, and alert across all complete app locales.
- Breaking JSON change: provider-specific usage payload keys are being removed from
codexbar usage --format json,serve /usage, and synced snapshots in favor of the generic Codableusage.detailssections. The app and text CLI now render those same declarative rows and charts. - Menu: move each usage window's used percentage and reset time into its title row, with all pace detail on one line (steipete#2182). Thanks @jack24254029!
- Codex: define Fast cost as estimated API Fast USD, resolve it models.dev-first with model-specific API ratios, and refresh GPT-5.6 Terra/Luna fallback rates (refs steipete#2175). Thanks @iam-brain!
Fixed
- CLI: stop discarding slow dashboard-snapshot builds after serve request deadlines, so the web dashboard's first load self-heals instead of returning 504 forever.
- Codex: apply a manual reset immediately — a redeemed reset credit now exempts the weekly-boundary confirmation guard, so fresh quota shows without waiting out the old boundary (steipete#2710). Thanks @endless7!
- Antigravity: wait for
agykeyring readiness on cold start (bounded 15s) instead of falling through to the degraded OAuth placeholder (steipete#2665, refs steipete#2427). Thanks @Yuxin-Qiao! - CLI:
codexbar servebounds the entire request head (16 KB / 10 s total) instead of only each read, closing a pre-auth slow-trickle hold (steipete#2684). Thanks @OfficialAbhinavSingh! - Command Code: recognize the Individual GOAT plan ($70/mo credits) and the new production cookie names while keeping the legacy bare-token fallback (steipete#2706). Thanks @KronixDev!
- Codex: document the real cost-cache overshoot contract, fix day-key parsing under non-Gregorian system calendars, and accept all shipped predecessor cache keys so mid-window builds skip pointless rebuilds (steipete#2703). Thanks @Yuxin-Qiao!
- Overview: stop the infinite menu flicker when hovering between provider chart submenus with Agent Sessions enabled — no-op session rescans no longer invalidate menus, submenu hovers no longer trigger rescans, and session updates defer tracked-parent rebuilds like other data refreshes (steipete#2652). Thanks @qazi0!
- Widgets: bound widget-snapshot file I/O with a defensive timeout and skip further container access once it wedges, so a blocked macOS 26 app-group open() can no longer beachball the app or hang the widget (steipete#2267 follow-up).
- Command Code: parse and display 5-hour and weekly rolling limits alongside monthly credits and reset times (steipete#2466). Thanks @derekszen!
- OpenCode Go: include Zen balance in CLI usage reads without waiting beyond five seconds (steipete#2583). Thanks @Yuxin-Qiao!
- Usage & Spend: keep validated Codex totals visible while the local scanner catches up, with refresh indicators in the dashboard and menu cost rows (steipete#2397). Thanks @hhh2210!
- ZoomMate: preserve browser cookie scope so parent-domain sessions reach both API hosts without leaking host-only cookies (fixes steipete#2507). Thanks @weddle!
- Sync: propagate provider configuration edits made by the CLI or directly in
config.jsonto the iCloud fleet without echoing remotely applied writes. - Codex: classify rate windows by duration, so a 30-day window renders as Monthly with its real reset countdown instead of masquerading as the Session card — consistently across the provider card, widgets, and submenu (steipete#2600, fixes steipete#2592). Thanks @Yuxin-Qiao!
- Codex: bound the persisted cost-usage cache with entry/byte budgets, window-aware pruning, and a load-refusal cap, so the main process no longer grows without limit on large session corpora (steipete#2646, refs steipete#2637). Thanks @Yuxin-Qiao!
- Codex: resume fork catch-up from a validated cached offset when a rollout is appended, charging only the appended suffix against scan budgets instead of restarting the bounded full scan (steipete#2648). Thanks @xx205!
- Claude: report a provably unreadable OAuth delegated refresh as terminal with a long cooldown, instead of looping "run claude login, then retry" and relaunching the CLI every poll cycle (steipete#2650, refs steipete#2634). Thanks @kes02!
- Usage & Spend: keep priced Codex model rows visible when the history also contains unpriced Auto Review routing rows, labeled as a partial breakdown with ranking removed (steipete#2643). Thanks @akshayprabhu200!
- Perplexity: pin the promo expiry date to English formatting regardless of system locale, matching the rest of the string and the JS plugin (steipete#2651). Thanks @kes02!
- OpenRouter: use the server-reported current-period remaining for the key-limit meter and "left" text instead of deriving both from cumulative lifetime usage (steipete#2612, fixes steipete#2605). Thanks @Yuxin-Qiao!
CodexBar 0.46.0
Added
- Settings: Stats page for local plan-utilization history charts.
- Telemetry: optional self-hosted usage sample mirroring.
- Menu: hover shows absolute reset time; reset timeline markers on quota bars.
Fixed
- Telemetry: send plan-utilization samples on every refresh, even when history storage does not change (flat usage previously skipped the pipeline after the July 5 main merge).
CodexBar 0.45.2
Added
- Settings: Stats page for local plan-utilization history charts.
- Telemetry: optional self-hosted usage sample mirroring.
- Menu: hover shows absolute reset time; reset timeline markers on quota bars.
Fixed
- Telemetry: send plan-utilization samples on every refresh, even when history storage does not change (flat usage previously skipped the pipeline after the July 5 main merge).
- Ollama: clarify when Chrome Safe Storage Keychain access is blocking cookie import, instead of claiming no session exists after a signed-in Chrome login.
- Ollama: adopt upstream cookie-access error surfacing so the macOS app reports Keychain/Full Disk Access issues instead of a generic missing-session message.
CodexBar 0.44.0
Fixed
- Telemetry: send plan-utilization samples on every refresh, even when history storage does not change (flat usage previously skipped the pipeline after the July 5 main merge).
- Ollama: adopt upstream cookie-access error surfacing so the macOS app reports Keychain/Full Disk Access issues instead of a generic missing-session message.
CodexBar 0.43.2
Fixed
- Ollama: clarify when Chrome Safe Storage Keychain access is blocking cookie import, instead of claiming no session exists after a signed-in Chrome login.
CodexBar 0.43.1
Added
- sub2api: add group-key usage with daily, weekly, and monthly quotas, multi-account switching, wallet balance, and expiry details. Thanks @weirdo-adam!
- Kimi: reuse fresh signed-in Kimi Code CLI credentials in Auto mode without refreshing or rewriting CLI-owned authentication state. Thanks @Leechael!
- Community integrations: list codexbar-plasmoid, a KDE Plasma 6 usage widget. Thanks @psimaker!
Fixed
- Kiro: clear inherited signal masks in spawned pipe and PTY probes, preventing the CLI from ignoring termination under a blocked parent mask. Thanks @txarly89!
- CLI PTY: preserve deadline timeouts while draining late output and classify child exits by observation time, eliminating scheduler-dependent success/timeout races. Thanks @kiranmagic7!
- Quota warnings: isolate threshold episodes by stable account ownership so one account cannot duplicate or suppress another account's alert. Thanks @vincent-peng!
- Claude: cache successful CLI version probes for 30 minutes while invalidating on executable changes, avoiding repeated PTY launches without retaining failed or stale wrapper results. Thanks @Yuxin-Qiao!
- Linux CLI: bootstrap the configured IANA timezone before Foundation startup on non-FHS systems, preventing SIGILL on NixOS (steipete#2127). Thanks @xikhar!
- Ollama: release temporary dashboard network sessions after each fetch, preventing repeated refreshes from retaining delegates and URL-cache resources. Thanks @astuteprogrammer!
- Amp: release temporary API and dashboard network sessions after every fetch, preventing repeated refreshes from retaining delegates and URL-cache resources.
- Linux CLI: prevent usage rendering from crashing in Foundation bundle discovery when formatting rate windows. Thanks @thanthi-del!
- CLI: defer login-shell PATH probes until Codex RPC launch, preserve login PATH for explicit script overrides, and reap session-escaped helpers without cross-probe descriptor inheritance. Thanks @anagnorisis2peripeteia!
- Menus: keep overview provider-row clicks reliable during live menu rebuilds without stealing nested Copy or plan actions. Thanks @Yuxin-Qiao!
- Startup: load persisted plan-utilization history away from the main thread so mature histories no longer delay app launch. Thanks @Yuxin-Qiao!
- Provider cleanup: prevent in-flight usage, status, token-cost, and cached-hydration work from republishing stale state after a provider is disabled, unavailable, or re-enabled. Thanks @Yuxin-Qiao!
- Agent Sessions: coalesce overlapping unchanged remote refresh requests so menu opens do not repeat Tailscale discovery and SSH passes. Thanks @Yuxin-Qiao!
- Agent Sessions: keep Tailscale discovery headless and fall through across installed CLI variants, preventing repeated Tailscale menu-bar launches. Thanks @willsarg!
- Cost usage: zero the scanner's 60-second refresh debounce on app-driven fetches so non-forced refreshes (hourly timer, post-launch, scope/settings changes) reflect rows appended between fetches instead of serving a stale snapshot that
UsageStore.tokenFetchTTLthen pins for up to an hour (steipete#2089). Thanks @Yuxin-Qiao! - Codex cost usage: contain interleaved cumulative counters from Ultra-mode fork lineages so repeated lineage switches cannot inflate token and cost history (steipete#2037). Thanks @Zihao-Qi!