Skip to content

Jev directory

Jcm Router

A local proxy between Claude Code and the Anthropic API that picks the model and effort level per message with Jev, routing subagents whenever cheap but gating main-chat switches on prompt-cache arithmetic.
Stars
8
Language
TypeScript
License
MIT
Reading time
3 min
Published by
Community
Author
adarshmishra07
Last verified
Sep 2026

Local proxy that picks the Claude model and effort per message using TypeSafe Jev. Routes subagents, leaves your cached main chat alone.

Forks
1
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

A local proxy that sits between Claude Code and the Anthropic API and picks the model and effort level per message, using TypeSafe's Jev classifier. Trivial questions go to Haiku, everyday work to Sonnet, hard problems to Opus or Fable, and your Claude subscription login keeps working.

Quoted from the project's README. Read the full README.

Highlights

  • An early version routed everything: over 309 logged requests it cost $106.73 against an $87.19 do-nothing baseline, a $19.53 loss.
  • On every main-chat switch the response returned cache_read_input_tokens 0 and cache_creation_input_tokens 360370, rewriting the conversation at 2x input price.
  • The dashboard prices every logged request twice: once as it ran and once on the model Claude Code originally asked for.
  • A supervisor respawns the router with backoff and falls back to plain passthrough after three crashes inside 60 seconds.
  • Runs on Bun at localhost:8787 with a dashboard on 8788, and bun run up refuses to start if either port is taken.

Quickstart

bash
git clone https://github.com/adarshmishra07/jcm-router.git
cd jcm-router
bun install
cp .env.example .env   # put your TYPESAFE_API_KEY in .env
bun run up
env -u ANTHROPIC_API_KEY ANTHROPIC_BASE_URL=http://localhost:8787 claude

Watch out

MIT-licensed; needs Bun, a Claude subscription that Claude Code already logs into, and a TypeSafe API key, and while ANTHROPIC_BASE_URL points at localhost with nothing listening every request fails.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: Jev 1.14 is now on OpenRouter

Facebook: Intake Router keeps diagnosis out of the answer space at the front desk.

FacebookClinicnotes

X: OpenRouter Decision Model Rankings

X: herdr + jev, an agent router

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai