Radar · 17/07/2026 · coding

Claude Code e il problema dello scritto generato: quando il codice parla di sé

Il 1° luglio 2026, Anthropic ha spedito Claude Code 2.1.198 con una sorpresa: se non rispondevi a una domanda dell’agente entro 60 secondi, l’agente decideva da solo e proseguiva. Nessuna menzione nel changelog, nessun flag per disattivarla documentato. L’utente che l’ha scoperta ha aperto un’issue che ha raccolto 384 👍 e 143 commenti in meno di 48 ore.

Anthropic ha corretto il comportamento tre giorni dopo con la versione 2.1.200, ma la domanda resta: come è arrivata in produzione una feature del genere senza documentazione né opt-out? Olaf Alders ha condotto un’indagine tecnica pubblica usando Claude Code stesso per ricostruire il commit trail, e ha scoperto che non c’è traccia pubblica del codice che ha introdotto la feature. Il changelog menziona solo la retromarcia.

In parallelo, Simon Willison ha rilasciato LLM cliché highlighter, un tool che evidenzia i tic linguistici tipici dell’output generato: “no X, no Y”, “sit with that”, “you already know”. Il timing non è casuale: Claude Code produce commit message e note che tradiscono l’origine generata, e la comunità sta costruendo strumenti per riconoscerlo.

Perché ti riguarda. Se usi agenti di coding in produzione, questa vicenda solleva tre domande concrete: chi ha firmato quella feature? Come verifichi che un agente non introduca comportamenti inattesi nel tuo codice? E quando il tuo output suona “scritto dall’AI”, che credibilità perde?

Nel dettaglio

Il contesto: cosa c’era prima.

Claude Code era già noto per chiedere conferma prima di azioni ad alto impatto. La versione 2.1.196 del 29 giugno funzionava così: domanda, attesa, nessuna azione senza risposta. Due giorni dopo, la 2.1.198 ha invertito il comportamento senza avvisare.

La scoperta e la reazione.

Aleksey Nogin ha aperto l’issue #73125 il 2 luglio alle 02:54 UTC. Entro 51 minuti, un altro utente ha segnalato l’escape hatch non documentato: la variabile d’ambiente CLAUDE_AFK_TIMEOUT_MS. Anthropic ha spedito la 2.1.199 il giorno stesso, ma senza toccare il comportamento. Solo il 3 luglio, con la 2.1.200, l’auto-continue è stato rimosso. Issue chiusa il 4 luglio.

La scala della reazione (384 👍, 143 commenti in 48 ore su un issue tecnico) dice che il problema ha toccato un nervo: la fiducia negli agenti che modificano codice.

L’indagine di Alders: dove è il commit?

Alders ha usato Claude Code per interrogare il repository pubblico di Claude Code. Risultato: il commit che introduce la feature non esiste nel log pubblico. L’unica traccia è il bot commit che aggiorna CHANGELOG.md alla release 2.1.198 (commit 75709ea, 1 luglio 20:45 UTC). Lo stesso vale per la correzione: solo il changelog cambia.

Alders ha posto le domande che un revisore umano si farebbe: ha firmato un umano? Ha revisionato un umano? Ha diffato la release un release manager? E conclude: “Se mi dicessi che Claude Code ha costruito la feature, l’ha spedita, l’ha approvata e poi l’ha ritenuta non degna di documentazione, sono più incline a crederci”.

Il tool di Willison e il problema più ampio.

Simon Willison ha rilasciato LLM cliché highlighter lo stesso giorno in cui Alders ha pubblicato l’indagine. Il tool evidenzia dieci pattern linguistici tipici dell’output generato: le antitesi a effetto (“not X, but Y”), le triplette meccaniche, le domande retoriche, le chiuse da tema motivazionale.

Willison scrive: “Mi sono stufato di leggere l’ennesimo articolo infarcito di cliché da scrittura LLM”. Il tool è nato con Fable 5 in un pomeriggio, e serve a fare quello che facciamo tutti a mano: riconoscere quando un testo tradisce l’origine generata.

Le implicazioni per chi costruisce.

Se un agente scrive codice o commit message che suonano “generati”, il problema non è estetico: è di credibilità e verificabilità. Un commit message pieno di cliché segnala che nessuno ha riletto. Una feature spedita senza traccia nel log pubblico segnala che il giro di revisione ha dei buchi.

La convergenza fra l’indagine di Alders e il tool di Willison non è casuale: entrambi affrontano lo stesso problema da angoli diversi. Quando l’output di un agente entra in produzione senza filtro umano, tradisce se stesso. E quando tradisce se stesso, perde la battaglia più importante: quella della fiducia.

Cosa sappiamo e cosa no.

Sappiamo che la feature è arrivata, è stata ritirata, e che non c’è traccia pubblica del codice. Non sappiamo:

  • Se un umano ha scritto, revisionato o approvato la feature
  • Se l’auto-continue era intenzionale o un effetto collaterale
  • Perché il changelog non l’ha menzionata in ingresso ma solo in uscita
  • Se altri comportamenti non documentati sono stati spediti nello stesso modo

Anthropic non ha commentato pubblicamente l’incident oltre alla correzione.

Il limite pratico.

Gli agenti di coding promettono velocità. Ma velocità senza verificabilità produce debito tecnico mascherato da produttività. Se il tuo agente scrive codice che suona generato, se spedisce feature senza lasciare audit trail leggibile, se il changelog è disconnesso dal log dei commit, non hai guadagnato tempo: hai spostato il costo della verifica a valle, dove costa di più.

Come abbiamo raccontato il 14 luglio, la comunità sta costruendo strumenti per compensare i limiti di UX degli agenti (notifiche sonore, replay delle sessioni). Ora sta costruendo anche strumenti per riconoscere quando l’output di un agente non è passato dal filtro umano. È un segnale su dove siamo: gli agenti producono velocemente, ma la catena di verifica è ancora tutta da costruire.

Scrivi per cercare fra corso, playbook, skill, paper…