<!-- Markdown copy of https://jevhub.io/jev-opencode (Jev in OpenCode: skill, approvals and Zen · Jev Hub). The HTML page is the original. -->

[ Guide ]

# Jev in OpenCode: skill, approvals and Zen

Jev in OpenCode: install the TypeSafe skill, add the approval plugin, and call Jev through OpenCode Zen. Needs OpenCode 2.0.12 or later. Checked 25 October 2026.

Published 25 October 2026By Jev Hub

[Back to Learn](https://jevhub.io/learn)

[ TLDR ]

- Jev cannot be the model behind OpenCode, but it works beside it in three ways.
- TypeSafe's skill installs with one command and asks you to choose OpenCode, OpenRouter's cookbook adds a plugin that lets Jev approve routine shell commands, and OpenCode's Zen service sells Jev 1.13 directly.
- The plugin needs OpenCode 2.0.12 or later and a shell permission set to ask.
- Zen also lists a free Jev 1.13 model for a limited time with no end date.

## Jev in OpenCode, at a glance

|  | What to do | Where it is documented |
| --- | --- | --- |
| Install the skill | npx skills add typesafe-ai/skills --skill typesafe-ai, then choose OpenCode when asked | TypeSafe's agent-skill page |
| Use it | Say "use the TypeSafe skill" in your prompt | TypeSafe's agent-skill page |
| Approve shell commands with Jev | A plugin saved under .opencode/plugins/, with "shell": "ask" under permission in opencode.json; OpenCode 2.0.12 or later | OpenRouter's coding-agent cookbook |
| Check it loaded | opencode plugin list should show jev-permissions as a local plugin | OpenRouter's coding-agent cookbook |
| Call Jev through OpenCode Zen | POST https://opencode.ai/inference/systemone/v1/systemone with a Zen key; models jev-1.13 and jev-1.13-free | OpenCode's Zen documentation |
| Price on Zen | jev-1.13: $0.042 per million input tokens, output free. jev-1.13-free: free for a limited time, no end date given | OpenCode's Zen documentation |

Commands and settings are from TypeSafe's agent-skill page, OpenRouter's cookbook and OpenCode's Zen page, read on 25 October 2026. Check the linked pages for current details.

## Can Jev work with OpenCode?

Yes, beside it. TypeSafe's documentation names OpenCode among the coding agents Jev cannot replace, because Jev returns typed decisions and writes no code. It can help OpenCode write programs that call Jev, approve routine shell commands, and be called directly through OpenCode's own Zen service.

- [Jev in Claude Code: what you can build](https://jevhub.io/jev-claude-code)
- [Jev in Codex: set it up and trust the hook](https://jevhub.io/jev-codex)

## How do I install Jev in OpenCode?

Run TypeSafe's installer and choose OpenCode when it asks. The install is project-local by default; add `-g` for a global install. Use one install method only.

OpenCode · install the skill

```
npx skills add typesafe-ai/skills --skill typesafe-ai
```

Then say "use the TypeSafe skill" in your prompt. To update, run this:

OpenCode · update the skill

```
npx skills update
```

## How do I set up the Jev approval plugin in OpenCode?

OpenRouter's cookbook covers OpenCode 2.0.12 or later; it does not cover version 1. First, in `opencode.json`, set `"shell": "ask"` under `permission`, so that shell commands prompt and the plugin has something to judge. Then save the plugin file under `.opencode/plugins/` in your project. It loads with no install step, and `opencode plugin list` should show `jev-permissions` as a local plugin.

The flow is the one the other agents use. A fixed risk list in code sends dangerous commands, such as recursive deletes, force pushes, publishing and credential paths, straight to the normal prompt. Everything else goes to Jev as two yes or no questions, and the command is approved only if every score is at least 0.9. Any error or timeout falls back to the prompt. You need `OPENROUTER_API_KEY` in the environment OpenCode runs in.

OpenCode details from the cookbook: deny rules in `opencode.json` apply before the plugin runs, so put commands that must never run there. Approvals apply to one request and write no saved rule. The plugin reads the commands from `event.resources`, not `event.metadata`. To test, ask for a change that runs tests, which should run without a prompt, then ask it to push and confirm the push still prompts.

## Can I call Jev through OpenCode Zen?

Yes, on Jev 1.13 only. OpenCode's Zen page lists `jev-1.13`, at $0.042 per million input tokens with free output, and `jev-1.13-free`, free for a limited time with no end date given. The page documents a direct call to `https://opencode.ai/inference/systemone/v1/systemone` with a Zen key as a Bearer token, in the same request format as TypeSafe's API. It does not say how to pick Jev inside OpenCode's terminal app.

The free model is OpenCode's offer, not TypeSafe's, so it can end without notice, and the setup steps ask you to add billing details before copying a key. Avoid sending private data to it.

- [Can you use Jev for free?](https://jevhub.io/is-jev-free)

## What can I build with OpenCode and Jev?

Ideas that TypeSafe has published as cookbooks, with the figures it reports. They are TypeSafe's own and not independently checked:

- **Pick the right skill before each turn.** TypeSafe's skill-suggestion cookbook, run on 182 skills and 488 requests, reports wrong skill loads falling from 16.8% to 7.3%. It used Jev 1.12 and a Claude Haiku 4.5 agent.
- **Choose a cheaper model when the answer is easy.** OpenRouter's Jev Router (`typesafe/jev-router`) uses Jev to pick the model and reasoning effort for each request, with three cost tiers: low, medium and high. OpenRouter gives no price for the router itself.
- **Check whether a cheap answer holds up.** OpenRouter's cascade cookbook has a cheap model draft an answer, Jev check that the sources support it, and a stronger model run only when the check fails. On 50 questions it reports no wrong answers at $0.012, against two wrong at $0.175 for the stronger model on every question.

- [Jev on OpenRouter](https://jevhub.io/jev-openrouter)

## What goes wrong in OpenCode?

The snags the documentation lists:

- **The plugin never fires.** Check that `shell` is set to `ask`, the file is under `.opencode/plugins/` and `opencode plugin list` shows it. Version 1 of OpenCode is not covered.
- **A deny rule blocks a command you expected Jev to approve.** Deny rules run first and always win.
- **The skill is not used.** Name it in your prompt, confirm the installer targeted OpenCode, then restart.
- **Zen's free model disappears.** OpenCode says it is available "for a limited time". Plan for it to end.

## Common questions

Not as the model behind OpenCode, because Jev returns structured decisions, not code. You can install TypeSafe's skill so OpenCode writes programs that call Jev, add an approval plugin, or call Jev through OpenCode's Zen service.

Run this command and choose OpenCode when asked, then say "use the TypeSafe skill" in your prompt.

Terminal

```
npx skills add typesafe-ai/skills --skill typesafe-ai
```

OpenRouter's cookbook covers OpenCode 2.0.12 or later and says version 1 is not covered. You also set "shell": "ask" under permission in opencode.json.

OpenCode's Zen page lists jev-1.13-free, with free input and output, for a limited time with no end date. It is OpenCode's offer, runs Jev 1.13 only and needs a Zen key.

POST https://opencode.ai/inference/systemone/v1/systemone, with your Zen key as a Bearer token and a body containing model, state and questions.

Run opencode plugin list and look for jev-permissions as a local plugin.

Terminal

```
opencode plugin list
```

## Sources

Written by Jev Hub from the sources below and checked against them on 25 October 2026. Where a figure is a company's own claim, the article says so.

- [TypeSafe docs: the TypeSafe agent skill (read 25 October 2026)](https://docs.typesafe.ai/agent-skill)
- [GitHub: typesafe-ai/skills (MIT licence, read 25 October 2026)](https://github.com/typesafe-ai/skills)
- [OpenRouter cookbook: auto-approve coding-agent permission prompts with Jev (read 25 October 2026)](https://openrouter.ai/docs/cookbook/coding-agents/auto-approve-permission-prompts-with-jev)
- [OpenCode: Zen documentation (read 25 October 2026)](https://opencode.ai/docs/zen/)
- [TypeSafe cookbook: skill suggestion (read 25 October 2026)](https://docs.typesafe.ai/cookbooks/skill_suggestion)
- [OpenRouter: Jev Router (read 25 October 2026)](https://openrouter.ai/docs/guides/routing/routers/jev-router)
- [OpenRouter cookbook: cut LLM cost with a Jev-verified cascade (read 25 October 2026)](https://openrouter.ai/docs/cookbook/evaluate-and-optimize/jev-verified-cascade)
- [TypeSafe docs: Jev with coding agents (read 25 October 2026)](https://docs.typesafe.ai/introduction/coding-agents)

## Related content

- [Jev in Cursor](https://jevhub.io/jev-cursor)
- [Jev on OpenRouter](https://jevhub.io/jev-openrouter)
- [Confidence routing](https://jevhub.io/confidence-routing)
