BitRouter

The minimal interpretable model router that learns & adapts to your agent workflows.
Point an OpenAI-compatible agent at your local BitRouter instance and choose
bitrouter/auto after configuring an auto router and policy. See the
routing guide for setup.
- OPENAI_BASE_URL=https://api.openai.com/v1
+ OPENAI_BASE_URL=http://localhost:4356/v1
Then set the request model to:
bitrouter/auto
BitRouter runs locally and exposes an OpenAI-compatible API, so existing agents and tools can switch over with minimal changes.
You can also give your coding agent the /bitrouter skill to install, configure, migrate to, and troubleshoot BitRouter for you:
npx skills add bitrouter/bitrouter
Try BitRouter Cloud →: Use https://api.bitrouter.ai/v1 with a Cloud credential and a catalog model ID. Hosted routing presets use @<name>; the local bitrouter/auto selector requires a local router.
Core features
Minimal core. Lightweight & extensible.
One Rust router sits between your agents and every model provider. Extend it
with providers, routing policies, tools, skills, and sub-agents without
rebuilding your workflow around a new agent runtime.
Interpretable decisions. Under your control.
Routing policy lives in files you own. Routes are inspectable, changes are
diffable, and a live policy changes only when you explicitly publish it.
A customizable router. Adapt it to your workflow.
Start with bitrouter/auto, then shape the models, rules, guardrails, and
evaluation objective around your own loop. BitRouter learns from the outcomes
you admit and proposes a new policy you can review, publish, or revert.
Integrates with your agent stack
Keep the clients and workflows you already use:
- Model APIs — OpenAI Chat Completions and Responses, and Anthropic Messages, with cross-protocol routing. Metered Gemini uses Google’s OpenAI-compatible Chat endpoint.
- Coding agents — built-in Codex and Claude support through native launchers, headless commands, and ACP adapters.
- Tools & skills — manage upstream MCP configuration with
bro mcp and existing local skill directories with bro skills. Install skills with npx skills; native tasks and supported ACP runs use explicitly selected skills. MCP content retains independent source permission and per-skill consent. See the CLI reference for supported hosts, commands and delivery limits.
Benchmarks
On Terminal-Bench 2.1, BitRouter cut API cost by 40.9% while achieving nearly the same reward as using gpt-5.6-sol alone.
| Configuration | Reward | Cost / trial | Cost savings |
|---|
gpt-5.6-sol only | 81.56% | $0.830 | — |
| BitRouter | 81.25% | $0.490 | 40.9% |
| Random model mix | 76.50% | $0.553 | 33.4% |
BitRouter dynamically routed between GPT-5.6, Kimi K3, and DeepSeek V4 Flash, retaining nearly all of GPT-5.6’s task performance while substantially reducing model cost.
The random baseline used the same model mix, showing that the savings come from routing decisions—not simply using cheaper models.
Results use the strict 80-task common-valid set and frozen API prices. This is a research benchmark, not an official Terminal-Bench submission.
See the full study and limitations and the BitRouterAI/benchmarks dataset for reproducible results.
Install
Official macOS distributions support Apple Silicon (arm64) only.
# macOS (Apple Silicon) / Linux
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/bitrouter/bitrouter/releases/download/v1.0.0-alpha.33/bitrouter-installer.sh | sh
# Homebrew
brew install bitrouter/tap/bitrouter
# Windows
powershell -ExecutionPolicy Bypass -Command "irm https://github.com/bitrouter/bitrouter/releases/download/v1.0.0-alpha.33/bitrouter-installer.ps1 | iex"
# npm
npm install -g bitrouter
# From source (Cargo)
cargo install bitrouter
These installers select the full product. Gateway-only release archives keep
the same bro executable and run as an independent model service. See
distribution profiles for archive verification,
configuration and profile-preserving updates.
Quick start
Run bro for line-based first-run setup. It ensures the background daemon is
ready and returns to the shell; subsequent calls reuse that daemon. Native
harness interfaces remain available through bro claude, bro codex and
bro launch <agent>.
bro threads manages native history, FIFO inputs, approvals and explicit
recovery. bro agents lists current connections; its single-operation commands
manage supervised ACP runs, settings, routes and native sessions. The existing
ThreadService, Core and controller retain execution and permission ownership.
bro code, bro tui, bro chat and bro agents attach have been removed.
They return migration guidance and never open an interface or start work.
bro # setup, then background daemon readiness
bro agents # live instances; catalog: agents list
bro run claude "summarize this repo" # one headless ACP turn
bro run codex "inspect tests" --background
bro agents pending <run-id> # inspect exact pending approvals
bro threads list # authorized durable native Threads
bro requests # settled requests and spend
bro route <model> # explain model resolution
The maintained Codex and Claude ACP adapters require Node.js 22+ and npx;
native launchers use each harness's own interface and per-process overrides.
See docs/CLI.md for the complete command reference, session
controls, flags, and config resolution.
Workflow recipes
Ready-made policy specs for common agentic workflows start in templates/auto-router/: a predictive bitrouter/auto / bitrouter/auto:cost ladder using GPT-5.6 as the strong tier, Kimi K3 as balanced, and DeepSeek V4 Pro as economy. Treat it as a starting point and evaluate it against your own loop before publishing a live policy.
Models & providers
BitRouter routes to a model, not a provider. Each model below is served by many
providers — its own lab, hyperscalers, gateways, and serverless clouds. BitRouter
orders eligible routes by configured provider priority and can fall back on
retryable failures. The bars are those routes: the more providers serve a model,
the more room the router has to move. Current cost and latency sort options use
the same deterministic priority order rather than live price or latency scoring.
Bring your own key to any of them, or use one BitRouter Cloud account with
no keys at all. Frontier models from OpenAI, Anthropic, Google, and xAI also route
over a subscription sign-in (Claude Pro/Max, GitHub Copilot, ChatGPT Codex)
instead of a key.
The chart is generated from dist/registry/ on every catalog
change — it is never hand-maintained, so it cannot drift from what the router
actually resolves. Full catalog in registry/.
Talk to founders
Try BitRouter Cloud → or reach out directly:
Want a first-party provider integration, or building an open-source agent/harness? Email kelsenliu@bitrouter.ai or book a meeting — open-source builders get up to 50% off for you and your community.
Development
docs/DEVELOPMENT.md — workspace architecture and SDK internals
CONTRIBUTING.md — contribution workflow, issue reporting, and provider updates
CLAUDE.md — guidance for AI coding agents working in this repository
skills/ — the /bitrouter Agent Skill (source of truth)
Star History

License
Licensed under the Apache License 2.0.