Skip to content
System One

Jev vs Claude: when a decision model beats an LLM

Jev returns a Choice, Score or Noul with a probability and generates no text, at $0.042 per million input tokens. Claude generates text and code, runs tool loops, and costs between $1 and $10 per million input tokens depending on the model, with output charged on top. For a bounded classification call Jev is far cheaper and faster. For anything that has to write, reason in several hops or call tools, Claude is the only one of the two that can do it.

Updated

The short answer

Claude writes, reasons and calls tools. Jev picks one of your options and attaches a probability to it. On a bounded classification call, Jev costs a fraction of any Claude model and answers in a fraction of the time. On anything needing text out, several reasoning hops or a tool loop, Jev cannot compete, because it does not generate text at all. The question worth asking is which parts of an existing Claude workload are actually decisions, since those are the parts that can move.

Jev vs Claude at a glance

Model Input $/M Output $/M Context Output type Confidence Generates text Latency for a short classification
Jev 1.13 $0.042 Free 64k, 32k for state plus longest question Choice, Score or Noul Probability per option plus a confidence value No 70ms to 500ms, TypeSafe’s own figure
Claude Haiku 4.5 $1.00 $5.00 200K Text, or JSON validated against your schema No logprobs or confidence field documented Yes Not published by Anthropic
Claude Sonnet 5 $2.00 $10.00 1M Text, or JSON validated against your schema Same Yes Not published by Anthropic
Claude Opus 5 $5.00 $25.00 1M Text, or JSON validated against your schema Same Yes Not published by Anthropic
Claude Fable 5.1 $10.00 $50.00 1M Text, or JSON validated against your schema Same Yes Not published by Anthropic

Claude prices are Anthropic’s first-party rates for the Claude API and Claude Platform on AWS and Microsoft Foundry, as of 2026-09-20. Bedrock and Vertex AI are partner-priced separately. Two details change the output bill on classification work: Opus 5 has thinking on by default, and Fable 5.1 has thinking always on with no way to disable it. Jev figures come from docs.typesafe.ai/models and the launch post.

What the public benchmarks found

Source Task Result Caveat
dev.to, Ben Greenberg 102 archived competition submissions run three times for 306 decisions, classifying evidence as satisfied, not satisfied or insufficient. Both systems got the same JSON evidence packet and the same four-step written procedure. Claude Sonnet 5 at the high reasoning setting Jev 100.0% accuracy, 378ms median, $2.27 per 10,000 evaluations. Claude Sonnet 5 99.0% accuracy, 3,554ms median, $129.74 per 10,000 evaluations One author’s bounded classification task, read 2026-09-20. The only head-to-head this site could verify
xucian/fbyte-jev-vs-claude Five classification tasks at 20 cases each, against Opus 4.6 and Sonnet 4.6 with and without thinking Results not reproduced here The repository’s results were not accessible when this page was written, so no number from it is quoted
Show HN, item 49754516 Real-time Pong, four models one per lane, ball moving one step per decision, including a Claude Haiku version No win or loss figures surfaced Thread located by search; no scores were retrievable
Medium, against Claude, GPT-6, Kimi and Minimax A cost-multiple claim in the headline Not reproduced here Its numbers are unverified and not repeated

TypeSafe’s own launch post grades its workflow evaluation against “the average of GPT-6 Astra and Fable 5.1 as the reference answer”, which puts a Claude model in the grading step. The post names no Claude model as a system Jev was measured against.

Cost per decision

Run the list prices out and the gap is structural. Ten thousand classifications at 500 input tokens each is 5 million input tokens: $0.21 on Jev, $5.00 on Claude Haiku 4.5, $10.00 on Sonnet 5 and $25.00 on Opus 5, before a single output token is charged.

Output widens it. Jev charges nothing for output, because a Choice answer is an option name, a probability per option and a confidence number. Every Claude call bills output tokens, and on the reasoning models that includes thinking tokens spent before the answer appears. The dev.to figures above run far higher than this arithmetic because its evidence packets were much longer and the Claude side ran at high effort. The pricing guide works through your own figure.

Latency

Anthropic publishes no latency figure for a short classification call, and nothing in its documentation offers one.

The only measured data point is the Sonnet 5 median in the table above, taken over 306 decisions on one bounded task at the high reasoning setting. Effort settings, prompt length and thinking budgets all move that number, so read it as a data point rather than a specification. TypeSafe’s 70ms to 500ms range for Jev is a vendor figure with no independent benchmark published as of 2026-09-20.

Probabilities vs structured outputs: what confidence means in each

Both can give you a typed answer, by different routes. Claude supports structured outputs through output_config and tool use with strict: true, so the JSON that comes back validates against your schema. The answer is still produced by token-by-token generation with the output space constrained.

What Claude does not appear to expose is a probability. Anthropic’s API reference documents no logprobs parameter and no per-choice confidence field. Check the current docs before building on that. Asking Claude to state its own confidence gets a number the model wrote.

Jev returns the probability as part of the answer, and TypeSafe claims RLCD training makes those numbers track real outcome rates. No calibration figure has been published to check that against. The dev.to author did find the pattern you would want, on that one task: Jev’s errors landed in a low confidence band while Sonnet 5’s landed in its highest. If confidence gating is why you are interested, measure it on your own data.

What Claude does that Jev cannot

Anything that involves producing language. Jev is not trained to generate text, so code, summaries, explanations, rewrites and conversation all sit outside it. Tool loops and agentic work do too, since an agent has to emit calls.

TypeSafe’s own jaggedness page for Jev 1.13 lists the rest: arithmetic, counting, date ordering and duration, and multi-hop reasoning. It also notes accuracy degrades as irrelevant content builds up in the state, there is no defence against prompt injection inside the state, and complementary yes/no questions are not guaranteed to sum to 1. Context is the other limit, at 64k per request against 200K for Haiku 4.5 and 1M for the rest. The System One against LLM comparison covers the boundary in more depth.

Using Jev with Claude: the router pattern

In production the two usually run side by side rather than one replacing the other. Jev makes the cheap judgment and Claude does the work that needs writing.

Per-turn model routing is the clearest version: a small decision picks which Claude tier handles the next turn, sending easy work to the fast model and hard work to the strong one. That is intent and model routing. One measured example here logged 309 requests at $106.73 against an $87.19 baseline, with routing subagents saving money and routing an established main chat losing it, a caution against turning it on everywhere.

Other patterns put Jev inside the agent loop. A compaction plugin scores every tool call and result in one request and drops the stale ones. A harness library measured 1.3 seconds against 48.9 seconds for the Claude Code CLI on the same row-filter job. MCP servers expose Jev as classify, score and check tools Claude Code can call directly. The Claude Code integration page has the setup steps, including a community mod installed with npx claude-code-templates@latest --mod productivity/jev-model-router.

Which to use

Send the decision to Jev and the work to Claude. A step with a fixed set of answers, a probability to threshold, high volume or a latency budget in the hundreds of milliseconds suits the classification model. A step that has to write, reason across several hops, call a tool or read more than 64k tokens has to be Claude. Most agent systems contain both kinds.

FAQ

Is Jev better than Claude?

They win at different jobs. On the one verified head-to-head, a bounded three-way classification task, Jev matched Claude Sonnet 5 on accuracy while costing and taking far less. It cannot generate text, do arithmetic or reason across multiple hops, so “better” only holds inside decision work.

Can Jev replace Claude Haiku for classification?

Often, if the task is a fixed set of options and the input fits in 64k tokens. Jev’s input price is a fraction of Haiku 4.5’s, output is free, and you get a probability per option instead of a generated string. Run both on your own labelled sample first, because accuracy on your inputs is the evidence that matters.

Is Jev cheaper than Claude?

For classification, substantially. At list prices, 5 million input tokens costs $0.21 on Jev against $5.00 on Haiku 4.5 and $10.00 on Sonnet 5, before Claude’s output and thinking tokens are counted. Jev bills nothing for output. The saving only applies to steps Jev can actually do.

How do I add Jev to Claude Code?

Through an MCP server exposing Jev as classify, score and check tools, or through a router that picks the model per turn. Several community implementations exist, including one installed with npx claude-code-templates@latest --mod productivity/jev-model-router. You need a TypeSafe API key either way. The integration page lists the options.

Does Jev work with Claude Sonnet or Opus?

Yes, since they run side by side rather than inside each other. Jev answers the typed question and your code decides what to do with it, including which Claude model handles the next step. The routers in this directory work against whichever tiers you configure.

Can Jev write code or text like Claude?

No. Jev generates no text at all. Its answers are an option name, an ordered level or a yes/no number, each with a probability. That constraint is the design, and it is why output tokens are free. Anything that has to be written needs a generative model.

Examples

Project

research_desk

A live market news desk that takes yfinance headlines and returns ranked trade ideas, running 215 typed judgments through Jev per pass in 2.7 seconds for about a quarter of a cent. Built with Claude Code and TypeSafe's agent skill.

Tool

adarshmishra07/jcm-router

Local proxy between Claude Code and the Anthropic API that picks the model and effort level per message with a Jev decision. The author measured that routing subagents saves money while routing an established main chat loses it: 309 logged requests cost $106.73 against an $87.19 baseline, and $17.12 of the $19.53 loss came from the main chat alone.

Related guides