jev-router
Routes each Claude Code task to the cheapest model that can do it.
# jev-router Automatic per-turn model routing for Claude Code and OpenAI Codex. Jev sends simple work to the fast tier and difficult work to the strong tier, while preserving each CLI's native interface, tools, sessions, permissions, and authentication. | Command | Interface | Authentication | Routing decision | | --- | --- | --- | --- | | `jev-claude` | Claude Code | Existing `claude login` | Status line | | `jev-codex` | OpenAI Codex | Existing `codex login` | Commentary line | Both commands launch the real upstream CLI. Jev only chooses the model for a fresh user turn. ## Quick start Requires Node.js 20.12+ and at least one supported CLI: [Claude Code](https://code.claude.com/docs/en/setup) or [OpenAI Codex](https://developers.openai.com/codex/cli). ### 1. npm package ```bash npm install -g jev-router echo "JEV_API_KEY=..." > ~/.jev-router.env ``` ### 2. Local repository ```bash git clone https://github.com/gargpratyush/jev-router.git cd jev-router npm install npm link echo "JEV_API_KEY=..." > ~/.jev-router.env ``` On Windows PowerShell: ```powershell Set-Content "$HOME\.jev-router.env" "JEV_API_KEY=..." ``` Get a key from [TypeSafe](https://docs.typesafe.ai). Then launch either interface from any repository: ```bash jev-claude jev-codex ``` No Anthropic or OpenAI API key is required when the corresponding CLI is already logged in with a subscription. Every CLI argument is forwarded: ```bash jev-claude --resume jev-claude -p "fix the failing test" jev-codex resume --last jev-codex exec "fix the failing test" ``` For a local checkout, `npm link` installs both commands. Without it, run `node bin/jev-claude.mjs` or `node bin/jev-codex.mjs`. ## Claude Code interface `jev-claude` launch