Show HN: Smart model routing directly in Claude, Codex and Cursor Weave released a smart model routing proxy that works with Claude, Codex, and Cursor, ranking #1 on the RouterArena leaderboard. The open-source tool uses an on-box embedder to select the best model per request across Anthropic, OpenAI, Gemini, and open-source providers, with support for streaming, tools, and vision. It is available as a hosted service via npx or self-hosted with Docker and Postgres. One endpoint. Every model. Always the right one. A drop-in proxy for Anthropic, OpenAI, and Gemini that picks the best model for every request: using a tiny on-box embedder, not a vibes-based prompt. 🥇 1 on the RouterArena leaderboard — Acc-Cost Arena 1 user-content-fn-2-7b8ef23446551177800f80285e622e2b 76.09 . Built by Weave: The 1 engineering intelligence platform, loved by Robinhood, PostHog, Reducto, and hundreds of others. Point Claude Code, Codex, Cursor, or your own app at localhost:8080 . The router: - 🎯 Routes per request. A cluster scorer derived from Avengers-Pro https://arxiv.org/abs/2508.12631 picks the right model from your enabled providers, every turn. 2 user-content-fn-1-7b8ef23446551177800f80285e622e2b - 🔌 Speaks everyone's API. Anthropic Messages, OpenAI Chat Completions, Gemini native. Streaming, tools, vision, the works. - 🧠 Knows OSS too. DeepSeek, Kimi, GLM, Qwen, Llama, Mistral via OpenRouter or any OpenAI-compatible endpoint . - 🔒 BYOK by default. Provider keys stay on your box, encrypted at rest. - 📊 Observable. OTLP traces out of the box. See your dashboard in the Weave dashboard http://localhost:8080/ui/dashboard http://localhost:8080/ui/dashboard or drop in Honeycomb, Datadog, Grafana, whatever. The fastest way: point Claude Code, Codex, or opencode at the hosted Weave Router with one command. No clone, no Docker, no Postgres. npx @workweave/router That's it. The installer asks which tool Claude Code, Codex, or opencode , walks you through scope user vs. project , grabs a router key, and wires the right config file. Other flavors: npx @workweave/router --claude skip the picker, Claude Code npx @workweave/router --codex skip the picker, OpenAI Codex CLI npx @workweave/router --opencode skip the picker, opencode npx @workweave/router --scope project per-repo, commits settings.json or .codex/ / opencode.json npx @workweave/router --local self-hosted localhost:8080 npx @workweave/router --base-url https://router.acme.internal npx @workweave/router@0.1.0 pin a version Requires Node ≥ 18 Claude Code and opencode paths also need jq . Full flag reference: install/npm/README.md /workweave/router/blob/main/install/npm/README.md . If you want the router and dashboard running on your own box: 1. Drop a provider key in. OpenRouter is the recommended baseline. echo "OPENROUTER API KEY=sk-or-v1-..." .env.local 2. Boot Postgres + router on :8080 and seed an rk key. make full-setup The router is up at http://localhost:8080 http://localhost:8080 , the dashboard at http://localhost:8080/ui/ http://localhost:8080/ui/ password: admin , and your rk ... key prints in the logs. Call it like Anthropic curl -sS http://localhost:8080/v1/messages \ -H "Authorization: Bearer rk ..." \ -d '{"model":"claude-sonnet-4-5","max tokens":256, "messages": {"role":"user","content":"hi"} }' ...or like OpenAI curl -sS http://localhost:8080/v1/chat/completions \ -H "Authorization: Bearer rk ..." \ -d '{"model":"gpt-4o-mini", "messages": {"role":"user","content":"hi"} }' Peek at the routing decision without proxying curl -sS http://localhost:8080/v1/route -H "Authorization: Bearer rk ..." -d '...' Claude Code. Run make install-cc to wire Claude Code at the local self-hosted router it's also invoked automatically at the end of make full-setup . For the hosted router, use npx @workweave/router above. Codex OpenAI CLI . npx @workweave/router --codex patches ~/.codex/config.toml or