jeffort
Claude Code plugin forked from jev-router that asks Jev how much effort each typed prompt needs and applies it to the turn.
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
| Type | Question | Answers |
|---|---|---|
| Score | How much effort does this prompt need?(inferred) | low · medium · high · xhigh |
How it works
- Enable with /jev on
- For each typed prompt, mask sensitive content and ask Jev
- Policy maps the answer to an effort level
- Apply effort to every request in the turn
- 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.
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.
ProjectbetaTypeScript