Skip to content
A crossed-out apology email beside a closed box labeled Department
If you need a sentence, use a writer.

Guides

When not to use Jev

If the user needs a paragraph, you are in the wrong building. Use an LLM to write. Use Jev to judge. This when not to use Jev list is the product boundary.

TypeSafe’s own docs are blunt: System One models do not write replies, produce code, or generate explanations of their reasoning. This when not to use Jev guide repeats that boundary in the language of tickets, agents, and RAG, because the failure mode is always the same — someone pastes a writer prompt into a Jev question and wonders why there is no email.

Jev Patterns will not hide the gap. When not to use Jev is not a slight. It is how you keep System One on the request path and language models on the composition path. Read what is Jev if you still need the positive case.

No emails

Jev will not draft a reply, an apology, or a status update. It can decide whether the ticket is billing, whether it is urgent, whether a human should take over. The sentence that goes back to the customer is someone else’s job — a template, a writer model, or a person. When not to use Jev is “write the customer a kind note.” Use support ticket routing and escalate to human instead, then fill the template.

No code generation

It will not write the patch, the SQL, or the regex. An agent pattern here picks the next tool or whether to stop. The tool still has to run in your runtime. If you need a function body, call a coder model after Jev has chosen “write_file.” When not to use Jev is “implement the feature.” See agent tool selection and Jev vs function calling.

No summaries

There is no “tldr this thread” primitive. You can Score a chunk for relevance, Choice-judge a claim against a passage, Noul whether the draft is grounded. Compression of language is generation. Skip Jev. When not to use Jev includes meeting notes, “explain this log,” and executive briefs. Use RAG chunk relevance and the LLM output guardrail around a writer, not instead of one.

No open-ended chat

A support widget that “just talks” is an LLM product. Putting Jev behind a chat bubble does not make it a chatbot, and this site will not pretend otherwise. Use Jev beside the chat: route, gate, escalate. When not to use Jev is the widget itself. Category contrast: Jev vs ChatGPT.

Vision is experimental, not production

Default and jev-latest accept text, JSON objects, and arrays of text. Experimental images behind TypeSafe-Danger-Zone-Images: true are available on both 1.13 and 1.14; the Box primitive is 1.14-only (jev-preview / jev-1.14.0). TypeSafe is explicit that these are dreamer-ready and not yet up to production standards for intelligence or reliability. Audio and video remain unsupported. For production image work, prefer a dedicated vision model or OCR, then send text as state. The content moderation screen pattern remains text-oriented for the same reason.

Not a hard security boundary on untrusted policy-shaped state

TypeSafe’s jaggedness notes already record that injected instructions, misleading framing, or text arguing for its own classification can move answers. Datadog Security Labs (15 October 2026) demonstrated a practical form of that on Jev used as a judge: a counterfeit policy prepended to untrusted state rewrote category definitions and dropped prompt-injection recall from roughly 83% to about 4% on public datasets. The same technique walked through LangChain’s experimental tool-risk gating that scores calls with Jev.

Do not treat a Jev Noul or Choice as the sole gate when the state can contain attacker-controlled text that looks like a policy or instruction set. Keep the decision advisory, or pair it with non-model controls. Primary write-up: Datadog Security Labs. TypeSafe’s note: adversarial content. This is not a TypeSafe claim; it is an independent lab result on the published model.

A quick when not to use Jev checklist

  • The user-facing artifact is a paragraph → writer model.
  • You need a file path, SQL, or regex → writer or templates.
  • You need a title-case summary of a thread → writer.
  • The input is pixels and you need production reliability → dedicated vision or OCR, then maybe Jev on text. Experimental Box/images on jev-preview are for prototypes.
  • The input is a conversation that must stay a conversation → chat product, with Jev beside it if you route.
  • The output must be an open string (name, email subject, URL) → not Choice/Score/Noul.
  • The decision is a security boundary on content an attacker can write (policy-shaped state, tool arguments) → non-model controls or human review; Jev alone is not a boundary.

If every box is unchecked and you still have a switch in code, you are in the catalog. When not to use Jev is the filter; Jev Patterns is the remainder. Teams get this backwards when a demo shows a pretty paragraph and they assume System One wrote it. It did not. Someone wrapped a writer. Keep the wrap honest.

Writer models are for language. System One is for decisions the compiler can see. If you catch yourself prompting Jev with “explain why,” stop. Ask a Noul or a Choice, then explain in your own UI. When not to use Jev is any time the artifact you need is a string a person will read. Why JSON mode is still token sampling: Jev vs JSON mode. Copy a schema that stays inside the boundary from the catalog. Jev Patterns is not affiliated with TypeSafe AI.

When not to use Jev, and what to use instead

Drafting: any chat model you already pay for, plus templates. Patch writing: a coder model after agent tool selection returns write_file. Summaries: a writer, optionally gated by the LLM output guardrail and RAG chunk relevance. Production images: a vision model or OCR. Open strings: JSON schema on a generator. Security gates on untrusted policy-shaped state: non-LLM controls or human review. The when not to use Jev list is not “do nothing.” It is “do the language part with a language model.”

If a stakeholder insists on one model for both jobs, show them Jev vs ChatGPT and the latency/price vendor figures on What is Jev. Combining jobs in one prompt is how you get a confident paragraph that assigned the ticket to a department that does not exist. When not to use Jev is cheaper than that outage.

When not to use Jev — FAQ

When not to use Jev for customer email?
Always not. When not to use Jev includes every job that needs a paragraph. Jev can route the ticket. A template or writer model writes the reply.
When not to use Jev for code?
Jev will not write a patch. Agent patterns pick the next tool or whether to stop. A coder model fills the file after the Choice.
Can I put Jev behind a chat bubble?
You can, but you should not market it as a chatbot. When not to use Jev is exactly “open-ended talk.” Use Jev beside the chat: route, gate, escalate.
Does Jev support images?
Experimental images via TypeSafe-Danger-Zone-Images: true exist on both Jev 1.13 and 1.14. The Box primitive is 1.14-only (jev-preview / jev-1.14.0). TypeSafe marks them dreamer-ready / not production-grade. Default and jev-latest remain text-oriented. Prefer OCR or a dedicated vision stack for production image work.
Can I use Jev as a security judge on untrusted input?
Not as a sole hard boundary. TypeSafe notes that adversarial content can influence answers. Datadog Security Labs showed a counterfeit policy in untrusted state dropped prompt-injection recall sharply and bypassed experimental tool-risk gating. Treat the decision as advisory when an attacker can write the state.
When should I use Jev?
When the next line of code is a switch over a closed set, a sortable rubric, or a boolean gate. See the Jev Patterns catalog.

Next

If Jev is the right job

Last reviewed 16 October 2026. Independent of TypeSafe AI.