Jev com Claude Code do zero: por onde começar sem bagunçar o projeto

Jev com Claude Code funciona melhor quando você entende a divisão de papéis: o Jev, primeiro modelo público da TypeSafe AI (apresentado em 15/09/2026), não gera texto livre, ele recebe um estado mais perguntas tipadas e devolve resposta estruturada com probabilidade, enquanto o Claude Code segue dono das edições e dos comandos. Para começar sem bagunçar o projeto: instale a skill oficial pelo marketplace typesafe-ai/skills, configure a TYPESAFE_API_KEY, entre em plan mode com Shift+Tab, blinde o settings.json com deny, escolha UMA tarefa pequena e revise o diff antes de aceitar qualquer coisa
Fala aí, beleza? Nada bagunça um projeto mais rápido do que colocar um modelo novo pra mexer no repo antes de você entender o que ele faz
A TypeSafe AI apresentou o Jev em 15/09/2026, o primeiro modelo público da empresa e o primeiro da categoria que ela mesma batizou de System One Models
E aqui tem um detalhe que muda TUDO na forma de usar: o Jev não gera prosa
Ele recebe um estado mais perguntas tipadas e devolve respostas estruturadas com probabilidade, pensadas pra serem consumidas direto por código
"Então ele é um agente de código?" Não
A própria documentação é clara nisso: o Jev não recebe objetivo aberto, não usa ferramentas, não edita arquivos e não roda loop, ele responde a pergunta e para
Quem edita arquivo e roda comando continua sendo o agente hospedeiro, ou seja, o Claude Code
Segundo reportagem da Fast Company Brasil, a TypeSafe AI foi fundada por Diogo Almeida, ex-pesquisador da OpenAI, e o modelo chegou correndo nos intermediários poucos dias depois do anúncio
Bora montar esse primeiro uso do jeito conservador? A ideia do post é você terminar a primeira semana com o projeto inteiro e uma opinião formada 😀
O que você precisa antes de começar
Claude Code instalado e funcionando:
Óbvio, mas é o que mais trava gente
Se você ainda não tem o agente rodando no seu fluxo e já quer plugar modelo novo em cima, o resultado é você não saber de quem foi a culpa quando algo sair errado
Antes de misturar as coisas, vale deixar o agente calibrado pra seguir o padrão do projeto em vez de inventar arquitetura do zero
Curso de Jev: Sistemas Mais Inteligentes, Rápidos e Robustos
Desenvolva sistemas mais inteligentes, rápidos e robustos com Jev
Projeto sob controle de versão:
Essa é a rede de segurança, e não é negociável
Sem git, você não tem diff pra revisar nem jeito limpo de voltar atrás
Com git, o pior cenário da primeira semana é você descartar uma mudança ruim e seguir a vida
Acesso ao Jev:
Aqui mora o ponto chato do momento
"Público" aqui quer dizer que é o primeiro modelo que a TypeSafe abriu pra fora, não que qualquer um entrou no dia 1: o Jev nasceu com lista de espera em 15/09/2026, a TypeSafe removeu a waitlist em 20/09/2026 anunciando acesso pra todos, e em 22/09/2026 pausou temporariamente os novos cadastros por excesso de demanda
Contas já criadas continuam funcionando, e a empresa diz que trabalha pra reabrir o acesso, sem data anunciada
Quem já tem conta usa a chave da API própria; quem não tem pode olhar os intermediários, que listaram o modelo pouco depois do lançamento:
- OpenRouter lista <code>jev-latest</code> e <code>jev-1.13</code>
- Vercel AI Gateway expõe <code>typesafe-ai/jev</code>
- Cloudflare Workers AI tem página oficial do modelo Jev no catálogo
Tome cuidado com uma coisa: preço e cotas nos intermediários não são necessariamente o preço de lista da TypeSafe, confira lá antes de assumir
Uma noção de custo pra não tomar susto:
O preço de lista do Jev cobra por token de entrada, com tokens de saída sem custo
São US$ 0,042 por 1 milhão de tokens de entrada, e US$ 0 por 1 milhão de tokens de saída
O cadastro no console da TypeSafe dá US$ 5 em créditos gratuitos, o equivalente a aproximadamente 120 milhões de tokens de entrada
Se a sua conta já existe e tem crédito, é mais do que suficiente pra uma semana de teste pequeno
Passo a passo: primeiro uso do Jev com Claude Code
A sequência abaixo é intencionalmente conservadora
Cada passo tem o erro clássico dele logo embaixo, porque é melhor você errar aqui lendo do que no projeto do cliente
- Instale a skill oficial da TypeSafe no Claude Code
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai
O erro comum deste passo: rodar o instalador do <code>npx</code> achando que serve pro Claude Code
O caminho do <code>npx</code> é justamente pros OUTROS agentes:
npx skills add typesafe-ai/skills --skill typesafe-ai
Nesse caso você seleciona o agente na hora da instalação
- Ligue a atualização automática do marketplace
Abra <code>/plugin</code>, vá em Marketplaces, escolha typesafe-ai e depois Enable auto-update
O erro comum deste passo: pular ele e passar a semana toda com uma versão velha da skill, culpando o modelo por comportamento que já mudou
- Configure a chave da API em variável de ambiente
Os SDKs leem a chave da variável <code>TYPESAFE_API_KEY</code>:
export TYPESAFE_API_KEY="sua-chave-aqui"
Se você for chamar por HTTP direto, a chamada é um <code>POST</code> em <code>/v1/systemone</code>, com a chave enviada como Bearer token no header <code>authorization</code>
O erro comum deste passo: deixar a chave escrita num arquivo dentro do projeto
Além do risco óbvio, arquivo no projeto é arquivo que o agente pode ler e jogar no contexto
- Entre em plan mode antes de qualquer pedido
Aperte Shift+Tab até a barra de status mostrar <code>⏸ plan mode on</code>
Nesse modo o Claude descreve o que pretende fazer antes de mudar qualquer coisa, e isso transforma a conversa: você discute o plano em vez de auditar estrago
O erro comum deste passo: achar que está em plan mode sem olhar a barra de status
Curso RecomendadoDesenvolva sistemas mais inteligentes, rápidos e robustos com JevConhecer cursoSe o indicador não apareceu, você não está nele, ponto
- Blinde o projeto com <code>allow</code> e <code>deny</code> no settings.json
As regras de permissão ficam em arrays <code>allow</code> e <code>deny</code>, no formato <code>Tool</code> ou <code>Tool(especificador)</code>:
{
"permissions": {
"allow": ["Bash(npm run lint)"],
"deny": ["Read(./.env)"]
}
}
A ordem de avaliação é <code>deny</code>, depois <code>ask</code>, depois <code>allow</code>, e vale a primeira regra que casar
O erro comum deste passo: confiar só no <code>allow</code> e esquecer o <code>deny</code>
Como a primeira regra que casa é a que manda, o <code>deny</code> é o seu freio de mão: é ele que garante que certo arquivo não é lido nem por acidente
- Escolha UMA tarefa pequena e cite a skill no prompt
Citar a skill funciona em qualquer agente, sem comando especial: você escreve <code>use the TypeSafe skill</code> no prompt e segue com o pedido
Tarefa pequena aqui quer dizer pergunta fechada sobre um estado, com resposta que você consegue conferir de cabeça
O erro comum deste passo: chegar com objetivo aberto tipo "refatora o módulo de pagamento"
Isso não é primeiro teste, isso é aposta
- Revise o diff antes de aceitar
Essa é a parte que ninguém gosta e que salva o projeto
Leia a mudança inteira, pergunte o porquê do que não entendeu, e só então aceite
O erro comum deste passo: aprovar no automático porque "parecia certo"
Se o diff está grande demais pra ler com atenção, o problema não é o diff, foi o escopo do pedido
- Só depois disso considere o <code>acceptEdits</code>
Existe um modo de permissão que aprova automaticamente as operações de arquivo, o <code>acceptEdits</code>, enquanto os comandos de Bash seguem pedindo permissão normalmente
Ele é ótimo depois que você já confia no fluxo, e péssimo no dia 1
O erro comum deste passo: ligar o <code>acceptEdits</code> antes de ter revisado uns bons diffs na mão, e aí perder a noção de quando o projeto mudou de forma
O que o setup do Claude Code do zero me ensinou sobre revisão
Quando gravei o tutorial completo do Claude Code, fiz questão de começar do zero mesmo: instalação, login, escolha de tema e um projetinho de calculadora de IMC com HTML, CSS e JavaScript pra ver o fluxo funcionando ponta a ponta
Duas coisas ficaram claras ali:
A primeira: no modo padrão o agente pergunta antes de cada edição, e eu fui aprovando na mão até o projeto ficar pronto
É mais lento? É
Mas é exatamente esse freio que você quer na primeira semana, porque cada "sim" é uma decisão sua, não uma surpresa
A segunda: abrir o thinking pra ver como ele planejou as etapas muda o jogo
Você para de tratar o agente como caixa preta e começa a discordar do plano ANTES do plano virar arquivo
É o mesmo espírito do plan mode: a conversa deixa de ser "o que você fez?" e passa a ser "é isso que você vai fazer?"
E tem uma armadilha que eu não me canso de repetir: aquele "Yes, and don’t ask again" que aparece num comando Bash não é só uma resposta, ele é gravado como regra <code>allow</code> em <code>.claude/settings.local.json</code>
Ou seja: você aprovou uma vez e ensinou o projeto a não te perguntar mais
Não é bug, é o design, mas se você clicar nisso no piloto automático vai levar um susto em algum dia da semana e não vai entender de onde veio a permissão
Revise esse arquivo de vez em quando, principalmente na primeira semana
Sobre diff, uma regra prática: diff pequeno você lê e entende; diff grande você finge que leu
Por isso a ordem do post é essa, tarefa pequena primeiro
Se você ainda não domina o agente em si, o vídeo abaixo é a base do setup, do zero ao projeto rodando:
Tarefas pequenas boas para o primeiro teste (e as que é melhor evitar)
A interface do Jev tem três tipos de pergunta, e entender os três já te dá o desenho das boas tarefas:
- Choice: uma opção dentro de um conjunto fixo
- Score: posição numa escala descrita em passos
- Noul: valor perto de 1 é sim forte, perto de 0 é não forte, e perto de 0,5 indica probabilidades parecidas
Se liga nesse último: o 0,5 não é "talvez" no sentido preguiçoso, ele é a informação de que o modelo não separou as opções
Um caso oficial bem gostoso de começar é o cookbook de sugestão de skill, que usa o Jev pra classificar qual skill combina com o pedido antes de injetar contexto
É o tipo de decisão perfeita pra ele: fechada, tipada e consumida por código

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.Agora a parte que economiza sua semana, porque a própria documentação lista as bordas irregulares do <code>jev-1.13</code>:
| Tarefa | Vale no primeiro teste? | Motivo |
|---|---|---|
| "Esse pedido combina com qual skill?" | Sim, com Choice | conjunto fixo de opções |
| "Quão arriscada é essa mudança, nesta escala descrita em passos?" | Sim, com Score | escala explícita, sem número solto |
| "Esse estado toca em configuração sensível?" | Sim, com Noul | sim/não com confiança |
| "Essa dependência está parada há mais tempo que aquela?" | Evite | datas são lidas como texto, não como quantidade ordenada |
| "Esse arquivo passou do limite de linhas?" | Evite | precisão numérica é ponto fraco documentado |
| "Isso não deixa de ser uma mudança não trivial?" | Evite | dupla negativa derruba a confiabilidade |
A documentação é explícita: negações, palavras de escopo e condições implícitas são lidas ao pé da letra, e indireção mais dupla negativa reduzem a confiabilidade
Sobre data e número, o aviso é igualmente direto: comparar qual data vem antes, calcular distância entre datas ou checar se algo cai numa janela é inconfiável
Esse tipo de conta é trabalho do seu código, não do modelo
Problemas comuns na primeira semana e como resolver
429 Too Many Requests:
Sintoma: a chamada volta com erro HTTP 429
Causa: os limites de uso são medidos em tokens por segundo e requisições por minuto, e estourar qualquer um deles devolve esse erro
Como prevenir: trate 429 como cenário esperado no código, com retry, e não chumbe suposição de limite no seu fluxo, porque a documentação avisa que os limites são ajustados dinamicamente e podem mudar sem aviso
A resposta parece errada, mas é leitura literal da pergunta:
Sintoma: você jura que a resposta está absurda
Causa: o <code>jev-1.13</code> responde a pergunta que está escrita, com negações e escopos lidos ao pé da letra
Como prevenir: reescreva a pergunta na forma mais burra possível, afirmativa, com escopo explícito
Antes de culpar o modelo, leia sua própria pergunta em voz alta
Estouro do orçamento de contexto:
Sintoma: você joga o projeto inteiro como estado e nada funciona direito
Causa: o orçamento é de 64k para o estado mais todas as perguntas somadas, e de 32k para o estado mais a pergunta mais longa
Como prevenir: monte estado enxuto e específico
O estado é lido uma vez e todas as perguntas são avaliadas em paralelo contra ele, então perguntar várias coisas sobre o MESMO estado enxuto é o uso natural, jogar o repo inteiro não é
Confusão entre alias e ID versionado:
Sintoma: o comportamento muda entre dois ambientes seus e você não sabe por quê
Causa: o SDK chama <code>jev-latest</code> por padrão, e o campo de modelo também aceita IDs versionados como <code>jev-1.13.0</code>
Como prevenir: em teste, alias é ótimo pra acompanhar o que há de novo; quando você começar a depender do comportamento, fixe o ID versionado e saiba qual dos dois está rodando
Edição inesperada por regra <code>allow</code> salva sem querer:
Sintoma: algo foi alterado sem te perguntar
Causa: um "don’t ask again" antigo virou regra <code>allow</code> em <code>.claude/settings.local.json</code>
Como prevenir: leia esse arquivo, limpe o que não deveria estar ali e mantenha o <code>deny</code> cobrindo o que é sensível, lembrando que <code>deny</code> é avaliado antes de tudo
O que o Jev muda (e o que não muda) no seu fluxo com o Claude Code
O que muda: você ganha um jeito de tomar decisão fechada sobre um estado e receber isso tipado, com probabilidade, pronto pro seu código ramificar
Triagem, roteamento, classificação, escolha de caminho
O que NÃO muda: quem mexe no seu projeto
O Jev responde a pergunta e para, e o Claude Code segue dono das edições e dos comandos
Manter essa fronteira na cabeça é o que te protege, porque quando algo der errado você sabe onde olhar: decisão errada é pergunta mal feita, arquivo errado é permissão mal configurada
E aqui vai o aviso que eu acho mais importante do post: os roteadores e servidores MCP que colocam o Jev dentro do loop do Claude Code são projetos de comunidade, não produtos oficiais da TypeSafe
O jev-router é mantido no GitHub por gargpratyush, e existem vários <code>jev-mcp</code> de autores independentes
Isso não quer dizer que sejam ruins, quer dizer que a responsabilidade de auditar o que você instala é sua
Se você for por esse caminho e o MCP não aparecer, o problema costuma ser de configuração, e vale seguir um diagnóstico de servidor MCP antes de sair trocando de projeto
Próximo passo
Se for tirar uma coisa daqui, que seja esta: escolha UMA tarefa pequena essa semana
Mantenha o plan mode ligado, mantenha o <code>deny</code> no lugar, revise cada diff na mão e só amplie o escopo depois que os diffs pararem de te surpreender
Não tem prompt mágico nisso, tem escopo pequeno e revisão feita
Pra leitura seguinte, vá direto na fonte: a skill oficial vive no repositório typesafe-ai/skills, e dá pra ler o arquivo <code>skills/typesafe-ai/SKILL.md</code> no GitHub pra entender exatamente o que ela orienta o agente a fazer
Ler o SKILL.md antes de usar é o tipo de dez minutos que economiza uma tarde 🙂
Abraço e até o próximo post!
Matheus Battisti
Perguntas frequentes
Dá pra usar o Jev no Claude Code sem ter conta própria na TypeSafe?
Dá, via intermediário. OpenRouter lista jev-latest e jev-1.13, a Vercel AI Gateway expõe typesafe-ai/jev e o Cloudflare Workers AI também tem página do modelo no catálogo. Só vale conferir preço e cota de cada um, porque não são necessariamente iguais ao preço de lista da TypeSafe.
O Jev consegue editar arquivo do projeto sozinho pelo Claude Code?
Não. O Jev não recebe objetivo aberto, não usa ferramenta, não edita arquivo e não roda loop, ele só responde a pergunta tipada e para. Quem edita arquivo e roda comando continua sendo o Claude Code.
Quanto custa testar o Jev numa primeira semana pequena?
O preço de lista é US$ 0,042 por 1 milhão de tokens de entrada, e token de saída não é cobrado. O cadastro no console já dá US$ 5 em crédito grátis, e nesse preço de entrada dá muita folga pra um teste pequeno, então uma semana assim cabe tranquilo no crédito.
O que fazer se o cadastro no Jev estiver pausado?
Os novos cadastros estão pausados desde 22/09/2026 por excesso de demanda, e a TypeSafe ainda não anunciou data pra reabrir. Contas já criadas seguem funcionando normal, então quem não tem conta pode começar pelos intermediários enquanto isso.
Em que situação o Jev costuma errar mais?
A própria documentação do jev-1.13 avisa que negação, palavra de escopo e condição implícita são lidas ao pé da letra, o que derruba dupla negativa e indireção. Também tem dificuldade com precisão numérica e trata data como texto, então comparar datas ou checar janela de tempo é inconfiável.
Existe integração pronta de terceiro pra usar o Jev direto no fluxo do Claude Code?
Existe, mas são projetos de comunidade, não produtos oficiais da TypeSafe. Pela página do próprio projeto no GitHub, o jev-router é mantido por gargpratyush, e há vários jev-mcp de autores independentes. A skill oficial mesmo vive no repositório typesafe-ai/skills.
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.
