Skip to content
MrJev

jev-use

Claude Code, Codex and pi plugin that hands the agent steps needing no written output to Jev and leaves the prose to the LLM.

View on GitHub →

Hands-on review

MCP tools and a PreToolUse gate for Claude Code, Codex and pi. Every outcome we forced — deny, ask, silence, outage — landed where it should.

Good for

  • One install that wires Claude Code, Codex and pi, with a keyless mock mode
  • A shell gate that can only add a deny or a prompt, never an approval
  • A bench directory that publishes its method, its variance and its retired harnesses

Watch out for

  • The judged state includes the tool input, so your commands go to the provider
  • A missing key means no gate at all — by design, and silently
  • The header comment says failures are fail-open; an unreachable provider is actually `ask`

Tested Sep 21, 2026 at 358819d34fd8 · node:24 in Docker; its 80 tests and stdio smoke, then the real hook adapter driven with hook events against a local stand-in via its own base-URL variable

How we reviewed this: we built it in node:24, ran the suite and its stdio smoke test, then drove the real hook gate adapter with Claude Code hook events against a local stand-in — using the package’s own TYPESAFE_BASE_URL, no patching — with the stand-in configured in turn to allow, deny, be unsure, return 503 and be entirely absent. No Jev calls.

What it is

An MCP server plus harness wiring that gives Claude Code, Codex and pi three judgment tools and a PreToolUse gate. npx -y jev-use install wires whichever harnesses it finds; npx -y jev-use doctor checks it; JEV_BACKEND=mock runs the whole thing with no key. Three providers are supported — TypeSafe direct, OpenRouter and Vercel’s AI Gateway — and the judgment path has two runtime dependencies, the MCP SDK and zod.

It is also usable as a library, which is how most people will try it: import { Jev, check, pick, rate }.

The gate, and what it can and cannot do

The design decision worth quoting is in the source: the gate emits a decision only when it wants to tighten.

  • allow → no output at all, and the host’s normal permission flow decides.
  • escalate → permissionDecision: "ask".
  • deny → permissionDecision: "deny".

We drove the shipped adapter with a Bash hook event for rm -rf / and controlled what the “model” said:

the provider… what the hook emitted
answers allow at 0.97 (nothing — falls through to the host)
answers deny at 0.97 "permissionDecision": "deny" — “Jev gate: denied (confidence 0.97).”
answers allow at 0.30 "ask" — “not sure this is safe (unsure) — please review.”
returns HTTP 503 "ask" — “not sure this is safe (unreachable)”
refuses the connection "ask" — same
has no key configured at all (nothing; a stderr line saying fail-open)

Two things follow. First, this gate cannot approve anything: the worst case for a wrong answer is a prompt you would otherwise not have seen, or a deny you have to override. That is a meaningfully different risk profile from an auto-approver.

Second, there is a documentation mismatch worth knowing about. The adapter’s header comment says “Any failure is fail-open (exit 0, no output)”, but a provider that 503s or refuses the connection produces ask, not silence — the engine catches the transport failure and escalates. Only a failure before the call, such as no credentials at all, is silently fail-open. The behaviour is stricter than the comment; we would fix the comment rather than the code.

The state it sends is the tool call and its context: the working directory, the permission mode, and the proposed action’s input, wrapped in “Judge only whether it is safe to run without human review.” If your commands contain secrets, they go to the provider — there is no redaction step here, unlike hermes-jev-approvals.

Engineering

80 tests pass, tsc --noEmit is clean over both the package and the harness configs, and npm run smoke drives the built server over stdio: handshake, three judgment primitives and the gate, all on the mock backend. prepublishOnly runs typecheck, tests and build, so a broken publish takes deliberate effort. Published on npm as 0.7.1, MIT, with an mcpName for the MCP registry.

The numbers, and how they are presented

bench/RESULTS.md is the most carefully hedged measurement document in this batch. It states the date, the machine, the single gateway key, that latency is measured client-side and therefore includes the network, and — the line we would like to see everywhere — “Where two of our own runs disagree the latest complete run is published, never the most flattering one.” Dollar figures are explicitly list price rather than what was charged, because the gateway billed zero for Jev on that key.

docs/evidence.md separates third-party measurements from its own, cites each to the repository that produced it, and warns that the ecosystem is weeks old.

All of those are the author’s and other teams’ numbers. We did not reproduce any of them, and this review publishes none of our own about Jev. What we can say is that the demos are rerunnable scripts in bench/examples/ rather than screenshots, which is the part that makes the rest checkable.

Verdict

The most complete plugin in this batch: three harnesses, a library, an MCP server, a mock mode that needs no key, and a gate whose failure modes we could not get to produce an approval. Install it if you want Jev inside a coding agent without writing the plumbing.

Before you point it at real work, decide whether you are comfortable sending tool inputs to a third party unredacted, and remember that no key means no gate — which is the safe default here, but a silent one.

For the auto-approving counterpart, see Jevvy; for the skills-and-recipes approach, Jev Skills.

See how it compares with other tools in Best Jev tools, tested hands-on.

Review updated Sep 21, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.

More in Agent Integrations (MCP & Skills)

Hermes Jev Skills

★ 718▲ 619

kerpopule/hermes-jev-skills

Bundle of skills that hand an agent's small decisions to Jev: model routing, skill selection, retrieval filtering, compaction, and computer use, with a routing dashboard. Works with Hermes, Claude Code, and Codex.

PythonReviewed

Awesome Jev Skills

★ 464▲ 246

wuyoscar/jev-skill

Nine installable agent skills — triage, routing, code review, document and UI work — with a catalogue of scenarios to copy.

PythonReviewed

jev-mcp

★ 320▲ 263

jkudish/jev-mcp

Proof-of-concept MCP server with ready-made tools for fact checking, prompt-injection detection, and semantic ranking.

JavaScriptReviewed

Get new Jev projects every week

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

Powered by Buttondown. See our privacy policy.