Routing introspection

bro command reference for routing introspection.

2 min readEdit this page

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>

ArgumentDescription
<MODEL>The model name to resolve
FlagDescription
--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 policy

Uses 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]

FlagDescription
-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 anthropic

bro 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]

FlagDescription
-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?

On this page