codexU: a macOS menu bar tracker for Codex and Claude Code usage
macOS desktop widget for OpenAI Codex usage, quota tracking, token usage, and today task board
At a glance
- What is it?
- codexU reads your local Codex and Claude Code data and shows quota windows, token usage and a today task board in the macOS menu bar. It is local-first, MIT licensed, and ships a separate Windows build that only covers Codex.
- Who is it for?
- Adopt codexU if you run Codex CLI or the Codex desktop app on macOS and want quota, token and task state visible without opening a browser, and if you accept a DMG distributed outside the Mac App Store with a manual first launch. Skip it if you need Claude Code coverage on Windows, since the README states the Windows build supports Codex only, or if you want a signed installer with no Gatekeeper step.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 22 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What codexU tracks that the Codex client does not show
Codex exposes quota as a percentage and a reset time. That is enough to know whether you can keep working, and not enough to answer questions like how much of the month you have consumed, which project is eating the budget, or how many tasks are still open today. codexU is a macOS menu bar and desktop app built for those questions. It targets developers who use OpenAI Codex, Codex CLI or the Codex desktop app, and also developers who run Codex and Claude Code side by side and want one entry point for both local usage streams.
The app covers four surfaces. Quota: the 5 hour and 7 day windows, their remaining and used ratios, and the reset time, with a monthly window (the README gives 43800 minutes as a Team example) classified by the actual window duration returned by the protocol rather than by a hardcoded label. Usage: today, last 7 days and cumulative token counts split into uncached input, cached input and output. Tasks: a today board whose categories adapt to the source, with Codex using recently active, to continue, scheduled and archived today, and Claude Code using in progress, pending, planned and completed from local tasks. And a fourth surface the README pushes hardest, an AI leadership score that rolls up 28 days of agent activity into a 0 to 100 level with seven badges.
That last feature is where the project's editorial voice is loudest, and it is also the part most likely to divide readers. The README is explicit that the score uses only locally verifiable or derivable evidence: agent lifecycle, parent-child relationships, concurrency and autonomous run evidence. Cost, delivery and estimation ranges are excluded. That constraint is defensible, and it also means the score measures how much agent activity your machine recorded, not how good the output was.
How codexU gets its numbers without uploading anything
The architecture is local-first in the literal sense. codexU parses files that Codex and Claude Code already write on your machine, keeps the aggregates in local storage, and the README states it does not upload usage, threads, paths, logs or account data to third party services. The Windows build reads from `%USERPROFILE%\.codex\` and follows the same boundary.
The API equivalent value is computed from locally parsed token counts. The README gives the formula as a text block:
API 等效价值 =
普通未缓存输入 tokens / 1,000,000 * 模型输入单价
+ cache write tokens / 1,000,000 * 模型 cache write 单价
+ 缓存输入 tokens / 1,000,000 * 模型缓存输入单价
+ 输出 tokens / 1,000,000 * 模型输出单价Cache write and cache hits are capped at the input token count so the same tokens are not billed twice. When a session carries `service_tier = priority/fast`, the official Fast mode price applies; models that support long context pricing switch to that rate above 272K input tokens in a single call. Reasoning effort is not multiplied again, because reasoning tokens are already inside the output count.
The monthly progress bar needs a reference ceiling, and this is where the design gets opinionated. The endpoint is estimated as 200 million tokens per day for 30 days, converted with a reference mix of 30 percent uncached input, 50 percent cached input and 20 percent output, at roughly $7.75 per million tokens, giving about $46,500 per month. The scale is piecewise non-linear: Plus and Pro nodes sit in the early segment, and everything above Pro 200 is mapped logarithmically to the endpoint. The README says this plainly, that bar width is for scanning stage progress and is not a linear dollar share. Read that sentence twice before quoting a percentage from the bar.
The inference performance view is a separate mechanism. It builds a scatter plot of model against reasoning effort from local measurements, with the horizontal axis being P50 full call duration for the selected window and the line extending to P90, and the vertical axis being output tokens divided by full call duration. Bubble size is call count today and average daily calls for the 7 and 28 day views, so longer windows do not inflate bubbles. Samples persist to local Application Support and are backfilled from the last 28 days of rollout data. The README states no prompts, replies or paths are recorded, and warns that the metric is not TTFT or visible text decode TPS.
Installing codexU from the DMG and reading your first quota window
codexU is distributed as a DMG through GitHub Releases, not through the Mac App Store. The README's first-install section describes the Gatekeeper step: open `codexU.app` once, cancel the warning dialog if it appears, then go to System Settings, Privacy and Security and allow it there. There is no Homebrew formula or package manager command documented in the README, so the release page is the install path.
If you prefer to build from source, the repository ships a Makefile. The default deployment target is 13.0 and the target triple is derived from the host architecture.
make build
make run`make build` assembles `build/codexU.app` from the Swift sources under `Sources/CodexUsageWidget` and the resources in `Resources/`, and `make run` launches it. The Makefile also defines a `dist` DMG target whose name follows `codexU-$(VERSION)-mac-$(ARCH_NAME).dmg`, and a `SIGN_IDENTITY` variable that defaults to `-` for an ad hoc signature.
Once running, the menu bar icon opens the Runtime menu. Clicking the Codex or Claude Code card opens the main window and switches to that runtime. The main window has a `Codex | Claude Code` toggle at the top that scopes every panel below it.
The README lists the default window shortcut as `Command + U`, which shows or hides the main window and can be customized in settings. The shortcut requires at least two modifiers and must include Command or Control; the README says known high risk system and accessibility shortcuts are rejected during recording. The app detects exclusive shortcut registrations held by other applications, and the README admits macOS does not expose a full query for non-exclusive registrations, so a conflict can still occur and you should pick another combination. The refresh button at the top of the main window forces an immediate re-read of quota, token statistics, trends and the task board.
Where codexU breaks down or is the wrong tool
The Windows build is the clearest limitation. It exists as an independent Tauri desktop implementation, ships as MSI and NSIS packages for Windows 10 and 11 on x86_64, and the README states Windows ARM64 is not packaged. It supports Codex only, not Claude Code. The README also states the Windows packages are not code signed by the repository's default flow, so Windows may show a security prompt on first run, and that macOS and Windows feature coverage is not identical because the two implementations evolve separately.
The inference performance metric has a stated boundary that is easy to misread. The README says it is meant for comparing subjective feel over time and does not pretend to be TTFT or visible text decode TPS. If you need latency numbers for capacity planning, this is not that instrument.
The AI leadership score is the feature I would treat most carefully. It is computed locally and excludes unverifiable inputs, which is a reasonable design, but a score derived from lifecycle and concurrency evidence on one machine is not comparable across people or teams. The README's own framing, seven badges from a certain baseline to a top tier, invites comparison anyway. The detail view exists for this reason: it shows four core metrics, four capability dimensions, daily AI hours, agent and peak concurrency trends, and project contribution. If a number looks surprising, that view is the place to check it, not the badge.
Cost estimates are estimates. The README says models without a published rate, including the GPT-5.3-Codex-Spark research preview, are folded in at GPT-5.5 reference pricing and marked with `≈` as reference estimates. Any dollar figure you read from the app is an API price equivalent, not a bill.
codexU compared with Codexbar and other menu bar trackers
The related searches around this project include Codexbar, which is the natural comparison point for anyone looking for a menu bar quota display. The difference in approach is scope. A quota-only tracker answers one question: how much of the window is left. codexU answers that question and then keeps reading your local data to build token breakdowns, a task board, project and skill rankings, a model-mix area chart over 30 to 180 days, and the leadership score.
That breadth is a trade-off, not a free upgrade. More panels mean more parsing of local session data, more surface area for a misread category, and a larger app to keep current. If all you want is a colored ring in the menu bar, the simpler tool is the better fit, and codexU's three status bar density modes (minimal, classic, rich) exist precisely because the full window is not always what you want on screen. The minimal mode keeps a bold quota ring; rich mode adds full labels, progress bars and reset times.
On the Claude Code side, codexU's coverage is deliberately thinner. The README states Claude Code has local transcript usage statistics, a 7 day trend, project rankings, tool and skill TOP lists, and basic task board support, but no model attribution, so the model-mix area chart stays Codex-only. If your work is mostly Claude Code, you are getting a partial version of the app's strongest views.
Maintenance cadence, licence and what a fork inherits
The repository is not archived and the last push was on 2026-09-08, which is recent. Releases are frequent rather than annual: v1.2.1 on 2026-07-24, v1.3.0 on 2026-08-04, and v1.3.1 on 2026-09-08. The README explicitly recommends upgrading to v1.3.1 or later, citing the Windows x86_64 dashboard, local inference performance monitoring, and an aggregation boundary fix. That last item is worth noting for anyone on an older build: an aggregation boundary fix implies earlier versions could misattribute usage at window edges.
The licence is MIT, which permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. That matters here because the app reads local Codex and Claude Code data and presents it, and MIT places no restriction on that internal use. It does not grant any rights to OpenAI or Anthropic data or marks, and the repository's colour themes are curated through review, licence checks and CI rendering validation rather than user-installable, which is a distribution decision rather than a licence term. This is not legal advice; check the LICENSE file and your own obligations.
Upgrade cost is low by design. Updates are checked against GitHub Releases, with beta versions accepted by default, and the app offers a DMG download matching the current Mac architecture. The README states it does not silently download or install, and automatic checking can be turned off. There is no documented migration step between versions, and the README does not document rollback, so if you pin a version you should keep the DMG you installed from.
Editorial conclusion
Adopt codexU if you run Codex CLI or the Codex desktop app on macOS and want quota, token and task state visible without opening a browser, and if you accept a DMG distributed outside the Mac App Store with a manual first launch. Skip it if you need Claude Code coverage on Windows, since the README states the Windows build supports Codex only, or if you want a signed installer with no Gatekeeper step. Before relying on the numbers, verify that your Codex client writes the local files the app parses, and check the AI leadership score against the four core metrics shown in its detail view rather than treating the badge level as an external benchmark.
Frequently asked questions
Does codexU upload my Codex usage data?
The README states that scoring and parsing happen locally on the Mac and that usage, threads, paths, logs and account data are not uploaded to third party services. The Windows build follows the same local-first boundary and reads from `%USERPROFILE%\.codex\`.
Does codexU work with Claude Code as well as Codex?
Yes on macOS: the main window has a `Codex | Claude Code` toggle, and Claude Code gets local transcript usage, a 7 day trend, project rankings, tool and skill TOP lists and basic task board support. Model attribution is not available for Claude Code, and the README states the Windows version supports Codex only.
How do I install codexU on macOS?
It is distributed as a DMG through GitHub Releases rather than the Mac App Store. The README's first-install steps are to open `codexU.app` once, cancel the warning if macOS blocks it, then allow it under System Settings, Privacy and Security. Building from source uses `make build` and `make run`.
Is codexU free to use?
The repository is licensed under MIT, which allows use, modification and redistribution as long as the copyright and permission notices are kept. The README does not describe a paid tier or a licence key.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/shanggqm-codexu)