9router
A thin local proxy that gives every AI coding client — Claude Code, OpenAI Codex, Cursor, Cline, Copilot — a single endpoint to point at, then routes each request out to whichever model provider is healthy. I contribute to it as an upstream project.
Why it exists
- One integration point, many clients. Instead of wiring each client to each provider, every client points at one local URL and 9router handles the rest.
- Backends fail mid-session. A provider going down or hitting a quota shouldn't kill your flow — 9router falls back to another provider automatically so the session keeps going.
- Client configs stay clean. Pointing a client at a local endpoint is a small, reversible change; nothing about the client install gets rewritten or corrupted.
What it does
- Speaks OpenAI-compatible. It exposes the OpenAI API shape, so any client that talks to that shape works without custom adapters.
- Routes with fallback. Requests flow to a chosen provider, and on failure or limit they re-route to the next available one.
- Stays auditable. It's a small local proxy you run yourself, so you can read exactly what it does with your requests and keys.
Stack
A local Node/JS proxy server speaking the OpenAI-compatible API shape.
I contribute to 9router upstream — I don't solely own it.