Skip to content

jeffort

Claude Code plugin forked from jev-router that asks Jev how much effort each typed prompt needs and applies it to the turn.

ProjectbetaMIT

Overview

This jeffort is a Claude Code plugin that asks Jev how much effort each prompt needs and sends every request of that turn at that effort, without changing the main loop's model. It is off by default and turned on with /jev on. It is an MIT fork of jev-router, keeping upstream's Jev questions, level policy and eval set, but rewriting how effort is applied and what data is sent.

Differences from upstream: effort is written into each request through a turn.step mod instead of making Claude load a skill; turns that call no tools are still routed; turns from notifications, peers or plugins are skipped so only typed prompts are routed; code blocks, secrets, URLs, emails, IPs and absolute paths are masked before sending; the top effort is xhigh by default; real cache read and creation counts are watched, warning and pausing when an effort change loses the cache; and subagents keep their own effort. It runs inside Claude Code's engine with no Bun or Node, requires Claude Code 2.1.289 or later, and installs from the vntrungld plugin marketplace.

What the decision model decides

TypeQuestionAnswers
ScoreHow much effort does this prompt need?(inferred)low · medium · high · xhigh

How it works

  1. Enable with /jev on
  2. For each typed prompt, mask sensitive content and ask Jev
  3. Policy maps the answer to an effort level
  4. Apply effort to every request in the turn
  5. Pause if cache loss is detected

Strengths

  • Masks secrets, code blocks, URLs and paths before sending
  • Watches real cache metrics and pauses on loss
  • No extra runtime required inside Claude Code

Caveats

  • Requires Claude Code 2.1.289+ and a TypeSafe key
  • Fork; question set inherited from upstream jev-router

Getting started

`claude plugin marketplace add vntrungld/jeffort` then `claude plugin install jeffort@vntrungld`, set TYPESAFE_API_KEY, and run `/jev on`.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Claude Code plugin
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Claude Code mod that routes each prompt's effort level via TypeSafe's Jev. Fork of jev-router.

    hellogumbo/awesome-jev

Frequently asked questions

How is it different from Jeffort by andrewstephenson?

It is a separate fork of jev-router with its own masking, cache guard and plugin-based install.

What data goes to TypeSafe?

The prompt with pasted blocks removed and code, secrets, URLs, emails, IPs and paths masked.

Is it on by default?

No, enable it with /jev on.

Related projects

  • Self-hosted LLM gateway with semantic cache, privacy sandbox and a 'Jev classifier' tiering requests across cheap and frontier models.

    ServiceprototypePython
  • 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
  • Claude Code mod that sets model and effort per turn and subagent from a prompt classifier: Jev by default, or Clef, OpenAI or Ollama.

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

    ProjectbetaTypeScript
  • CLI, Claude Code plugin and Pi virtual model that pick the right model per prompt from one Jev call with a complexity floor.

    PluginbetaTypeScript
  • Claude Code mod that picks reasoning effort per prompt with a Haiku judge, optionally Jev, and shows cache and context state.

    ProjectbetaTypeScript