Claude Code e Jev no mesmo projeto: quem escreve nos arquivos e como evitar conflito?

Claude Code e Jev não disputam o mesmo arquivo, porque o Jev não escreve nada. Ele é um modelo ‘System One’ da TypeSafe AI que devolve decisões tipadas com probabilidade e confiança. Quem edita é só o Claude Code. O risco real de conflito vem do script de integração, de outra sessão concorrente ou de edição manual. A regra prática: o Claude Code escreve, o Jev responde perguntas estreitas, permissions.deny protege os caminhos reservados, o /permissions confere as regras e o Git (commits e branches) fica como árbitro e histórico permanente
Fala aí, beleza? Começa por aqui: o Jev não escreve uma palavra 😛
Então, se tu tá com medo de o Claude Code e o Jev brigarem pelo mesmo arquivo, se liga: essa briga não acontece do jeito que parece
O conflito de verdade é o Claude Code contra o que roda em volta dele: o script que chama o Jev, outra sessão aberta no mesmo projeto, aquela edição manual que você fez no editor e esqueceu…
Rapidinho pra situar: o Jev é um modelo ‘System One’ da TypeSafe AI
Ele não gera texto, ele devolve decisões tipadas com probabilidade, que o seu código usa direto
Ele saiu primeiro com lista de espera e depois abriu o acesso pra todo mundo
Neste post a ideia é deixar claro quem escreve, quem só lê e como usar o Git como árbitro, beleza? 🙂
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
O que você precisa antes de colocar os dois no mesmo projeto?
Antes de ligar qualquer integração, confere se tu tem isso aqui:
- Projeto sob Git: ele vai ser o seu árbitro, então sem ele nem começa
- Claude Code instalado e funcionando no projeto
- Acesso à API do Jev com chave própria: o Jev é uma API hospedada separada, não vem embutido no Claude Code
- Um caminho do agente até o Jev: o Claude Code não chama o Jev sozinho
E que caminho é esse?
Pode ser um script que o agente roda, a skill de agente da TypeSafe ou um servidor MCP da comunidade
Existe, por exemplo, o projeto jev-code, que coloca o Jev como ferramenta dentro do Claude Code, Codex, Pi e OpenCode
Tome cuidado: ele é da comunidade, não é oficial
Como dividir a escrita entre Claude Code e Jev sem conflito?
A lógica é simples: uma ferramenta escreve, a outra decide
É como ter um dev que mexe no código e um consultor que só responde ‘sim’, ‘não’ ou ‘opção B’… o consultor nunca encosta no teclado
- Defina os papéis por escrito
O Claude Code escreve e revisa o código
O Jev responde perguntas tipadas estreitas e ajuda a filtrar ou rotear trabalho
Testes e revisão humana verificam os resultados importantes
Deixa isso anotado no projeto e não crie nenhuma etapa que grave arquivo ‘em nome do Jev’
No fundo a pergunta é a mesma de entender a relação entre duas ferramentas de IA: qual o papel de cada uma?
Erro comum deste passo: tratar o Jev como se ele pudesse ser o modelo por trás do agente
Não pode! Um agente de código precisa de um modelo que escreva texto, chame ferramentas e edite arquivos, e o Jev devolve respostas tipadas e nunca escreve uma palavra
- Reserve caminhos fixos pro script e bloqueie o Claude Code neles
Se o seu script de integração precisar gravar alguma coisa (o resultado da decisão, por exemplo), separa uma pasta só pra isso
Aí tu bloqueia o Claude Code nesse caminho com permissions.deny no settings.json, usando regras Edit(...)
As regras de deny do tipo Edit bloqueiam as ferramentas Edit e Write nos caminhos que casam com o padrão

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Se liga no exemplo (o caminho é só ilustrativo, ajusta pro teu projeto):
{
"permissions": {
"deny": [
"Edit(./resultados-jev/**)"
]
}
}
E o deny vale pra quê exatamente?
Pras ferramentas de arquivo nativas do Claude Code, pros comandos de arquivo reconhecidos no Bash (cat, head, tail, sed, tee) e pros redirecionamentos do Bash (> file)
Ou seja, o agente não consegue ‘dar a volta’ gravando por redirecionamento, muito massa né? 😀
Erro comum deste passo: achar que o deny protege o arquivo contra o próprio script externo
Ele só restringe o Claude Code, o script continua livre pra gravar onde quiser
- Confira as regras com /permissions
Roda /permissions dentro do Claude Code
Ele lista e edita as regras de permissão (allow, ask, deny) e mostra de qual settings.json cada uma vem
Erro comum deste passo: colocar a regra num arquivo de settings diferente do que você imagina e achar que está protegido
Se a coisa começar a se comportar estranho mesmo com tudo configurado, vale o mesmo raciocínio de quando tu investiga conflito entre mods no Claude Code: descobrir quem está atuando onde
- Use o Git como árbitro
Faz um commit antes de cada rodada do agente e deixa a automação com o Jev numa branch separada
git add -A
git commit -m "antes da rodada do agente"
git switch -c automacao-jev
Depois da rodada, revisa o diff antes de aceitar qualquer coisa
git diff
Erro comum deste passo: confiar no checkpoint do Claude Code como histórico
A própria documentação diz que checkpoint é pra recuperação rápida na sessão, e que pra histórico permanente e colaboração tu continua usando Git
- Use a confiança do Jev como trava
Na API do Jev, quem chama envia um estado (texto ou dados estruturados) e um conjunto de perguntas tipadas
O Jev responde com uma distribuição de probabilidade e um valor de confiança
Aí o seu código age acima de um limiar que você define e escala pra um humano abaixo dele
Isso evita que uma decisão ‘meio assim’ dispare uma edição automática no projeto
Erro comum deste passo: ignorar a confiança e usar só a resposta
A resposta sozinha parece sempre certeira, a confiança é que te conta quando desconfiar…
Como perceber que uma mudança foi sobrescrita (e desfazer)?
Já me ferrei com isso: tu volta no arquivo e a alteração simplesmente sumiu xD
Sintoma:
Código que você ou o agente alterou voltou ao estado anterior, ou mudou sem explicação nenhuma
Causa provável:
Alguma coisa fora do Claude Code mexeu no arquivo: o script da integração, outra sessão concorrente, uma edição manual ou um comando bash como rm, mv ou cp

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.E por que o checkpoint não pegou?
Porque o checkpointing do Claude Code só rastreia as edições feitas pelo próprio Claude, criando um checkpoint a cada prompt seu
Mudanças externas, edições de outras sessões concorrentes e arquivos alterados por esses comandos bash normalmente ficam de fora
Solução:
Primeiro descobre o que mudou e quem mudou:
git status
git diff
Se a mudança perdida foi uma edição do Claude na sessão atual, aperta Esc duas vezes ou roda /rewind
Aí tu escolhe restaurar só a conversa, só o código ou os dois
Se foi algo externo, o caminho de volta é o Git, por isso o commit antes de cada rodada faz tanta diferença
Como prevenir:
- Commits frequentes, principalmente antes de rodar o agente
- Uma única sessão do agente por área do código
- Caminhos reservados pro script protegidos por deny
- Nada que grave arquivo fora do Claude Code sem passar pelo Git
Onde o Jev entra no fluxo sem tocar em arquivo?
Agentes como Claude Code, Codex e OpenCode podem chamar o Jev pra classificar, pontuar ou checar coisas sem gastar uma chamada de raciocínio completa
Alguns use cases que encaixam bem:
- Classificar uma tarefa antes de o agente agir: é bug, refactor ou feature nova?
- Pontuar um resultado: o quanto essa mudança atende o pedido?
- Checar um critério: isso passa ou não passa na regra do time?
- Rotear trabalho: qual fluxo ou pessoa deve cuidar disso?
Pra escolha entre opções, as perguntas do tipo Choice pegam um item de uma lista explícita de até 255 opções
E repara no padrão: em todos esses casos o Jev só devolve a decisão
Quem escreve o código é sempre o Claude Code 🙂
Resumo: uma ferramenta escreve, a outra decide, o Git registra
A regra prática fica assim:
- O Claude Code escreve o código, e o script da integração, se precisar gravar algo, fica só na pasta reservada pra ele
- O Jev só responde perguntas tipadas, com probabilidade e confiança
- O checkpoint serve pra recuperação rápida dentro da sessão
- O Git é o histórico permanente e o árbitro quando algo some
Seguindo isso, o ‘conflito entre Claude Code e Jev’ vira o que ele realmente é: controle de quem mais mexe no projeto
Próximo passo: abre o /permissions no seu projeto e confere quais caminhos o agente pode editar antes de ligar a integração com o Jev
Faça o teste e me conta como ficou o seu fluxo!
Até o próximo post! 😀
Perguntas frequentes
O Jev pode editar arquivos do projeto diretamente, igual o Claude Code faz?
Não, o Jev não edita arquivo nem escreve código, quem escreve é o Claude Code. O Jev devolve decisões tipadas com probabilidade e confiança, e quem usa essa resposta pra agir é o seu código ou o agente, nunca o Jev sozinho.
O Claude Code consegue chamar o Jev sem nenhuma configuração extra?
Não, o Claude Code não chama o Jev por conta própria. Precisa de um caminho até a API do Jev, que é hospedada separada com chave própria: pode ser um script que o agente roda, a skill de agente da TypeSafe ou um servidor MCP da comunidade.
O checkpoint do Claude Code protege contra uma edição feita em outra sessão aberta no mesmo projeto?
Não cobre, essa é justamente uma das limitações do checkpointing. Ele rastreia as edições feitas pelo Claude dentro daquela sessão, mas mudanças externas, sessões concorrentes e comandos bash como rm, mv ou cp geralmente ficam de fora.
Qual comando usa pra voltar o Claude Code a um checkpoint anterior?
Esc duas vezes ou o comando /rewind. Com ele dá pra restaurar só a conversa, só o código ou os dois juntos, mas vale lembrar que isso é recuperação rápida de sessão, não substitui o Git.
O que é uma pergunta do tipo Choice na API do Jev?
É um tipo de pergunta tipada em que o Jev escolhe um item de uma lista explícita de opções, com até 255 opções possíveis. A resposta vem junto com a distribuição de probabilidade e o valor de confiança daquela escolha.
O projeto jev-code que integra Jev ao Claude Code é mantido pela TypeSafe AI?
Não, o jev-code é um projeto da comunidade, não oficial. Ele coloca o Jev como ferramenta dentro do Claude Code, Codex, Pi e OpenCode, mas quem mantém o repositório não é a TypeSafe AI.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares
Bateu o limite de uso do Claude Code? Como retomar a tarefa sem refazer tudo
Bateu o limite de uso do Claude Code? Veja como retomar a tarefa de onde parou com /usage, CLAUDE.md e --continue, sem refazer nada.
Como pagar o Claude Code no Brasil: cartão, dólar, IOF e quanto fica em reais
Claude Code preço Brasil na prática: câmbio, IOF de 3,5% e quanto fica na fatura. Planos Pro e Max convertidos em reais e como pagar com cartão.

O que é o JEV e para que ele serve no Claude Code?
O que é JEV no Claude Code? Entenda o modelo da TypeSafe AI, como instalar a skill e quanto custa por milhão de tokens.
