JevRouter
★ 459▲ 73BillionsBobby/JevRouter
Routes each agent step to a model, subagent, Skill, MCP tool, or CLI with one Jev Choice, requiring confirmation for risky capabilities and keeping decision receipts.
Per-turn model routing for Claude Code and Codex. Simple work goes to the fast tier and difficult work to the strong tier.
View on GitHub →Hands-on review
A well-built local proxy that lets Jev pick the Claude or Codex model for each turn. Safe defaults, but read the privacy and compatibility notes first.
Good for
Watch out for
Tested Sep 19, 2026 at 0d39e5b4922c · v0.3.0 on Node 24 in Docker (Debian), proxy tested against a mock Anthropic API
jev-router wraps Claude Code (jev-claude) and OpenAI Codex (jev-codex). It starts a small proxy on your machine, launches the real CLI pointed at it, and adds a Jev Router entry to the model picker. When that entry is selected, Jev looks at each new prompt and chooses a tier: fast (Haiku), balanced (Sonnet), strong (Opus), or an opt-in long tier. The proxy then rewrites the model in the request before passing it on to Anthropic or OpenAI.
Everything else stays native: your login, tools, permission prompts, /compact, and /resume. A status line shows which model handled the last turn, and /jev-explain renders the factors behind that decision from a saved copy of the Jev request and response.
npm install -g jev-router
echo "JEV_API_KEY=..." > ~/.jev-router.env
jev-claude
It requires Node 20.12 or newer and an existing claude login or codex login. No Anthropic or OpenAI API key is needed if you’re on a subscription. The package has a single runtime dependency, TypeSafe’s official JavaScript SDK. All 62 tests in its suite passed in our run.
We couldn’t run a full subscription session in our test environment, so we tested the part that matters most for trust, the proxy, against a mock Anthropic API with a real Jev key:
/model passed requests through untouched.The author developed and tested it on Windows against specific Claude Code and Codex versions, and notes that both CLIs’ request formats are undocumented. Expect breakage when either CLI changes, and use JEV_DUMP only while diagnosing it (see below).
This is the section to read carefully, because a routing proxy sits in the middle of everything your coding agent sends.
127.0.0.1. The code doesn’t log or store them.jev-claude/ under the system temp directory. On Linux that’s /tmp/jev-claude/, and in v0.3.0 the files were created world-readable (mode 644), so on a shared machine other users could read your prompts. macOS uses a per-user temp directory, which avoids this. Update: after we reported it, the maintainer invited a fix, and our pull request (#24) was merged on September 19. The files are now private to your user and deleted after 7 days of inactivity. The fix isn’t in an npm release yet: v0.3.0 is still the latest.JEV_DEBUG logs the start of each prompt to ~/.jev-claude.log. JEV_DUMP writes complete request bodies, meaning your whole conversation and any code in it, to disk. Turn both off when you’re done.jev-claude restores your previous default on exit. If the process is killed hard, plain claude may complain about an unknown model until you run jev-claude again, which cleans it up.api.anthropic.com. If you reach Claude through Bedrock, Vertex, or a corporate gateway via ANTHROPIC_BASE_URL, this won’t work for you.Created on September 16 and already at v0.3.0 with 43 commits, a solid test suite, and an explicit contribution process. There are a handful of open issues, including a good question about how switching models interacts with prompt caching. The maintainer responded to our report within hours and reviewed our fix carefully before merging it. MIT licensed.
jev-router is carefully engineered. It fails safe, respects explicit choices, passes your credentials through without logging or storing them, and is open about what it sends. If you use Claude Code or Codex on a subscription from your own Mac or a single-user Linux box, it’s worth trying. On a shared Linux server, fix the temp-file permissions first (for example, set TMPDIR to a private directory). If you rely on a custom Anthropic endpoint, it’s not an option yet.
For per-turn routing inside Codex specifically, compare Jev Codex Router; for routing arbitrary LLM traffic rather than a coding CLI, see tiershift. If you want Jev as a tool your agent calls rather than a router, start with System One Connector.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 19, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.
BillionsBobby/JevRouter
Routes each agent step to a model, subagent, Skill, MCP tool, or CLI with one Jev Choice, requiring confirmation for risky capabilities and keeping decision receipts.
vinilana/jev-gateway
Local gateway for Codex and Claude Code that asks Jev which tool to call next and passes everything else to your usual model.
miuuyy/Astra-Ares
Adjusts a Codex task's reasoning effort mid-run by asking Jev how hard the next step looks. Runs a patched Codex CLI and says it is a reference implementation rather than an app.
New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.
Powered by Buttondown. See our privacy policy.