Connections
Every provider shows two things: a chip naming where its numbers came from, and, underneath, a state drawn from one vocabulary the whole product shares. This page names every state in it, says plainly what Import only means, and says what changes once a live connection exists.
The chip on a provider today
A parser existing is not a connection, so no card in the dashboard is ever labelled connected on the strength of one. Every provider instead carries a chip naming how its numbers actually reached this device. There are three, today.
| chip | providers | meaning |
|---|---|---|
Local CLI | Claude | A tool on this machine writes the payload, and OpenLimiter reads what it wrote. |
Import only | OpenRouter, Codex, Antigravity, OpenCode | The payload shape is parsed. Nothing here signs in or fetches it, so you supply the document. |
Manual | Manual entries | Figures you keep yourself. Nothing is read from an account. |
The full connection vocabulary
Underneath the three chips sits a larger vocabulary: thirteen named states, one module in the core package the whole product is built from, each with one plain sentence rather than a log line. It exists so a connection's state is a value every surface reads the same way, never a sentence each one is free to invent for itself.
| state | meaning |
|---|---|
NOT_CONFIGURED | Not connected. |
DETECTED | Found on this machine but not collecting yet. |
NEEDS_AUTH | Waiting for a credential. |
READY_TO_ENABLE | Ready to start collecting. |
CONNECTING | Connecting. |
CONNECTED | Connected and collecting. |
DEGRADED | The provider is refusing reads for now. |
STALE | The last reading is older than it should be. |
AUTH_EXPIRED | The stored credential stopped working. |
IMPORT_ONLY | Reads only what you import. Nothing is collected automatically. |
MANUAL | Shows the plan you entered yourself. |
UNSUPPORTED | No safe automatic source exists for this product yet. |
ERROR | This connection failed and needs a look. |
IMPORT_ONLY,MANUALandUNSUPPORTEDare declared rather than attempted, by design: the product states them outright, and nothing that happens afterward, a response, a failure, a timeout, is allowed to quietly promote one of them toCONNECTED. Only OpenLimiter itself declaring otherwise moves a connection out of one.- The rest name a lifecycle a live reader would move a connection through: found but not yet collecting, waiting on a credential, connecting, connected, and, when something goes wrong, degraded, stale, expired, or needing a look.
What this page is not claiming
Not that all thirteen are on screen. What the dashboard actually renders today is the simpler, three chip vocabulary above, built for a release where nothing performs a network read. The thirteen states are real and tested in the core package this product is built from, and they name the general lifecycle any connection follows once a live reader exists. No surface renders those words yet, because nothing today does the thing that would put a connection into one of them: no reader, no request, nothing to fail, expire, or need a credential for.
What changes when a live connection ships
Nothing on this page is a date or a promise. When a provider gains a real reader, the honest description of it stops being a fixed chip and starts being whichever of the thirteen states above actually fits at that moment: detected, waiting on a credential, connecting, connected, or, when something goes wrong, degraded, stale, or needing a look. That is the reason to name the whole vocabulary now, before any of it is reachable, so the sentence a person reads does not change on the day the state underneath it starts moving.
No provider has that reader today. See the roadmap for what is planned and what is not, and supported providers for what each connector can actually do right now.