Skip to content

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.

ProxybetaApache-2.0

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

TypeQuestionAnswers
ChoiceWhat type of task is this (implementation, debugging, review, documentation...)?—
ChoiceWhat capability level does this task require?(inferred)—
ChoiceWhat reasoning effort does the selected model need?(inferred)—

How it works

  1. New conversation starts in Claude Code or Codex
  2. Jev assesses the task with several typed judgments and confidences
  3. Local policy maps judgments and thresholds to a model and effort
  4. 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-jev
  • Switchboard 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-projects
  • Claude 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-jev
  • Routes 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-jev
  • Model 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.

    ProjectprototypePython
  • TypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.

    ProjectbetaTypeScript
  • Go CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.

    CLIbetaGo
  • Claude Code and Codex plugin where Jev judges each turn for model routing, delegation, evidence search and compaction.

    ProjectbetaTypeScript
  • Claude Code, Claude Desktop and Codex plugin where Jev reads a task and ranks live models and reasoning effort by quality, speed and cost.

    PluginbetaTypeScript