Skip to content
System One

Jev with OpenAI Codex: per-turn model routing setup

To use Jev with OpenAI Codex, run a third-party router such as 0xNatoshi/jev-codex-router, which classifies each turn with Jev and registers itself as a Codex model provider so Codex picks a cheaper or stronger tier per task. No official OpenAI or TypeSafe integration for Codex exists as of this writing.

Updated

No official party runs the Codex integration. Independent routers and MCP servers call Jev to classify each coding task, then use that classification to pick a cheaper or stronger Codex model tier, or to score, check, and gate agent actions inside a Codex session.

What the integration does

Two patterns show up. The first is per-turn routing: a small server sits between Codex and the model provider, classifies the current task with Jev, and picks a Codex model tier before generation starts. That is the same idea behind Jev’s intent and model routing use case and the Claude Code integration.

The second pattern is an MCP server that exposes Jev’s judgment calls as tools Codex can invoke mid-session, such as classify, score, or check.

Every project here runs on the same Jev model, a classification model that TypeSafe describes as an AI model for decisions rather than for generating text. What differs is which Codex tier a decision affects, and which of Jev’s calls a given project wraps.

Official support

There is no official OpenAI integration for Codex, and no official TypeSafe one either. Every project here is third-party: an independent developer built a router or an MCP server and pointed it at Jev’s API.

The closest thing to an official presence is typesafe-ai/skills, TypeSafe’s own MIT-licensed agent skill, installed with npx skills add typesafe-ai/skills --skill typesafe-ai (add -g for a global install). It runs in Codex-compatible environments too, but that does not make Codex support official. It is a general-purpose skill, not something built for Codex.

Setup

Pick a router if you want Codex to switch model tiers automatically. Pick an MCP server if you want Codex to call Jev as a tool mid-session.

  1. For per-turn routing, clone 0xNatoshi/jev-codex-router. It requires macOS, Codex Desktop, a local Codex Router, and Python 3.11 or later, per the repo.
  2. Set TYPESAFE_API_KEY, either exported in your shell or appended to ~/.hermes/.env.
  3. Start the classifier server with python3 server/jev_server.py.
  4. Register it as a Codex Router provider: ./bin/codex-router providers generic add jev --name "Jev Router" --base-url http://127.0.0.1:4319/v1 --adapter openai-responses --allow-private.
  5. Add a matching entry to ~/.codex/codex-router/user-models.json so Codex Router can pick between the three tiers the repo calls Luna, Sol, and Astra.
  6. Optionally, run the server as a background service instead of a terminal window with bash server/install-service.sh.
  7. For MCP-based tool access, install blakestone-x/jev-mcp. Its Claude Code registration command is claude mcp add --scope user jev -e TYPESAFE_API_KEY=... -- uvx --from git+https://github.com/blakestone-x/jev-mcp@v0.2.1 jev-mcp. It also registers with Codex through ~/.codex/config.toml.
  8. Or install jkudish/jev-mcp, which lists Codex among its supported clients, with npx -y @jkudish/jev-mcp. Set TYPESAFE_API_KEY if you have one. Without it, the server falls back to OpenRouter, Cloudflare Workers AI, or Vercel AI Gateway.

What people built with Jev and Codex

The examples below are real projects and write-ups from people who built or used a Jev and Codex integration.

Limits and gotchas

0xNatoshi/jev-codex-router’s cost and speed numbers are the repo’s own claims, not independently verified. It reports about $0.00003 and about 0.6 seconds per routing decision, and a 7-day backtest over 237 real turns claiming roughly 60% cost savings against an all-frontier baseline. Check those against your own workload, and see Jev’s speed and pricing guide for how such figures are usually measured. One summary flagged the same repo as possibly archived and read-only since September 2026. That is not confirmed here, so check the repo’s own status before relying on it.

The router only works on macOS, with Codex Desktop and a local Codex Router installed, on Python 3.11 or later. That rules out most other setups.

Almost every project on this page needs your own TYPESAFE_API_KEY, so getting access to Jev comes first. jkudish/jev-mcp is the exception, falling back to OpenRouter, Cloudflare Workers AI, or Vercel AI Gateway without one.

None of these projects are affiliated with TypeSafe or OpenAI, and most depend on one or a few individual maintainers rather than a company. If a repo goes quiet, nothing here is guaranteed to keep working through future Codex or Jev updates. See how Jev is built for what it is actually doing underneath any of these tools.

FAQ

Does Codex support Jev officially?

No. Neither OpenAI nor TypeSafe ships an official integration with Codex. Everything documented on this page is third-party: independent routers and MCP servers that call Jev’s API to classify tasks. The closest thing to official is TypeSafe’s own agent skill, typesafe-ai/skills, which works in Codex-compatible environments, though it remains a general-purpose skill rather than a Codex-specific integration.

Do I need a TypeSafe API key to use Jev with Codex?

Usually, yes. Most of these projects need a TYPESAFE_API_KEY, including 0xNatoshi/jev-codex-router and blakestone-x/jev-mcp. jkudish/jev-mcp is the one exception: without that key, it still runs by falling back to OpenRouter, Cloudflare Workers AI, or Vercel AI Gateway instead of Jev. Get a key by following how to get Jev access before setting up any of the router or MCP options above.

What does Jev decide inside Codex?

It depends on the project. jev-codex-router uses Jev to classify each turn and picks between three Codex model tiers, which the repo calls Luna, Sol, and Astra. blakestone-x/jev-mcp exposes classify, score, check, and match or screen tools that Codex can call directly, each returning a confidence value. Other projects use Jev for narrower jobs like risk-scoring a tool call or re-checking whether a task is finished.

Is it free to use Jev with Codex?

No. Jev itself is a paid API, so most of these integrations cost whatever Jev and Codex charge for tokens, plus the compute for running the router or MCP server yourself. jkudish/jev-mcp can run without a TypeSafe key by falling back to OpenRouter, Cloudflare Workers AI, or Vercel AI Gateway, which shifts the cost rather than removing it. See Jev’s pricing for actual rates.

Examples for OpenAI Codex

Tool

compozy/yoshi

Local context-pruning proxy for Claude Code and Codex. Jev judges which conversation history is still needed above a configurable size gate, and Yoshi applies the validated omissions before forwarding to Anthropic or OpenAI; the author calls it a proof of concept headed into CompozyOS.

Tool

noplan-inc/limpet

Stop hook that keeps a coding agent from finishing early. You write completion rules in plain language, and every time the agent is about to stop, Jev scores the stop against each rule in 0.7 seconds and sends it back to work if a rule is violated. Works with Claude Code and Codex.

Related guides