Skip to content

Releases: guocity/CodexBar

CodexBar 0.54.1

Choose a tag to compare

@guocity guocity released this 23 Aug 15:18

Highlights

  • Codex CLI 0.149.0 compatibility: the usage probe works again after the CLI removed the untrusted approval 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 untrusted approval value is replaced by never on 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_token to CodexBar's fetch and the upper-case SEC_TOKEN shape 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 GetUsageLimits service 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

Choose a tag to compare

@guocity guocity released this 13 Aug 02:37

Fixed

  • Grok: persist web weekly usage samples in plan-utilization history when billing omits the window duration.
  • CLI: load bundled provider-plugin resources when codexbar is 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

Choose a tag to compare

@guocity guocity released this 11 Aug 16:08

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

Choose a tag to compare

@guocity guocity released this 08 Aug 03:20

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_LIMIT quota 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 redacted to 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

Choose a tag to compare

@guocity guocity released this 06 Aug 21:22

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 / to codexbar 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 Codable usage.details sections. 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 agy keyring 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 serve bounds 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.json to 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

Choose a tag to compare

@guocity guocity released this 30 Jul 00:56

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

Choose a tag to compare

@guocity guocity released this 20 Jul 15:58
f8636cb

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

Choose a tag to compare

@guocity guocity released this 17 Jul 21:12
v0.44.0
ce8cc18

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

Choose a tag to compare

@guocity guocity released this 14 Jul 19:18

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

Choose a tag to compare

@guocity guocity released this 14 Jul 18:57
c61e01e

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.tokenFetchTTL then 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!