Receta · Básico · 10 min
Modo plan de Claude Code: planifica antes de tocar código
Usa el modo plan de Claude Code: entra con Shift+Tab o /plan, edita el plan con Ctrl+G, guárdalo en tu repo y planifica con Opus usando opusplan.
Probado con Claude Code 2.1.316 · revisado
Ver los archivos en GitHub Gratis · licencia MIT
El problema
Le pides a Claude Code un cambio que toca varios archivos y se pone a editar antes de entender el código. Cuando ves que el enfoque era incorrecto, ya hay que deshacer trabajo y has gastado límite. En código que no conoces, migraciones o refactorizaciones, un error de dirección sale caro.
La solución
El modo plan hace que Claude investigue y proponga cambios sin aplicarlos: lee archivos, ejecuta comandos de exploración y escribe un plan, pero no edita tu código hasta que lo apruebas. Aquí verás cómo entrar y salir, cómo aprobar, rechazar o editar el plan (Ctrl+G), dónde queda guardado, cómo combinarlo con opusplan y con la opción de limpiar el contexto al aprobar, y cuándo no merece la pena.
1. Qué hace exactamente el modo plan
En modo plan Claude puede leer archivos, ejecutar comandos para explorar y escribir un plan, pero no edita tu código fuente: las ediciones quedan bloqueadas hasta que apruebas el plan. La única excepción documentada son las sesiones interactivas de terminal que tienen bypassPermissions disponible en el ciclo de modos; desde la 2.1.299 Claude Code avisa una vez en ese caso.
¿Y los comandos de shell durante la planificación? Si el modo automático está disponible y useAutoModeDuringPlan está activado (lo está por defecto), el clasificador revisa los comandos en lugar de preguntarte: los aprobados se ejecutan y los rechazados se bloquean, salvo los borrados de rutas críticas, que siempre preguntan. Si el modo automático no está disponible o pones useAutoModeDuringPlan en false, te pedirá permiso para cualquier comando que no esté en el conjunto de solo lectura integrado (más sobre modos en permisos de Claude Code).
En la tabla de modos de la documentación, plan figura como «Reads, plus classifier-approved commands» y su uso recomendado es «Exploring a codebase before changing it».
2. Entrar y salir: Shift+Tab, /plan y --permission-mode plan
Hay cuatro formas de entrar:
- Shift+Tab recorre los modos; desde auto, la primera pulsación pasa a manual (
default) y luego el ciclo siguedefault→acceptEdits→plan. Sabrás que estás dentro porque la barra muestra «⏸ plan mode on». En Windows, si el runtime no activa el modo de entrada VT, el atajo es Alt+M. /planseguido de la tarea entra y empieza a planificar en el mismo paso:/plan arregla el bug de autenticación.- Desde la línea de comandos:
claude --permission-mode plan(también con-ppara ejecuciones sin interfaz). - Por defecto en un proyecto:
"permissions": {"defaultMode": "plan"}en.claude/settings.json. Las sesiones de VS Code no leen ese ajuste y usanclaudeCode.initialPermissionModeen tus ajustes de usuario de VS Code.
claude --permission-mode plan # toda la sesión empieza en plan
claude --model opusplan # plan con Opus, ejecución con Sonnet
# dentro de la sesión:
# Shift+Tab (Alt+M en algunos Windows) -> ⏸ plan mode on
# /plan arregla el bug de autenticación
# Ctrl+G -> editar el plan propuesto en tu editor
Para salir sin aprobar nada, pulsa Shift+Tab otra vez. Si buscas ultraplan: el comando /ultraplan se eliminó (2.1.222) y la documentación indica usar el modo plan en su lugar.
3. Aprobar, seguir planificando o editar el plan con Ctrl+G
Cuando el plan está listo, Claude lo presenta y te pregunta cómo seguir:
- «Yes, and use auto mode»: aprueba y continúa en modo automático; si tu sesión no lo tiene, aparece como «Yes, auto-accept edits».
- «Yes, manually approve edits»: aprueba y revisas cada edición una a una.
- «No, keep planning»: te quedas en modo plan y le dices qué cambiar.
Aprobar sale del modo plan y cambia la sesión al modo que indica la opción elegida. Para volver a planificar, regresa con Shift+Tab o empieza el siguiente mensaje con /plan.
El truco que casi nadie usa: Ctrl+G abre el plan propuesto en tu editor de texto por defecto para que lo corrijas directamente (quitar pasos, reordenar, añadir «no toques la migración») antes de que Claude empiece. Al aceptar un plan, la sesión recibe además un título generado a partir del plan, salvo que ya le hayas puesto nombre. Consejo: si eliges «manually approve edits» la primera vez que trabajas en un repositorio, verás cada cambio antes de que se escriba.
4. Dónde se guarda el plan y por qué importa
Los planes son archivos Markdown. Por defecto se guardan en ~/.claude/plans (en nuestra prueba: ~/.claude/plans/crea-el-archivo-nuevo-txt-silly-dream.md). Con la clave plansDirectory puedes guardarlos dentro del proyecto, con una ruta relativa a la raíz. Si la ruta sale fuera de la raíz o usa barras invertidas en Linux o macOS, Claude Code vuelve a ~/.claude/plans; escribe docs/plans, que también vale en Windows.
.claude/settings.json del proyecto para empezar siempre en plan y guardar los planes en el repo:
{
"permissions": {
"defaultMode": "plan"
},
"plansDirectory": "./docs/plans"
}
Tenerlo en disco tiene dos ventajas. Primera: el plan sobrevive a la compactación, porque la documentación indica que se vuelve a inyectar desde disco al compactar, así que no se pierde en sesiones largas (ver /clear vs /compact). Segunda: puedes versionarlo con git junto al código, revisarlo con tu equipo o reutilizarlo como especificación ligera. Las versiones recientes también restauran el modo plan al reanudar con --continue, --resume o desde el selector de /resume.
5. Planificar con Opus y ejecutar con Sonnet: opusplan
El alias de modelo opusplan usa opus mientras estás en modo plan y cambia automáticamente a sonnet al ejecutar. Actívalo con /model opusplan o claude --model opusplan. Así razonas la arquitectura con el modelo más capaz y escribes el código con uno más barato.
Hay un coste oculto que la documentación explica: cada modelo tiene su propia caché, así que cada entrada o salida del modo plan con opusplan es un cambio de modelo y empieza con la caché vacía. Úsalo cuando haya pocas idas y vueltas (planificas una vez, implementas un buen rato), no si entras y sales del modo plan cada pocos minutos (ver límite de uso). Si tu organización restringe modelos con availableModels, opusplan usa el Opus más reciente permitido.
Otra opción para no arrastrar lo explorado: activa showClearContextOnPlanAccept en ~/.claude/settings.json y el menú de aprobación tendrá primero «Yes, clear context and …», que aprueba, limpia la conversación y empieza a implementar solo con el plan, indicando cuánto contexto gastó la planificación.
{
"showClearContextOnPlanAccept": true
}
6. Cuándo usarlo y cuándo no (y cómo pedir un buen plan)
Úsalo para cambios en varios archivos, código que no conoces, migraciones, refactorizaciones y cualquier cosa donde un error de dirección cueste caro. La documentación de costes lo recomienda precisamente para evitar rehacer trabajo cuando el enfoque inicial es incorrecto. No hace falta para un cambio de una línea, renombrar una variable o arreglar un error obvio: ahí el plan añade una vuelta.
Para pedir un buen plan, da contexto y criterios de salida: qué quieres, qué no se debe tocar, cómo se comprueba (tests, comando) y que pregunte si hay dudas.
/plan Quiero <objetivo>.
Contexto: <archivos o módulos implicados>.
No toques: <lo que no se puede cambiar>.
Hecho cuando: <tests o comando que debe pasar>.
Antes de proponer el plan, lee el código relevante y pregúntame lo que no esté claro.
El plan debe listar archivos a cambiar, pasos en orden, riesgos y cómo verificar cada paso.
Ojo con los equipos de agentes: según la documentación de costes, gastan unas 7 veces más tokens cuando los compañeros trabajan en modo plan, porque cada uno mantiene su propio contexto (ver subagentes). Y si Claude ya va por mal camino tras aprobar, pulsa Esc para pararlo y /rewind (o Esc dos veces) para volver a un punto anterior de la conversación y del código.
Compruébalo
Prueba rápida en un repositorio desechable, para comprobar que en plan no se escribe nada:
mkdir -p /tmp/prueba-plan && cd /tmp/prueba-plan && git init -q
claude -p --permission-mode plan --model haiku "Crea el archivo nuevo.txt con el texto hola."
ls # nuevo.txt NO existe
ls ~/.claude/plans | tail -1 # el plan sí está guardado
Lo hicimos el 1-nov-2026 con Claude Code 2.1.316 en Linux: Claude escribió el plan, no creó nuevo.txt y el plan quedó guardado en ~/.claude/plans/<nombre>.md. No hemos grabado todavía la parte interactiva (Shift+Tab con el indicador, Ctrl+G, las tres opciones de aprobación, showClearContextOnPlanAccept y opusplan), y Alt+M en Windows no lo pudimos comprobar: eso lo contamos tal como lo describe la documentación.
Por qué funciona
El modo plan es un modo de permisos más: Claude Code bloquea las herramientas de edición mientras está activo y deja pasar la lectura y los comandos que aprueba el clasificador o tú. El plan se escribe en un archivo, así que no depende de la conversación: sobrevive a la compactación y lo puedes editar con Ctrl+G. Fuentes: modo plan en los modos de permisos, plansDirectory, showClearContextOnPlanAccept, opusplan, caché al cambiar de modelo, modo interactivo, comandos y el CHANGELOG.
Errores típicos
- Shift+Tab no llega a «plan mode on» en Windows → el runtime no activa el modo de entrada VT → usa Alt+M o
/plan. defaultMode: "plan"no se aplica en VS Code → las sesiones de VS Code no leen ese ajuste → usaclaudeCode.initialPermissionModeen tus ajustes de usuario de VS Code.- Los planes no aparecen en tu carpeta del proyecto → la ruta de
plansDirectorysale de la raíz o usa barras invertidas en Linux o macOS → escribedocs/plans. - Con
opusplanel gasto sube en vez de bajar → cada entrada y salida del modo plan es un cambio de modelo con la caché vacía → úsalo con pocas idas y vueltas. /ultraplanno existe → se eliminó en la 2.1.222 → usa el modo plan.- Claude va por mal camino después de aprobar → el enfoque aprobado no era el bueno → Esc para pararlo,
/rewindpara volver atrás y vuelve a pedir el plan con contexto y criterios de «hecho» (la plantilla del paso 6).
Preguntas frecuentes
¿Cómo activo el modo plan?
Shift+Tab hasta ver «⏸ plan mode on», /plan <tarea>, o claude --permission-mode plan. En algunos Windows el atajo es Alt+M.
¿Cómo salgo del modo plan sin aprobar?
Pulsa Shift+Tab otra vez para pasar al siguiente modo del ciclo.
¿Dónde se guarda el plan?
En ~/.claude/plans por defecto; cámbialo con plansDirectory (ruta relativa a la raíz del proyecto).
¿Puedo editar el plan antes de que empiece?
Sí: Ctrl+G lo abre en tu editor. O elige «No, keep planning» y dile qué cambiar.
¿Qué pasó con ultraplan?
Se eliminó en la 2.1.222; la documentación indica usar el modo plan en su lugar.
¿Claude puede ejecutar comandos en modo plan?
Sí, para explorar. Con modo automático disponible, el clasificador decide; si no, te pregunta por todo lo que no sea de solo lectura. Las ediciones de código quedan bloqueadas hasta aprobar (salvo con bypass disponible en terminal).
¿opusplan sale más barato?
Suele, porque la ejecución corre en Sonnet, pero cada cambio entre plan y ejecución es un cambio de modelo que vacía la caché. Conviene con pocas idas y vueltas.