> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ler e solicitar revisões em um pull request

> Leia as descobertas do Code Review no seu pull request do GitHub, responda a elas ou descarte-as e solicite uma revisão com `@claude review`.

O Code Review é um serviço gerenciado que um Owner da sua organização Claude ativa para um conjunto de repositórios do GitHub. Depois de ativado, o Claude revisa os pull requests nesses repositórios e publica suas descobertas como comentários inline, um resumo no corpo da revisão e um check run chamado **Claude Code Review**. Uma revisão nunca aprova nem bloqueia o seu pull request, e o check run nunca é concluído como falha.

Um Owner controla [quando as revisões são executadas](/docs/pt/code-review-setup#set-when-reviews-run) e [quão minuciosas elas são](/docs/pt/code-review-setup#set-the-default-review-level) para cada repositório.

<Note>
  Se o seu plano não inclui o Code Review, você ainda pode pedir ao Claude que revise o seu branch a partir de uma sessão do Claude Code: consulte [Revisar localmente com `/code-review`](/docs/pt/code-review-local).
</Note>

<h2 id="severity-levels">
  Níveis de severidade
</h2>

O Claude publica cada descoberta como um comentário inline nas linhas em questão e a marca com um de três níveis de severidade:

| Marcador | Severidade | Significado |
| :- | :- | :- |
| 🔴 | Important | Um bug que deve ser corrigido antes do merge |
| 🟡 | Nit | Um problema menor, que vale a pena corrigir, mas não é bloqueante |
| 🟣 | Pre-existing | Um bug que existe na base de código, mas não foi introduzido por este PR |

Quando a revisão registrou seu raciocínio, a descoberta tem uma seção recolhida **Why this was flagged**. Expanda-a para ler por que o Claude sinalizou o problema e como ele verificou o problema.

Para alterar o que o Claude sinaliza no seu repositório ou como ele classifica a severidade, consulte [Personalizar o Code Review](/docs/pt/code-review-customize).

<h2 id="respond-to-findings">
  Responder às descobertas
</h2>

Você pode mesclar sem responder a uma descoberta, a menos que as regras do seu próprio repositório exijam isso. Se a proteção de branch dele [exigir a resolução de conversas](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-conversation-resolution-before-merging), resolva a thread de cada descoberta antes de mesclar.

Para eliminar uma descoberta, resolva a thread dela ou envie uma correção.

* **Descartá-la sem alterar o código**: resolva a thread você mesmo no GitHub. Apenas responder não descarta uma descoberta.
* **Corrigir o problema**: altere o código e faça push. A próxima revisão do pull request resolve a thread anterior quando considera o problema corrigido, seja essa revisão executada automaticamente no seu push ou solicitada por você.
* **Explicar ou discordar**: responda ao comentário. O Claude não responde imediatamente, e uma resposta não inicia uma revisão. A próxima revisão do pull request lê as respostas às descobertas anteriores e pode resolver a thread ou publicar uma resposta de acompanhamento. Se o mesmo tipo de descoberta continuar voltando, peça a um mantenedor que adicione uma regra ao [`REVIEW.md`](/docs/pt/code-review-customize#choose-what-to-write-in-review-md).

Para obter essa próxima revisão sem fazer push, comente `@claude review` como um [comentário de nível superior no pull request](#comment-commands).

<h2 id="check-run-output">
  Saída do check run
</h2>

O link **Details** no check run **Claude Code Review** abre as descobertas em uma tabela ordenada por severidade, incluindo qualquer descoberta cujo comentário inline o GitHub não aceitou:

| Severidade | Arquivo:Linha | Problema |
| - | - | - |
| 🔴 Important | `src/auth/session.ts:142` | A renovação do token entra em condição de corrida com o logout, deixando sessões obsoletas ativas |
| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` retorna 0 silenciosamente em entradas malformadas |

Uma descoberta que tem uma linha, mas não foi publicada como comentário inline, aparece como uma anotação na aba **Files changed**, nas linhas em questão. Descobertas Important aparecem em vermelho, nits em amarelo e bugs pré-existentes em cinza.

O check run é concluído como neutro, ou como ignorado quando uma revisão automática não foi executada porque um push não alterou nenhum arquivo. Ele nunca é concluído como falha, portanto uma revisão finalizada não faz uma verificação obrigatória falhar. Se você não vir descobertas ou se uma revisão não foi executada, consulte [Solucionar problemas do Code Review](/docs/pt/code-review-troubleshooting).

<h3 id="read-the-result-from-a-script">
  Ler o resultado a partir de um script
</h3>

Para condicionar um merge ou publicar um resumo a partir do seu próprio CI, analise a última linha do texto de Details com `gh` e jq. Essa linha é um comentário legível por máquina.

<Steps>
  <Step title="Encontrar o ID do check run">
    No seu shell, liste os check runs do commit e pegue o `id` da execução `Claude Code Review`. Substitua `OWNER` e `REPO` pelo proprietário e nome do seu repositório, e `<commit-sha>` pelo commit head do pull request:

    ```bash theme={null}
    gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'
    ```
  </Step>

  <Step title="Ler as contagens de severidade">
    Leia as contagens desse check run, substituindo `CHECK_RUN_ID` pelo ID:

    ```bash theme={null}
    gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \
      --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'
    ```

    Isso imprime um objeto JSON com uma contagem por severidade e suas chaves em ordem alfabética, por exemplo `{"nit": 1, "normal": 2, "pre_existing": 0}`. As contagens incluem descobertas de revisões anteriores do pull request cujas threads ainda estão abertas.
  </Step>

  <Step title="Agir com base no resultado">
    Faça o seu script tratar estes casos:

    * **`normal` é maior que zero**: faça o job falhar se quiser condicionar o merge. A chave `normal` contém a contagem de descobertas Important, então o Claude encontrou pelo menos um bug que vale a pena corrigir antes do merge.
    * **A linha está ausente**: trate isso como ausência de veredito, e não como zero descobertas. Um check run de uma revisão que falhou, excedeu o tempo limite, foi cancelada ou foi substituída por uma mais recente não tem essa linha, e algumas revisões concluídas também não a têm.
  </Step>
</Steps>

<h2 id="request-a-review">
  Solicitar uma revisão
</h2>

Se o seu pull request for um rascunho ou vier de um fork, as revisões automáticas o ignoram, então [solicite a revisão com um comando de comentário](#review-drafts-and-pull-requests-from-forks). Para obter uma revisão no seu pull request, faça uma destas ações:

* **Abri-lo ou marcá-lo como pronto**: em um repositório configurado como **Once after PR creation** ou **After every push**, uma revisão é iniciada quando você abre ou reabre o pull request, ou marca um rascunho como pronto para revisão.
* **Comentar um comando**: publique [`@claude review`](#comment-commands) no pull request.
* **Fazer push de um commit**: um push inicia uma revisão em um repositório configurado como **After every push**, ou em um pull request que você assinou com `@claude review always`.
* **Clicar em Re-run**: depois que uma revisão falha ou excede o tempo limite em um pull request que não vem de um fork, [execute-a novamente](/docs/pt/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) a partir do check run.
* **Aguardar a nova tentativa automática**: uma revisão cuja sessão foi interrompida é tentada novamente uma vez de forma automática. O [resumo do check run](/docs/pt/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) informa quando isso está acontecendo.

<h3 id="comment-commands">
  Comandos de comentário
</h3>

Publique um destes comandos como comentário no pull request:

| Comando | O que faz | Quando usar |
| :- | :- | :- |
| `@claude review` | Inicia uma única revisão sem assinar o PR para pushes futuros | Você quer uma revisão agora, como em um pull request em um repositório configurado como Manual, ou outra revisão imediatamente nos outros modos |
| `@claude review always` | Inicia uma revisão e assina o PR para revisões acionadas por push daqui em diante | Você quer que cada push subsequente inicie uma nova revisão, como em um PR de alta prioridade em um repositório configurado como Manual |
| `@claude review once` | Igual a `@claude review`: inicia uma única revisão sem assinar | Os mesmos casos de `@claude review` |

Para que qualquer um desses comandos inicie uma revisão, todas estas condições precisam ser atendidas:

* Publique-o como um novo comentário de nível superior no pull request, e não como um comentário inline em uma linha do diff nem como o corpo de uma revisão. Editar um comentário anterior não conta.
* Coloque o comando no início do comentário, com `always` na mesma linha que o restante do comando. Maiúsculas e minúsculas não importam.
* Você precisa de permissão de escrita, manutenção ou administrador no repositório. O Claude verifica isso com o GitHub para cada pessoa que comenta, e comentários de bots não iniciam revisões.
* O pull request precisa estar aberto.

Quando o comando é aceito, um check run **Claude Code Review** aparece no pull request com o título **Code review queued...**. O título muda para **Code review in progress...** quando a revisão começa. O Claude também pode reagir ao seu comentário com 👀, mas essa reação pode aparecer quando nenhuma revisão é iniciada, então procure o check run em vez disso.

Se uma revisão já estiver em execução no commit mais recente do pull request, uma nova solicitação não inicia uma segunda.

<Note>
  Antes de uma atualização de julho de 2026, `@claude review` assinava o PR para revisões acionadas por push. Se você dependia desse comportamento, comente `@claude review always` em vez disso.
</Note>

<h3 id="what-a-later-review-covers">
  O que uma revisão posterior abrange
</h3>

Uma revisão posterior que começa por conta própria, como após um push, concentra-se no que mudou desde a última revisão e publica menos nits e descobertas pré-existentes. O resumo dela contabiliza o que foi deixado de fora, em uma linha que termina com "found and not posted" ou "outside the scope of this re-review and not posted."

Para obter uma revisão que não deixe nenhuma dessas de fora, comente [`@claude review`](#comment-commands). Ela abrange todo o pull request novamente.

<h3 id="review-drafts-and-pull-requests-from-forks">
  Revisar rascunhos e pull requests de forks
</h3>

As revisões automáticas ignoram ambos, então solicite a revisão com um comando de comentário:

* **Pull requests em rascunho**: um comando de comentário é executado em um rascunho, então você pode solicitar uma revisão antes de marcar o pull request como pronto. Pushes em um rascunho não iniciam revisões, mesmo após `@claude review always`. A assinatura entra em vigor quando você marca o pull request como pronto.
* **Pull requests de forks**: o Claude não revisa automaticamente um pull request de um fork, independentemente da configuração **Review runs** do repositório. Para iniciar uma revisão, comente `@claude review` no pull request. As [condições para comandos de comentário](#comment-commands) continuam se aplicando, e o acesso de escrita necessário é ao repositório base, não ao fork.

Em um pull request de um fork, `@claude review always` também funciona, mas não assina o pull request para revisões em pushes posteriores. Clicar em **Re-run** no check run não inicia uma revisão nesse caso.

<h3 id="use-code-review-alongside-the-claude-code-github-action">
  Usar o Code Review junto com o Claude Code GitHub Action
</h3>

Se o repositório também executa o [Claude Code GitHub Action](/docs/pt/github-actions) no modo interativo com sua frase de acionamento padrão `@claude`, um comentário `@claude review` também inicia o Action. Para manter os dois separados, defina a entrada `trigger_phrase` do Action com uma frase diferente.

<h2 id="related-resources">
  Recursos relacionados
</h2>

* [Solucionar problemas do Code Review](/docs/pt/code-review-troubleshooting): uma revisão que não foi iniciada, falhou ou foi ignorada por causa do orçamento
* [Code Review](/docs/pt/code-review): o que é o serviço e como uma revisão é executada
* [Configurar o Code Review](/docs/pt/code-review-setup): para Owners, ativar o Code Review e escolher quando as revisões são executadas e em qual nível
* [Personalizar o Code Review](/docs/pt/code-review-customize): alterar o que o Claude sinaliza com `REVIEW.md` e `CLAUDE.md`
* [Custos e uso do Code Review](/docs/pt/code-review-costs): como as revisões são cobradas e onde o limite de gastos é definido
* [Revisar localmente com `/code-review`](/docs/pt/code-review-local): executar uma revisão do seu branch a partir de uma sessão do Claude Code
