Immagine AI

Anthropic ha introdotto in Claude Code le “Mods”, estensioni che permettono agli sviluppatori di modificare direttamente l’aspetto e il comportamento dell’ambiente di programmazione AI, superando l’esperienza uniforme prevista dalle configurazioni standard e adattando invece Claude ai propri flussi di lavoro. Boris Cherny, responsabile di Claude Code, ha spiegato la scelta partendo dal principio che sviluppatori diversi lavorano in maniera diversa e non hanno quindi necessariamente bisogno della stessa esperienza con Claude: attraverso le Mods ciascun utente può costruire una propria configurazione del sistema e, se lo desidera, distribuirla sotto forma di plugin perché possa essere utilizzata anche da altri. Tecnicamente una Mod è un piccolo modulo scritto in JavaScript o TypeScript e inserito all’interno di un plugin Claude Code; attraverso specifici hook può reagire in tempo reale agli eventi generati durante una sessione, come l’invio di prompt, le chiamate agli strumenti, il completamento di un turno, l’esecuzione di comandi e il rendering dell’interfaccia. Il codice della Mod può semplicemente osservare questi eventi oppure intervenire sul loro comportamento, bloccandoli, modificandoli o fornendo direttamente una risposta, oltre a creare componenti grafici personalizzati all’interno dell’interfaccia. Le estensioni possono essere sviluppate manualmente anche con quantità relativamente ridotte di codice oppure generate chiedendo direttamente a Claude Code di costruire la Mod desiderata.

Le possibilità offerte non riguardano quindi soltanto l’estetica dell’ambiente. Una Mod può creare pannelli che mostrano informazioni contestuali, intercettare un comando shell prima della sua esecuzione per chiedere una conferma aggiuntiva, nascondere informazioni sensibili presenti nell’output degli strumenti, modificare un prompt prima che venga inviato al modello oppure creare comandi slash eseguiti direttamente dal codice senza richiedere un nuovo turno di inferenza. Anthropic utilizza già la stessa architettura per alcune funzioni integrate di Claude Code: /diff mostra in un pannello le modifiche non ancora salvate nel repository e si aggiorna mentre Claude interviene sui file, mentre un’altra Mod integrata gestisce AGENTS.md come file di istruzioni del progetto quando non è disponibile un CLAUDE.md specifico. Le Mods vengono distribuite attraverso il normale sistema di plugin e possono essere installate dal comando /plugin sia nell’interfaccia CLI di Claude Code sia nell’app desktop; di conseguenza, una personalizzazione realizzata internamente da un singolo sviluppatore può essere impacchettata e condivisa con colleghi o con la community senza richiedere modifiche al codice principale di Claude Code.

Anthropic ha pubblicato anche tre Mods dimostrative che mostrano utilizzi molto diversi della nuova architettura. Token Weather visualizza sopra il prompt una sorta di previsione meteorologica della finestra di contesto: dopo ogni turno indica la percentuale di contesto già utilizzata, il numero di token occupati rispetto alla capacità disponibile e l’andamento delle ultime interazioni, passando simbolicamente da condizioni “Clear” quando l’uso è inferiore al 25% fino a “Compact soon” quando viene raggiunto almeno il 90%. Blast Radius è invece orientata alla sicurezza: intercetta determinati comandi shell rischiosi prima dell’esecuzione, ne stima gli effetti e mostra all’utente un pannello con le conseguenze previste e i pulsanti per procedere oppure annullare. Replay Theater registra infine le modifiche ai file effettuate da Claude durante un turno e permette successivamente di rivederle una alla volta attraverso /replay, spostandosi tra i diversi diff tramite un pannello dedicato. Gli esempi mostrano quindi come la stessa API possa essere utilizzata tanto per creare indicatori puramente informativi quanto per aggiungere veri e propri livelli di supervisione e revisione all’attività dell’agente.

La possibilità di eseguire codice personalizzato all’interno di Claude Code introduce però anche un problema di sicurezza particolarmente rilevante, perché le Mods non operano all’interno di una sandbox separata ma con i privilegi dell’utente che sta eseguendo Claude Code. Una Mod può quindi accedere al file system, avviare programmi, effettuare connessioni di rete e utilizzare informazioni disponibili durante la sessione, comprese variabili d’ambiente e dati relativi ai prompt e alle chiamate degli strumenti. Un plugin malevolo o semplicemente progettato male potrebbe perciò sfruttare questi privilegi, eseguire operazioni non desiderate oppure generare richieste e consumi di modello non previsti. Anthropic impedisce inoltre alle Mods di modificare liberamente alcuni meccanismi fondamentali di autorizzazione e, sui piani Team ed Enterprise, utilizza una Mod di sicurezza caricata prima delle estensioni dell’utente per proteggere le policy definite dall’organizzazione. Per questo viene raccomandato di installare soltanto plugin provenienti da fonti considerate affidabili e di esaminarne il comportamento prima dell’utilizzo; il comando claude plugin validate consente inoltre di controllare la struttura e le capacità dichiarate di un plugin prima di eseguirlo.

Il supporto alle Mods richiede Claude Code 2.1.287 o una versione successiva e l’API viene ancora considerata soggetta a modifiche tra una release e l’altra. A ogni caricamento di una Mod, Claude Code genera nella directory .claude-plugin/types/ le dichiarazioni TypeScript corrispondenti alla versione installata, che rappresentano il riferimento per le API effettivamente disponibili nell’ambiente corrente. La logica delle estensioni può essere utilizzata nelle diverse superfici supportate da Claude Code, mentre alcuni elementi grafici personalizzati dipendono dall’interfaccia nella quale vengono eseguiti e le Mods dimostrative pubblicate da Anthropic sono in particolare orientate al terminale. Con questa architettura Anthropic sposta quindi una parte della personalizzazione dello strumento direttamente nelle mani degli sviluppatori: invece di attendere che ogni nuova visualizzazione, controllo di sicurezza o modalità operativa venga implementata come funzione ufficiale e uguale per tutti, gli utenti possono intervenire sul ciclo di funzionamento di Claude Code e costruire strumenti specifici per il proprio progetto, team o metodo di lavoro, distribuendoli poi attraverso lo stesso ecosistema dei plugin.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)

Di Fantasy