Jev no Claude Code: em que ponto do fluxo ele entra, antes, durante ou depois?
O Jev no Claude Code entra antes, como decisor, e nunca no lugar do modelo que executa o turno. Ele é o System One da TypeSafe AI: recebe um estado e perguntas tipadas (Choice, Score, Noul) e devolve resposta estruturada com confiança, sem gerar texto e sem escrever código. A própria documentação da TypeSafe diz que ele não substitui o LLM de agentes como Claude Code, Cursor ou Copilot: o padrão é o agente escrever código que chama o Jev pra decidir. Quem executa, edita arquivo e roda ferramenta continua sendo o Claude Code
Fala aí, beleza? Tem gente achando que o Jev chega pra substituir o modelo do Claude Code, e tem gente achando que ele senta na frente do turno interceptando tudo
Nenhuma das duas
O Jev é o modelo System One da TypeSafe AI, lançado em acesso antecipado limitado em 15 de setembro de 2026), junto com o anúncio de uma rodada seed de US$ 40 milhões liderada pela DCVC. A pergunta prática de quem vai integrar não é "ele é melhor que o Sonnet?", é outra: em que ponto da ordem das coisas ele encosta? Antes do prompt virar trabalho, durante a execução das ferramentas ou depois da resposta pronta?
Bora destrinchar isso
O que o Jev faz (e o que ele nunca faz) dentro de um fluxo de agente
O Jev recebe um estado e perguntas tipadas, e devolve respostas estruturadas
Só isso
Ele não gera texto, não escreve código, não mantém conversa e não roda loop de agente. Se você conhece a diferença entre um classificador e um chat, é mais ou menos por aí: um responde pergunta fechada, o outro conversa
Curso de Jev: Sistemas Mais Inteligentes, Rápidos e Robustos
Desenvolva sistemas mais inteligentes, rápidos e robustos com Jev
São três tipos de pergunta, segundo a documentação de primitivas da TypeSafe:
- Choice: escolhe uma opção de uma lista, com probabilidade por opção, aceitando até 255 opções
- Score: devolve uma posição dentro de uma escala ordenada
- Noul: devolve um valor de 0 a 1 pra uma afirmação do tipo sim ou não
E tem o detalhe que muda tudo no desenho da integração: a resposta vem acompanhada de confiança. É isso que permite ao SEU código decidir quando agir sozinho e quando escalar o caso ambíguo pra uma pessoa ou pra um modelo de raciocínio
A própria documentação sobre coding agents é explícita: o Jev não é substituto do LLM por trás de agentes como Claude Code, Cursor ou Copilot. O uso indicado é o agente escrever código que chama o Jev pra decidir
E por que ele cabe ANTES de um turno, e não como mais uma etapa pesada no meio? Preço de lista de US$ 0,042 por 1 milhão de tokens de entrada e US$ 0,00 por 1 milhão de tokens de saída, com tempo de resposta ponta a ponta informado pela própria TypeSafe entre 70 e 500 milissegundos, a maioria em torno de 100 ms, medido na costa oeste dos EUA
Esse número de latência é do fornecedor, não é reprodução independente, e não existe medição publicada de Brasil. Fica o aviso
Os pontos do fluxo do Claude Code onde código externo pode rodar
Antes de encaixar o Jev, você precisa saber quais são as gavetas
A documentação oficial de hooks da Anthropic define eventos onde código externo roda no Claude Code, e entre eles estão:
UserPromptSubmit: no envio do promptPreToolUse: antes da execução da ferramentaPostToolUse: depois da execução da ferramentaStop
E aqui vem a parte que quase ninguém repara: o poder de bloqueio muda conforme o evento. PreToolUse bloqueia a chamada da ferramenta, UserPromptSubmit rejeita o prompt
Ou seja, tem ponto onde uma decisão muda o rumo, e tem ponto onde ela basicamente observa e registra
Agora o ponto que resolve metade da confusão: o Jev não é um hook
Hook é vocabulário do Claude Code. O Jev é consultado POR código que roda nesses pontos. Um é o lugar, o outro é o consultor que você liga do lugar
Essa pergunta de "quem entra em que momento" não é exclusiva daqui, ela se repete em toda ferramenta nova que aparece encostada num fluxo que já existe, como na discussão sobre onde o Claude Design entra quando você já usa outra ferramenta de interface
Três formas de plugar o Jev no Claude Code e onde cada uma entra
Hoje existem três caminhos, com maturidades BEM diferentes:
| Forma de plugar | Onde entra no fluxo | Quem mantém | Como instala | Estabilidade |
|---|---|---|---|---|
| Agent skill oficial da TypeSafe | Dentro do turno, como contexto: ensina o agente a chamar o Jev, não intercepta o turno | TypeSafe AI | claude plugin marketplace add typesafe-ai/skills e depois claude plugin install typesafe@typesafe-ai |
Integração oficial documentada |
Mod jev-model-router |
Antes do turno: escolhe modelo e esforço de raciocínio da tarefa | Comunidade, dentro do repositório claude-code-templates mantido por davila7 (Daniel Ávila) |
npx claude-code-templates@latest --mod productivity/jev-model-router |
Depende de function hooks, em acesso antecipado atrás de flag desligada por padrão |
Servidores jev-mcp de terceiros |
Varia conforme a implementação | Autores independentes (tphakala, BYK, rahulrajaram, entre outros) | Varia por implementação | Sem versão canônica e sem servidor MCP oficial da TypeSafe |
Curso RecomendadoDesenvolva sistemas mais inteligentes, rápidos e robustos com JevConhecer cursoA skill oficial: contexto, não interceptação
A agent skill da TypeSafe dá ao agente contexto completo sobre a API: os três tipos de pergunta, padrões de arquitetura e boas práticas pra estruturar avaliações
Ela ensina o agente a chamar o Jev
Ela NÃO entra no meio do turno pra decidir nada por você
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai
Se o seu agente não é o Claude Code, a mesma skill tem outro caminho:
npx skills add typesafe-ai/skills --skill typesafe-ai
Depois é só selecionar o agente
O mod da comunidade: decisão antes do turno
O jev-model-router é um mod da comunidade, dentro do repositório claude-code-templates mantido por davila7 (Daniel Ávila), e isso importa: ele não é produto da TypeSafe nem da Anthropic
O que ele faz é roteamento por turno: entra estado não estruturado, sai uma escolha tipada com distribuição de probabilidade, definindo modelo e esforço de raciocínio da tarefa antes do trabalho começar
Passo a passo segundo o README do próprio projeto:
- Confira a versão do Claude Code. O mod exige
2.1.259ou superior. Erro comum deste passo: rodar a instalação numa versão antiga e ficar caçando bug que não existe
- Instale o mod no projeto:
npx claude-code-templates@latest --mod productivity/jev-model-router
- Com a flag
--mod, ele é gravado em.claude/skills/jev-model-router/no projeto e carregado comojev-model-router@skills-direm projeto confiável
- Habilite a variável
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1. Erro comum deste passo: esquecer a variável e achar que o roteamento simplesmente não funciona. Pra sessão única dá pra rodar assim:
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude --plugin-dir .claude/skills/jev-model-router
Tome cuidado: o próprio README avisa que a API pode mudar entre releases
Antes, durante e depois na prática: onde o Jev realmente encosta
Antes do prompt virar trabalho: escolher a skill certa
O cookbook oficial de sugestão de skill é o exemplo mais claro de "antes"
São duas requisições ao Jev por turno, ambas ANTES de decidir qual skill carregar
A primeira ranqueia o catálogo e responde se aquele turno precisa de skill. A segunda re-lê os três primeiros colocados e pode rejeitar todos
A execução publicada rodou sobre o catálogo Hermes da Nous Research, com 182 skills, usando jev-1.12 e claude-haiku-4-5-20251001, renderizada em 2026-07-31, e reduz carregamentos incorretos de skill em mais da metade
Repara no desenho: o Jev não escreveu nada, não executou nada, só respondeu pergunta fechada e o fluxo seguiu
Antes do turno: escolher o motor
É o caso do jev-model-router, que decide modelo e esforço a partir de estado não estruturado
Mesma lógica, camada diferente: em vez de escolher o que carregar, escolhe com o que rodar
É o mesmo tipo de raciocínio de ordem que aparece quando você define em que ponto o upscale entra num pipeline de geração de vídeo: a decisão vem antes, o trabalho pesado vem depois
Durante a execução das ferramentas: o ponto existe, o exemplo pronto não
Aqui vale honestidade: os dois casos de "antes" têm cookbook e mod publicados, o "durante" não tem
O ponto do fluxo existe e está documentado pela Anthropic: PreToolUse roda antes da execução da ferramenta e bloqueia a chamada, PostToolUse roda depois dela
O desenho possível é direto: o SEU código roda nesse ponto, manda o estado pro Jev com uma pergunta fechada (um Noul do tipo "essa chamada é segura?", por exemplo) e usa a confiança da resposta pra deixar seguir ou mandar pra revisão

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Só que isso é código seu, escrito por você. Não existe receita oficial da TypeSafe pra esse ponto, diferente do cookbook de skill e do mod de roteamento
Tome cuidado com um detalhe de conta: o que é barato quando roda uma vez antes do turno vira uma chamada a cada ferramenta usada, e aí o volume é outro
Depois: a confiança é quem manda o caso pra revisão
Aqui o "depois" não é do Claude Code, é do seu código
Como a resposta do Jev vem com confiança, é o seu limiar que decide se aquilo segue automático ou vira revisão humana (ou vai pra um modelo de raciocínio)
E tem uma recomendação oficial que existe exatamente por causa disso: concentre as perguntas e as constantes de limiar (thresholds) num único arquivo de código, por serem o ponto mais importante pra revisão humana
É o arquivo que o time inteiro vai abrir quando alguém perguntar "por que ele decidiu isso?"
Quem manda em quê: o Jev decide, o Claude Code executa
Resposta curta pra dúvida de hierarquia: o Jev nunca assume o turno
Ele devolve uma escolha tipada e o código do agente (ou o mod) age com base nela. Quem lê arquivo, edita código, roda comando e responde continua sendo o Claude Code
Agora a parte honesta sobre maturidade, porque tem gente montando arquitetura em cima de coisa que ainda balança
As function hooks, que são a base do jev-model-router, estão em acesso antecipado atrás de flag desligada por padrão e não constam na documentação pública oficial da Anthropic. Some isso ao aviso do README de que a API pode mudar entre releases e você tem o retrato: dá pra usar, mas não é release estável
O lado bom é que o mod falha de forma educada. Ainda segundo o README do próprio projeto, ele alcança o Jev pela API da própria TypeSafe ou pelo Vercel AI Gateway; sem chave configurada, cai no classificador interno do próprio engine, e se a chamada falha, a requisição roda intacta
Ou seja, o turno não quebra por causa do decisor
E o Jev também vive fora da API da TypeSafe: ele está disponível no Vercel AI Gateway e no OpenRouter
O que a prática com Claude Code ensina antes de plugar qualquer decisor
Antes de colocar QUALQUER camada de decisão antes do turno, vale entender como o Claude Code é conduzido no dia a dia
No vídeo abaixo eu mostro os hooks, e uma coisa que faço questão de deixar clara ali é que eles funcionam em pontos específicos da execução, não a qualquer momento aleatório
Eu configuro eles dentro do arquivo de settings local, logo depois da chave permissions, e passo pelos momentos em que um hook pode entrar: antes da ferramenta ser executada, depois da ferramenta ser executada, quando o Claude notifica algo e quando ele termina uma tarefa
O exemplo que monto é bem pé no chão: um hook que roda depois de cada modificação de código feita pelo Claude, chamando o ESLint pra verificar falhas no JavaScript
Deixo configurado e mostro em execução assim que uma nova modificação acontece no projeto
Por que isso conecta com o Jev? Porque a lição é a mesma: saber ENCAIXAR a coisa no ponto certo da execução é o que deixa o projeto mais robusto. Um decisor antes do turno ajuda quando o fluxo e a revisão estão claros, e atrapalha quando você só empilha camada em cima de um processo que já tá bagunçado
Se você ainda não tem intimidade com o turno do Claude Code, comece por aí antes de adicionar mais uma peça no meio
Conclusão
Resumindo em uma frase: o Jev entra ANTES, decidindo, e o Claude Code continua executando
O próximo passo concreto, se você quer testar sem se enrolar:
- Comece pela agent skill oficial da TypeSafe, pro agente aprender a chamar a API do jeito certo
- Deixe as perguntas e os thresholds concentrados num arquivo único, que é o ponto de revisão humana
- Só depois avalie o mod da comunidade, ciente de que ele depende de recurso em preview atrás de flag
Quem cobre tema novo cedo aprende antes, mas também apanha antes… vale lembrar disso quando a API mudar de uma release pra outra 😀
Até o próximo post!
Perguntas frequentes
Jev no Claude Code substitui o Sonnet ou outro modelo do agente?
Não. A própria documentação da TypeSafe é explícita: o Jev não é substituto do LLM por trás de agentes como Claude Code, Cursor ou Copilot. O uso indicado é o agente escrever código que chama o Jev pra decidir, e os dois convivem no mesmo fluxo.
Dá pra usar o Jev no Claude Code sem instalar nenhum mod da comunidade?
Dá sim. A integração oficial é a agent skill da TypeSafe, instalada com claude plugin marketplace add typesafe-ai/skills e depois claude plugin install typesafe@typesafe-ai. Ela dá contexto ao agente sobre a API do Jev, mas não intercepta o turno como o mod da comunidade faz.
O jev-model-router funciona em qualquer versão do Claude Code?
Não. O README do próprio projeto exige Claude Code 2.1.259 ou superior, além da variável CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 ativa. Sem esses dois requisitos o mod não roda, e o próprio README avisa que a API pode mudar entre releases.
Existe servidor MCP oficial do Jev pra usar no Claude Code?
Não. A TypeSafe não publica servidor MCP próprio na documentação oficial. Os servidores jev-mcp disponíveis, como tphakala/jev-mcp, BYK/jev-mcp e rahulrajaram/jev-mcp, são implementações independentes de terceiros, sem versão canônica.
Quanto custa rodar o Jev integrado ao Claude Code?
O preço de lista do Jev é US$ 0,042 por 1 milhão de tokens de entrada e US$ 0,00 por 1 milhão de tokens de saída. É esse custo baixo, somado à latência de 70 a 500 milissegundos informada pela TypeSafe, que sustenta colocar o Jev antes de um turno sem pesar o fluxo.
O que acontece se a chamada ao Jev falhar dentro do jev-model-router?
Segundo o README do próprio projeto, se a chamada ao Jev falha a requisição roda intacta, ou seja, o turno do Claude Code não quebra. Ainda pelo README, o router alcança o Jev pela API da TypeSafe ou pelo Vercel AI Gateway, e sem chave configurada cai no classificador interno do próprio engine.
Formações
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
Blog | Mais populares

Como montar um workflow de automação combinando decisões do Jev em código
Aprenda a montar um workflow com Jev: decisões tipadas encadeadas em código, alta confiança agindo sozinha e casos incertos escalando para revisão.

Jev decide, LLM escreve: como dividir os papéis dentro de um agente de IA
Jev é o modelo que decide, não escreve: entenda como dividir papéis entre Jev e LLM dentro de um agente de IA e quando usar cada um.

Para quem o Jev serve (e para quem não serve)?
Jev serve pra roteamento, scoring e guardrails em IA, não pra texto ou código. Veja pra quem o Jev serve e quando evitar.
