Every limit, always in view.
Relay is a local-first usage HUD for Codex and Claude. Both the five-hour and the weekly window, for both providers, on screen at the same time — capacity left, time to reset, and whether your pace will burn the window early. Nothing to open, nothing to click.
One purchase includes macOS and Windows. No account or subscription.
The Windows strip, docked beside the notification area. System health and every usage window stay visible at a glance.
What it does
- Both windows, not just the near one. Five-hour and weekly, for each provider, visible together. The weekly limit is the one that ends your week — it shouldn't take a click to find.
- Pace forecasting. Local usage history tells you when you'll hit the wall, not just where you stand.
- Native on both platforms. A floating menu-bar HUD on macOS; a strip docked beside the taskbar notification area on Windows.
- Machine health in the same strip. Smoothed CPU load, free RAM, GPU telemetry, and system-disk space.
- Works offline. Last-successful snapshots are cached locally, so the HUD degrades gracefully instead of going blank.
- No account, no server, no prompts. Relay collects no prompts or transcripts and reads no credentials unless you explicitly opt in to Claude usage through Anthropic.
It costs nothing to run
A tool that watches your budget shouldn't spend one. Relay is native on both platforms — Swift and AppKit on macOS, WinUI on Windows — so there's no bundled browser engine sitting behind a strip of text, and no fleet of helper processes idling behind it.
Measured over 20 seconds of normal idle on a desktop Windows 11 machine. Your numbers will vary; they should land in the same neighbourhood.
Setup
Codex needs nothing — Relay finds your local codex executable and asks its App Server for rate-limit data. Claude reports usage to status-line commands, so point Claude Code at Relay's engine in ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "/Applications/Relay.app/Contents/Resources/relay-engine --claude-status"
}
}
On Windows, use the relay-engine.exe beside Relay.exe and write the path with forward slashes. Restart Claude Code, get one response, and the reading appears on the next refresh.
Questions
Is there a trial?
No. Enforcing one would mean a trial clock and licence checks inside an app whose whole point is that it has no account and talks to no server of mine. The refund is the trial: run it for a month, and ask for your money back if it doesn't earn its place.
Does Claude Code have to stay running?
No. Relay keeps the last snapshot Claude Code reported until a newer one arrives. Note that only the CLI runs status-line commands — the desktop app doesn't, so readings go stale if it's your only client. Turning on Claude usage through Anthropic avoids that.
What is "Claude usage through Anthropic"?
An opt-in mode, off by default, that reads Claude Code's OAuth token and queries Anthropic's account usage endpoint directly, so readings don't depend on which client you use. The token goes only to Anthropic and is never stored or copied by Relay. That endpoint is undocumented and may change without notice; Relay falls back to the status line when a query fails.
What does Relay send anywhere?
Nothing. There's no Relay account and no Relay server. Everything is read locally and cached locally.