macOS 26 · a utility at the right edge of your screen

Every LLM agent limit, at the edge of your screen.

StatusRight shows how much of the 5‑hour, weekly and per‑model windows you have used across Codex, Claude Code, GitHub Copilot and Antigravity — per profile, without access to your tokens.

Codex, Copilot and Antigravity CLIs are installed separately.
Providers

Four CLIs. One panel.

Each provider has its own official data source. StatusRight never invents windows: a missing limit is not drawn as zero, and a confirmed zero is drawn dashed. Every percentage is usage, not what is left.

Codex
codex app-server · account/rateLimits/read

A local app-server, no browser sign‑in. The primary Codex group plus separate per‑model windows, e.g. GPT‑5.3‑Codex‑Spark. Each profile gets its own CODEX_HOME.

5 hoursWeekModel windows
Claude Code
statusLine · five_hour, seven_day

The official statusLine JSON from the running session. Fable is a separate inner ring taken from the profile's usage script. The app never launches the Claude CLI and never touches the network.

Session · 5 hWeekFable
GitHub Copilot
copilot SDK · account.getQuota

JSON‑RPC over stdio, exactly like the official SDK. No prompts or sessions are created and no inference quota is spent. Unlimited categories are labelled “Unlimited”, not 0%.

PremiumChatCompletions
Antigravity
antigravity-cli · statusLine

The official CLI statusLine. Gemini (Flash, Pro) and Claude & GPT (Opus, Sonnet, GPT‑OSS) groups — a 5‑hour and a weekly window each; either group can be hidden.

GeminiClaude & GPT5 h / week
Expanded

One click, and rings become cards.

The controller smoothly expands into a panel with a card per account: the same colours in the bars, the time of the last observation, the error code and a retry button — if something went wrong.

The sidebar grows and shrinks with the number of selected accounts; scrolling kicks in only when the screen runs out.
After 5 minutes without fresh data a window is marked stale; expired windows are hidden, and a fully spent limit shows its reset time.
Rings, outside in: session · week · Fable. A missing Fable window reads “no data”, not 0%.
Features

Built to sit at the edge and stay out of the way.

01
Three Claude rings

Session, week and Fable in a single badge. Ring colours match the card bars.

02
As many profiles as you like

Personal, work, anything else. Grouped by provider, with your own names and visibility toggles.

03
Refresh every 1 / 5 / 15 minutes

Independent 5–300 s retries per provider, recovery after sleep and when the network returns.

04
Data does not vanish

The last successful limits persist across launches; observation time and errors are visible on every card.

05
Zero is not “no data”

A confirmed 0% is drawn dashed; a missing window is neither drawn nor labelled.

06
Reduce Motion and VoiceOver

Animations respect system settings; the tooltip and VoiceOver name every available limit.

07
Sound and haptics

Short synthesized sounds with no audio files, and feedback on Force Touch trackpads.

08
Always dark, outside the Dock

A permanent dark appearance regardless of the macOS mode.

Privacy

It never reads your tokens.

StatusRight is an observer, not a client. It reads the aggregates your CLIs already export and never widens its permissions.

App Sandbox is off: the app reads local snapshot files and launches the Codex CLI. Settings are stored locally.

Claude
Never opens the Keychain, OAuth tokens or .credentials.json, never launches the Claude CLI, never makes HTTP requests. The source is JSON files in ~/Library/Application Support/StatusRight/statusline/.
Codex
Tokens are never opened or stored. On an authorization error there is a single standard refresh attempt via account/read; browser sign‑in is never launched.
Copilot
The CLI owns its authentication. Tokens from RPC are never saved or shown; foreign GH_TOKEN / GITHUB_TOKEN are never injected into the environment.
Antigravity
Only aggregates are kept: no email, tokens, prompts or transcript paths.
Profiles
Only top‑level ~/.claude* and ~/.codex* directories are checked, plus CLAUDE_CONFIG_DIR / CODEX_HOME. No recursive disk scan.
Setup

Profiles are folders.

Each account is a separate CLI configuration directory. StatusRight finds them on its own and never substitutes one account for another.

01
Install StatusRightThe controller appears at the right edge of the screen. It will not be in the Dock.
02
Click “Find profiles on this Mac”It finds ~/.claude*, ~/.codex*, Copilot and Antigravity CLI accounts. Add a non‑standard folder by hand.
03
Enable the accounts you needCheckbox, name, path. Hidden profiles are not polled, and their errors do not affect the overall status.
zshone profile per account
CLAUDE_CONFIG_DIR="$HOME/.claude-personal" claude
CLAUDE_CONFIG_DIR="$HOME/.claude-work" claude

CODEX_HOME="$HOME/.codex-personal" codex login
CODEX_HOME="$HOME/.codex-work" codex login

The standard ~/.claude is never merged into any profile: a shared Gmail does not prove that usage belongs to the work organisation. Refresh every 1, 5 or 15 minutes; 5–300 s retries per provider.

Put your limits at the edge of the screen.

One glance to the right — and you know how much each agent has left and when the window resets.

Download for macOS 26
StatusRight 0.1.0 (1) · requires macOS 26 · the download link arrives with the first release