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

# Choose agents and routes

> Understand how an agent CLI, model, and effort form a Route.

Choose Yellowhammer [Routes](https://yellowhammer.dev/docs/reference/statuses-and-glossary.md#route) to decide which agent CLI, model, and effort handle a Card, authoring, and Verification.

## Check agent readiness

Open **Settings → Agent CLIs**. Declare an installed CLI, then choose **Probe Now** or **Probe Again**. The CLI must be installed and authenticated for the local account that runs the jobs. Read the individual findings and the **Offered** or **Not offered** routing status.

A Probe invokes the agent and records its findings. To probe a specific configured CLI from a terminal:

```bash theme={null}
yh probe codex
```

Use `yh probe --help` for model and effort overrides. A passing Probe is readiness evidence for the adapter, not proof that every model your account offers will complete a Feature.

## Edit the base Routing Table

Open **Settings → Base Routing Table**. The **Cards** section maps a Card's Kind and Repo Role to a primary Route and an ordered list of fallbacks. Choose **Add Routing Entry** to add a mapping; use **If that fails, try…** and **Then try…** to extend its chain. Select CLI, model, and effort for each Route, then save.

| Entry | Purpose |
| - | - |
| Any Kind / Any Repo Role | Catch-all for Cards with no more specific matching entry. |
| A specific Kind | Route that Kind and its dotted descendants. |
| A specific Kind and Repo Role | Specialize work for one repository role. |
| Author | Choose the authoring Route, otherwise use the catch-all. |
| Verification | Order candidate Routes for a verifier that wrote none of the Cycle's code. |

Under **Verification**, inspect **Who checks whose code**. Add a verifier when a worker has no independent eligible Route. Independence concerns the complete CLI/model/effort Route, so do not assume a second label for the same Route supplies a different verifier.

Use **Test a Card…**, choose a Kind and Repo Role, and inspect the winning entry with **Show Entry**. This tests the table being edited; it does not save anything or account for Project overrides and Probe eligibility at actual dispatch.

## Apply Project overrides

Open **Settings → your Project → Configuration → Routing overrides**. An override replaces the base entry with the same Kind and Repo Role, including its entire fallback chain. A new key adds an entry; untouched keys inherit the base table. Choose **Save** after editing.

The longest matching dotted Kind prefix wins, then a matching explicit Repo Role wins over Any Repo Role. The selected entry's primary and fallbacks are tried in order, filtering routes excluded by previous failures, failed Probes, or temporary CLI usage backoff. The engine does not switch to a less specific entry just because a selected entry's chain is exhausted.

An Operator Override on a Card pins a complete Route. It takes precedence over ordinary routing and attempt-history exclusion, but still must pass readiness checks. The ordinary fallback chain is not used under that pin.

## Confirm it worked

Check each selected CLI is offered, test representative Card kinds, inspect Project overrides, and confirm every worker has a usable independent verifier. A review asking for changes uses another Round in the same Attempt; a failed Attempt can move to a fallback with a fresh Round budget.

If a Card becomes Blocked with `route failure`, read its Managed Block, check the selected entry and Probe findings, correct the issue, and move the Card back to **Todo** in Linear when ready to retry.

## Next steps

[Set limits and protected paths](https://yellowhammer.dev/docs/run/set-limits-and-protected-paths.md) · [Route glossary](https://yellowhammer.dev/docs/reference/statuses-and-glossary.md#route)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.