# Stop Parsing LLM Answers: Classify Any Text From Your Terminal With jev-cli

> Source: <https://dev.to/shaharia/stop-parsing-llm-answers-classify-any-text-from-your-terminal-with-jev-cli-2ige>
> Published: 2026-09-27 19:02:06+00:00

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.*
