EmpryoEmpryo.beta
providers

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/200k

The 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.

TierProvidersWhat you get
Healthallready / cooling / disabled / error, plus success and failure counters
WindowsClaude, 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 provider

A 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%  ↺ 3d

Fable 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.

ModelBilled to
proxy/claude-*Claude subscription
proxy/gpt-*, proxy/*-codexCodex / 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

UsedState
under 75%quiet
75% and upwarning tone
90% and up, or exhaustedcritical
exhaustedreads 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