Skip to main content
Routing preference controls how strongly a firerouter request favors its primary model or lower-cost models. Set it per HTTP request with x-routing-preference, or configure it for a supported harness with FireConnect.

Preference levels

Send an integer from 1 (strongest preference for the primary model) to 5 (strongest preference for lower-cost models):

HTTP header

The HTTP header accepts only the integers 1 to 5. Names such as balanced are FireConnect CLI values, not HTTP header values. Set the header on an API request:
If the header is missing, invalid, or out of range, the router uses balanced behavior. It does not add a literal x-routing-preference: 3 header.

FireConnect

When you connect a harness to firerouter or a supported firerouter/... ID, pass --routing-preference with the connect command:
FireConnect accepts values 1 to 5 or the corresponding level names. Claude Code returns an error if you combine --routing-preference with a compound ID such as firerouter/opus. Cursor CLI is not supported.

When to adjust

  • High-volume workloads with many simple requests: try 4 or 5 so summaries, formatting, and straightforward Q&A are more likely to use a lower-cost model.
  • Tasks where quality is critical (security review, complex reasoning, nuanced writing): try 1 or 2 so the router favors its primary model.
  • Evaluating routing: start at 3 (balanced), then move one step at a time and compare cost and output quality.