jev-router
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 17 GitHub stars
Code Warn
- process.env — Environment variable access in assets/src/make.mjs
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Claude Code plugin: automatic Claude model routing. Picks Haiku, Sonnet or Opus and the reasoning effort per prompt, step and subagent; effort cap, prompt-cache guard, status band, benchmarks.
jev-router: automatic Claude model routing for Claude Code
Stop paying Opus prices for rename-a-variable work. Right model, right effort, every prompt, step and subagent.
Website · Install · Proof · FAQ · Reference · Changelog
jev-router is a free Claude Code plugin that sends each prompt, step and subagent to the cheapest Claude model that can do the job (Haiku, Sonnet, Opus, Fable), caps runaway reasoning effort, and shows you every pick in a live band above your prompt. No config needed.
Install the Claude Code plugin
/plugin marketplace add dominicrico/jev-router
/plugin install jev-router@jev-router
Then /jev key <your TypeSafe key> (or set TYPESAFE_API_KEY) and run /jev status. That is the whole setup: the lean preset is on by default.
See every pick, live
What you get
Does it reduce Claude Code costs?
Yes, on most work, and the benchmarks say where it does not. Every number is a real Claude Code run (hard tasks are graded by hidden tests the agent never sees), and the raw runs are in the repo.
Is it for you?
Long warm sessions are the honest weak spot: the cache guard cuts model switches from 6 to 1 and halves cache re-writes, but the bill stayed the same, and lean averaged Opus cost there while plain Sonnet was 43% cheaper. See the chart:
Commands
Use another System One model
TypeSafe Jev is the default. Laya and Kev, two open System One models you run yourself, work too. All three speak the same /v1/systemone API, so switching is one option in /plugin → jev-router → configure (or the plugin's options in settings.json):
router |
Endpoint | Model | Key |
|---|---|---|---|
jev (default) |
https://api.typesafe.ai/v1/systemone |
jev-latest |
TYPESAFE_API_KEY or /jev key (required) |
laya |
http://localhost:8000/v1/systemone (server) |
laya |
LAYA_API_KEY (optional) |
kev |
http://127.0.0.1:8009/v1/systemone (server) |
kev-latest |
KEV_API_KEY (optional) |
routerUrl and routerModel override the endpoint and model, for a hosted Laya or Kev, another port, or a pinned version like jev-1.14. Your TypeSafe key is never sent anywhere but api.typesafe.ai; the apiKey plugin option is sent to whichever endpoint you set. /jev status shows the active router. Set router back to jev and clear the overrides to return to Jev.
Laya's server rate-limits clients without a key to 10 calls a minute, and jev-router asks once per step. Set LAYA_API_KEY, or turn routeSteps off.
Every option, preset, command and the privacy details are in OPTIONS.md. Method, per-benchmark results and caveats are in benchmarks/.
FAQ
How do I switch between Opus, Sonnet and Haiku automatically in Claude Code? Install jev-router; it picks per prompt, again before each step, and once per subagent. Pin one prompt with !opus, !sonnet or !haiku.
How do I reduce Claude Code token cost? Send easy tasks to cheaper models and cap the reasoning effort. jev-router does both (small tasks −97%, everyday −65% against always Opus). If plain Sonnet already does your work, use that: it was cheapest on the hard set.
What is the effort cap? Jev often asks for xhigh reasoning on hard tasks, which can triple the tokens. The default lean preset limits effort to medium; !full lifts it for one prompt.
Does it send my code to a third party? The prompt, optionally recent messages, and subagent task text go to api.typesafe.ai. Keys, tokens, private keys and password= style values are redacted first, and sendHistory can turn the history off. Details in OPTIONS.md.
Will it slow Claude Code down? Each Jev call adds about 250 ms; after three failures in a row it pauses for a minute and keeps your current model.
Why a raccoon? He is a small creature that gets very serious about picking the right track.
License
MIT. Not affiliated with Anthropic or TypeSafe. Security issues: see SECURITY.md.
Keywords: Claude Code plugin, Claude model router, Claude Code cost optimization, Opus Sonnet Haiku switching, Claude Code subagents, prompt cache, reasoning effort, LLM routing.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found