Supported providers
Six connectors ship today. Each one carries its own honest labels describing where its credentials come from, how official its data interface is, and how likely it is to break.
The six connectors
| id | reads | interface status |
|---|---|---|
claude | The rate limit block of the Claude Code statusline payload | Native payload from a local tool. Low automation risk. |
openrouter | A credits response shape from OpenRouter's documented API | Documented API. Low automation risk. |
codex | A usage payload the Codex tooling produces | Internal endpoint. May break without notice. |
antigravity | A quota payload the Antigravity tooling produces | Internal endpoint. May break without notice. |
opencode | A usage view behind a session you already signed in to | Authenticated page. High automation risk. May break. |
manual | Numbers you write yourself | Manual entry. Never breaks, never guesses. |
How data actually arrives
This is the part that surprises people, so it is worth stating plainly. In this release no connector performs network access. Every one of them is a parser, and something else has to hand it a document.
claudeis fed by the statusline payload arriving on standard input. That path is automatic once Claude Code is wired up.manualis fed by a document you place in the state directory.codex,antigravity,opencodeandopenrouterhave no local reader yet. They accept data throughopenlimiter ingest --provider <id>and nothing else.
The ingestion page documents all three paths and the exact shapes they accept.
Reading the labels
Every snapshot carries four labels, so a surface can always tell a reader how much to trust a number.
| label | values you will see |
|---|---|
credentialOrigin | official-local-tool, user-key, browser-session, user-entered |
dataInterfaceStatus | native-statusline-payload, documented-api, internal-endpoint, authenticated-scrape, manual |
automationRisk | low or high |
verification | UNVERIFIED |
What drift looks like
Unofficial interfaces change without notice. When a shape moves, parsing fails closed: the affected provider returns to unknown, the other providers are unaffected, and nothing invents a number to fill the gap.
The OpenRouter credential
OpenRouter is the one connector that expects a key of your own. That key belongs in your operating system credential store and nowhere else. It must never appear in repository files, cache files, exports, diagnostics, fixtures, or logs.
openlimiter ingest --provider openrouter --payload '{"data":{"total_credits":15,"total_usage":14.2}}'Connectors that do not exist yet
Only the six above are real. Anything else you might hope for is not built, is not scheduled, and should not be assumed. If a subscription has no connector, the manual path covers it today with numbers you enter yourself.