La prima cosa da fissare è che il plan mode non è una modalità di ragionamento: è una modalità di permessi, sulla stessa scala di default, acceptEdits, auto e bypassPermissions. Non chiede al modello di pensare di più, gli toglie la possibilità di scrivere. Da qui discende tutto il resto, compreso il modo in cui si rompe.
Che cosa blocca davvero
«Plan mode tells Claude to research and propose changes without making them». Claude legge i file, esegue comandi di shell per esplorare e scrive un piano, ma non tocca i sorgenti: le modifiche restano bloccate finché non approvi il piano. Nella tabella delle modalità la riga corrispondente dice che senza chiedere passano «Reads, plus classifier-approved commands when auto mode is available».
Ci si entra in tre modi: Shift+Tab finché la barra di stato mostra ⏸ plan mode on, il prefisso /plan su un singolo prompt, oppure all’avvio.
claude --permission-mode plan
Un altro Shift+Tab esce senza approvare nulla. Il comportamento dei comandi durante la pianificazione dipende dal contorno: se l’auto mode è disponibile e useAutoModeDuringPlan è attivo (lo è per impostazione predefinita), è il classificatore a rivedere i comandi di shell invece di chiedere a te; altrimenti tutto ciò che esce dall’insieme dei comandi di sola lettura chiede approvazione, anche quando la modalità auto-allow della sandbox è accesa.
Il criterio di scelta
La documentazione non gira intorno al compromesso: «Plan mode is useful, but also adds overhead». Per attività dallo scope chiaro e dall’intervento piccolo — correggere un refuso, aggiungere una riga di log, rinominare una variabile — si chiede a Claude di farlo e basta. Il criterio positivo è altrettanto esplicito: «Planning is most useful when you’re uncertain about the approach, when the change modifies multiple files, or when you’re unfamiliar with the code being modified». E la formulazione operativa che vale come test: «If you could describe the diff in one sentence, skip the plan».
Nota che nessuno dei tre criteri parla di dimensione. Parlano di incertezza: sull’approccio, sulla superficie toccata, sul codice. Una modifica di trecento righe meccaniche e ripetitive non ha bisogno di un piano; una da dieci righe in un modulo di autenticazione che non hai mai letto sì. Il flusso consigliato separa quattro fasi — esplorare in plan mode, chiedere il piano, implementare, committare — e il senso della prima è impedire che Claude risolva benissimo il problema sbagliato.
Che cosa costa e che cosa ti restituisce
Il costo non è solo il tempo che passi a leggere il piano. Quando il classificatore rivede i comandi, ogni controllo «sends a portion of the transcript plus the pending action, adding a round-trip before execution», e sui piani Enterprise e sugli account che usano l’API di Claude, Amazon Bedrock, la Agent Platform di Google Cloud o Microsoft Foundry quelle chiamate contano nel consumo di token. C’è poi il costo tipico della fase di esplorazione: leggere molti file riempie la finestra di contesto prima ancora di iniziare a scrivere codice, ed è il motivo per cui l’esplorazione ampia conviene delegarla a un subagent, che lavora in un contesto separato e restituisce solo la sintesi.
In cambio ottieni una cosa che in una sessione lunga vale molto: il piano scritto in plan mode è fra i contenuti ri-iniettati da disco dopo una compaction. Su una modifica che attraversa più pacchetti «Claude Code re-injects the plan file after each compaction, so the plan survives where conversation history may not». La cronologia della conversazione viene riassunta; il piano no. Chi progetta task lunghi dovrebbe scegliere il plan mode anche solo per questa proprietà di durabilità.
Approvazione, default e come si rompe
Quando il piano è pronto ti vengono offerte tre strade: approvare passando all’auto mode (o all’accettazione automatica delle modifiche, se l’auto mode non è disponibile), approvare rivedendo ogni modifica a mano, oppure restare in plan mode e chiedere correzioni. Approvare esce dal plan mode e porta la sessione nella modalità di permessi che l’opzione descrive. Con Ctrl+G apri il piano nel tuo editor e lo modifichi prima che Claude proceda: spesso è più veloce che spiegare a parole che cosa cambiare.
Per renderlo il punto di partenza di un progetto si imposta defaultMode a plan in .claude/settings.json. Trappola nota: le conversazioni avviate dall’estensione VS Code non leggono le impostazioni di progetto per la modalità iniziale, lì serve claudeCode.initialPermissionMode.
Il modo di rompersi da conoscere a memoria riguarda le sessioni in cui i permessi di bypass sono disponibili: in quelle «Claude Code also doesn’t enforce plan mode’s blocks». Claude riceve comunque l’istruzione di pianificare senza modificare, ma una scrittura di file o un comando che tenta durante la pianificazione viene eseguito senza chiedere. Se il plan mode è la tua barriera contro modifiche indesiderate, in quelle sessioni la barriera non c’è: resta una convenzione, non un controllo.