Skip to content

Jeffort

Claude Code mod that scores each prompt on four Jev questions and sets Claude's effort level per turn without changing the model.

Projectbeta

Overview

Jeffort is a Claude Code mod that sets the effort level automatically for each turn. Jev scores the user's prompt on four narrow questions (reasoning depth, scope, stakes and ambiguity) and Jeffort maps the result onto an effort level; a fifth question checks whether the prompt merely approves the previous one, such as yes, go ahead, in which case the previous level stands. The model itself is never changed, because switching models mid-session still rebuilds the prompt cache.

The author's motivation is that too much effort burns tokens and too little gives weak results that need redoing, and a Jev call is cheap relative to the output tokens it can save. A band above the prompt shows the chosen level against the user's setting and a running estimate of tokens saved or spent extra, with detail and dollar estimates in a pane. The README warns that users who normally run on medium may see higher levels often, because some turns needed more.

What the decision model decides

TypeQuestionAnswers
ScoreHow much reasoning depth does this prompt need?—
ScoreHow large are the scope, stakes and ambiguity of this prompt?—
Yes / noDoes this prompt only approve the previous one?yes · no

How it works

  1. User submits a prompt in Claude Code
  2. Jev scores depth, scope, stakes and ambiguity, plus an approval check
  3. Jeffort maps scores to an effort level (or keeps the previous level)
  4. Request runs at that effort; band shows tokens saved or extra

Strengths

  • Automatic per-turn effort without micromanaging
  • Never switches models, so the cache is preserved
  • Visible accounting of tokens saved or spent

Caveats

  • May raise effort often for complex projects
  • Requires a TypeSafe key and a recent Claude Code

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Claude Code mod
Has code
yes

Use cases and integrations

How curated lists describe it

  • Jeffort: scores each prompt with TypeSafe Jev and sets Claude's effort level, never touching the model.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jeffort decide?

The effort level for each Claude Code turn, based on Jev scores of the prompt.

Does it change the model?

No. It only adjusts effort, leaving the model alone to keep the cache.

Will it always save tokens?

Not always; it may raise effort on turns that a fixed medium setting under-served.

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
  • 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
  • Go CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.

    CLIbetaGo