El Modo Plan en Claude Code para Tareas Complejas
Modo Plan en Claude Code explicado: cómo funciona, cuatro formas de activarlo, límites de solo lectura, flujo de trabajo y cuándo evitarlo en ediciones simples.
El Modo Plan es un estado de permisos de solo lectura en Claude Code: Claude puede leer archivos, buscar en el código base, ejecutar comandos de shell de solo lectura, realizar búsquedas web y hacer preguntas de aclaración, pero no puede escribir ni editar tu código fuente ni ejecutar comandos que modifiquen el estado hasta que apruebes su plan.
La mayoría de los desarrolladores lo descubren de la manera difícil. Solicitas un cambio, apartas la vista un momento y, al volver, encuentras que el agente ha reescrito silenciosamente media docena de archivos basándose en suposiciones que nunca tuviste oportunidad de cuestionar. El Modo Plan introduce una pausa entre “esto es lo que quiero” y la primera edición que se escribe en disco, que suele ser el momento en que las cosas se complican. Este artículo explica qué es el Modo Plan, las cuatro formas de activarlo, el verdadero límite de solo lectura (aplicado mediante instrucciones de sistema y el sistema de permisos, no mediante un sandbox estricto), un flujo de trabajo para refactorizaciones de múltiples archivos y cuándo un plan es simplemente una carga innecesaria.
Puntos Clave
- El Modo Plan es un modo de permisos de solo lectura: Claude investiga y propone cambios, pero no edita tu código fuente hasta que apruebes el plan.
- Hay cuatro formas de activarlo: presionar
Shift+Tabpara ciclar hasta el modo plan, añadir el prefijo/plana un prompt, iniciar conclaude --permission-mode plan, o establecerpermissions.defaultModeenplandentro de settings.json. - El límite se aplica mediante una instrucción de sistema inyectada más el sistema de permisos, no mediante un sandbox estricto. Por eso el plan en sí se escribe en un archivo markdown editable en lugar de bloquearse como una escritura.
- Aprobar un plan sale del Modo Plan, por lo que cuando la ejecución se desvía de los pasos acordados, presiona
Shift+Tabpara volver a entrar y replanificar el trabajo restante. - Usa el Modo Plan cuando un cambio afecte aproximadamente tres o más archivos, implique una refactorización, un esquema o trabajo sensible a la seguridad, o no pueda describirse en una sola oración; omítelo para correcciones de una línea y ediciones mecánicas.
¿Qué es el Modo Plan en Claude Code?
El Modo Plan es uno de los modos de permisos de Claude Code, junto con acceptEdits, auto, dontAsk y bypassPermissions, y no una superficie de producto independiente. Dentro de él, Claude explora el código base y elabora una propuesta, y las ediciones a tu código fuente permanecen bloqueadas hasta que apruebes dicha propuesta. Los comandos de shell se gestionan en un canal separado: cuando el modo auto está disponible durante la planificación, un clasificador evalúa cada comando en lugar de interrumpirte; en caso contrario, cualquier cosa fuera del conjunto de solo lectura integrado en Claude Code se detiene para tu aprobación.
El valor está en la revisión antes de la ejecución. La guía de Claude Code para planificar antes de editar está orientada exactamente a este caso: cambios que quieres inspeccionar antes de que nada se escriba en disco. Esto frena el problema de los errores compuestos: en un cambio con muchos puntos de decisión, cada suposición incorrecta al principio corrompe todo lo que viene después, y un plan te permite corregir esas suposiciones sobre el papel en lugar de hacerlo en un diff.
¿Cómo se activa el Modo Plan?
Discover how at OpenReplay.com.
Hay cuatro formas de entrar al Modo Plan, y difieren en su alcance. Elige la que se ajuste al tiempo que quieres mantener el modo activo.
| Método | Comando / tecla | Alcance | Úsalo cuando |
|---|---|---|---|
| Toggle | Shift+Tab (cicla default → acceptEdits → plan) | Sesión actual | Estás a mitad de sesión y quieres cambiar |
| Prefijo | /plan | Solo el siguiente prompt | Planificación puntual sin cambiar el modo |
| Flag | claude --permission-mode plan | Toda la sesión desde el inicio | Sabes de antemano que la tarea requiere planificación |
| Configuración | "defaultMode": "plan" bajo permissions en settings.json | Proyecto o configuración de usuario | Quieres que plan-first sea la regla predeterminada |
La documentación oficial confirma el orden del ciclo: Shift+Tab avanza de default → acceptEdits → plan, por lo que dos pulsaciones desde el modo inicial te llevan al Modo Plan, con el modo actual mostrado en la barra de estado. Nota la etiqueta: el modo default ahora aparece como Manual en el CLI y las extensiones de IDE, aunque su valor de configuración sigue siendo default. Para una configuración predeterminada de proyecto, la clave está anidada. Defínela en .claude/settings.json bajo "permissions": { "defaultMode": "plan" }, no en el nivel superior.
Qué puede y qué no puede hacer el Modo Plan
En el Modo Plan, Claude conserva sus herramientas de lectura e investigación (Read, Grep, Glob, Task/subagents, WebSearch y WebFetch), mientras que sus herramientas Write, Edit y Bash para cambios quedan retenidas hasta que apruebes. Las herramientas MCP que modifican el estado se retienen de la misma manera. El inventario exacto de herramientas es una propiedad del entorno de ejecución y varía entre versiones, así que trátalo como el conjunto general y no como un contrato exhaustivo.
El límite se aplica mediante una instrucción de sistema inyectada más el sistema de permisos de Claude Code, no mediante un sandbox estricto, razón por la cual el plan en sí se escribe en un archivo markdown editable en lugar de bloquearse como una “escritura”. El análisis de la implementación del modo plan realizado por Armin Ronacher encontró que las herramientas de escritura siguen presentes y que al entrar en el modo plan se inyecta un prompt que indica al modelo que está en modo de solo lectura; la herramienta de edición es la que Claude usa para crear su propio archivo de plan. La documentación corrobora que esto opera a nivel de capa de permisos, no mediante eliminación de herramientas: en una sesión estándar, las escrituras a rutas protegidas siguen pasando por el sistema de prompts en lugar de descartarse silenciosamente. En la práctica, esto significa que el plan es un contrato en texto plano que puedes editar. Presiona Ctrl+G para abrir el plan propuesto en tu editor de texto, anota o elimina pasos, y Claude incorporará tus cambios antes de escribir cualquier código.
Un Flujo de Trabajo con Modo Plan para Tareas Complejas
Para un cambio de múltiples archivos, el ciclo es describir → aclarar → planificar → editar → ejecutar:
- Describe la tarea en Modo Plan y señala a Claude los archivos relevantes. Indica el objetivo y las restricciones en el primer prompt.
- Deja que Claude lea y pregunte. Rastrea las importaciones y luego plantea las decisiones genuinamente ambiguas (profundidad de arquitectura, qué hacer con el código muerto, qué framework de pruebas usar) antes de comprometerse con un enfoque. Una señal de alerta es un plan que solo nombra archivos, nunca funciones específicas.
- Revisa el plan numerado. Verifica que los pasos estén ordenados por dependencia y que las pruebas estén intercaladas con la implementación, no añadidas al final.
- Edita y aprueba. Usa
Ctrl+Gpara anotar o reordenar, luego aprueba cuando el contrato esté correctamente definido. - Ejecuta y vigila las desviaciones. Claude trabaja paso a paso siguiendo el plan aprobado.
Aprobar un plan sale del Modo Plan, por lo que si la ejecución se desvía (Claude edita un archivo que el paso actual no mencionaba, o toma silenciosamente una decisión que el plan dejó abierta), presiona Shift+Tab para volver al Modo Plan y pide a Claude que replanifique el trabajo restante según el estado actual de los archivos. Replanificar a mitad de una tarea es algo normal en refactorizaciones reales, no un fallo del proceso. Para trabajo demasiado extenso para una sola sesión, divídelo en planes secuenciales en lugar de un único documento extenso.
Separar la Planificación y la Ejecución entre Modelos
Para trabajo complejo, usa el modelo de razonamiento más potente para elaborar el plan y un modelo más rápido y económico para ejecutarlo: la calidad de la planificación determina los resultados, mientras que la ejecución es en gran medida mecánica una vez que el plan es correcto. Claude Code implementa esto como un alias de modelo en lugar de un interruptor. Seleccionar opusplan ejecuta el modelo opus mientras estás en modo plan y cambia a sonnet en el momento en que comienza la ejecución.
En la API de Anthropic, opus se resuelve a Claude Opus 5 y sonnet a Claude Sonnet 5, por lo que opusplan te ofrece Opus 5 para la planificación y Sonnet 5 para la ejecución. Opus 5 requiere Claude Code v2.1.219 o posterior; en versiones anteriores, el alias opus sigue apuntando a Opus 4.8. Los alias siguen la versión recomendada para tu proveedor y se actualizan a medida que se lanzan nuevos modelos, así que fija un nombre de modelo completo como claude-opus-5 cuando necesites una versión específica. Opus tampoco es el tope de la gama: la descripción general de modelos sitúa a Claude Fable 5 por encima del nivel Opus como el modelo de mayor capacidad de Anthropic disponible de forma amplia, y Claude Code lo expone a través del alias fable para trabajo que supera una sola sesión.
Cuándo Usar el Modo Plan y Cuándo Omitirlo
Usa el Modo Plan cuando un cambio afecte aproximadamente tres o más archivos, implique una refactorización, una migración de esquema o trabajo sensible a la seguridad, o no pueda describirse en una sola oración; omítelo para correcciones de una línea y ediciones mecánicas donde un plan es simplemente una carga innecesaria. Tres archivos es aproximadamente el umbral a partir del cual las decisiones compuestas empiezan a ser problemáticas. Las correcciones tipográficas, los ajustes a funciones aisladas y los renombrados dentro de un solo archivo son más rápidos sin la vuelta de planificación. Cualquier situación en la que no estés seguro de cómo el código base maneja un caso específico, o donde una edición prematura sería costosa de deshacer, vale la pena planificarla primero.
La regla de la oración única es el filtro más rápido: si puedes describir el cambio completo en una sola oración, simplemente hazlo; de lo contrario, planifícalo. Escala más allá de eso solo cuando un plan supere genuinamente un único contexto de ejecución, momento en el que Agent Teams experimental de Claude Code distribuye el trabajo entre instancias, con el agente líder revisando y aprobando el plan de cada colaborador antes de que comience a escribir.
Recurre al Modo Plan en tu próximo cambio de múltiples archivos, edita el plan con Ctrl+G antes de conceder acceso de escritura, y vuelve a él con Shift+Tab en el momento en que la ejecución se desvíe. Los detalles técnicos cambian con frecuencia, así que confirma cualquier especificación vinculada a una versión en la documentación oficial de Claude Code antes de depender de ella.
Preguntas Frecuentes
¿El Modo Plan realmente impide que Claude edite archivos, o puede seguir escribiendo?
El Modo Plan bloquea las ediciones a tu código fuente, pero no es un sandbox estricto. El límite de solo lectura se aplica mediante una instrucción de sistema inyectada más el sistema de permisos de Claude Code, no eliminando las herramientas de escritura. La herramienta de edición sigue presente, que es como Claude crea su propio archivo de plan, y cualquier intento de escritura en tu código sigue pasando por el prompt de permisos en lugar de permitirse silenciosamente.
¿Cuál es la diferencia entre usar Shift+Tab, el prefijo /plan y el flag --permission-mode plan?
Difieren en su alcance. Presionar Shift+Tab cicla el modo para la sesión actual y persiste hasta que vuelvas a ciclarlo. El prefijo /plan se aplica únicamente al siguiente prompt, sin modificar tu modo actual. Iniciar con claude --permission-mode plan pone toda la sesión en modo plan desde el inicio. Para una configuración predeterminada permanente, establece permissions.defaultMode en plan dentro de settings.json, de modo que se aplique a cada sesión en el proyecto o en el ámbito de usuario.
¿Cómo establezco el Modo Plan como predeterminado para un proyecto?
Establece defaultMode en plan dentro del objeto permissions en .claude/settings.json, escrito como permissions conteniendo defaultMode establecido en plan. La clave está anidada bajo permissions, no colocada en el nivel superior del archivo. Una vez configurado, cada sesión iniciada en ese proyecto comienza automáticamente en Modo Plan. Usa un archivo de configuración a nivel de usuario si prefieres el comportamiento plan-first en todos tus proyectos en lugar de en un único repositorio.
¿Qué ocurre después de aprobar un plan y cómo hago que Claude replanifique a mitad de tarea?
Aprobar un plan finaliza la fase de planificación y mueve la sesión al modo de permisos que describe la opción de aprobación que seleccionaste, por lo que Claude comienza a trabajar de inmediato. Si la ejecución se desvía de los pasos acordados, presiona Shift+Tab para volver al Modo Plan, o añade el prefijo /plan a tu siguiente prompt, y pide a Claude que replanifique el trabajo restante según el estado actual de los archivos. Replanificar a mitad de tarea es algo esperado en refactorizaciones reales, no un fallo.
¿Qué modelo debería elaborar el plan y cuál debería ejecutarlo?
Usa el modelo de razonamiento estable más potente para elaborar el plan y un modelo más rápido y económico para ejecutarlo, ya que la calidad de la planificación determina los resultados mientras que la ejecución es en gran medida mecánica. Claude Code automatiza el traspaso mediante el alias de modelo opusplan, que ejecuta Opus durante el modo plan y cambia a Sonnet para la ejecución. En la API de Anthropic, esos aliases se resuelven a Claude Opus 5 y Claude Sonnet 5 respectivamente. Los aliases se actualizan a medida que se lanzan nuevos modelos, así que fija un nombre de modelo completo cuando necesites una versión específica.
Gain Debugging Superpowers
Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers.
Star on GitHub12k