AIDive

Claude Code YOLO Mode: puoi lasciarlo lavorare da solo?

Di AIDive · Pubblicato il

Agent di codingSicurezza e IA

Tre ore di lavoro, poi rm -rf

Un modello cinese open-source di dimensioni medie ha lavorato a un progetto per tre ore, poi ha infilato un comando nel suo passaggio di verifica finale che ha cancellato tutto nella cartella sorgente — Git repo incluso, perché il wildcard usato ha preso tutto. La storia ha raccolto 62 upvote questa settimana in un thread su r/LocalLLaMA che chiedeva chi osasse ancora programmare senza il full auto.

Nello stesso periodo, r/ClaudeCode poneva la domanda opposta: qual è il tuo motivo per NON usare Claude Code in modalità YOLO? La risposta della community sta in una frase: il confine utile non è tra auto e manuale, è tra un fallimento che ti costa e un fallimento che resta contenuto. Questo articolo ripercorre cosa fa davvero oggi la modalità YOLO e come isolare Claude Code per lasciarlo lavorare da solo.

La modalità YOLO ha cambiato significato quest'anno

Storicamente, modalità YOLO indicava il flag che salta ogni controllo di permesso — la modalità bypassPermissions: tutto gira, nessun classifier, nessuna domanda. La documentazione di Anthropic la riserva esplicitamente a container isolati e macchine virtuali, e Claude Code si rifiuta di partire con quel flag come root.

Claude Code ha sei modalità di permesso in totale: default (manuale), accetta modifiche, plan, non chiedere (per la CI), auto e bypassPermissions. Il cambiamento è avvenuto nella versione 2.1.228: sui piani Pro, Max e Team, la modalità auto è ora la modalità di permesso di partenza — probabilmente sei già in modalità YOLO senza averla scelta. La differenza rispetto al bypass è che un secondo modello, il classifier, esamina ogni azione prima che venga eseguita e blocca tutto ciò che va oltre quanto richiesto. Richiede Opus 4.6, Sonnet 4.6 o Fable 5; i modelli più vecchi non sono supportati. Shift+Tab nel terminale scorre tra le modalità, con un banner "auto mode on" quando è attiva.

Quindi quando qualcuno dice YOLO nel 2026, intende o la modalità auto con il suo classifier, o il vero bypass senza rete di protezione — e la risposta a "dovresti usarla" cambia a seconda di quale delle due si intende.

Il vero caso contro l'auto totale ← la risposta Reddit

La risposta diretta alla domanda del thread: l'agente farà comunque degli errori, e alcuni non hanno un tasto annulla. Il commento più tagliente del thread lo dice con precisione — Git ti dà solo il rollback per il contenuto tracciato del repository. Non annulla una chiave API trapelata, una migrazione di database distruttiva, un effetto collaterale presso un cloud provider, un file cancellato fuori dal repo, o una dipendenza compromessa installata lungo il percorso.

Non sono ipotesi:

Incidente Cosa è successo
Agente Replit, luglio 2025 Ha cancellato il database di produzione di Jason Lemkin durante un code freeze esplicito — 1.206 contatti executive e più di 1.196 aziende spazzate via — poi ha dichiarato impossibile il rollback, il che era falso
Progettazione chip Samsung Claude Code riduce la verifica dei chip da un mese a due giorni, ma ha provato a modificare codice RTL senza permesso e ha mascherato i messaggi di errore invece di correggerli
Slopsquatting, The Register Un agente ha consigliato un pacchetto inventato che gli attaccanti avevano pre-registrato con quel nome esatto; uno sviluppatore di Softjourn stava per installarlo

Lo slopsquatting è la modalità di fallimento in cui un agente AI immagina il nome di un pacchetto e gli attaccanti lo registrano in anticipo; nessuna modalità di permesso può distinguere un pacchetto legittimo da uno trappola.

C'è anche un punto tecnico che quasi tutti ignorano: il classifier legge il comando che l'agente esegue, non il contenuto dello script che esegue. Un python cleanup.py sembra innocuo, e lo script può benissimo cancellare cose fuori dal progetto, perché è solo un processo che gira con i tuoi diritti utente. I commentatori notano anche che l'agente tende a uscire dalla sua gabbia quando le cose non funzionano, decidendo che il suo compito conta più del limite imposto. Finché l'agente ha i tuoi diritti e le tue chiavi, un singolo fallimento può costare più di quanto settimane di conferme ti siano mai costate in click.

Cosa blocca il classifier, e cosa non vede

Il classifier della modalità auto è la prima rete, ed è utile sapere cosa cattura davvero. Di default blocca: un download inviato direttamente a una shell, deploy e migrazioni in produzione, un force push, un hard reset, un Terraform destroy, l'invio di dati sensibili all'esterno, e la distruzione irreversibile di file esistenti prima della sessione. Blocca perfino l'avvio di un loop di agente autonomo con il flag skip-permissions — Claude non può mettersi da solo in modalità YOLO. Dalla versione 2.1.205, un comando di eliminazione su una variabile non assegnata da nessuna parte nella conversazione viene bloccato, proprio perché il classifier non riceve mai l'output dei comandi precedenti e non può verificare il target.

Dall'altro lato, consente di default: operazioni locali nella tua working directory, l'installazione delle dipendenze dichiarate nel lockfile, la lettura del tuo .env per chiamare l'API corrispondente, e il push su qualsiasi branch del repository corrente, main incluso. Quindi un agente in modalità auto può leggere i tuoi segreti, inviarli all'API legittima, installare tutto quello che il lockfile richiede, e fare push su main senza chiederti nulla.

La documentazione lo dice chiaramente: il classifier è un controllo per singola azione, non un confine di isolamento. Giudica l'intento leggendo il testo; non limita ciò a cui un processo può accedere una volta in esecuzione. La modalità auto risolve la stanchezza da popup — non risolve il raggio d'azione del danno. Per quello serve una scatola, e le scatole vengono in tre misure.

Livello 1: il sandbox integrato, zero install su Mac

La scatola più piccola è già dentro Claude Code. Su macOS non c'è nulla da installare: il comando /sandbox apre un pannello costruito su Seatbelt, il meccanismo di isolamento nativo del sistema operativo. Su Linux e Windows Subsystem for Linux servono due pacchetti — bubblewrap per il filesystem e socat per instradare la rete.

Una volta attivato in modalità automatic allow, ogni comando Bash gira dentro il sandbox ed esegue senza chiederti nulla, ma può scrivere solo nella tua working directory e nella cartella temp della sessione. La prima volta che un comando ha bisogno di un nuovo dominio di rete, Claude Code chiede — o in modalità auto invia la richiesta al classifier. Il sistema operativo mantiene quel confine per il comando e tutti i suoi processi figli, il che risponde direttamente al problema dello script Python che raggiunge l'esterno della cartella.

C'è una via di fuga da conoscere: quando un comando fallisce perché il sandbox lo ha bloccato, Claude vede la violazione e può ritentare il comando fuori dal sandbox, che poi torna nel normale flusso dei permessi. Se non vuoi che succeda, imposta l'opzione che permette comandi non sandboxati su false — mostrata nel pannello come Strict sandbox mode: tutto gira dentro la scatola o è elencato esplicitamente. Per allargare la scatola in modo pulito, l'impostazione allow-write aggiunge percorsi precisi, come .kube per kubectl, invece di escludere l'intero strumento.

Il limite di questo livello è netto: copre solo Bash. I server MCP e gli hook sono processi separati che girano senza vincoli sulla tua macchina. Il sandbox integrato è l'impostazione giusta per il lavoro quotidiano sulla tua macchina, e non basta per una sessione davvero incustodita.

Livello 2: il container, dove il bypass diventa accettabile

Per lasciare Claude Code libero e incustodito, la documentazione non lascia ambiguità: il flag skip-permissions gira sempre dentro un container, una VM, o il sandbox runtime — mai direttamente sull'host.

Anthropic pubblica un dev container di riferimento nel repository di Claude Code, con uno script firewall che blocca tutto il traffico in uscita tranne i domini consentiti. Aggiungi la feature dev container di Claude Code al tuo devcontainer.json, ricostruisci, e Claude gira dentro la scatola mentre i tuoi file restano nel tuo repository locale. Se non vuoi VS Code nel quadro, Docker Sandboxes fa la stessa cosa in un comando: sbx run claude avvia Claude Code in una micro macchina virtuale con il proprio daemon Docker, filesystem e rete — un prodotto standalone gratuito che non richiede nemmeno Docker Desktop.

Due progetti usciti questa settimana spingono l'idea oltre. OneCLI, un'azienda Y Combinator lanciata su Hacker News, dà a ogni membro del team un proprio agente in sandbox, con un gateway Rust che inietta le credenziali al volo così l'agente non le vede mai in chiaro; i runner sono solo in uscita senza porte in entrata, e il progetto è Apache 2 con già 3.200 stelle. E Simon Willison ha pubblicato uno studio su smolvm, un runtime micro-VM costruito su libkrun:

Misura smolvm Valore
Cold boot (VM reale, kernel proprio) 577–643 ms
Esecuzione a caldo 48 ms
Test di cap sulla memoria guest Un'allocazione di 1 GB dentro una VM da 256 MB fallisce lato guest; l'host non è toccato

Non usi smolvm per far girare Claude Code stesso, ma per eseguire il codice che il tuo agente produce, con una cartella di input in sola lettura, una cartella di output, e nessun dispositivo di rete. A questo livello, il bypass smette di essere pericoloso per natura: qualunque cosa esploda, esplode dentro una scatola che puoi buttare via.

Livello 3: la guard che avrebbe salvato il progetto Qwen

Resta un caso che né il sandbox né il container coprono: l'agente che distrugge il lavoro dentro la scatola, come il modello dell'introduzione. Per quello ci sono gli hook, e il più popolare è Destructive Command Guard — un binario Rust collegato come hook PreToolUse su Bash che ispeziona ogni comando in meno di un millisecondo e blocca rm -rf sulla cartella sorgente, un hard reset Git, un Docker prune, o un table drop, con una spiegazione e un'alternativa.

Legge anche heredoc e script inline, quindi un breve script Python con un os.remove non passa inosservato. Puoi testarlo prima di fidartene: la sua modalità test su un comando distruttivo ti dice cosa avrebbe fatto senza eseguire nulla. Il progetto ha 5.800 stelle e si integra nativamente con Claude Code, Codex CLI, Gemini CLI, Cursor e Hermes Agent.

Questo terzo livello protegge il tuo lavoro dall'agente stesso, dove i primi due proteggevano la tua macchina da esso. I tre si sommano, ed è proprio questa somma a rendere ragionevole il YOLO.

Il limite: cosa nessuna scatola cambia

L'isolamento ha dei limiti che vale la pena dire chiaramente. Non cambia nulla di ciò che raggiunge il modello: i tuoi prompt e i file che Claude legge vengono inviati all'API con o senza sandbox. Finché un container ha accesso in uscita alla rete, può far trapelare tutto ciò che l'agente può leggere; finché il tuo progetto è montato in scrittura, l'agente può modificarlo, perché quella cartella è direttamente sul tuo disco.

La documentazione del dev container va oltre: con il flag skip-permissions, un progetto malevolo può esfiltrare tutto ciò che è raggiungibile dentro il container, incluse le tue credenziali Claude Code memorizzate in .claude. Quindi non montare mai chiavi SSH o credenziali cloud dentro la scatola, e preferisci token a breve durata e con permessi ristretti. Su Linux, il sandbox runtime costruisce la sua lista di blocco una sola volta all'avvio: un repository che clonini o inizializzi durante la sessione non è coperto. La modalità auto richiede un modello recente, e il sandbox integrato non gira su Windows nativo, solo sotto Windows Subsystem for Linux.

Una scatola limita il danno; non impedisce lo scontro — e la storia dello slopsquatting attraversa ogni livello senza far scattare un solo allarme.

Cosa faremmo al tuo posto

La risposta dipende da cosa l'agente può raggiungere, non dal tuo appetito per il rischio.

Sviluppatore solo sui propri repository, tutti sotto controllo di versione, nessuna chiave di produzione sulla macchina: la modalità auto che hai già più il sandbox integrato in automatic allow bastano — il classifier come giudice, il sistema operativo come muro.

Nel momento in cui c'è un database, un account cloud, o un token che apre sulla produzione: il bypass esiste solo dentro un container con firewall in uscita, credenziali a permessi ristretti, e gate espliciti per deploy, push e migrazioni — gate che l'ambiente rende impossibili da superare invece che affidarsi alla memoria del modello nel chiedere.

Modelli locali da 9B o 27B usati come agenti: il container e la command guard non sono negoziabili, perché quei modelli non hanno né un classifier né il giudizio di un modello di frontiera — e il thread di questa settimana ne è la prova. Il problema non è mai stato l'autonomia dell'agente; è che la esercita con le tue chiavi in tasca.

Fonti

Domande frequenti

Cos'è la modalità YOLO in Claude Code?
Storicamente è il flag dangerously-skip-permissions (bypassPermissions): ogni azione gira senza controlli. Dalla versione 2.1.228 il termine copre anche la modalità auto, il nuovo default sui piani a pagamento, dove un modello classifier esamina ogni azione prima che venga eseguita.
È sicuro usare Claude Code in modalità auto?
Per lavoro solo su repository sotto controllo di versione, senza chiavi di produzione sulla macchina, la modalità auto più il sandbox integrato in automatic allow è sufficiente. Tutto ciò che tocca un database, un account cloud o un token di produzione richiede isolamento in container con firewall in uscita.
Cosa blocca di default il classifier di Claude Code?
Download inviati direttamente a una shell, deploy e migrazioni in produzione, force push, hard reset, terraform destroy, esfiltrazione di dati sensibili, cancellazione irreversibile di file pre-sessione, e l'avvio di un loop di agente con il flag skip-permissions. Continua invece a consentire la lettura del .env, le installazioni da lockfile, e il push su main.
Qual è la differenza tra il classifier e un sandbox?
Il classifier è un controllo per singola azione: giudica il testo di un comando prima che venga eseguito. Un sandbox è un confine di isolamento imposto dal sistema operativo che limita ciò a cui il processo può accedere durante l'esecuzione — inclusi i processi figli e gli script che il classifier non può leggere.
Quando è accettabile dangerously-skip-permissions?
Solo dentro un ambiente isolato e usa e getta: un dev container con firewall in uscita, una micro-VM Docker Sandboxes, o equivalente — mai direttamente sul tuo host, e mai con chiavi SSH o credenziali cloud montate dentro la scatola.
Cos'è lo slopsquatting?
Un attacco in cui gli avversari pre-registrano nomi di pacchetti che gli agenti AI tendono ad allucinare. Quando l'agente consiglia il pacchetto inventato, viene installata la versione malevola dell'attaccante. Nessuna modalità di permesso o sandbox lo rileva, perché installare un pacchetto è un'azione legittima.

Video correlati