La fiebre de los agentes de programación ha traído una nueva rutina a muchos equipos: antes de tocar una línea de código, el asistente genera un plan, el usuario lo aprueba y, entonces sí, empieza la ejecución. Esa fase intermedia —el “plan mode”— se ha convertido en un pequeño salvavidas: reduce improvisación, evita cambios innecesarios y obliga a pensar en pruebas, riesgos y pasos.
Pero también tiene un problema práctico: cuando un único modelo redacta el plan, sus puntos ciegos se repiten. En un entorno donde la velocidad manda, es fácil que un plan “suene bien” y, aun así, se olvide de un paso crítico, una comprobación de seguridad o una limitación de la arquitectura.
Con esa idea nace claude-plan-reviewer, una herramienta publicada en GitHub que automatiza algo que hasta ahora se hacía a mano: enviar el plan de Claude Code a otro modelo (Codex CLI o Gemini CLI) para una revisión externa antes de permitir que el agente salga del modo planificación y empiece a ejecutar.
Qué hace exactamente: interceptar ExitPlanMode y convertir la revisión en un “semáforo”
La herramienta se apoya en una pieza específica de Claude Code: los hooks, disparadores que se pueden configurar para actuar antes o después de ciertas acciones. En este caso, claude-plan-reviewer utiliza el hook PreToolUse para interceptar el evento ExitPlanMode (cuando Claude intenta salir del modo planificación).
El flujo, tal y como lo describe el propio repositorio, es bastante mecánico:
- Claude escribe un plan y llama a ExitPlanMode.
- Salta el hook PreToolUse y la herramienta se ejecuta.
- Localiza el último fichero de plan en
~/.claude/plans/. - Envía ese plan a una CLI externa (Codex o Gemini) para que lo revise.
- Si el revisor devuelve “LGTM” (aprobado), el hook responde con
permissionDecision: "allow"y Claude sale del plan mode. - Si el revisor encuentra problemas, responde con
permissionDecision: "deny"y adjunta feedback; Claude recibe la negativa, revisa su plan y vuelve a intentarlo. - Tras un número máximo de revisiones (por defecto 2), el sistema deja pasar el plan para no bloquear indefinidamente la sesión.
Hay un detalle importante que no es menor para quien lo use en serio: por una limitación de Claude Code, el resultado “LGTM” no aparece en el chat; cuando el plan se aprueba, el resultado se envía a stderr y puede no verse en la interfaz, mientras que cuando se deniega sí se muestra porque incluye feedback.
Por qué esto interesa a desarrolladores y equipos de plataforma
La propuesta no es “un modelo mejor que otro”. La lógica es más parecida a una revisión cruzada: modelos distintos tienden a fallar de forma distinta. En entornos donde se está adoptando el agentic coding, eso puede traducirse en mejoras muy tangibles:
- detectar pasos omitidos (migraciones, seeds, flags de despliegue, cambios de permisos),
- señalar riesgos de seguridad o prácticas peligrosas,
- pedir pruebas que el primer plan no contempló,
- o simplemente obligar a que el plan esté lo bastante claro como para pasar un filtro externo.
En otras palabras: convierte el plan mode en una mini-puerta de calidad, algo muy familiar para equipos que ya trabajan con CI, linters y checks obligatorios.
Instalación y requisitos: Node 18 y una CLI “revisora”
claude-plan-reviewer se instala como herramienta global con npm y se configura con un comando de “setup” que añade el hook a la configuración de Claude Code:
npm install -g claude-plan-reviewerclaude-plan-reviewer setup
A partir de ahí, el repositorio avisa de un comportamiento relevante: los hooks se cargan al iniciar la sesión, así que los cambios no afectan a sesiones ya abiertas; hay que iniciar una nueva para que entren en vigor.
Requisitos declarados:
- Node.js 18 o superior.
- Tener instalada una CLI revisora:
- Codex CLI (paquete
@openai/codex) - o Gemini CLI (enlace desde el README).
- Codex CLI (paquete
Configuración: elegir revisor y limitar el “bucle” de revisiones
La configuración vive en ~/.claude-plan-reviewer.json y permite escoger revisor, modelo y número máximo de rondas. Por defecto, viene con:
adapter: "codex"maxReviews: 2codex.sandbox: "read-only"
Entre las opciones destacadas:
| Parámetro | Qué controla | Valor por defecto |
|---|---|---|
adapter | Revisor (codex o gemini) | codex |
maxReviews | Máximo de revisiones por sesión | 2 |
prompt | Instrucciones extra para la revisión | vacío |
codex.model | Modelo para Codex CLI | por defecto |
codex.sandbox | Sandbox de Codex (p. ej. solo lectura) | read-only |
gemini.model | Modelo para Gemini CLI | por defecto |
Todo esto se puede ajustar desde la propia CLI con comandos tipo config set.
La parte incómoda: privacidad y confianza
El repositorio incluye un aviso muy claro: la herramienta envía automáticamente tus planes a servicios externos (Codex o Gemini, según el adaptador), y eso puede implicar que contenido sensible acabe en un tercero si el plan lo contiene. También recalca que no sustituye la revisión humana: el feedback puede ser incorrecto o engañoso, y una mala configuración puede romper el flujo de trabajo. Además, se distribuye bajo licencia MIT “AS IS”, sin garantías.
Para equipos con requisitos de cumplimiento, esto sugiere una regla simple: si el plan puede contener información interna (arquitectura, endpoints, nombres de clientes, rutas privadas), conviene tratar el “reviewer externo” como un proveedor con implicaciones legales y de seguridad.
Lo que revela esta herramienta: la nueva educación del desarrollador
Más allá de claude-plan-reviewer, el mensaje de fondo es que el desarrollo moderno está incorporando prácticas nuevas: validación adversarial, revisión multi-modelo y “gates” antes de ejecutar. No como capricho, sino como respuesta a una realidad: los agentes aceleran, pero también amplifican errores si no hay frenos.
Y en ese ecosistema, un hook de unas pocas líneas puede convertirse en el equivalente a un revisor senior que, sin escribir código, te obliga a plantearlo mejor.
Preguntas frecuentes
¿Para qué sirve claude-plan-reviewer en Claude Code?
Para revisar automáticamente los planes del modo planificación con Codex CLI o Gemini CLI antes de permitir que Claude salga del plan mode y empiece a ejecutar.
¿Qué es el hook PreToolUse y por qué es clave aquí?
Es un disparador de Claude Code que puede ejecutarse antes de una acción (tool call) y permitir o denegarla devolviendo una decisión estructurada.
¿Qué riesgos tiene enviar planes a un revisor externo?
Puede filtrarse contenido no deseado a terceros, y el feedback puede ser incorrecto; el propio proyecto avisa de que no sustituye la revisión humana.
¿Cómo se evita que el agente quede bloqueado revisando eternamente?
Configurando maxReviews (por defecto 2): tras ese número de rondas, el sistema deja pasar el plan aunque no haya “LGTM”.
vía: Claude plan reviewer





