Switchboard
Local router for Claude Code and Codex that has Jev assess each new task, then pins a policy-chosen model and effort for the conversation.
Overview
Switchboard automatically selects a model and reasoning effort for Claude Code and Codex. When a new conversation starts, Jev (or experimental self-hosted Laya) assesses the task, returning structured judgments with confidence such as task type, required capability, familiarity, remaining uncertainty and constraints; your routing policy then makes the final choice of model and effort. The pair stays fixed through follow-ups, tool calls and resume, which preserves prompt-cache continuity, and a new conversation gets a fresh decision.
Defaults emphasise software engineering tasks such as implementation, debugging, code review and documentation, but you can route writing and research too. Policies are customisable: exclude unavailable models, change model tiers, cap effort, set confidence thresholds and fallbacks. Low-confidence answers keep conservative behaviour, very short prompts use an uncertain fallback, and if Jev is unavailable a fallback applies. The README reports a median Jev classification latency of 0.55 s, p95 of 0.67 s, and about US$0.62 per 1,000 classifications. The proxy and history run locally with no telemetry; it is Apache-2.0 and supports macOS and Linux.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What type of task is this (implementation, debugging, review, documentation...)? | — |
| Choice | What capability level does this task require?(inferred) | — |
| Choice | What reasoning effort does the selected model need?(inferred) | — |
How it works
- New conversation starts in Claude Code or Codex
- Jev assesses the task with several typed judgments and confidences
- Local policy maps judgments and thresholds to a model and effort
- Pin the route for the conversation; fall back if Jev is unavailable
Strengths
- Preserves prompt cache by pinning routes
- About 0.55 s median classification per the README
- Customisable, local, no telemetry
Caveats
- macOS and Linux only in the first release
- Routing quality depends on your policy and thresholds
Getting started
npm install -g @ruban24/switchboard, then select a Jev provider and enter your API key.At a glance
- Type
- Proxy
- Status
- beta
- Language
- TypeScript
- Runtime
- Local proxy/wrapper (Node 22.18+)
- Has code
- yes
- Has tests
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Coding agents: open-source System One-powered router that automatically matches each Claude Code or Codex task to an appropriate model and reasoning effort, then keeps that choice stable for the conversation to preserve prompt-cache continuity; powered by Jev today, with Laya, Kev, and Cua-S1 coming soon.
yibie/awesome-jevSwitchboard is a local Claude Code and Codex router. It assesses a new conversation's task with Jev, applies deterministic confidence rules to select the model and reasoning effort, and pins that route through follow-ups, tool calls, and resume to avoid unnecessary prompt-cache disruption.
logicrw/awesome-jev-projectsClaude Code and Codex wrapper that uses Jev to assess a new conversation's task, applies deterministic confidence rules to choose a model and reasoning effort, and pins the pair through follow-ups, tool calls, and resume to avoid unnecessary prompt-cache disruption.
cobanov/awesome-jevRoutes Claude Code and Codex conversations by using Jev to assess a new task, applying local confidence rules to select a model and reasoning effort, and pinning that route through follow-ups, tool calls, and resume to avoid unnecessary prompt-cache disruption.
hellogumbo/awesome-jevModel and reasoning-effort routing for Claude Code and Codex, model-agnostic and self-hosted.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide?
Structured judgments about a new task, which your policy turns into a model and reasoning effort.
Does the model change mid-conversation?
No; the route is pinned to avoid prompt-cache disruption.
Which Jev providers work?
TypeSafe, Vercel AI Gateway or OpenRouter, or experimental self-hosted Laya.
Related projects
- jev-router★ 593
Per-turn model routing for Claude Code and Codex: wraps the real CLI and lets Jev send simple turns to fast models and hard ones to strong.
ProxybetaJavaScript Cost-, cache- and quota-aware LLM router that classifies each turn with a Jev-class model, prices every route, and checks cheap answers.
ProjectprototypePythonTypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.
ProjectbetaTypeScriptGo CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.
CLIbetaGoClaude Code and Codex plugin where Jev judges each turn for model routing, delegation, evidence search and compaction.
ProjectbetaTypeScriptClaude Code, Claude Desktop and Codex plugin where Jev reads a task and ranks live models and reasoning effort by quality, speed and cost.
PluginbetaTypeScript