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.
The tools category collects the rest, including per-turn routers, gateways, and tool selectors.


