Routing introspection
bro command reference for routing introspection.
See Init and config for shared conventions and environment variables.
Three read-only views over the same routing state the daemon acts on. Use them to answer what would BitRouter do? before sending traffic.
bro route
Resolve a model name through the routing table. Uses the running daemon if reachable, otherwise loads the config — policy table included — and resolves locally. Read-only: nothing is sent upstream
Usage: bro route [OPTIONS] <MODEL>
| Argument | Description |
|---|---|
<MODEL> | The model name to resolve |
| Flag | Description |
|---|---|
--prompt <PROMPT> | Prompt text to resolve for. The policy table keys on the agent-loop step a request represents, so the model it selects can differ with the prompt; omit for a bare model resolution |
-c, --config <CONFIG> | Path to bitrouter.yaml (used as the standalone fallback and to locate the control socket) |
--socket <SOCKET> | Explicit control socket path. Overrides the config-derived path |
bro route anthropic/claude-opus-4.8
bro route @coding # presets resolve through their bound policyUses the running daemon when reachable, otherwise resolves from the config on disk — so it works in CI too.
bro models
List routable models for a config, optionally filtered by provider
Usage: bro models [OPTIONS]
| Flag | Description |
|---|---|
-c, --config <CONFIG> | Path to bitrouter.yaml. When omitted, the binary resolves in this order: ./bitrouter.yaml → $BITROUTER_HOME/bitrouter.yaml → ~/.bitrouter/bitrouter.yaml → zero-config in-memory defaults (bro init is the explicit way to scaffold a file) |
-p, --provider <PROVIDER> | Show only models declared by this provider |
bro models # every model id routable right now
bro models --provider anthropicbro observe
Observability inspection (OTel exporter state, cardinality usage)
Usage: bro observe <COMMAND>
bro observe status
Report the OTel exporter's current state (endpoint, sampler, cardinality usage, in-flight spans). Queries the running daemon over the control socket; reports "stopped" + the compile-time OTEL_ENABLED flag when no daemon is reachable
Usage: bro observe status [OPTIONS]
| Flag | Description |
|---|---|
-c, --config <CONFIG> | Path to bitrouter.yaml (used to locate the control socket) |
--socket <SOCKET> | Explicit control socket path. Overrides the config-derived path |
Reports the OTel exporter's live state — endpoint, sampler, cardinality usage, in-flight spans. The verification step for OpenTelemetry.
How is this guide?