Model or dataset
shanggqm/codexU avatar
shanggqm/codexU

codexU: a macOS menu bar tracker for Codex and Claude Code quotas

macOS desktop widget for OpenAI Codex usage, quota tracking, token usage, and today task board

349 stars45 forksSwiftMIT

At a glance

What is it?
codexU is a Swift and SwiftUI menu bar app that reads local Codex and Claude Code data to show quota windows, token usage, a today task board and a 28-day AI leadership score. It is local-first and Mac-only in its main build, with a separate Tauri dashboard for Windows.
Who is it for?
Adopt codexU if you run Codex CLI or the Codex desktop app on a Mac and want quota windows, token totals and a task board in the menu bar without opening a browser. Skip it if you need a signed, notarised install, a Windows build that covers Claude Code, or a tool that reports exact billed cost rather than an API-price equivalent.
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 7 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 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What codexU tracks that the Codex UI does not

Codex shows you a percentage and a reset time. codexU's premise is that a percentage is a poor planning signal, because you cannot tell whether the window closes in twenty minutes or in two days without opening something else. The app puts the 5-hour and 7-day quota windows, the reset time, today's token total and a running total into the macOS menu bar, and adds a main window with usage trends, project rankings, tool and Skill lists, a today task board and an AI leadership score.

The audience is narrow and the README says so directly: developers who use OpenAI Codex, Codex CLI or the Codex desktop app often, and people who run Codex and Claude Code side by side and want one entry point for both. ChatGPT Pro and Team users who want a quick read on the 5-hour and 7-day windows are the third group. A main window toggle switches every panel between Codex and Claude Code, so the two runtimes are viewed through the same layout rather than in two tools.

The AI leadership score is the most opinionated feature and the one most likely to divide readers. The README describes it as a 28-day rolling score built from locally verifiable or derivable evidence: agent lifecycle, parent-child relationships, concurrency and autonomous run evidence. It explicitly excludes cost, delivery and estimated ranges from the score. Whether you want a seven-level badge and a command-radius animation in a usage tool is a taste question, but the scoring inputs are at least stated rather than hidden behind a single number.

How codexU reads local Codex and Claude Code data

The app is a native macOS application built from Swift sources under Sources/CodexUsageWidget, assembled by a Makefile that compiles the sources, copies Resources/Info.plist and the icon, and produces a DMG. There is no server component. The README states that usage, threads, paths, logs and account data stay on the machine and are not uploaded.

Data comes from local files. The Windows build reads %USERPROFILE%\.codex\ and the macOS build works from the equivalent local Codex data, including rollout files that the README says are used to backfill up to 28 days of inference samples into Application Support. Prompts, replies and paths are not recorded in that sample store. Claude Code support comes from local transcripts, which is why the Claude Code side has a 7-day summary and tool and Skill rankings but no model attribution: the README says model attribution is not available for Claude Code.

The quota display adapts to what the protocol returns. If the response carries an actual window duration, codexU classifies the quota type from that duration and picks a single-ring or dual-ring layout accordingly. Team accounts with a monthly window such as 43800 minutes are classified and shown rather than flagged as unrecognised. When the service returns reset counts, the main window pins the total and the two soonest expiries under the quota ring; if only a total is returned, the app says the expiry times were not provided instead of inventing them.

Installing codexU from the GitHub Release DMG

codexU ships as a DMG from GitHub Releases and is not distributed through the Mac App Store. The first launch is blocked by Gatekeeper, and the README walks through the manual approval: open codexU.app once, cancel the warning dialog if it appears, then go to System Settings > Privacy & Security and allow it. The README's text is truncated at that step, so treat the in-app or release-page instructions as the authority for the exact button label on your macOS version.

To build it yourself instead, the repository carries a Makefile. The default deployment target is 13.0, and the build picks the target triple from the host architecture unless you override it.

bash
make build
make run

The build writes into build/codexU.app and the run target launches it. Packaging produces a DMG named from the version in Resources/Info.plist and the architecture:

bash
make dist

Because SIGN_IDENTITY defaults to a hyphen, the default signing path is ad-hoc (--sign -). If you pass a real identity, the Makefile adds --options runtime and --timestamp, which is the hardened runtime path. The Windows packages are separate: codexU-1.3.1-windows-x86_64.msi and codexU-1.3.1-windows-x86_64-setup.exe, both for Windows 10/11 x86_64, with Windows ARM64 not yet packaged.

Once running, the menu bar icon opens a Runtime menu with Codex and Claude Code cards showing 5-hour and 7-day remaining, today's tokens and total tokens. The default shortcut for showing or hiding the main window is Command + U, and it is configurable in settings.

The 羊毛进度 estimate is a reference figure, not a bill

The most misinterpretable number in the app is the API-equivalent value the README calls 羊毛进度. It converts locally parsed ordinary input, cache write, cached input and output tokens into dollars using the OpenAI API token prices for the matching model and service tier, then plots that against Plus, Pro 100 and Pro 200 reference points.

The formula is stated in the README: each token class is divided by one million and multiplied by its price, cache write and cached input are capped at the input token count to avoid double counting, priority or fast service tier uses the Fast mode prices, and models that support long-context pricing switch to those prices when a single input exceeds 272K tokens. Reasoning tokens are not multiplied again because they are already inside output tokens. Models without published rates, such as GPT-5.3-Codex-Spark, fall back to a GPT-5.5 reference price and are marked with ≈.

The reference ceiling is the part to read carefully. The README describes the progress bar endpoint as 200 million tokens per day over 30 days, converted with a 30 percent uncached input, 50 percent cached input, 20 percent output mix, giving a reference price near $7.75 per 1M tokens and a monthly ceiling near $46,500. The bar uses a piecewise non-linear scale: Plus and Pro nodes sit in the early section and everything past Pro 200 is mapped logarithmically. Bar width is therefore a glanceable progress cue, not a linear share of dollars. The README is explicit that this is an API-price equivalent and not an actual bill or a rebate from OpenAI. Anyone who treats it as money owed has misread it.

Where codexU falls short

The distribution is the first limitation. A DMG outside the App Store with an ad-hoc default signature means every new user meets a Gatekeeper prompt, and the README spends a section on it. The Windows packages are described as not yet code-signed by the repository's default flow, so Windows may show a security warning on first run as well.

The two platforms are not at parity. The Windows build is a separate Tauri implementation, supports Codex only, and the README states that feature coverage on Windows and macOS is still evolving separately and is not identical. If you need Claude Code tracking, the Windows build will not give it to you today. Windows ARM64 is not packaged at all.

Claude Code support is thinner than Codex support by design: no model attribution, and the README keeps the older 7-day summary for it. The task board also refuses to overstate: recent activity and archived items are not presented as still running or successfully completed, which is honest but means the board shows less than a status dashboard that guesses.

There is also a scope limit worth naming. codexU reports what the local machine can see. If you work across several machines, or if Codex data is not where the app expects, the numbers will be incomplete. The README does not document a multi-machine aggregation path.

codexU compared with reading Codex output directly

The obvious alternative is not another widget. It is reading the Codex CLI or desktop output yourself, or writing a script against the local Codex data files. That approach has real advantages: no install, no Gatekeeper prompt, no third-party app holding your usage history, and full control over what you compute.

The difference in approach is what codexU adds on top of the raw data. A script gives you numbers when you run it. codexU keeps the 5-hour and 7-day windows, reset countdown and today's token total visible in the menu bar continuously, and adds derived views that would take real work to reproduce: the model-by-reasoning-effort scatter plot with P50 and P90 call durations, the per-model area chart switchable between 30, 60, 90 and 180 days, the project and Skill rankings, and the task board that reads Codex automations and Claude Code tasks with different vocabularies.

The scatter plot is the clearest example of a derived view with a stated boundary. Its vertical axis is output tokens divided by full call duration, bubble size is call count (or daily average call count over 7 and 28 day windows), and the README says plainly that this is not TTFT and not visible-text decoding TPS. If you want a raw throughput number, this metric will not satisfy you, and the README does not pretend otherwise. If you want a stable comparison across model and reasoning-effort combinations over time, that is what it is built for. For a user who only wants the current quota percentage, the script or the Codex UI is the lighter answer.

Maintenance, licence and upgrade cost

The repository is not archived and the last push was on 2026-09-08, the same day as the v1.3.1 release. Releases have been frequent: v1.2.1 on 2026-07-24, v1.3.0 on 2026-08-04, v1.3.1 on 2026-09-08. That cadence matters because the app reads data formats it does not control. Codex and Claude Code can change what their local files and protocol responses contain, and each change is a potential break in quota classification, task states or token parsing. The README's own upgrade note recommends v1.3.1 or later, citing the Windows x86_64 dashboard plus local inference performance monitoring and an aggregation boundary fix.

The licence is MIT, which permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. That is a permissive licence and it is the whole of what the repository states; nothing here is legal advice, and if you plan to redistribute a modified build you should read the LICENSE file in the repository rather than this paragraph.

Upgrade cost is low in normal use. The app can check GitHub Releases automatically and receives beta versions by default, offers a DMG download matching the current Mac architecture, and does not silently download or install. Auto-check can be turned off. If you build from source, note that the Makefile enables a Liquid Glass code path only when the macOS SDK major version is 26 or higher, so a build on an older SDK produces a different binary from the released one.

Editorial conclusion

Adopt codexU if you run Codex CLI or the Codex desktop app on a Mac and want quota windows, token totals and a task board in the menu bar without opening a browser. Skip it if you need a signed, notarised install, a Windows build that covers Claude Code, or a tool that reports exact billed cost rather than an API-price equivalent. Before installing, check the release page for the DMG matching your Mac architecture, and confirm whether your Codex data lives under ~/.codex/ as the README assumes.

Frequently asked questions

What is codexU used for?

It is a macOS menu bar and desktop app that shows OpenAI Codex and Claude Code quota windows, token usage, today's tasks and a 28-day AI leadership score. The README positions it for developers who want to check remaining quota, reset time and daily progress without opening a browser or terminal.

How do I check Codex usage limits with codexU?

The menu bar shows the 5-hour and 7-day remaining and used percentages plus reset time, and the Runtime menu shows Codex and Claude Code cards with 5-hour and 7-day remaining, today's tokens and total tokens. Team accounts with a monthly window, such as 43800 minutes, are classified and displayed.

Does codexU install from the Mac App Store?

No. It is distributed as a DMG through GitHub Releases, and the README states that the first launch may be blocked by macOS and must be allowed manually in System Settings > Privacy & Security.

Is there a codexU build for Windows or Ubuntu?

Windows x86_64 packages exist in the v1.3.1 release as an MSI and an NSIS setup executable, for Windows 10/11, with Windows ARM64 not yet packaged. The README does not mention a Linux or Ubuntu build, and the repository's top-level entries include only macOS sources plus a windows directory.

Does codexU upload my usage data?

The README states that scoring and data reading happen locally and that usage, threads, paths, logs and account data are not uploaded to third-party services. The Windows build likewise reads local data under %USERPROFILE%\.codex\ and keeps the same local-first boundary.

How do I update codexU?

The app checks GitHub Releases automatically by default and accepts beta versions, offering a DMG download that matches the current Mac architecture without silently installing it. The README recommends upgrading to v1.3.1 or later, and the automatic check can be disabled in settings.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. shanggqm/codexU on GitHub
Community notes

Community notes