Skip to content

Releases: steipete/CodexBar

CodexBar 0.39.0

Choose a tag to compare

@steipete steipete released this 04 Jul 20:01
v0.39.0
e437044

Added

  • Codex: show every available reset-credit expiry in menus and provider settings, including non-expiring credits, and summarize credits nearing expiry. Thanks @brahimhamichan!
  • Cost history: optionally show shorter 7, 30, and 90-day comparisons from the selected local history window (#1500). Thanks @jtl06!
  • Codex cost history: group local usage and costs by project and worktree in menus and CLI output. Thanks @clemenspeters!
  • Sakana AI: show best-effort pay-as-you-go credit balance and recent usage without delaying subscription quota refreshes. Thanks @ss251!
  • Kimi: show monthly subscription usage alongside weekly and five-hour limits with a short total budget for the optional membership request. Thanks @zhiyue!
  • Mistral: show available credit balance from the authenticated billing session while preserving API spend and Monthly Plan usage. Thanks @Zihao-Qi!

Changed

  • Codex: compact reset-credit expiry inventory into a single scannable timeline instead of one row per credit.
  • Repository: reject oversized tracked blobs and generated release/build artifacts during checks. Thanks @joeVenner!

Fixed

  • Alibaba: keep the browser Safe Storage keychain read non-interactive and honor the "Disable Keychain access" setting, so cookie import can never trigger a Keychain prompt.
  • Tests: block real Keychain and security CLI access by default so test runs cannot display password prompts.
  • Mistral: discard non-finite and overflowing billing costs so malformed price data cannot poison spend totals or charts. Thanks @joeVenner!
  • Claude: notify on model-scoped weekly and Daily Routines quota thresholds using independent warning state. Thanks @cleanerzkp!
  • Claude CLI: skip the identity probe after terminal usage errors or loading stalls, cutting failed refresh latency and subprocess churn.
  • OpenCode web: search Dia after Chrome for automatic cookie import, with Keychain preflight scoped to the candidate browser (fixes #1822). Thanks @zeajose!
  • Claude: make the "Avoid Keychain prompts" setting use the no-prompt policy instead of the experimental security CLI reader. Thanks @gmkbenjamin!

CodexBar 0.38.1

Choose a tag to compare

@steipete steipete released this 04 Jul 09:21
v0.38.1
f84a171

Added

  • Localization: add complete Russian coverage for the app and redesigned website. Thanks @Kirchberg!
  • Localization: add Galician app translations and language selection. Thanks @B1NAR10!
  • ClawRouter: add API-key tracking for monthly budget, spend, requests, tokens, and routed-provider usage.
  • Claude: show model-scoped weekly quota windows, including promotional Fable limits, from OAuth and web usage responses. Thanks @konon4!
  • Usage refresh: add an opt-in Adaptive cadence that polls every 2–30 minutes based on recent menu use, Low Power Mode, and thermal state. Thanks @hhh2210!
  • Codex: show a conservative 1.5× pace-headroom hint in menus and CLI output when usage is safely ahead of the reset curve. Thanks @astuteprogrammer!

Changed

  • Branding: replace the app and website icon with a usage-meter prompt mark that matches CodexBar's core UI.
  • Website: redesign codexbar.app around faster download, provider discovery, feature, CLI, and widget paths with responsive dark/light and localized layouts. Thanks @vyctorbrzezowski!
  • Architecture: accept a bounded opt-in adaptive refresh design with a deterministic 2–30-minute cadence and no behavioral telemetry. Thanks @hhh2210!
  • Architecture: define the security and identity boundaries required before custom HTTP JSON providers can be implemented safely.
  • Claude: accept a display-only multi-account design based on read-only claude-swap --list --json, without account switching or credential storage.
  • Notifications: accept a default-off predictive pace warning design that alerts once per risk episode and re-arms only after authoritative recovery.
  • OpenCode Go: accept bounded automatic multi-workspace fan-out while preserving the configured workspace as an exact single-workspace override.
  • Xiaomi MiMo: require authoritative cadence evidence before showing reserve or deficit projections, avoiding guesses from plan dates or names.

Fixed

  • Gemini: resolve fnm from the active PATH, stop package-discovery helpers on deadline, and return after the first output line even when descendants keep stdout open.
  • Branding: replace the malformed Poe icon and use Poe's official purple consistently across the app, widget, and website. Thanks @garethpaul!
  • Monthly quota pace: show reserve, deficit, and run-out estimates for OpenCode Go, Doubao, and Alibaba monthly reset windows using their calendar-cycle length. Thanks @Zihao-Qi and @joeVenner!
  • Localization: translate the Default Terminal setting across every supported app language. Thanks @Zihao-Qi!
  • Settings: recover collapsed sidebars and undersized saved window frames when reopening Settings. Thanks @ProspectOre!
  • z.ai: parse successful BigModel CN quota responses that omit the optional message field, while preserving useful API-code errors. Thanks @joeVenner!
  • Claude: block background delegated CLI OAuth refresh when the keychain holds MCP-only state (mcpOAuth without claudeAiOauth) while preserving explicit Refresh recovery (#1844). Thanks @Yuxin-Qiao!
  • OpenAI API: reject non-finite cost values before they can corrupt usage totals or JSON output. Thanks @joeVenner!
  • OpenCode: ignore non-finite and out-of-range reset timestamps instead of crashing usage parsing, while preserving valid quota windows. Thanks @joeVenner!

CodexBar 0.38.0

Choose a tag to compare

@steipete steipete released this 03 Jul 11:18
v0.38.0
913b1a6

Added

  • Doubao: add signed Volcengine AK/SK support for Coding Plan session, weekly, and monthly usage. Thanks @LeoLin990405!
  • CrossModel: add API-key wallet balance and UTC daily, weekly, and monthly spend tracking. Thanks @hujuncheng!
  • Localization: complete Traditional Chinese provider and menu coverage, and route remaining provider UI copy through localized formatters. Thanks @jack24254029!
  • Menu: add an opt-in setting to refresh provider usage whenever the menu opens without changing the periodic refresh clock. Thanks @dstier-git!
  • Qoder: add big-model credit usage from qoder.com and qoder.com.cn browser sessions or manual cookies. Thanks @Yuxin-Qiao!
  • Quota warnings: add an optional centered on-screen text alert that stays click-through and does not steal focus. Thanks @SAASEmpiree!
  • Sakana AI: add manual-cookie usage for five-hour and weekly quota windows. Thanks @LeoLin990405!
  • Status pages: show live component submenus for Claude, Codex, and Augment. Thanks @elijahfriedman!
  • Cost history: choose inline, submenu, or combined local-cost presentation. Thanks @Zihao-Qi!
  • Confetti: optionally celebrate session-limit resets with full-screen confetti, configurable beside the weekly-limit celebration in Advanced settings. Thanks @bystritskiy!
  • z.ai: support saved token-account team usage with account-scoped organization and project metadata. Thanks @zqbake!
  • CLI: show session pace in text output, expose derived pace data in JSON, and honor the configured weekly work-day baseline. Thanks @kmatsunami!
  • Claude: add a combined "Session + Weekly" menu bar metric that shows the 5-hour session and weekly lanes together (paced on the weekly lane), matching Codex, and classify lanes by cadence so a weekly-only account is not mislabeled as a session. Thanks @Shengqiang-Zhang!

Changed

  • Settings: complete redesign as a System Settings-style window — a sidebar lists app panes plus every provider (search, drag reorder, status dots, enable via context menu), panes use native grouped forms, the window keeps one size instead of resizing per tab, and the last selected pane is remembered across launches.
  • Menu: group Plan Usage, Cost, and Storage rows so related account usage is easier to scan. Thanks @Zihao-Qi!

Fixed

  • Usage refresh: refresh provider data shortly after known quota reset boundaries instead of leaving expired reset times visible until the next normal poll. Thanks @pavbar!
  • Settings: align General-pane controls, show compact installed terminal app icons, and enlarge the window to fit more options.
  • Sakana AI: parse server-rendered quota reset timestamps as UTC instead of device-local time (#1826). Thanks @ss251!
  • Cursor: hide misleading pace and run-out details once a billing-cycle quota is fully depleted. Thanks @Yuxin-Qiao!
  • Claude Education: treat subscription-only CLI responses as unavailable quotas, keep local cost data in menus and widgets, and suppress expected refresh cancellations (#1808).
  • Claude web usage: bound stale requests so Auto can reach CLI fallback instead of hanging indefinitely.
  • Claude history: keep OAuth utilization separate across account switches while preserving continuity through token refreshes.
  • Linux CLI: keep Claude OAuth usage subprocess-free, skip version probes, and let Auto bypass unsupported web sources. Thanks @derekszen!
  • Usage display: make Usage widgets follow the used-versus-remaining preference already shared by menus and Overview rows (#1738). Thanks @OlegLustenko and @FrancoLan!
  • OpenCode Go: keep rolling usage available when the dashboard omits the optional weekly window. Thanks @mohkg1017!
  • Menu bar: make Show most-used provider rank only providers selected for Overview. Thanks @dstier-git!
  • Codex: show expiring reset-credit availability even when optional credits and extra usage are hidden, while preserving CLI --no-credits. Thanks @simon-ami!
  • Claude CLI: prevent logged-out background Auto fallbacks from opening browser OAuth during app refresh. Thanks @afarwind!
  • Keychain prompts: explain that macOS handles password entry, surface the existing opt-out path, and link to troubleshooting before access begins (fixes #1681). Thanks @someshfengde and @Yuxin-Qiao!
  • Claude: use the dedicated Claude Code authentication command for sign-in, report its real exit status, and stop treating a browser URL as completed login (fixes #1715).
  • OpenAI API: explain that project service-account keys cannot read organization usage instead of surfacing a generic credit-balance HTTP 401 error (fixes #1792). Thanks @dhruv-anand-aintech!
  • Codex cost history: stop double-billing cached input and reprice stale Codex and Pi cache entries. Thanks @dstier-git!
  • Overview: render row selection on the GPU to keep trackpad scrolling smooth. Thanks @hhh2210!
  • Codex cost history: count cache reads separately, deduplicate active and archived sessions at row level, and preserve cached days across narrow refreshes. Thanks @kiranmagic7!
  • Pi cost history: price Codex cache reads once using their true context size. Thanks @kiranmagic7!
  • Menu bar: in the combined "Session + Weekly" metric (Codex and Claude), pair the 5-hour session usage with the weekly pace in pace and both display modes instead of showing the busier (most-constrained) lane's usage, which mislabeled the readout as weekly usage + weekly pace. Thanks @Shengqiang-Zhang!
  • Menu bar: in the combined "Session + Weekly" metric, ignore Claude web's synthetic 0% five-hour placeholder (emitted for accounts with no live session window but a real weekly lane) so the readout shows the weekly lane instead of a non-existent 5h 0%/5h 100% session.
  • Memory pressure: finish isolating utility-queue source reads from main-actor state to prevent the remaining callback crash. Thanks @Zihao-Qi!
  • Kiro: run account, usage, and context commands through a PTY so current CLI versions return usage without timing out. Thanks @sf-jin-ku!
  • OpenAI web: ignore stale profiles from removed browsers, discover registered installs outside standard app folders, and surface browser-profile access and cookie-load timeout diagnostics.
  • PTY probes: preserve Darwin device identifiers without crashing when Intel macOS reports signed values.
  • CLI server: collect /usage providers concurrently under finite per-provider deadlines so one hung provider degrades to its own error row without discarding healthy results. Thanks @enieuwy!
  • Privacy: hide account and team identity values without showing a Hidden placeholder or empty account rows. Thanks @Zihao-Qi!
  • Mistral: restore Vibe monthly-plan usage by forwarding only required console session cookies. Thanks @lfmundim!
  • Codex: show enterprise monthly credit limits across OAuth, CLI, menu, and widget surfaces. Thanks @ChenZiHong-Gavin!
  • Codex: avoid launching monthly-credit CLI enrichment during usage-only OAuth refreshes.
  • Usage display: keep positive values below one percent visible instead of rounding them to zero. Thanks @Max0633!
  • Menu bar: show pace as 0% instead of a signed +0% or -0% when the pace delta rounds to zero. Thanks @devYRPauli!
  • Menu: align the persistent Refresh row with native actions, keep Settings, About, and Quit keyboard-navigable, and use a narrower Usage Dashboard icon. Thanks @Zihao-Qi!
  • Menu: match the persistent Refresh symbol size, weight, and icon column to native action rows across standard and narrow provider menus. Thanks @micnem!
  • Claude: stop installed-version checks from invoking a login shell and triggering unwanted Keychain prompts. Thanks @enieuwy!
  • Localization: reject blank translated values and restore the affected Vietnamese provider prompts. Thanks @kiranmagic7!
  • Usage totals: keep Today tied to the current local calendar day across cost, Admin API, and Poe surfaces instead of showing the latest historical bucket. Thanks @Zihao-Qi!
  • Antigravity: align compact icons and automatic highest-usage selection with grouped Gemini and Claude/GPT 5-hour and weekly lanes while ignoring non-renderable cadences. Thanks @Yuxin-Qiao!
  • Antigravity CLI: reuse an authenticated user-launched agy server for faster, more reliable one-shot usage checks. Thanks @junmo-kim!

CodexBar 0.37.2

Choose a tag to compare

@steipete steipete released this 22 Jun 09:42
v0.37.2
f380287

Added

  • Diagnostics: write redacted provider reports to a file with platform and app-version context. Thanks @Yuxin-Qiao!
  • CLI server: report the startup build version from /health so clients can detect stale helper processes after updates. Thanks @enieuwy!

Fixed

  • Claude: pause background CLI usage probes briefly after rate limiting while keeping manual refresh available. Thanks @kiranmagic7!
  • Codex OAuth: publish refreshed auth.json credentials with private file permissions already applied. Thanks @Hinotoi-agent!
  • Provider endpoints: reject unsafe Deepgram, z.ai, and Xiaomi MiMo overrides before attaching credentials. Thanks @Hinotoi-agent!
  • Azure OpenAI: reject unsafe endpoint overrides before attaching API keys while keeping invalid configurations visible with an actionable error. Thanks @Hinotoi-agent!

CodexBar 0.37.1

Choose a tag to compare

@steipete steipete released this 21 Jun 23:16
v0.37.1
244b31e

Fixed

  • MiniMax: recover detailed token-plan windows from the remains API when the coding-plan page only exposes coarse usage. Thanks @Yuxin-Qiao!
  • Cost history: remove the redundant tooltip from submenu-backed Cost rows. Thanks @Zihao-Qi!
  • Menu refresh: keep the menu open and show in-place progress when Refresh is clicked. Thanks @elijahfriedman!
  • Menu: align provider usage-card spacing with the Overview layout. Thanks @Zihao-Qi!
  • Memory pressure: avoid actor-isolation crashes when system callbacks arrive on a utility queue. Thanks @Zihao-Qi!
  • Menu: remove extra separators and spacing around Storage, Cost, and Subscription Utilization rows. Thanks @elijahfriedman!
  • Antigravity: show limits as unavailable when OAuth identifies the account but quota endpoints deny access. Thanks @Yuxin-Qiao!

CodexBar 0.37.0

Choose a tag to compare

@steipete steipete released this 20 Jun 02:07
v0.37.0
33a5f43

Added

  • Widgets: add single-window and combined burn-down charts for Codex and Claude session/weekly limits. Thanks @jamesjlopez!
  • AWS Bedrock: show optional rolling 14-day Claude token and request totals from CloudWatch. Thanks @zyaiire!
  • Codex: optionally show both session-window and weekly percentages in the compact menu bar label. Thanks @thepraggyverse!
  • Cursor: show personal on-demand spend alongside the shared team pool. Thanks @yashiels!
  • Documentation: link the community KDE Plasma panel integration. Thanks @tylxr59!
  • Codex: expose explicitly configured profile homes as switchable accounts without copying their credentials. Thanks @kiranmagic7!
  • Codex: show available manual rate-limit reset credits and their next expiry for signed-in OAuth accounts. Thanks @rogdex24!
  • Mistral: add Vibe monthly-plan usage and menu bar metric selection. Thanks @lfmundim!
  • Storage: show a compact segmented provider breakdown with an expandable Other group. Thanks @elijahfriedman!
  • Settings: add an optional enabled-first alphabetical sort for the Providers sidebar without changing custom order. Thanks @elijahfriedman!
  • Linux CLI: publish static musl release tarballs for x86_64 and aarch64. Thanks @Yuxin-Qiao!
  • Documentation: add safe troubleshooting for browser Keychain prompts that persist after uninstall. Thanks @Yuxin-Qiao!
  • Diagnostics: report provider-neutral usage confidence and mark fully decoded Codex OAuth windows exact. Thanks @Yuxin-Qiao!
  • Codex agents: add a read-only codexbar skill for bounded, redacted provider usage JSON. Thanks @coygeek!
  • Display: add a Hide critters option for plain menu bar quota capsules. Thanks @elijahfriedman!

Changed

  • Packaging: strip local symbols from release executables to reduce the installed app and download size. Thanks @jieshu666!
  • Logging: skip message, metadata, and redaction work for filtered or disabled log destinations. Thanks @ProspectOre!
  • Cost history: cache date parsers per thread to reduce repeated report-decoding overhead. Thanks @ProspectOre!
  • Linux CLI: accept an opt-in static SQLite library directory for musl builds. Thanks @Yuxin-Qiao!
  • Linux CLI: add musl source compatibility for static Linux SDK builds. Thanks @Yuxin-Qiao!
  • Cost history: resize the chart details to the hovered day's model breakdown instead of reserving the tallest day. Thanks @elijahfriedman!
  • Antigravity: use current backend quota labels in menus and widgets while preferring a usable quota lane over an exhausted one. Thanks @Yuxin-Qiao!
  • Pi: cache session filename and timestamp parsers to reduce cost-history refresh overhead. Thanks @ProspectOre!
  • Menu bar: reuse the icon-observation signature during provider refreshes instead of computing it twice. Thanks @abe238!
  • LiteLLM: show personal and team spend amounts directly on budget rows while suppressing duplicate budget sections. Thanks @hololee!

Fixed

  • Menu: align cost and utilization rows with provider content and use native bottom action items. Thanks @elijahfriedman!
  • Charts: keep hover selection on bar widths, preserve single-day details, and remove redundant cost-menu detail lines. Thanks @elijahfriedman!
  • Cost history: keep chart date labels aligned with their bars and visible without clipping. Thanks @elijahfriedman!
  • Claude settings: dim and disable Avoid Keychain prompts while global Keychain access is disabled. Thanks @Zihao-Qi!
  • Linux CLI: read OpenCode Go local SQLite usage in automatic mode and allow Command Code billing with a configured manual cookie.
  • MiniMax diagnostics: include safe per-service usage and boosted quota limits for mismatch reports. Thanks @sagelga!
  • Xiaomi MiMo: retry another imported browser session when a stale session redirects API requests to login. Thanks @Yuxin-Qiao!
  • MiniMax: retry the China API region when the global token endpoint reports a structured invalid-key response.
  • Menu refresh: scope manual refreshes to the visible provider, keep Command-R consistent with mouse refresh, and avoid animated refresh-row compositing. Thanks @jangisaac-dev!
  • Localization: improve Catalan app and website translations. Thanks @pmontp19!
  • Claude web: persist renewed session cookies after successful usage requests so imported sessions stay current. Thanks @ProspectOre!
  • Kiro: keep parsed usage available when the optional account probe times out or fails. Thanks @Yuxin-Qiao!
  • Cursor: ignore an exhausted Auto or API subquota only when another independent quota remains usable, while preserving the overall cap. Thanks @Yuxin-Qiao!
  • Memory: release idle OpenAI WebViews under system pressure without blocking the main thread. Thanks @ProspectOre!
  • Memory: trim rebuildable menu and OpenAI debug caches under system pressure. Thanks @ProspectOre!
  • Provider plans: keep Claude and Kiro plan matching on one rendered line to avoid bogus labels from adjacent usage hints. Thanks @elijahfriedman!
  • Antigravity: use current Gemini 5-hour and weekly quota-summary lanes for the compact menu bar icon and merged highest-usage selection. Thanks @Zihao-Qi!
  • Usage bars: render values rounded to 0% or 100% as fully empty or full. Thanks @Zihao-Qi!
  • Codex web: keep cookie-import deadlines responsive when browser cookie work blocks the shared worker pool.
  • z.ai: open the usage dashboard for the configured global or China API region. Thanks @renbaoshuo!
  • Usage dashboards: tint inline history bars with each provider's branding color. Thanks @elijahfriedman!
  • Command Code: avoid repeated depleted notifications when subscription lookup intermittently fails. Thanks @LPFchan!
  • Codex pace: extrapolate historically exhausted weeks for run-out forecasts and avoid contradictory reset headlines. Thanks @Yuxin-Qiao!
  • Localization: correct the German in-progress refresh label. Thanks @ChrisLauinger77!
  • Localization: correct misleading literal German UI translations. Thanks @madebyjulz!
  • Install docs: describe the official Homebrew cask as universal on Intel and Apple silicon. Thanks @ChrisGVE!
  • Settings: switch tabs immediately before animated window resizing and reduce Providers sidebar work. Thanks @elijahfriedman!
  • Windsurf: import complete Devin sessions from the current app origin before legacy browser storage. Thanks @kiranmagic7!
  • Antigravity: humanize raw model identifiers while preserving server-provided quota labels. Thanks @bcharleson!
  • Menu bar: show provider status markers only for the provider rendered in each icon. Thanks @Zihao-Qi!
  • Codex CLI: make automatic usage reads prefer OAuth and CLI sources instead of blocking on the optional web dashboard.
  • Codex web: apply --web-timeout to the full cookie import, account verification, retry, and dashboard fetch path.
  • OpenCode Go: allow configured manual cookies in the Linux CLI while keeping browser-cookie import gated to macOS. Thanks @Yuxin-Qiao!
  • Provider probes: cap captured subprocess output at 1 MiB per stream without dropping valid text at a truncated UTF-8 boundary. Thanks @ProspectOre!
  • Provider switcher: keep Codex quota rows visible when switching away and back during a manual refresh, including menus with usage-history sections. Thanks @Yuxin-Qiao!
  • Bedrock: ignore invalid billing dates when selecting the latest usage values. Thanks @ProspectOre!
  • Usage history: let opted-in providers persist weekly utilization and keep saved charts visible. Thanks @kiranmagic7!
  • Localization: improve Japanese terminology consistency and localize next-day reset times across all 21 app languages. Thanks @tukuyomil032!
  • Menu bar: keep visible quota values stable while a manual refresh is in flight without rewinding background-refresh countdowns. Thanks @Zihao-Qi!
  • Menu bar: stop informational usage-card rows from highlighting like clickable actions. Thanks @elijahfriedman!
  • Localization: validate placeholder integrity across every app language and repair malformed Vietnamese interpolation tokens. Thanks @Yuxin-Qiao!

CodexBar 0.36.1

Choose a tag to compare

@steipete steipete released this 16 Jun 05:07

Added

  • Poe: add current point balance and recent points history from a configured API key (#1191). Thanks @Yuxin-Qiao!
  • Chutes: add subscription, quota-window, and pay-as-you-go usage tracking from a configured API key (#1496). Thanks @mvanhorn!
  • Zed: add plan, edit-prediction quota, billing-cycle, and overdue-invoice tracking from the signed-in editor Keychain session (#1517). Thanks @enesteve0!

Changed

  • Website: add Poe, Chutes, and Zed to the provider gallery with matching icons and setup documentation.

Fixed

  • Provider switcher: use a continuous menu background instead of a separate light-mode tinted band. Thanks @Zihao-Qi!

CodexBar 0.36.0

Choose a tag to compare

@steipete steipete released this 15 Jun 23:50
v0.36.0
4015b67
  • Ollama: replace the bundled provider icon with the cleaner official mark while preserving native template tinting. Thanks @mattab178!
  • Menu bar: avoid a one-time visible menu rebuild after first-open background data arrives.
  • Settings: use high-contrast selected-content colors for provider sidebar text and icons.
  • Localization: align the app and website on the same 21-language catalog, adding Italian (#1248), Indonesian (#1513), Polish (#1253), Arabic, Persian, and Thai as selectable app languages, plus automatic website detection, persistent pickers, and right-to-left layouts for Arabic and Persian. Thanks @Yuxin-Qiao and @StevanusPangau!
  • Website: replace the remaining provider letter tiles with the canonical Devin, LiteLLM, and T3 Chat logos.
  • Website: keep localized mobile navigation, calls to action, package commands, and right-to-left layouts inside narrow viewports.

Added

  • LiteLLM: add personal and team budget tracking from a configured virtual key and proxy URL (#1542). Thanks @hololee!

Changed

  • Antigravity: prefer app and agy quota summaries, group usage into Gemini and Claude + GPT session/weekly pools, and preserve IDE and OAuth fallbacks. Thanks @Zihao-Qi!
  • Antigravity: show structured quota reset timestamps from the current resetTime field (#1553). Thanks @akunzai!
  • Configuration: honor absolute XDG_CONFIG_HOME paths while rejecting relative paths, preserving existing standard and legacy config precedence (#1562). Thanks @kiranmagic7!

Fixed

  • Menu bar: preserve native AppKit image-row alignment when returning to cached provider content in the open merged menu (#1560). Thanks @Zihao-Qi!
  • Menu bar: defer hosted submenu reconstruction until an active refresh finishes so partial provider data cannot replace the visible menu (#1556). Thanks @Yuxin-Qiao!
  • Weekly pace: suppress the “Lasts until reset” label when the projected run-out risk is nonzero (#1561). Thanks @kiranmagic7!
  • Antigravity: retry transient Text file busy launch failures while the CLI executable is being replaced.
  • Antigravity: fall back to loopback HTTP for local CLI and language-server probes on Linux, where self-signed localhost TLS cannot be trusted (fixes #1508). Thanks @zodiacfireworks!
  • Codebuff: enforce the optional subscription grace period even when the transport ignores cancellation.
  • Copilot: show the shared quota reset date for limited premium and chat usage windows. Thanks @Zihao-Qi!
  • Codex: keep managed login timeouts bounded while preserving captured output when detached helpers retain stdout or stderr.
  • Claude: keep segmented multi-account menus scoped to the selected account while its refresh is in flight (fixes #1527).
  • Command Code: keep showing available credits after the bounded optional subscription grace, including when the transport ignores cancellation (fixes #1131).
  • DeepSeek: keep balance refreshes responsive when optional usage-summary work ignores cancellation.
  • OpenRouter: keep credit refreshes responsive when optional key-quota enrichment ignores cancellation.
  • Provider probes: stop waiting indefinitely for inherited output pipes after subprocesses or CLI version checks exit (fixes #1531).
  • Menu bar: update visible usage values in place when a manual refresh completes instead of leaving the open provider card stale until the menu is reopened (fixes #1516).
  • Gemini: recognize the current gemini-api-key CLI auth setting so API-key sessions show the supported OAuth guidance instead of a misleading not-logged-in error (fixes #1511).
  • Kiro: keep usage refreshes bounded and clean up CLI helpers when they retain output pipes, ignore termination, or are cancelled (fixes #1533). Thanks @kiranmagic7!
  • Gemini: keep fnm package discovery bounded when helper descendants retain output pipes or ignore termination (fixes #1534). Thanks @kiranmagic7!
  • Xiaomi MiMo: cancel optional token-plan requests when the required balance request fails instead of delaying the error for up to 30 seconds.
  • Settings: make the cost history window directly editable by keyboard while preserving the existing stepper and 1–365 day bounds (fixes #1499). Thanks @kiranmagic7!
  • OpenCode Go: show Zen balances for accounts without subscription usage windows, including when the balance request takes longer than optional enrichment (fixes #1476). Thanks @kiranmagic7!

CodexBar 0.35.0

Choose a tag to compare

@steipete steipete released this 14 Jun 01:41
v0.35.0
9d3c354

Added

  • Kimi: add usage fetching from the official Code API key flow, with optional compatible HTTPS proxy support (#1424). Thanks @kiranmagic7!
  • Xiaomi MiMo: show paid and granted balance components alongside token-plan usage without requiring a duplicate provider (#1309). Thanks @AdrianSimionov!
  • Xiaomi MiMo: add an opt-in local session-log fallback for token accounting when browser quota authentication is unavailable (#1284). Thanks @LeoLin990405!
  • Weekly pace: use configured work days for standard weekly pace calculations while leaving historical Codex pacing unchanged (#1451, fixes #1356). Thanks @pstanton237!

Fixed

  • Security: prevent test and infrastructure cookie-import paths from accessing real browser profiles, SQLite stores, or Keychain data unless explicitly enabled (#1491).
  • Menu bar: stop the provider-switcher shortcut monitor from killing the menu's event tracking session. Its event-queue peek re-entered the run loop in tracking mode, which could leave a zombie menu on screen that ignored clicks for tens of seconds (beach ball) — most often right after opening the menu or after rapid Cmd-number provider switching, with Settings… the usual victim. Peeks now run in a barren private run-loop mode, start only once the tracking session is pumping, and no longer touch mouse events. Thanks @ProspectOre!
  • Menu bar: rebuild merged provider content inside AppKit's active tracking run loop so provider switches no longer wait for the menu to close or the default run loop to resume.
  • Menu bar: keep cached provider content visible while switching merged tabs so the open menu no longer flickers through an empty state.
  • Menu bar: restore native macOS positioning for merged provider dropdowns while preparing current content before AppKit lays out the menu.
  • Menu bar: avoid starting a duplicate background provider refresh when the menu closes while its initial missing-data refresh is still in flight.
  • Menu bar: pin the status-item dropdown to the current system appearance so it follows the Light/Dark setting instead of inheriting the menu bar's vibrant appearance, which rendered the menu dark in Light mode whenever a dark or strongly-colored window or wallpaper sat behind the menu bar (#1490). Thanks @npapridonu!
  • Menu bar: handle the global open-menu shortcut synchronously so repeated presses close the tracked menu instead of queueing a delayed reopen (#1470). Thanks @Zihao-Qi!
  • Menu bar: keep the selected quota percentage visible in Pace mode when pace is temporarily unavailable instead of collapsing to an icon-only status item (fixes #1462).
  • Settings: memoize cookie cache lookups behind the "Cached: …" picker labels so opening Settings and switching panes no longer pays a synchronous Keychain read per SwiftUI body evaluation, which froze the Providers pane for seconds (#1471). Thanks @ProspectOre!
  • Settings: keep the native tab toolbar in sync when macOS switches appearance while the window is open (#1484). Thanks @hhh2210!
  • Launch at Login: remove pending registrations when disabled without re-registering entries awaiting user approval (#1469). Thanks @AmrMohamad!
  • Diagnostics: enforce probe timeouts even when an underlying provider operation ignores Swift task cancellation.

CodexBar 0.34.0

Choose a tag to compare

@steipete steipete released this 12 Jun 16:06
v0.34.0
7717813

Added

  • Copilot: optionally import GitHub billing budget windows, bind them to the active account, and expose budget metrics in cards and menu bar icons (#1273). Thanks @Quicksaver!
  • Localization: add native Korean language support across the app and language picker (#1460). Thanks @soohanpark!
  • Localization: add German as a selectable app language (#1245). Thanks @Yuxin-Qiao!
  • Localization: add Turkish as a selectable app language (#1232). Thanks @ykarateke!
  • Devin: add daily and weekly quota tracking from the signed-in Chrome session or a manual Bearer token (#1264, fixes #800). Thanks @coygeek!
  • Amp: add local amp usage support, including account identity and individual and workspace credit balances (fixes #1317). Thanks @3kh0!
  • Menu bar: add an optional reset-time display for the selected quota metric, with percent fallback when reset metadata is unavailable (#1223, fixes #1185). Thanks @Yuxin-Qiao!
  • Cursor: include application data, extensions, settings, and caches in optional local storage tracking (fixes #1403). Thanks @dhruv-anand-aintech!
  • Menu bar: move the highlighted Overview provider with trackpad or mouse-wheel scrolling while preserving native submenu and keyboard behavior (#1436). Thanks @joshuavial!

Fixed

  • CLI: keep Ollama API credentials scoped to Ollama when deciding whether another provider requires macOS web support (#1466). Thanks @WadydX!
  • Provider switcher: keep localized tab titles visible by tightening outer insets only when equal-width segments would otherwise truncate.
  • OpenAI API: follow Admin usage pagination for costs and completions so multi-page organization usage totals are not undercounted (#1465). Thanks @rohitjavvadi!
  • Settings: slightly increase the window height so standard panes fit without clipping their final controls or helper text.
  • Menu bar: show immediate in-place feedback for manual refreshes, keep tracked-menu geometry stable, and coalesce repeated clicks until the active refresh succeeds or fails (#1458). Thanks @hhh2210!
  • Grok: recover web billing from status-7 credential failures by combining current browser sessions with non-expired CLI auth, accept raw protobuf responses, and render current zero-use periods (#1452). Thanks @bcharleson!
  • Amp: restore usage fetching with access-token authentication for the current balance endpoint and retain browser-cookie settings parsing as a fallback. Thanks @3kh0!
  • Antigravity: detect current hyphenated IDE language-server processes inside Antigravity app bundles so local quota refreshes no longer report the IDE as unavailable (#1405). Thanks @lfmundim!
  • Menu bar: avoid republishing unchanged provider storage footprints so background scans no longer trigger unnecessary menu observation work (#1416). Thanks @soohanpark!
  • Cursor: show capped team Extra usage when no individual cap exists, and honor percent used/remaining menu bar display settings instead of always showing currency spend (#1426). Thanks @lpc-eol!
  • Cursor: derive a first-party web session from the signed-in Cursor.app as a final fallback, preserving account precedence and legacy request quotas (#1295). Thanks @Jackie-Qin!
  • Claude: explain that an unauthorized Web session requires signing in at claude.ai or refreshing imported cookies (#1287). Thanks @LeoLin990405!
  • CLI server: reload provider config for every usage and cost request, invalidate config-dependent cache entries, and prune expired config variants without restarting codexbar serve. Thanks @enieuwy!
  • Menu bar: reserve quota-bar space consistently across Overview and provider switcher segments so selection no longer changes segment height (#1445). Thanks @Zihao-Qi!
  • Cost usage: accept normal models.dev catalog churn while retaining prior model prices as fallbacks, so newly priced models appear without requiring a manual cache reset (#1438). Thanks @tom-rigelblu!
  • Menu bar: detect Tahoe Control Center proxy windows parked in the blocked offscreen slot during startup recovery, so hidden icons show the existing guidance without weakening menu-bar-manager safeguards (#1440).
  • AWS Bedrock: treat Cost Explorer's temporary data-unavailable response as zero usage instead of an HTTP 400 error (#1324). Thanks @enesteve0!
  • Provider switcher: inset quota bars inside fixed-height segments so icons, labels, and selected pills remain vertically centered.
  • Doubao: show an unavailable quota state when Ark omits trustworthy request-limit data instead of reporting 100% left.
  • Menu bar: anchor merged provider dropdowns to the status item's trailing edge without marking preserved in-flight refresh content fresh, preventing horizontal drift while keeping deferred updates visible (#1288). Thanks @Yuxin-Qiao!
  • Antigravity: fall back to the CLI usage server when the desktop app is closed, keep helper sessions owned and bounded without hidden sign-in flows, and show model rows with missing usage as unavailable instead of exhausted (#1313). Thanks @enieuwy!
  • Cost usage: replace repeated Foundation metadata/root checks with one portable file-stat pass so expired Codex history refreshes stay responsive on very large session archives (#1392). Thanks @TheAngryPit and @ProspectOre!
  • Cursor: show the Safari Full Disk Access recovery hint before the long browser login list so permission guidance remains visible when menu errors truncate (#1419, fixes #1417). Thanks @hhh2210!
  • Cursor: present legacy request-based plans as one Requests quota with the raw used/limit count instead of unrelated token-based Auto/API bars (#1420, fixes #1418). Thanks @hhh2210!
  • Cost usage: memoize Codex priority-turn trace metadata incrementally so warm refreshes scan only appended rows instead of rescanning large trace databases (#1404). Thanks @ProspectOre!
  • Security: reject insecure or malformed MiniMax and Alibaba endpoint overrides while preserving valid custom HTTPS deployments (#1269). Thanks @Hinotoi-agent!
  • Security: reject insecure or malformed OpenRouter, Codebuff, Groq, and ElevenLabs endpoint overrides before sending provider credentials (#1256). Thanks @Hinotoi-agent!