Jeffort
Claude Code mod that scores each prompt on four Jev questions and sets Claude's effort level per turn without changing the model.
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
| Type | Question | Answers |
|---|---|---|
| Score | How much reasoning depth does this prompt need? | — |
| Score | How large are the scope, stakes and ambiguity of this prompt? | — |
| Yes / no | Does this prompt only approve the previous one? | yes · no |
How it works
- User submits a prompt in Claude Code
- Jev scores depth, scope, stakes and ambiguity, plus an approval check
- Jeffort maps scores to an effort level (or keeps the previous level)
- 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.
ProxybetaTypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.
ProjectbetaTypeScriptCLI, Claude Code plugin and Pi virtual model that pick the right model per prompt from one Jev call with a complexity floor.
PluginbetaTypeScriptClaude Code mod that picks reasoning effort per prompt with a Haiku judge, optionally Jev, and shows cache and context state.
ProjectbetaTypeScriptGo CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.
CLIbetaGo