> ## 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.

# Leer y solicitar revisiones en un pull request

> Lee los hallazgos de Code Review en tu pull request de GitHub, respóndelos o descártalos, y solicita una revisión con `@claude review`.

Code Review es un servicio gestionado que un Owner de tu organización de Claude activa para un conjunto de repositorios de GitHub. Una vez activado, Claude revisa los pull requests de esos repositorios y publica sus hallazgos como comentarios en línea, un resumen en el cuerpo de la revisión y un check run llamado **Claude Code Review**. Una revisión nunca aprueba ni bloquea tu pull request, y el check run nunca concluye como fallido.

Un Owner controla [cuándo se ejecutan las revisiones](/docs/es/code-review-setup#set-when-reviews-run) y [qué tan exhaustivas son](/docs/es/code-review-setup#set-the-default-review-level) para cada repositorio.

<Note>
  Si tu plan no incluye Code Review, aún puedes hacer que Claude revise tu rama desde una sesión de Claude Code: consulta [Revisar localmente con `/code-review`](/docs/es/code-review-local).
</Note>

<h2 id="severity-levels">
  Niveles de gravedad
</h2>

Claude publica cada hallazgo como un comentario en línea sobre las líneas afectadas y lo marca con uno de tres niveles de gravedad:

| Marcador | Gravedad | Significado |
| :- | :- | :- |
| 🔴 | Important | Un bug que debería corregirse antes de fusionar |
| 🟡 | Nit | Un problema menor, que vale la pena corregir pero no es bloqueante |
| 🟣 | Pre-existing | Un bug que existe en la base de código pero que no fue introducido por este PR |

Cuando la revisión registró su razonamiento, el hallazgo tiene una sección contraída **Why this was flagged**. Expándela para leer por qué Claude señaló el problema y cómo lo verificó.

Para cambiar lo que Claude señala en tu repositorio o cómo clasifica la gravedad, consulta [Personalizar Code Review](/docs/es/code-review-customize).

<h2 id="respond-to-findings">
  Responder a los hallazgos
</h2>

Puedes fusionar sin responder a un hallazgo, a menos que las propias reglas de tu repositorio lo exijan. Si su protección de rama [exige la resolución de conversaciones](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-conversation-resolution-before-merging), resuelve el hilo de cada hallazgo antes de fusionar.

Para eliminar un hallazgo, resuelve su hilo o sube una corrección.

* **Descartarlo sin cambiar el código**: resuelve el hilo tú mismo en GitHub. Responder por sí solo no descarta un hallazgo.
* **Corregir el problema**: cambia el código y haz push. La siguiente revisión del pull request resuelve su hilo anterior cuando considera que el problema está corregido, ya sea que esa revisión se ejecute automáticamente con tu push o que la solicites tú.
* **Explicar o estar en desacuerdo**: responde al comentario. Claude no responde de inmediato, y una respuesta no inicia una revisión. La siguiente revisión del pull request lee las respuestas a sus hallazgos anteriores, y puede resolver el hilo o publicar una respuesta de seguimiento. Si el mismo tipo de hallazgo sigue apareciendo, pídele a un maintainer que agregue una regla a [`REVIEW.md`](/docs/es/code-review-customize#choose-what-to-write-in-review-md).

Para obtener esa siguiente revisión sin hacer push, comenta `@claude review` como un [comentario de nivel superior en el pull request](#comment-commands).

<h2 id="check-run-output">
  Salida del check run
</h2>

El enlace **Details** del check run **Claude Code Review** abre los hallazgos en una tabla ordenada por gravedad, incluido cualquier hallazgo cuyo comentario en línea GitHub no aceptó:

| Gravedad | Archivo:Línea | Problema |
| - | - | - |
| 🔴 Important | `src/auth/session.ts:142` | La actualización del token compite con el cierre de sesión, dejando activas sesiones obsoletas |
| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` devuelve 0 silenciosamente ante una entrada mal formada |

Un hallazgo que tiene una línea pero que no se publicó como comentario en línea aparece como una anotación en la pestaña **Files changed**, sobre las líneas afectadas. Los hallazgos Important se muestran en rojo, los nits en amarillo y los bugs preexistentes en gris.

El check run concluye como neutral, o como omitido cuando una revisión automática no se ejecutó porque un push no cambió ningún archivo. Nunca concluye como fallido, así que una revisión terminada no hace fallar un check obligatorio. Si no ves hallazgos, o una revisión no se ejecutó, consulta [Solucionar problemas de Code Review](/docs/es/code-review-troubleshooting).

<h3 id="read-the-result-from-a-script">
  Leer el resultado desde un script
</h3>

Para condicionar una fusión o publicar un resumen desde tu propio CI, analiza la última línea del texto de Details con `gh` y jq. Esa línea es un comentario legible por máquina.

<Steps>
  <Step title="Encuentra el ID del check run">
    Desde tu shell, lista los check runs del commit y toma el `id` del run `Claude Code Review`. Reemplaza `OWNER` y `REPO` con el propietario y el nombre de tu repositorio, y `<commit-sha>` con el commit head del pull request:

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

  <Step title="Lee los conteos de gravedad">
    Lee los conteos de ese check run, reemplazando `CHECK_RUN_ID` con el ID:

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

    Esto imprime un objeto JSON con un conteo por gravedad y sus claves en orden alfabético, por ejemplo `{"nit": 1, "normal": 2, "pre_existing": 0}`. Los conteos incluyen hallazgos de revisiones anteriores del pull request cuyos hilos siguen abiertos.
  </Step>

  <Step title="Actúa según el resultado">
    Haz que tu script maneje estos casos:

    * **`normal` es mayor que cero**: haz fallar el job si quieres condicionar la fusión. La clave `normal` contiene el conteo de hallazgos Important, así que Claude encontró al menos un bug que vale la pena corregir antes de fusionar.
    * **Falta la línea**: trátalo como ausencia de veredicto y no como cero hallazgos. Un check run de una revisión que falló, agotó el tiempo de espera, fue cancelada o fue reemplazada por una más reciente no tiene esa línea, y algunas revisiones completadas tampoco la tienen.
  </Step>
</Steps>

<h2 id="request-a-review">
  Solicitar una revisión
</h2>

Si tu pull request es un borrador o proviene de un fork, las revisiones automáticas lo omiten, así que [solicita la revisión con un comando de comentario](#review-drafts-and-pull-requests-from-forks). Para obtener una revisión en tu pull request, haz una de estas cosas:

* **Ábrelo o márcalo como listo**: en un repositorio configurado como **Once after PR creation** o **After every push**, una revisión se inicia cuando abres o reabres el pull request, o marcas un borrador como listo para revisión.
* **Comenta un comando**: publica [`@claude review`](#comment-commands) en el pull request.
* **Haz push de un commit**: un push inicia una revisión en un repositorio configurado como **After every push**, o en un pull request que suscribiste con `@claude review always`.
* **Haz clic en Re-run**: después de que una revisión falle o agote el tiempo de espera en un pull request que no proviene de un fork, [vuelve a ejecutarla](/docs/es/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) desde el check run.
* **Espera el reintento automático**: una revisión cuya sesión se interrumpió se reintenta una vez automáticamente. El [resumen del check run](/docs/es/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) indica cuándo está ocurriendo esto.

<h3 id="comment-commands">
  Comandos de comentario
</h3>

Publica uno de estos comandos como comentario en el pull request:

| Comando | Qué hace | Cuándo usarlo |
| :- | :- | :- |
| `@claude review` | Inicia una sola revisión sin suscribir el PR a futuros pushes | Quieres una revisión ahora, por ejemplo en un pull request de un repositorio configurado como Manual, u otra revisión de inmediato en los otros modos |
| `@claude review always` | Inicia una revisión y suscribe el PR a revisiones activadas por push de ahí en adelante | Quieres que cada push posterior inicie una revisión nueva, por ejemplo en un PR de alta prioridad en un repositorio configurado como Manual |
| `@claude review once` | Igual que `@claude review`: inicia una sola revisión sin suscribir | Los mismos casos que `@claude review` |

Para que cualquiera de estos comandos inicie una revisión, deben cumplirse todas estas condiciones:

* Publícalo como un nuevo comentario de nivel superior en el pull request, no como un comentario en línea sobre una línea del diff ni como el cuerpo de una revisión. Editar un comentario anterior no cuenta.
* Pon el comando al inicio del comentario, con `always` en la misma línea que el resto del comando. Las mayúsculas y minúsculas no importan.
* Necesitas permiso de write, maintain o admin en el repositorio. Claude lo verifica con GitHub para cada persona que comenta, y los comentarios de bots no inician revisiones.
* El pull request debe estar abierto.

Cuando se acepta el comando, aparece un check run **Claude Code Review** en el pull request con el título **Code review queued...**. El título cambia a **Code review in progress...** cuando la revisión comienza. Claude también puede reaccionar a tu comentario con 👀, pero esa reacción puede aparecer aunque no se inicie ninguna revisión, así que busca el check run en su lugar.

Si ya hay una revisión en ejecución sobre el último commit del pull request, una nueva solicitud no inicia una segunda.

<Note>
  Antes de una actualización de julio de 2026, `@claude review` suscribía el PR a revisiones activadas por push. Si dependías de ese comportamiento, comenta `@claude review always` en su lugar.
</Note>

<h3 id="what-a-later-review-covers">
  Qué cubre una revisión posterior
</h3>

Una revisión posterior que se inicia por sí sola, por ejemplo después de un push, se centra en lo que cambió desde la última revisión y publica menos nits y hallazgos preexistentes. Su resumen cuenta lo que omitió, en una línea que termina en "found and not posted" u "outside the scope of this re-review and not posted."

Para obtener una revisión que no omita nada de esto, comenta [`@claude review`](#comment-commands). Cubre de nuevo todo el pull request.

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

Las revisiones automáticas omiten ambos casos, así que solicita la revisión con un comando de comentario:

* **Pull requests en borrador**: un comando de comentario se ejecuta en un borrador, así que puedes solicitar una revisión antes de marcar el pull request como listo. Los pushes a un borrador no inician revisiones, incluso después de `@claude review always`. La suscripción entra en vigor una vez que marcas el pull request como listo.
* **Pull requests de forks**: Claude no revisa automáticamente un pull request de un fork, independientemente del ajuste **Review runs** del repositorio. Para iniciar una, comenta `@claude review` en el pull request. Las [condiciones para los comandos de comentario](#comment-commands) siguen aplicando, y el acceso de escritura que necesitas es al repositorio base, no al fork.

En un pull request de un fork, `@claude review always` también funciona, pero no suscribe el pull request a revisiones en pushes posteriores. Hacer clic en **Re-run** en el check run no inicia una revisión allí.

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

Si el repositorio también ejecuta la [GitHub Action de Claude Code](/docs/es/github-actions) en modo interactivo con su frase de activación predeterminada `@claude`, un comentario `@claude review` también inicia la Action. Para mantener ambas separadas, establece el input `trigger_phrase` de la Action en una frase diferente.

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

* [Solucionar problemas de Code Review](/docs/es/code-review-troubleshooting): una revisión que no se inició, falló o se omitió por presupuesto
* [Code Review](/docs/es/code-review): qué es el servicio y cómo se ejecuta una revisión
* [Configurar Code Review](/docs/es/code-review-setup): para Owners, activa Code Review y elige cuándo se ejecutan las revisiones y con qué nivel
* [Personalizar Code Review](/docs/es/code-review-customize): cambia lo que Claude señala con `REVIEW.md` y `CLAUDE.md`
* [Costos y uso de Code Review](/docs/es/code-review-costs): cómo se facturan las revisiones y dónde se establece el límite de gasto
* [Revisar localmente con `/code-review`](/docs/es/code-review-local): ejecuta una revisión de tu rama desde una sesión de Claude Code
