LocalRouter is an OpenAI-compatible proxy that drives the real claude CLI — so Continue, litellm, LangChain, or your own client run on your Claude Max/Pro plan. No API key. No code changes.
$ brew install localrouter Runs locally, single-user. It uses your Claude Code usage quota and is ToS-adjacent — here's why that's the allowed path.
Anthropic bans extracting subscription OAuth tokens for third-party clients. Spawning the genuine claude CLI — which authenticates itself — is allowed. LocalRouter takes the second path, and strips Claude Code's agent context from every call.
Same answer, OAuth intact, ~880× fewer tokens. LocalRouter never reads ~/.claude; the CLI does the auth, LocalRouter just speaks OpenAI on top.
Every number below is real, aggregated from opt-out anonymous telemetry. When there's nothing yet, it says so.
Model and token counts only — never prompts or content. Opt out with DO_NOT_TRACK=1.
Point any OpenAI-compatible client at http://localhost:8083/v1 with any key value. Streaming and non-streaming both work.
Switch between sonnet, opus, and haiku live from the menu bar — no restart, applied on the next call.
Binds 127.0.0.1 only. Nothing leaves your machine except anonymous, opt-out counts — no prompts, no responses, no IPs.
Watch requests, the queue, cost, and login state as they happen. Menu-bar app on macOS, tray on Windows and Linux — both self-update.
Needs the claude CLI installed and logged in — LocalRouter drives it, it doesn't bundle it.
$ brew tap ravencloak-org/localrouter
$ brew trust ravencloak-org/localrouter # one-time
$ brew install localrouter # headless core
$ brew install --cask localrouter # menu-bar app $ nix run github:ravencloak-org/LocalRouter # run
$ nix profile add github:ravencloak-org/LocalRouter # install This is ToS-adjacent, and it is not flat-rate: it spends your Claude Code usage quota, and a real Anthropic API key is the boring-safe path. It's built for local, single-user use.
What makes it defensible is the one thing it refuses to do — it never extracts your OAuth token. It drives the genuine CLI and speaks OpenAI on top. See ADR-0002.