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 is ever labelled connected on the strength of one. Every provider instead carries a chip naming how its numbers actually reached this device: one of the three below before a live connection exists, or Connected once you link that provider from the desktop application.
| chip | providers | meaning |
|---|---|---|
Local CLI | Claude, Codex, Gemini CLI, Antigravity, Grok, Kimi, OpenRouter | A tool already on this machine holds the login, and OpenLimiter reads its own quota from that, or from what that tool already wrote. |
Import only | 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 everywhere. The web app and the command line tool still render the simpler three chip vocabulary above, because neither one reads a provider live on its own. The thirteen states are real and tested in the core package this product is built from, and they name the general lifecycle a connection follows wherever a live reader exists, which today is the desktop application's own Connections screen rather than this page.
What a live connection changes
Nothing on this page is a date or a promise for the web app or the command line tool, which stay on the three chips above because neither reads a provider live. 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 here, so the sentence a person reads does not change as the state underneath it moves.
Not every provider has that reader today; the desktop application's own Connections screen is where a live one shows up first. See the roadmap for what is planned and what is not, and supported providers for what each connector can actually do right now.