Every coding agent now ships more than one model, and picking between them is a decision — narrow, repeatable, and exactly the kind of question a language model should not be spending reasoning tokens on. A new cluster of tools hands that choice to Jev.
Route the model, keep the harness
jev-router wraps Claude Code and Codex without replacing them: both commands launch the real upstream CLI, and Jev only chooses the model for a fresh user turn. No Anthropic or OpenAI API key is required when the CLI is already logged in with a subscription, and the status line shows the decision it made, for example haiku p=0.98 with 8% context. A bundled /jev-explain skill renders the factors behind the last routing decision, which is what makes the router debuggable.
jev-codex-router takes the same idea into Codex with four Choice questions in one request: mandatory policy, capability tier, thinking depth, and a route lease. It relays the native Responses stream verbatim, so tool calls, reasoning, and compaction behave natively, and it logs every routed turn locally for later calibration. Two defaults are worth knowing: it fails open on any Jev error, and a sentinel-file kill switch routes without Jev instantly.
Route at the gateway
The other half of this category sits between an OpenAI-compatible client and many providers. jev-router (prismhq) points any client at a proxy with the model name jev-router, filters candidates on vision, output length, and tool support before any decision is made, and reports the serving model in the response. Transport is LiteLLM, so it routes across OpenRouter or anything LiteLLM supports, and without an API key a rules-based decider picks the cheapest eligible model.
JevRouter separates the decision from the policy around it: Jev owns the probabilities, while JevRouter owns availability, permissions, risk, and confirmation, and filtered candidates are never re-normalized. On ten Toolathlon tasks predicting the first five tool calls, its serial strategy hit 38% of positions against 24% for DeepSeek V4.1 Flash at 1.58 s per task, and a decompose-plus-thread strategy reached 44% hits on MCP-Atlas.
Route tools and skills, not just models
The same judgment applies inside a single turn. pi-jev activates only the tools and skills a prompt needs instead of loading everything, with one shared threshold of 0.65 across the router, tools, skills, and auto mode, plus a gate CLI that exits 0, 1, or 2 so CI can branch on the verdict. Jevonian narrows it further: only the jevonian/auto alias consults Jev, and it errors instead of guessing when no brain is configured or every configured brain is unreachable.
Design notes
- Keep the harness native. Route the model, then hand the stream back untouched.
- Show the decision. A status line and an explain command turn routing from magic into something you can tune.
- Decide the failure mode deliberately: fail open when routing is an optimization, fail closed when it is a gate.
- Log every routed turn. Thresholds should come from your own traffic, not the README.
Routers that are the open models
The routers above all call the hosted API. The open ecosystem now offers the router itself as a downloadable checkpoint. Decision 2.0 Vega comes from the vLLM Semantic Router project: 29.37B parameters, JevArena 74.0, Decision Index 56.5, and a 71.4 ms median on one GPU. Strands Decider targets agent plumbing directly — model routing, tool selection, and triage from a 2B checkpoint that serves /v1/systemone locally, with sample outputs published for both routing questions. And Mapika's readout reached #2 of 70 on Decision Index v0.2.1 without any fine-tuning at all, just a config that reads option letters at a fixed answer slot.
The reason to consider one is the same reason the hosted routers exist: routing decisions want to succeed at 60 to 100 ms, not seconds. The reason to hesitate is calibration. A local router's probabilities are yours to fit — GEV-26B's card ships two calibration files, one for leaderboard scoring and a gold variant for gating — so a threshold copied from a hosted router does not transfer. Keep the harness-native and show-the-decision rules above: they are what make either choice debuggable.
The tools category collects the rest, including per-turn routers, gateways, and tool selectors.