Para rodar o Claude Code durante a noite, dê a ele tarefas pequenas com critérios de aceitação claros, uma configuração de permissões que não dependa de você, testes para conferir o próprio trabalho e uma branch só dele. Depois, mantenha o computador acordado e revise o resultado de manhã. A parte difícil não é iniciar a execução. É garantir que o agente não fique sete horas esperando um sim, não fique sem cota às 2 da manhã e não deixe para você uma branch em que não dá para confiar.
Este guia cobre cada um desses pontos em ordem: planejamento, permissões, limites, proteções, agendamento e a revisão da manhã. A última parte mostra como o turno da noite do AgentVera cuida dos mesmos passos.
Planeje a noite antes de começar
Um agente à noite não pode perguntar nada a você. Tudo de que ele precisa tem que estar na tarefa.
Escreva tarefas que o agente consiga terminar sozinho
Boas tarefas noturnas são pequenas, claras e verificáveis:
- “Adicione validação de entrada aos três formulários em
src/settings/. Pronto quandopnpm testpassar e cada formulário rejeitar um e-mail vazio.” - “Migre
utils/date.tsde moment para date-fns. Sem mudança de comportamento. Todos os testes existentes precisam passar.” - “Escreva testes para
billing/invoice.tsaté a cobertura desse arquivo ficar acima da atual. Não altere o código-fonte.”
Tarefas noturnas ruins são vagas ou exigem uma decisão: “limpe a API”, “melhore a performance”, “escolha uma biblioteca de estado”. O agente vai fazer uma escolha da qual você vai discordar, ou vai parar e esperar.
Escreva os critérios de aceitação
Para cada tarefa, anote quando ela conta como pronta:
- Quais testes ou verificações precisam passar.
- Quais arquivos ela pode tocar, e quais não pode.
- O que fazer se travar. Por exemplo: “Se não conseguir fazer passar, faça commit do que tiver e escreva o motivo em NOTES.md.”
Coloque as regras do projeto onde o agente lê
Convenções, comandos de teste e áreas proibidas ficam no CLAUDE.md, para toda sessão ver. Mantenha curto. Durante a noite, ele é a sua única voz na sala.
Prefira várias tarefas pequenas a uma grande
Cinco tarefas independentes de uma hora cada dão a você cinco branches revisáveis. Uma tarefa de cinco horas dá um diff enorme e uma única chance de dar errado.
Decida como as permissões funcionam enquanto você dorme
Em uma sessão interativa, um pedido de permissão simplesmente espera. À noite, isso significa uma noite inteira perdida por causa de uma única pergunta. Resolva isso antes de ir dormir.
Para execuções não interativas (claude -p), a referência da CLI oferece estas opções:
| Opção | O que faz |
|---|---|
--allowedTools "Bash(npm test)" "Read" "Edit" | Essas rodam sem pedido |
--permission-mode dontAsk | Só ferramentas pré-aprovadas rodam; todo o resto é negado |
--permission-mode auto | Um classificador confere cada ação; ações bloqueadas não rodam e o Claude segue em frente |
--permission-prompts none | Os pedidos são negados em vez de esperar resposta (v2.1.259 ou posterior) |
--dangerously-skip-permissions | Nenhum pedido; só para contêineres ou VMs isolados |
Um padrão prático para o trabalho noturno é dontAsk com uma lista de permitidos enxuta, mais uma regra que nega git push. Se você está pensando em pular as permissões de vez, leia antes o que o —dangerously-skip-permissions realmente pula.
Coloque limites na execução
Duas flags do modo print impedem que uma execução continue para sempre:
--max-turns 40para depois desse número de turnos do agente e sai com erro. Por padrão, não há limite.--max-budget-usd 5.00para quando o gasto estimado de API chega a esse valor. É uma estimativa do lado do cliente e o gasto pode passar dela, então deixe uma margem. Importa se você paga por chamada de API, não em uma assinatura.
Um comando noturno completo pode ser assim:
git worktree add ../night-validate-forms -b night/validate-forms
cd ../night-validate-forms
claude -p "$(cat tasks/validate-forms.md)" \
--permission-mode dontAsk \
--allowedTools "Read" "Edit" "Bash(pnpm test *)" "Bash(git add *)" "Bash(git commit *)" \
--max-turns 60 \
--output-format json > ../logs/validate-forms.json
A execução acontece no próprio git worktree, então nunca toca a sua cópia de trabalho. Em sessões interativas, claude -w <name> cria o worktree para você.
Planeje em torno dos limites de uso
Em uma assinatura, o Claude Code tem um limite móvel de 5 horas e um limite semanal. Uma noite longa pode bater em qualquer um dos dois, e a execução para até a janela reiniciar. Os detalhes estão em limites de uso do Claude Code.
Alguns hábitos ajudam:
- Comece o trabalho pesado no início da noite, para que um reinício caia dentro da madrugada.
- Use um modelo mais barato para tarefas simples, como testes, documentação e renomeações.
- Mantenha o contexto pequeno. Tarefas curtas e um CLAUDE.md enxuto gastam menos tokens. Veja uso de tokens do Claude Code.
- Não empilhe dez agentes em uma conta esperando que todos terminem.
Use os testes como proteção
Sem testes, “pronto” só quer dizer que o agente parou. Com testes, você tem algo para conferir.
- Faça dos testes parte da definição de pronto. “Pronto quando
pnpm testepnpm typecheckpassarem.” - Proíba editar testes para fazê-los passar, a não ser que essa seja a tarefa. Diga isso na tarefa e no CLAUDE.md.
- Faça commit a cada passo que passa. Commits pequenos são fáceis de revisar e fáceis de reverter.
- Nunca faça push nem deploy. Negue
git pushe qualquer coisa que toque produção. A manhã é para decidir o que vai para o ar.
Agende a execução
Se você inicia as execuções na mão à meia-noite, vai parar de fazer isso depois de uma semana. Duas formas de agendar:
- cron ou launchd. Uma linha de crontab como
0 23 * * 1-5 /path/to/night.shinicia um script nas noites de dias úteis. O script roda umclaude -ppor arquivo de tarefa e grava os logs. - Um orquestrador que mantém uma fila, roda tarefas em paralelo, tenta de novo e escreve um relatório. É disso que o resto deste post trata.
De qualquer jeito, a máquina precisa estar ligada e não pode dormir. No Mac, o caffeinate ou uma configuração para manter acordado basta.
Revise de manhã
Reserve de 20 a 30 minutos para a revisão:
- Leia primeiro o resumo: o que terminou, o que travou, o que ainda está rodando.
- Para cada branch pronta, leia o diff, não só a mensagem do agente. Confira se os testes rodaram.
- Procure mudanças arriscadas: migrations, autenticação, dependências, configuração de CI,
.env. - Faça merge do que está bom, devolva o que não está com uma observação e recoloque na fila o que travou com uma tarefa mais clara.
Como o turno da noite do AgentVera cuida disso
O AgentVera reúne esses passos em um só lugar. O turno da noite está nos planos Pro e Team.
Uma fila por projeto
Abra a página Details de um projeto e vá até a aba Night shift, ou use o botão Night shift na tela inicial. Cada projeto e cada grupo tem seu próprio turno. Você digita uma tarefa em Add a task for tonight e aperta Add to queue. O texto de exemplo do campo resume a regra: “Write the acceptance criteria; the agent can’t ask questions at night.” (escreva os critérios de aceitação; o agente não pode fazer perguntas à noite).
Para cada tarefa, você escolhe quem faz:
- Um agente aberto. Ele trabalha na própria pasta e conversa, e não é fechado depois. Tarefas dadas ao mesmo agente rodam em ordem.
- Abrir um agente novo. Um agente Claude Code ou Codex no próprio worktree, em uma branch
night/<date>-<slug>. Ele fecha quando a tarefa termina.
As opções incluem Run each task in its own worktree and branch (recommended), Open a GitHub PR for finished tasks e As a draft PR.
A janela e as regras
A janela padrão é das 23:00 às 07:00. Com Start automatically every night, o turno começa sozinho. At most at once define quantas tarefas rodam em paralelo: 2 por padrão, até 6. Você também pode apertar Start now, ou End the shift antes da hora. Encerrar significa que nada novo começa, os agentes em execução terminam e o relatório é escrito.
Os agentes do turno da noite seguem regras fixas:
- Eles são avisados de que você está dormindo, então não fazem perguntas.
- Fazem commit, mas não push.
- Rodam os testes.
- Terminam com uma marcação de pronto ou travado. Sem ela, o agente recebe um empurrão até duas vezes e depois a tarefa é marcada como travada.
- Pedidos que precisam de aprovação não são aprovados durante a noite. Eles aparecem no relatório da manhã.
Cada tarefa mostra um status: Queued, Running, Done, Stuck, Error ou Cancelled. Uma tarefa travada pode voltar para a fila com Requeue.
Para reduzir as aprovações que esperam até de manhã, defina o nível de Permissions do agente como Auto. No Pro e no Team, você também pode deixar a aprovação automática responder pedidos seguros, como leituras, testes e lint.
Mantenha a máquina acordada
O turno da noite não roda com o computador desligado. O app precisa estar aberto e o computador acordado. Ligue Keep the computer awake em Settings → Notifications. Funciona como o caffeinate: o Mac não dorme enquanto o AgentVera estiver aberto, embora a tela ainda possa apagar.
Tarefas agendadas para trabalho recorrente
Para trabalhos que se repetem, como uma checagem noturna de dependências ou uma limpeza semanal, use as tarefas agendadas. Elas ficam na página Details do projeto, em Scheduled, e estão em todos os planos.
- Escolha um preset ou escreva uma expressão cron. Uma prévia mostra as próximas execuções.
- Se o agente estiver ocupado na hora, escolha esperar, enviar mesmo assim ou pular.
- O agente pode ser iniciado se estiver parado, e Run now dispara uma tarefa na hora.
- Execuções com falha podem ser avisadas no Telegram.
Como o turno da noite, elas só rodam com o app aberto. Execuções perdidas enquanto o app estava fechado não são compensadas depois.
Quando uma conta bate no limite
Com a troca de conta (Pro e Team), você monta uma cadeia de pelo menos duas contas Claude ou Codex. Quando uma tem 3% ou menos restando do limite de 5 horas ou do semanal, os agentes passam para a próxima conta, e a conversa pode ir junto. Logins expirados são pulados. Se você montou uma cadeia, um agente que bate no limite durante a noite continua na próxima conta em vez de parar. Confira os termos do seu provedor antes de usar várias contas.
Fique sabendo dos problemas, não de tudo
O Telegram pode enviar erros, pedidos de aprovação, avisos de limite, tarefas agendadas que falharam e o relatório da manhã do turno da noite. O /night mostra a fila, adiciona uma tarefa ou inicia o turno pelo celular. Veja notificações e aprovações para a lista completa.
O relatório da manhã e a caixa de revisão
Quando o turno termina, você recebe uma notificação no desktop e um relatório em Markdown salvo no disco. Relatórios anteriores ficam listados em Morning reports. A versão do Telegram traz só as contagens: prontas, PRs abertos, travadas e ainda rodando.
O trabalho pronto também cai na caixa de revisão, uma aba no painel direito que cobre todos os agentes e projetos. Cada cartão mostra:
- os arquivos alterados,
- notas de risco para migrations, autenticação, dependências, CI e
.env, - notas de tamanho, como 800 ou mais linhas alteradas, 300 ou mais apagadas, ou ausência de testes,
- o resultado do Verify e a última resposta do agente.
Em cada cartão você pode usar Approve, Send to queue para colocar a branch na merge queue, ou Send back com uma observação para o agente.
Checklist da noite
- Cada tarefa é pequena, independente e tem critérios de aceitação escritos.
- O CLAUDE.md lista os comandos de teste e os arquivos que não podem ser tocados.
- As permissões estão resolvidas: lista de permitidos,
dontAskou auto, egit pushnegado. - Cada tarefa roda na própria branch ou worktree.
- Limites de turnos ou de orçamento estão definidos para execuções por script.
- O trabalho pesado cabe nos seus limites de uso, ou uma segunda conta está pronta.
- O computador fica ligado e acordado.
- Você fica sabendo dos erros sem ser acordado a cada turno.
- O tempo de revisão está reservado na manhã.
Conclusão
Rodar o Claude Code durante a noite funciona quando a noite é planejada. Isso significa tarefas pequenas com condições claras de pronto, permissões que não esperam por você, testes que conferem o trabalho, branches que mantêm a main segura e uma revisão matinal que decide o que vai para o ar. Dá para fazer tudo isso com claude -p, cron e algumas flags. O turno da noite do AgentVera reúne a fila, as regras, os limites e o relatório da manhã em um só lugar, para você passar a manhã revisando em vez de configurando.
Leia mais:
- Turno da noite
- Tarefas agendadas
- Caixa de revisão
- Agentes de código em paralelo
- Merge queue para agentes de IA
Para experimentar o AgentVera, comece pela página inicial.