> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dari.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Speculative Routing

> Reduce follow-up latency by selecting the next route alongside the current response.

Speculative routing reduces follow-up latency by continuing on the previous compatible route while Dari selects the route for the next turn.

```text theme={null}
Current follow-up
      ├── Continue previous compatible model ──► response
      └── Select the next route ───────────────► saved for next turn
```

The selected-model metadata always identifies the model that served the current response. If the selector chooses a different route, that choice applies to the next turn.

## When It Applies

Dari speculates only when it can recover a previous decision and that model and reasoning level can still serve the current request. Otherwise, it selects first and then calls the provider normally.

A request remains selector-first when it is the first turn, the previous route is unavailable, or the current request requires capabilities the previous route cannot provide.

## Failures

If the speculative provider call fails, Dari waits for selection and uses the router's normal retry and fallback settings. If selection fails after a valid speculative call has started, the current response can continue on that route.

Usage and activity are always attributed to the model that actually served the request.

## Configuration

New routers enable speculative routing by default. Open the router in the [Dari Dashboard](https://app.dari.dev) to switch it on or off.

For a self-hosted implementation, see [Framework Speculative Routing](/framework/speculative-routing).
