Skip to content
MrJev

Best Jev Tools, Reviewed and Tested (September 2026)

There are over a thousand Jev repositories on GitHub. We reviewed 14 of the most popular, read the code of every one, and ran ten of them in a sandbox. Here's what we'd use, and how.

Last updated

Quick picks

If you want to… Use Watch out for
Give Claude Code, Codex, or Claude Desktop a Jev tool typesafe-mcp Stores your key in plain text; removes any MCP server named jev
Let Jev pick the Claude or Codex model for each turn jev-router World-readable prompt logs in /tmp on Linux; no Bedrock or Vertex
Keep long Claude Code sessions verbatim instead of summarized fast-jev-compaction Sends tool inputs, compacts early, many unanswered issues
Have Jev supervise a Codex coding agent Foreman Sends your diff to TypeSafe; Codex runs with approvals off
Screen a JavaScript or TypeScript diff without a generative LLM Jev Review JS/TS only; flags concerns without explaining them
Choose confidence thresholds before automating jevcal Days old, one maintainer, not on PyPI yet
Automate a browser with Jev choosing each action jev-ultrafast Uses your real Chrome profile by default
Drive native Mac apps, supplying every string yourself agent-desktop Needs Accessibility permission; can clear an image on your clipboard
Let an agent operate your Mac from on-screen text typesafe-computer-use The final answer sends a screenshot to Anthropic
Run Jev-style decisions on your own GPU SemIf Needs one CUDA GPU; scores aren’t calibrated confidence
Train a tiny option scorer on a laptop Jevlike Only load checkpoints you trained yourself
Study a complete open training pipeline NanoJev GPU only; one published variant was trained on Jev’s labels

How we tested

For each project we pinned a specific commit and read the code with an eye on what data leaves your machine. Ten projects we ran in a disposable Docker container with a dedicated Jev key. Where a full test needed an Anthropic, OpenAI, or OpenRouter account we didn’t use, we substituted a mock server, a stub model, or a stub worker, and say so in the review. Four projects need macOS, an NVIDIA GPU, or a copyrighted game file, so for those we read the code and ran the project’s own tests instead; their pages are labeled Our review rather than Hands-on review. Every claim was checked against the code or a test run before publishing.

We review the tools, not Jev itself. TypeSafe’s customer agreement says customers may not publish benchmarks or performance information about the service, so you won’t find our own accuracy or latency numbers here. If a project reports its own numbers, we attribute them.

For Claude Code and Codex

typesafe-mcp: a quick way to give your agent Jev

Full review → · Hands-on

A single Go binary that runs as an MCP server with one tool, evaluate. Your agent sends a state and typed questions and gets Jev’s answers back. evaluate setup mcp registers it with Claude Code, Codex, and Claude Desktop in one step, and the tool ships usage guidance that steers the agent toward well-scoped questions. The tool is read-only, validates input locally with clear errors, and only talks to TypeSafe (or OpenRouter, if you choose), plus GitHub when you run its self-update.

Know before you install: setup copies your TYPESAFE_* variables into each client’s config in plain text, and silently removes any existing MCP server named jev, a cleanup step left over from an older version.

jev-router: cheaper models on easy turns

Full review → · Hands-on

jev-claude and jev-codex launch the real CLIs behind a local proxy and add a Jev Router entry to the model picker. On each new prompt, Jev picks a tier (Haiku, Sonnet, Opus), and the proxy rewrites the model before forwarding the request with your existing login. In our mock-upstream tests it passed auth headers through untouched, respected explicit “use opus” requests and manual model choices, and kept working when Jev was unavailable. The policy is conservative: low confidence never downgrades you.

Know before you install: all your CLI traffic passes through the proxy. On Linux, recent prompts are saved to /tmp/jev-claude/ with permissions other users can read. It always forwards to api.anthropic.com, so Bedrock, Vertex, and gateway users are out of luck for now.

fast-jev-compaction: promising, but not yet for everyone

Full review → · Hands-on

Instead of letting Claude Code summarize old turns, this plugin asks Jev which old tool calls and results are stale, removes or trims only those, and keeps everything else word for word. The idea is excellent and the library is well tested.

Know before you install: it relies on an early-access Claude Code feature (function hooks, 2.1.274+). It sends your conversation to TypeSafe, and in our capture test that included tool inputs such as code Claude wrote, but not tool outputs. By default it triggers compaction at 60% context and falls back to Claude Code’s own summary when it can’t help, which can mean losing detail sooner than usual. Most of its many open issues haven’t had a reply.

Foreman: Jev as a supervisor for Codex

Full review → · Hands-on, with a stub Codex worker

Foreman runs a Codex worker on your job and, in a separate loop, asks Jev nine yes/no questions at a time about the work: is it complete, are the tests sufficient, is the worker stuck or in need of a human? Jev only assesses. A deterministic policy in code decides whether to continue, verify, steer, retry, finish, or escalate, and steering messages are fixed templates, not generated text. Worker count, retries, steering attempts, and timeouts are all bounded, and a failed assessment escalates to a human. With a real Jev key and a stub worker, it ran end to end.

Know before you install: each assessment sends your job, git status, recent git diff, and Codex’s recent output to TypeSafe, without redaction. Codex runs with approvals set to never in its sandbox, and it inherits your environment, including the TypeSafe key. Use a branch or a disposable copy.

Jev Review: a code screen with no generative model

Full review → · Hands-on

A staged pipeline of small Jev questions that screens a diff or a whole codebase for correctness, security, reliability, compatibility, and missing tests, then picks supporting evidence, scores severity, and suggests which kind of reviewer should look. Thresholds live in one plain config file, and the questions are carefully written, worth reading as examples. Results go to a JSON report and a dashboard that listens only on your machine.

Know before you install: it only reviews JavaScript and TypeScript files. It sends that code to TypeSafe, including untracked files that aren’t gitignored. Findings are prompts to look, not explanations or fixes.

Before you automate anything

jevcal: measure first, then set thresholds

Full review → · Hands-on

jevcal runs Jev over your labeled examples, picks a confidence threshold per question, verifies it on held-out data, and writes a lock file and report. It also includes a check command that failed our CI-style run when we corrupted labels, and a runtime that returns “no answer” rather than guessing when confidence is too low. Its wording linter caught double negatives, counting, and compound questions, though it missed paraphrased problems. It’s the automated version of our confidence thresholds guide.

Know before you install: it’s days old, has a single maintainer, and installs from GitHub rather than PyPI.

Browser and desktop automation

jev-ultrafast: one Jev call per browser step

Full review → · Hands-on

From the Browser Use team: a browser agent where one Jev request picks both the action and the element on every step, and a small LLM writes text only when typing is needed. The safety design is careful, with model output never executed as code and every action rechecked against the live page. The authors report a Google Flights search in about seven seconds.

Know before you install: by default it drives your everyday Chrome, with your logged-in sessions. Point it at a separate browser with BU_CDP_URL. Typing steps send page text to a second LLM, and if you don’t set TEXT_MODEL_BASE_URL, that defaults to DeepSeek’s API.

agent-desktop: native Mac apps, and it never invents text

Full review → · Code review

An established Rust tool for controlling desktop apps through the accessibility tree. Version 0.9.2 added jev-desktop scripts that let Jev pick each operation and its target. Every value it types comes from you, so there’s no second LLM, and a target can only be chosen from elements that accept the chosen action. It also tells Jev to treat screen text as data, not instructions.

Know before you install: it’s macOS only and needs Accessibility permission. Values in on-screen fields go to TypeSafe on every step, pasting can clear an image or file on your clipboard, and the Jev scripts are documented only in the repository, not the README or the npm package.

typesafe-computer-use: computer use from OCR and accessibility

Full review → · Code review

Builds a numbered list of what’s on screen from Apple’s OCR and the accessibility tree, and asks Jev to choose the action, the item, and the website in one request, with no screenshot sent to a large model while it works. The safety defaults are good: a dry run unless you pass --act, a screen corner that stops it, and automatic stops on low confidence, repeated no-op actions, or 100 steps. Every step is saved so you can replay it offline.

Know before you install: every step sends on-screen text and the focused field’s value to TypeSafe. Typing and URL suggestions use Anthropic models, and the final answer sends a downscaled screenshot to Anthropic. Each run saves raw screen captures to a local runs/ folder.

Open models you run yourself

These three don’t call Jev at all. They rebuild its interface on open models, so your data stays with you.

SemIf: typed decisions on your own GPU

Full review → · Hands-on (CPU, unsupported setup)

Launched as OpenJev and renamed after launch, SemIf reads a probability for each option directly from an open model in a single forward pass. Model revisions are pinned, evidence is committed, and every result carries its model, revision, and a hash of the prompt. The documentation is unusually rigorous, and a browser demo runs smaller models with WebGPU.

Know before you install: the command-line tool requires exactly one CUDA GPU, and each result labels its scores as uncalibrated, so derive your own thresholds before swapping it in for Jev.

Jevlike: train your own scorer in seconds

Full review → · Hands-on

A small, readable starter for training a one-pass option scorer on your labeled data. Its quickstart trained in about 8 seconds on our four-core CPU, and its evaluation includes a shuffled-context control that’s worth copying.

Know before you install: you need labeled data for every task, and its checkpoint loader will run code embedded in a malicious file, so only load checkpoints you trained yourself.

NanoJev: a complete open pipeline

Full review → · Code review

A 0.6B decision model with public weights and data, plus unusually thorough documentation of the whole pipeline, from data generation to training, evaluation, and serving. You can browse its recorded game replays without a GPU.

Know before you install: running the model needs an NVIDIA GPU. One published variant was trained on labels generated by Jev, and the Hugging Face model and dataset don’t declare a license.

Demos worth reading

jev-trader: market making on Monad

Full review → · Hands-on (dry run only)

Asks Jev whether the price will go up or down on every Monad block and posts a post-only limit order on that side. The README is an excellent short essay on fitting a model call into a hard latency budget, and it dry-runs by default. We never traded real funds, and nothing here is financial advice.

Know before you install: live mode has a position cap but no stop-loss, loss limit, or gas budget, it pays gas every block, and a failed decision can leave the previous order on the book at an old price.

TypeSafe Mario: Jev plays Super Mario Bros.

Full review → · Code review

Turns emulator memory into compact, typed game state and asks Jev for the next controller input, keeping exact timing arithmetic in code. The offline state-demo command shows exactly what would be sent to TypeSafe, without a game file or an API call.

Know before you install: you need your own lawfully obtained game file, the repository has no license, and a failed Jev request ends the run.

What each tool sends, and where

This is the table we wish every project README had.

Tool Sent to TypeSafe Sent elsewhere Kept on your machine
typesafe-mcp Whatever state and questions your agent passes OpenRouter, if you use that route Your key, in each MCP client’s config
jev-router Your latest prompt, current model, context size, model list Your normal CLI traffic to Anthropic or OpenAI, via a local proxy Recent prompts and Jev requests in the temp directory
fast-jev-compaction The conversation, including tool inputs (not tool outputs) Nothing Nothing written by the plugin
Foreman The job, git status, recent diff, and Codex’s recent output Your Codex worker’s own traffic Every run, including all worker output, in .foreman/runs/
Jev Review JS/TS code or diffs, with related test snippets Nothing The latest report, including code with findings
jevcal Your dataset rows Your LLM provider, if you use labeling, optimizing, or fallback Cached Jev responses and reports in your project folder
jev-ultrafast Visible page text and controls, every step Your text model on typing steps (DeepSeek by default) Runs in your Chrome profile unless redirected
agent-desktop Your goal, recent actions, and on-screen elements with their values Nothing Nothing; borrows the clipboard when pasting
typesafe-computer-use On-screen text, labels, and the focused field’s value, every step Anthropic, for typing, suggested URLs, and the final answer with a screenshot Raw captures of every step in runs/
jev-trader Public order-book, price, and trade features Monad RPC (and transactions, in live mode) Your private key in .env, in live mode
TypeSafe Mario Parsed game state Nothing A log of every decision in artifacts/
SemIf, Jevlike, NanoJev Nothing: they run open models locally Model downloads from Hugging Face Models and results

Common threads

A few patterns showed up across the projects:

  • Keys end up in more places than you’d think. Most tools read TYPESAFE_API_KEY from the environment, some copy it into client configs, and Foreman passes your whole environment to its Codex worker. Use a dedicated key per tool and rotate it if a config file leaks.
  • “Only the prompt” rarely means only the prompt. Diffs, tool inputs, page text, and the values in on-screen fields all show up in requests. Read the data section of each review before pointing a tool at private work.
  • The best agents default to not acting. Foreman, typesafe-computer-use, and jev-trader all act without asking once you let them. The better projects start in a dry run, cap their steps, stop on low confidence, and fail toward a human. Look for those before giving any tool control.
  • Licenses are uneven. Most projects here are MIT or Apache licensed, but TypeSafe Mario has no license at all, and NanoJev’s published weights and data don’t declare one.
  • Almost everything is days old. All but one of these projects were created in the week Jev launched. Pin a commit, expect breaking changes, and check the issue tracker before relying on anything.

Missing a tool?

We’re reviewing more projects every week. Browse every project in the directory, or suggest one on GitHub. To get new reviews by email, subscribe below.

Frequently asked questions

What's the best way to use Jev in Claude Code?

To give Claude Code Jev as a tool it can call, start with typesafe-mcp: one binary and one setup command. To let Jev pick the model for each Claude Code turn, try jev-router. fast-jev-compaction replaces Claude Code's compaction summary but is early and needs care.

Are these tools official TypeSafe products?

No. All of them are community projects, including jev-ultrafast, which comes from the Browser Use team. TypeSafe publishes the official Python and JavaScript SDKs.

Do these tools send my code to TypeSafe?

Several do. Foreman sends your git diff and the coding agent's recent output, Jev Review sends the JavaScript and TypeScript it reviews, and fast-jev-compaction sends your conversation including tool inputs. jev-router sends only your latest prompt. See the data table in this article.

Can I get Jev-style decisions without sending data to TypeSafe?

Yes. SemIf, NanoJev, and Jevlike rebuild Jev's interface on open models you run yourself. SemIf's command-line tool and NanoJev need an NVIDIA GPU; Jevlike trains a small model on a laptop. None of them gives you Jev's calibrated confidence out of the box.

Why don't you publish accuracy or speed numbers for Jev?

TypeSafe's customer agreement says customers may not publish benchmarks or performance information about the service. We review how each tool works, how safe it is, and how well it's maintained. Numbers quoted from projects are their authors' own.

Get the weekly Jev briefing

New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.

Powered by Buttondown. See our privacy policy.