Subscription limits
See what is left of your Claude, Codex and Gemini subscriptions inside Empryo: per-model weekly caps, reset countdowns, and warnings before a window runs dry.
When you route models through the proxy add-on, you are not paying per token — you are spending a flat-rate subscription. Empryo reads those limits straight from the provider and shows you what is left, on every surface.
Use at your own risk. Routing a consumer chat subscription through a local relay means presenting your credentials to endpoints built for the vendor's own apps. Empryo is not affiliated with Anthropic, OpenAI, Google or xAI, and we have not cleared this use with any of them — unlike Copilot, where we did review the published terms.
Whether your plan permits it is between you and your provider. Read your subscription terms before logging in. Possible consequences include rate limiting, revoked credentials, or account suspension, and a suspended account is not something we can restore.
plan [▰▰▰▰▱] 78% weekly ↺3d
ctx [▰▰▰▱▱] 42% ~12k/200kThe top line is the plan meter in the status bar, drawn in the same vocabulary as the context gauge below it: percentage in the severity colour, the window it belongs to and its reset countdown dimmed beside it. In the terminal each is prefixed by its own glyph rather than a word.
This page is about proxy/* models. GitHub Copilot is the other flat-rate plan Empryo meters — same gauge, same thresholds, but a monthly allowance rather than a rolling window. API-key providers bill per token, and that spend lives in `/usage` in dollars, not windows.
The two things a subscription tells you
Every account behind the relay reports health — is this credential working right now. Some providers additionally report rolling windows — how much of a rate-limit period you have burned.
| Tier | Providers | What you get |
|---|---|---|
| Health | all | ready / cooling / disabled / error, plus success and failure counters |
| Windows | Claude, Codex (ChatGPT) | percentage used, reset time, and per-model caps |
Providers with no quota API we trust say so rather than guessing:
● you@example.com (xai) — ready
no quota reported by this providerA wrong quota bar is worse than no quota bar.
Per-model caps
This is the part that surprises people. On a Claude subscription the weekly allowance is not one number — Anthropic meters each model family separately on top of the account-wide windows:
Subscriptions · proxy
● claude you@example.com
▸ weekly · fable [▰▰▰▰▰▰▰▰▰▰] spent ↺ 3d
5h [▰▰▰▰▰▰▰▱▱▱] 73% ↺ 1h
weekly [▰▰▰▰▰▰▰▰▱▱] 78% ↺ 3dFable is spent. Sonnet and Opus are not. Same account, same week.
The ▸ marks the window that gates the model you are on right now. Switch models and the marker moves, the order changes, and the status-bar badge re-scores instantly — no refetch, because the numbers did not change, only which of them apply to you.
A spent cap only jumps to the top of the list when it actually gates your current model. A blown Fable weekly stays quiet on a Sonnet turn instead of shouting that you are blocked when you are not.
Which account pays
The relay round-robins within a provider but never across them. A proxy/gpt-5.6 turn bills your Codex subscription and cannot touch your Claude one, so the badge always follows the model rather than whichever account served the last request.
| Model | Billed to |
|---|---|
proxy/claude-* | Claude subscription |
proxy/gpt-*, proxy/*-codex | Codex / ChatGPT subscription |
proxy/gemini-* | Gemini subscription |
proxy/grok-* | xAI subscription |
Where it shows up
- Status bar — ambient meter beside the context gauge, on both the classic footer and the v2 organic bar.
- `/usage` → Plan — every account, every window, with the gating one marked.
- `/status` — the plan badge next to the running proxy process.
- `/proxy quota` — forces a live refresh and prints the full block.
When you get warned
| Used | State |
|---|---|
| under 75% | quiet |
| 75% and up | warning tone |
| 90% and up, or exhausted | critical |
| exhausted | reads spent, not 100% |
spent is deliberate wording. A round number and a shut door are different statements.
Refreshing
Upstream quota routes rate-limit hard, and the numbers barely move, so reports are cached for 5 minutes. Opening a panel reads the cache; these paths force a live fetch:
/proxy quota- the refresh button in the desktop Proxy and Usage drawers
--proxy-quota- Hearth
/subscriptions
Privacy
Quota lookups go through the relay's own management API. When an upstream call needs your OAuth token, the proxy substitutes it server-side — the token never leaves the sidecar and Empryo never sees it. The management secret is generated on first use and stored alongside the proxy config.
Troubleshooting
Related
- Add-ons — installing the proxy relay and logging in
- GitHub Copilot — the other metered subscription, billed monthly
- Cost tracking — per-token spend, the other half of the picture
- Providers overview — every provider Empryo speaks