Stop Parsing LLM Answers: Classify Any Text From Your Terminal With jev-cli A developer has released jev-cli, an open-source command-line tool that wraps TypeSafe AI's Jev model to return calibrated probabilities instead of prose, letting scripts branch on typed answers via exit codes. The tool supports three query types — noul (yes/no probability), choice (multi-option selection), and score (rubric-based rating) — and can run as an MCP server so AI agents can offload small classification judgments to it. The project is community-built and not affiliated with TypeSafe AI. Every developer who has plugged an LLM into a script knows this moment. You ask a simple question: "Is this customer angry?" The model answers with a friendly paragraph. Now you write code to parse that paragraph. Tomorrow it words things differently, and your parser breaks. You didn't want a paragraph. You wanted a yes or no , and ideally how sure it is. That is why we built jev-cli , a free, open-source command-line tool that turns any text into a clear, typed answer your code can act on. jev is a command-line tool for TypeSafe AI's Jev model, the model that never writes text Send it some content and a question you defined, get a calibrated probability, and branch on it in a shell script, a CI job or an AI agent. It is a semantic if statement for your terminal. Quick start https://github.com/shaharia-lab/jev-cli -quick-start · What can I use it for? https://github.com/shaharia-lab/jev-cli -what-can-i-use-it-for · Documentation https://github.com/shaharia-lab/jev-cli/docs/README.md · Command reference https://github.com/shaharia-lab/jev-cli/docs/commands.md · FAQ https://github.com/shaharia-lab/jev-cli/docs/user-guide/faq.md It takes two seconds, and it is how the next person finds jev . Ask a question, get a probability, branch on the exit code, then ask several questions at once. Important Unofficial project. jev is community-built. It is not affiliated with, endorsed by, or sponsored by TypeSafe AI. "TypeSafe" and "Jev" belong to their owner. You… jev-cli is an open-source CLI for Jev , a model from TypeSafe AI that never writes text. Instead of a reply, it gives you back a probability . You give it two things: You get back a number. Your script decides what to do with it. jev noul "Is this customer angry?" --state "You charged me twice. Fix it now." answer noul yes 0.96 model jev-1.13.0 · 280 input tokens · est. cost $0.000012 That's it. No prompt engineering, no JSON parsing, no "As an AI language model...". Think of it as an if statement that understands meaning . | Type | Ask it when | You get back | |---|---|---| | noul | Something is true or not | Probability of "yes", 0 to 1 | | choice | One option out of many must win | The winner plus a probability for each option | | score | You want a position on a scale | A level on your own 2 to 10 step rubric | For example, routing a ticket to the right team: jev choice "Which team should handle this?" --state-file ticket.txt \ --option billing --option technical --option other | | Regular LLM prompt | jev-cli | |---|---|---| | What you get | A sentence to parse | A number in a shape you defined | | Same input tomorrow | Might be worded differently | Same contract, every time | | Cost per short ticket | Cents | About a thousandth of a cent | | In a shell script | Parse and hope | Branch on the exit code | Answers become exit codes , so a shell script never has to read output: if jev noul "Is this ticket about billing?" --state-file ticket.txt --fail-under 0.7 --quiet; then echo "send to billing" fi Exit 0 means the condition holds. Exit 10 means it doesn't and that is never treated as an error . Anything unsure can land in its own "ask a human" band with --abstain-band 0.4,0.6 . If you use Claude Code, Cursor or another AI agent, jev-cli can make it faster and cheaper . Instead of the big model spending tokens deciding "is this relevant?" a hundred times, it hands those small judgments to jev. jev mcp serve runs it as an jev spec and jev schema describe every command in JSON, so agents don't guess --dry-run checks a request offline, for free, before anything is spent claude mcp add jev -- jev mcp serve Linux and macOS curl -fsSL https://raw.githubusercontent.com/shaharia-lab/jev-cli/main/install.sh | sh or Homebrew brew install shaharia-lab/tap/jev Add your TypeSafe API key and ask your first question: export TYPESAFE API KEY=... jev noul "Is this message angry?" --state "You charged me twice. Fix it now." Windows, Cargo and other options are in the installation guide https://github.com/shaharia-lab/jev-cli/blob/main/docs/user-guide/installation.md . jev-cli is free, open source and built in the open. If it saves you a parsing headache or a few dollars of tokens: Disclosure: we maintain jev-cli. It is an unofficial, community project and is not affiliated with or endorsed by TypeSafe AI. "TypeSafe" and "Jev" belong to their owner. You need a TypeSafe API key to use it.