Claude Code: guida completa all’agente AI che scrive codice al posto tuo

Guida completa a Claude Code di Anthropic: installazione, superfici, skill, MCP, sub-agenti, agent view, agent teams, artifacts, channels, sandboxing, hooks, scheduling, CI/CD, best practice e tanto altro.
Contenuti dell'articolo

Claude Code è l’evoluzione più concreta di quello che si intende quando si dice “AI per sviluppatori”. Non è un chatbot che risponde a domande sul codice, non è un completamento automatico stile Copilot. È un agente AI che lavora dentro il tuo progetto: legge i file, li modifica, esegue comandi, fa commit, apre PR, si connette ai tuoi strumenti. In pratica, è come avere un collega sviluppatore che sta nel terminale e fa sul serio.

Questa guida parte da zero e arriva a tutto quello che devi sapere per usarlo al meglio.

Di cosa parleremo..

Cos’è Claude Code

Claude Code è un agente di coding sviluppato da Anthropic (gli stessi di Claude). Funziona così: gli dai un obiettivo in linguaggio naturale (“aggiungi validazione al form di login”, “trova e fixa il bug che manda in crash la dashboard”, “scrivi i test per il modulo auth”) e lui si organizza da solo per farlo.

Non è un plugin di autocompletamento. È un sistema agentico: legge la tua codebase, capisce dove intervenire, esegue gli strumenti che ha a disposizione (modificare file, lanciare comandi, fare git, cercare su Google, chiamare API), verifica il risultato e corregge se serve. Il tutto in modo iterativo, finché il task non è completato.

Puoi usarlo in diverse superfici:

  • Terminale (CLI nativa): la versione più completa, con accesso a tutti gli strumenti
  • VS Code: estensione con diff inline e cronologia conversazioni
  • Desktop app: applicazione standalone con visuale diff, sessioni multiple e task programmati
  • Web: da claude.ai/code, senza installazione locale, per task remoti
  • JetBrains: plugin per IntelliJ, PyCharm, WebStorm e altri IDE JetBrains
  • Slack: menzioni @Claude in chat per delegare bug report direttamente in PR
  • CI/CD: GitHub Actions e GitLab CI/CD per code review automatica

Tutte le superfici condividono lo stesso motore, quindi i tuoi CLAUDE.md, settaggi e server MCP funzionano ovunque.

Come funziona

Dietro le quinte, Claude Code si basa sui modelli Claude di Anthropic. Il modello usato dipende dal tuo account: gli abbonamenti Pro e Max usano rispettivamente Sonnet e Opus, mentre con un account API Console puoi scegliere direttamente il modello. Se la tua organizzazione usa un provider cloud (Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry), la configurazione può essere diversa. Non esiste un “modello default” fisso e universale.

È un sistema agentico che ha accesso a strumenti veri: legge file con pattern matching (ripgrep integrato), modifica file con diff precisi chiedendo approvazione prima di cambiare, esegue comandi shell per build/test/deploy, fa operazioni git (commit, branch, merge, rebase, PR), naviga la codebase con glob, grep e comprensione semantica.

L’architettura è pensata per essere iterativa e verificante: Claude Code non scrive e basta. Scrive, esegue, controlla il risultato, corregge. Se deve aggiungere una funzione, prima esplora i file esistenti per capire lo stile del progetto, poi implementa, poi lancia i test per verificare che tutto funzioni.

Per capire la differenza da un editor con autocomplete o da un chatbot, facciamo un esempio pratico. Immagina di avere un e-commerce e di voler aggiungere un filtro per prezzo al catalogo prodotti. Con un assistente tradizionale dovresti aprire il codice del catalogo, trovare il componente che mostra i prodotti, capire dove inserire lo slider e il campo input, scrivere tutto il codice, testare manualmente e correggere eventuali errori. Con Claude Code, invece, gli dai un obiettivo in linguaggio naturale: “aggiungi un filtro prezzo al catalogo con slider e campo input”. Lui esplora il progetto, capisce che usi React con un componente chiamato ProductList, trova dove sono gestiti i filtri esistenti, implementa lo slider del prezzo, lo collega allo stato dell’applicazione, lancia i test automatici e, se qualcosa fallisce, lo corregge e riprova. Tu ti concentri sul risultato, non sul processo attraverso cui ci arriva.

Installazione

Claude Code si installa in pochi secondi su macOS, Linux, Windows (nativo o WSL) e Alpine.

Native Install (consigliato)

macOS, Linux, WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

Windows CMD:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

L’installazione nativa si aggiorna automaticamente in background, tenendoti sempre all’ultima versione.

Homebrew (macOS/Linux):

brew install --cask claude-code

Offre due varianti: claude-code (stable) e claude-code@latest (ultima versione). Non si aggiornano da soli, serve brew upgrade.

WinGet (Windows):

winget install Anthropic.ClaudeCode

Linux: disponibile anche con apt, dnf, apk. Ogni distribuzione ha la procedura nella documentazione ufficiale.

Requisiti di sistema

  • OS: macOS 13.0+, Windows 10 1809+, Ubuntu 20.04+, Debian 10+, Alpine 3.19+
  • Hardware: 4 GB+ RAM, processore x64 o ARM64
  • Connessione: internet necessaria
  • Shell: Bash, Zsh, PowerShell o CMD

Su Windows: nativo vs WSL

  • Nativo: Git for Windows opzionale ma consigliato per Bash tool (senza usa PowerShell).
  • WSL 2: consigliato se usi toolchain Linux. Supporta il sandboxing, che manca sul nativo.

Verifica installazione

claude --version     # Versione tipo "2.1.211 (Claude Code)"
claude doctor        # Diagnostica approfondita senza avviare sessione

Log in e primo avvio

cd /tuo/progetto
claude

Al primo avvio ti verrà chiesto di fare login. Puoi usare:

  • Claude Pro, Max, Team, Enterprise — consigliato
  • Claude Console (API Console con crediti prepagati)
  • Provider cloud — Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry
  • Gateway aziendale — se la tua organizzazione ne ha uno

Una volta loggato, le credenziali vengono salvate e non devi più rifarlo. Per cambiare account o rifare il login in sessione, usa /login.

Superfici di utilizzo

Terminale (CLI)

La superficie più completa. Comandi shell utili:

ComandoCosa fa
claudeSessione interattiva
claude "task"Task one-shot
claude -p "query"Domanda singola, poi esce
claude -cContinua ultima conversazione
claude -rRiprende conversazione salvata
claude --resumeSeleziona da cronologia
claude agentsApre Agent view (sessioni multiple)

Comandi di sessione (dentro Claude Code):

ComandoCosa fa
/helpComandi disponibili
/clearPulisce cronologia
/compactComprime contesto per risparmiare token
/statusMostra modello, versione, stato
/exitEsce
/loginCambia account
/bgManda sessione in background
/configImpostazioni interattive

VS Code

Estensione con pannello laterale, diff inline visuali, @-mentions per file specifici e cronologia. Cerca “Claude Code” in Extensions (Cmd+Shift+X) e aprilo dalla Command Palette.

Desktop App

Scaricabile da claude.com/download. Visuale diff, sessioni multiple in parallelo, task programmati, sessioni cloud.

Web

Su claude.ai/code. Nessuna installazione, task remoti su repo che non hai in locale.

JetBrains

Plugin su JetBrains Marketplace per IntelliJ, PyCharm, WebStorm. Richiede il CLI installato separatamente.

Slack

Installa l’app Claude e menziona @Claude in canali o DM. Claude apre una PR per risolvere bug report o implementare feature descritte in chat.

Comandi di sessione (slash commands)

All’interno di una sessione Claude Code, puoi usare i comandi slash per controllare il comportamento, cambiare modello, gestire permessi, e organizzare il lavoro. Basta scrivere / seguito dal nome del comando.

Ecco una panoramica dei comandi principali, raggruppati per contesto d’uso:

Durante un task

  • /btw [domanda] — fai una domanda veloce senza inquinare la cronologia della conversazione. Utile per chiedere un chiarimento rapido senza perdere il filo del discorso principale.
  • /plan — entra in plan mode: Claude analizza e propone modifiche senza toccare nulla. Read-only, perfetto prima di un cambiamento grosso.
  • /model [nome] — cambia modello al volo durante la sessione.
  • /effort [low|medium|high|xhigh|max|ultracode] — imposta quanto ragionamento Claude applica. Più alto è, più è accurato ma più lento e costoso.
  • /context — visualizza l’uso della context window come una griglia colorata. Mostra cosa sta occupando spazio e suggerisce ottimizzazioni.
  • /compact [istruzioni] — comprime la cronologia per liberare contesto. Opzionalmente passi delle focus instructions per guidare il riassunto.
  • /memory — raffina o aggiorna il CLAUDE.md del progetto.
  • /permissions — gestisci le regole di permesso per i singoli tool (allow, ask, deny).
  • /add-dir <path> — aggiunge una directory di lavoro per accesso ai file durante la sessione.
  • /advisor [opus|sonnet|off] — consulta un secondo modello più potente per decisioni difficili.

Prima di pubblicare

  • /diff — mostra cosa è cambiato con un visualizzatore interattivo delle modifiche.
  • /code-review [livello] [--fix] — revisiona il diff per bug e pulizia del codice. Con --fix applica le correzioni automaticamente.
  • /review <PR#> — review rapida e read-only di una pull request GitHub.
  • /security-review — analisi di sicurezza del diff corrente.
  • /autofix-pr [prompt] — avvia una sessione cloud che guarda la PR del branch corrente e applica fix quando CI fallisce o arrivano commenti.

Lavorare in parallelo

  • /background [prompt] (alias /bg) — stacca la sessione corrente e la fa girare in background, liberando il terminale.
  • /batch <istruzione> — suddivide un cambiamento grosso in unità indipendenti (5-30) e le esegue in parallelo, ognuna in un worktree separato con PR dedicata.
  • /tasks — elenca le sessioni in background, compresi i sub-agenti che hanno finito.
  • /fork — copia la conversazione in una nuova sessione background senza interrompere quella corrente.
  • /branch [nome] — crea un branch della conversazione per provare una strada diversa senza perdere l’originale.
  • /subtask [task] — delega un task a un sub-agente che riporterà il risultato nella conversazione principale.
  • /agents — crea e gestisce configurazioni di sub-agenti.

Tra una sessione e l’altra

  • /clear [nome] — ricomincia da capo con contesto vuoto. Assegna un nome alla conversazione precedente per riprenderla dopo.
  • /resume — torna a una conversazione precedente.
  • /teleport — tira una sessione web (da claude.ai/code) nel terminale locale.
  • /remote-control — continua questa sessione locale da un altro dispositivo (telefono, browser).
  • /desktop (alias /app) — continua la sessione nella Desktop app con visuale diff. Disponibile su macOS e Windows.
  • /export [filename] — esporta la conversazione come testo.

Quando qualcosa non va

  • /rewind — torna indietro a un checkpoint, ripristinando codice e conversazione.
  • /doctor — diagnostica installazione, configurazione, PATH, skill inutilizzate, aggiornamenti disponibili.
  • /debug [descrizione] — attiva il debug logging e analizza i log per risolvere problemi.
  • /bug (alias /share) — segnala un bug con il contesto della sessione allegato.
  • /feedback — report di feedback con contesto.
  • /fast [on|off] — attiva/disattiva la fast mode per risposte più rapide.

Altri comandi utili

  • /config [key=value] — interfaccia impostazioni. Da v2.1.181 puoi passare key=value direttamente, es. /config theme=dark.
  • /status — mostra modello, versione, stato della sessione.
  • /usage (alias /cost) — mostra il consumo di token e i costi della sessione.
  • /help — elenca tutti i comandi disponibili.
  • /exit (alias /quit) — esce dalla CLI. In una sessione background attaccata, la stacca ma la sessione continua.
  • /cd <path> — sposta la sessione in una nuova directory di lavoro. La cache dei prompt viene preservata.
  • /init — genera un CLAUDE.md iniziale analizzando la codebase.
  • /copy [N] — copia l’ultima risposta (o l’N-esima) negli appunti.
  • /color [colore] — cambia il colore della barra dei prompt.
  • /mcp — mostra lo stato dei server MCP connessi.
  • /loop <intervallo> <prompt> — ripete un prompt a intervalli durante la sessione.
  • /goal <obiettivo> — imposta una condizione e Claude lavora finché non è soddisfatta.
  • /sandbox — attiva e configura il sandboxing per esecuzione comandi isolata.
  • /claude-api — carica materiale di riferimento API Claude per il linguaggio del progetto.

Comandi da terminale (CLI)

Oltre ai comandi slash in sessione, Claude Code offre una serie di comandi da terminale per gestire installazione, autenticazione e sessioni senza entrare in una conversazione.

Avvio e gestione sessioni

  • claude — avvia una sessione interattiva nella directory corrente.
  • claude "prompt" — avvia sessione interattiva con prompt iniziale.
  • claude -p "query" — modalità SDK: esegue una query e termina. Ideale per script e CI.
  • cat file | claude -p "query" — processa contenuto pipeato.
  • claude -c — continua la conversazione più recente nella directory corrente.
  • claude -r "<nome>" "query" — riprende una sessione specifica per ID o nome.
  • claude --resume — seleziona una sessione dalla cronologia.
  • claude --worktree "prompt" — avvia una sessione in un worktree separato, per lavorare su branch diversi senza collisioni.
  • claude --cloud "task" — crea una nuova sessione web su claude.ai/code.
  • claude --bg "task" — avvia una sessione in background e torna subito al terminale.

Autenticazione

  • claude auth login — accedi al tuo account Anthropic. Con --console accedi con API Console.
  • claude auth logout — esci dall’account.
  • claude auth status — mostra lo stato di autenticazione.
  • claude setup-token — genera un token OAuth longevo per CI e script.

Gestione installazione

  • claude update — aggiorna all’ultima versione.
  • claude install [version] — installa o reinstalla una versione specifica (es. claude install stable).
  • claude doctor — diagnostica read-only dell’installazione senza avviare sessione.

Sessioni in background

  • claude agents — apre la agent view per monitorare e dispatchare sessioni in parallelo.
  • claude agents --json — stampa le sessioni attive come JSON.
  • claude attach <id> — si attacca a una sessione background nel terminale corrente.
  • claude logs <id> — stampa l’output recente di una sessione background.
  • claude stop <id> (alias claude kill) — ferma una sessione background.
  • claude respawn <id> — riavvia una sessione background con la conversazione intatta.
  • claude rm <id> — rimuove una sessione background dalla lista.
  • claude daemon status — diagnostica del supervisor delle sessioni background.
  • claude daemon stop — ferma il supervisor e le sessioni che ospita.
  • claude remote-control — avvia un server Remote Control per controllare Claude Code da Claude.ai o dall’app mobile.

Configurazione e MCP

  • claude mcp add — aggiunge un server MCP.
  • claude mcp list — elenca i server MCP configurati.
  • claude mcp get <nome> — mostra i dettagli di un server MCP.
  • claude mcp remove <nome> — rimuove un server MCP.
  • claude mcp login <nome> — avvia il flusso OAuth per un server MCP senza entrare in sessione.
  • claude mcp logout <nome> — cancella le credenziali OAuth di un server MCP.
  • claude plugin install <nome> — installa un plugin.
  • claude auto-mode defaults — stampa le regole built-in di auto mode.
  • claude auto-mode reset — ripristina la configurazione default di auto mode.
  • claude project purge [path] — cancella lo stato locale di Claude Code per un progetto.
  • claude gateway --config gateway.yaml — avvia il server gateway self-hostato per SSO e policy.

Permessi e sicurezza

Una delle prime cose da capire su Claude Code è come gestisce le autorizzazioni. Ha un sistema a più livelli che bilancia potenza e sicurezza.

Permission Modes

ModalitàCosa fa
DefaultChiede approvazione prima di ogni modifica file e comando shell non read-only
acceptEditsApprova automaticamente le modifiche ai file ma chiede per comandi shell
AutoControllo di sicurezza in background, blocca solo operazioni rischiose
PlanRead-only: analisi e proposte senza toccare nulla

Puoi cambiare modalità al volo con Shift+Tab.

Regole granulari con /permissions

Oltre ai mode, hai regole fini per tool specifici. Con /permissions puoi:

  • Allow: autorizzare un comando senza chiedere (es. Bash(npm test))
  • Ask: chiedere conferma sempre per un tool
  • Deny: bloccare del tutto un tool o un pattern (es. Bash(rm *))

Le regole vengono salvate in .claude/settings.local.json (per progetto) o ~/.claude/settings.json (globali). Le deny rule su tool interi (es. Bash) lo rimuovono dal contesto di Claude, che smette del tutto di proporlo.

Sandboxing

Il Bash sandbox è un sistema di isolamento per l’esecuzione dei comandi. Su macOS usa Seatbelt, su Linux/WSL2 usa bubblewrap + socat. Con /sandbox puoi attivarlo e configurare:

  • Auto-allow: comandi sandboxati girano senza chiedere permesso
  • Filesystem isolation: i comandi possono scrivere solo nella working directory e nella temp session
  • Network domain approval: la prima volta che un comando tocca un nuovo dominio, chiede approvazione

Lo sandbox è attivabile per progetto o globalmente. Su Linux e WSL2 richiede bubblewrap e socat. Su native Windows non è supportato, solo in WSL2.

CLAUDE.md: la memoria persistente del progetto

Il file CLAUDE.md contiene tutto quello che Claude deve sapere sul progetto: standard di codifica, comandi di build, architettura, convenzioni di naming, workflow. Claude lo legge all’inizio di ogni sessione. È come dare un manuale a un nuovo collega.

Dove metterlo

ScopePercorso
Progetto./CLAUDE.md o ./.claude/CLAUDE.md
Personale~/.claude/CLAUDE.md
Locale./CLAUDE.local.md (gitignorato)
Enterprise/etc/claude-code/CLAUDE.md

Puoi generare un CLAUDE.md automaticamente con /init: Claude analizza la codebase, scopre comandi di build, test e convenzioni, e scrive una prima versione.

Regole per percorso con .claude/rules/

Per progetti grandi, .claude/rules/ contiene file markdown scoped a specifici tipi di file o directory. Claude carica solo le regole rilevanti per quello che sta facendo, riducendo il contesto sprecato.

Auto memory

Oltre al CLAUDE.md scritto da te, Claude Code ha un auto memory: quando noti un errore o ripeti una correzione, Claude se la registra da solo e la integra nelle sessioni successive. Non devi scrivere tutto a mano.

Le Skill

Le skill sono il modo più potente per estendere Claude Code. File SKILL.md che contengono procedure, workflow, istruzioni riutilizzabili. Claude le carica automaticamente quando sono rilevanti, o le invochi con /nome-skill.

Quando creare una skill

Ogni volta che ti ritrovi a ripetere le stesse istruzioni in chat. Esempi:

  • /review-pr — checklist di code review
  • /deploy-staging — procedura di deploy
  • /summarize-changes — riassunto modifiche non committate
  • /run — come lanciare l’applicazione
  • /code-review — analisi automatica
  • /debug — assistente al debug

Anatomia di una skill

~/.claude/skills/summarize-changes/
├── SKILL.md        # Istruzioni (obbligatorio)
├── template.md     # Template opzionale
└── scripts/
    └── validate.sh # Script eseguibili

Il file SKILL.md ha frontmatter YAML e contenuto markdown:

---
description: Riassume le modifiche non committate e segnala rischi.
---

## Modifiche correnti

!`git diff HEAD`

## Istruzioni

Riassumi le modifiche in 2-3 punti, poi elenca eventuali rischi.

La riga ` !git diff HEAD ` è contesto dinamico: Claude esegue il comando e sostituisce la riga con l’output prima di processare la skill. Dati sempre freschi.

Dove salvare le skill

PosizionePercorsoDisponibile in
EnterpriseConfigurazione gestitaTutta l’organizzazione
Personale~/.claude/skills//SKILL.mdTutti i progetti
Progetto.claude/skills//SKILL.mdSolo questo progetto
Plugin/skills//SKILL.mdDove il plugin è attivo

Le skill personali sovrascrivono quelle di progetto. I plugin usano namespace plugin:nome, nessun conflitto.

Skill bundle incluse

  • /doctor — diagnostica installazione
  • /code-review — revisione automatica
  • /debug — debug assistito
  • /run — avvia l’app
  • /verify — verifica modifiche
  • /loop — ripete un prompt
  • /batch — elaborazione batch
  • /run-skill-generator — registra come lanciare la tua app

Creare una skill al volo

Basta chiedere in chat: “Crea una skill per il deploy su staging e salvamela in ~/.claude/skills/deploy-staging/.” Claude scrive il file e la skill è subito attiva.

MCP: connettere Claude Code ai tuoi strumenti

MCP (Model Context Protocol) è lo standard aperto per connettere strumenti AI a fonti dati esterne, creato da Anthropic. In pratica Claude Code può:

  • Leggere ticket da Jira e implementare feature descritte lì
  • Analizzare errori da Sentry
  • Consultare database PostgreSQL
  • Interagire con Figma per design integration
  • Creare draft Gmail
  • Leggere e scrivere su Slack
  • React a eventi esterni (Telegram, Discord, webhook)

Installare un server MCP

Server HTTP remoto (consigliato):

claude mcp add --transport http notifica https://mcp.notion.com/mcp

Server stdio locale:

claude mcp add --env API_KEY=*** --transport stdio mysql -- npx -y mcp-mysql-server

Gestione:

claude mcp list          # Elenca server configurati
claude mcp get github    # Dettagli server
claude mcp remove mysql  # Rimuove server

In sessione, /mcp mostra lo stato dei server connessi.

Cosa puoi fare con MCP

L’idea chiave: smetti di copiare dati da altri tool nella chat.

Per capire quanto sia potente MCP con un esempio concreto: immagina che il tuo team ti scriva su Slack “Il bottone di pagamento non funziona su Safari”. Con un server MCP configurato, Claude Code può leggere quel messaggio direttamente da Slack, aprire il repository su GitHub, trovare il codice del bottone di pagamento, analizzare i log degli errori su Sentry, identificare il problema (per esempio un polyfill mancante per Safari), implementare la correzione, creare una PR su GitHub e rispondere su Slack con il link alla PR. Tutto in autonomia, senza che tu abbia copiato e incollato nulla da un’applicazione all’altra.

Claude si connette direttamente e va a leggerli da solo. Invece di incollare un errore Sentry, Claude si collega a Sentry. Invece di descrivere un ticket Jira, Claude lo legge da Jira. Invece di raccontargli una discussione Slack, Claude la va a pescare in autonomia.

Sub-agenti

I sub-agenti sono agenti specializzati che Claude può delegare per task specifici. Lavorano in un contesto separato: non inquinano la conversazione principale con output lunghi (log, search, esplorazione file).

Per capire perché servono i sub-agenti, immagina di lavorare a un progetto complesso e di aver bisogno di cercare informazioni in un’area del codice che non conosci bene. Se chiedi a Claude di esplorare e modificare tutto in un unico turno, la sua finestra di contesto si riempirà di file aperti, log di ricerca e contenuti che non ti serviranno più dopo il primo passo. È qui che entrano in gioco i sub-agenti: sono assistenti specializzati a cui delegare compiti precisi. Non chiami il developer senior per cercare un file — mandi l’esploratore. Non interrompi il lavoro principale per fare una ricerca laterale — la fa lo specialista. Ogni sub-agente lavora nel suo contesto separato, e solo il risultato finale torna alla conversazione principale, pulito e senza rumore.

Sub-agenti built-in

  • Explore — read-only per esplorare la codebase. Eredita il modello dalla conversazione principale (capped a Opus su API Claude). Skip dei CLAUDE.md e git status per restare veloce.
  • Plan — usato in modalità plan per raccogliere contesto prima di proporre modifiche.
  • General-purpose — agente completo per task che richiedono esplorazione e azione.

Creare sub-agenti personalizzati

File markdown con frontmatter in .claude/agents/ (progetto) o ~/.claude/agents/ (personale):

---
name: code-improver
description: Scansiona file e suggerisce miglioramenti.
tools: Read, Grep, Glob
model: sonnet
---

Sei uno specialista di miglioramento codice. Per ogni problema trovato,
spiega il problema, mostra il codice corrente e proponi una versione migliorata.

Poi chiedi “fai analizzare il modulo auth da code-improver” e Claude delega.

Agent teams (sperimentale)

Gli agent teams sono un passo avanti rispetto ai sub-agenti: più sessioni Claude Code lavorano in parallelo e si parlano tra loro. Un lead coordina, assegna task, e sintetizza i risultati. I teammate comunicano direttamente, non solo col lead.

La differenza rispetto ai sub-agenti è che i teammate possono discutere, confrontare ipotesi e coordinarsi autonomamente, mentre i sub-agenti riferiscono solo al chiamante.

Abilitazione: CLAUDECODEEXPERIMENTALAGENTTEAMS=1 in settings.json. Utile per task che richiedono prospettive multiple: ricerca parallela, implementazione cross-layer, debugging con ipotesi concorrenti.

Agent view: gestire sessioni in background

claude agents apre una dashboard nel terminale che mostra tutte le sessioni in background raggruppate per stato: Needs input, Working, Completed.

Da qui puoi:

  • Dispatchare nuovi task
  • Peek e rispondere velocemente mantenendo la dashboard
  • Attach/Detach per entrare in una sessione completa
  • Backgroundare una sessione attuale con /bg o

È il modo migliore per lavorare con più task indipendenti senza dover aspettare che uno finisca per iniziarne un altro.

Artifacts: condividere il lavoro come pagine live

Gli artifacts trasformano l’output di una sessione in una pagina web live pubblicata su claude.ai. Apri la pagina nel browser e si aggiorna da sola mentre Claude continua a lavorare.

Usali quando il testo nel terminale non è il formato giusto: una dashboard di deploy failures, un walkthrough annotato di una PR, un’indagine che si aggiorna mentre Claude investiga.

Puoi condividere l’artifact con:

  • Te stesso (default, visibile solo a te)
  • La tua organizzazione (piani Team/Enterprise)
  • Pubblicamente (link aperto a chiunque)

Ogni publish diventa una versione, e dal controllo Share scegli quale versione mostrare. Per aggiornare un artifact da un’altra sessione, basta dargli l’URL.

Hooks: automazione nel ciclo di vita

Gli hooks sono script shell, endpoint HTTP o prompt LLM che si attivano automaticamente in punti specifici del lifecycle. Si configurano in .claude/settings.json.

Eventi principali

EventoQuando si attiva
SessionStartAll’avvio di una sessione
SetupCon --init-only per preparazione CI
UserPromptSubmitQuando invii un prompt
PreToolUsePrima che Claude esegua uno strumento
PostToolUseDopo che uno strumento è stato eseguito
StopQuando Claude finisce di rispondere
StopFailureQuando il turno termina per errore API
SessionEndQuando la sessione termina
FileChangedQuando un file watchato cambia su disco

Casi d’uso pratici

  • Auto-formatting dopo ogni modifica file (PostToolUse)
  • Blocco comandi distruttivi (PreToolUse su Bash con pattern rm -rf)
  • Notifica Slack a fine sessione (SessionEnd)
  • Backup prima di modifiche (PreToolUse su Edit)
  • Check deterministico con Stop hook: il turno non finisce finché un test non passa

Scheduling: eseguire task in autonomia

Claude Code offre tre modi per eseguire task su schedule:

1. /goal: lavora finché un obiettivo non è raggiunto

Imposta una condizione e Claude continua a lavorare turno dopo turno senza che tu debba ripromptare. Dopo ogni turno, un modello veloce verifica se la condizione è soddisfatta. Se no, Claude fa un altro turno.

/goal tutti i test in test/auth passano e lint è pulito

Utile per: migrazione moduli, implementazione design doc, smistamento issue backlog.

2. /loop: ripeti un prompt a intervalli

Riesegue lo stesso prompt ogni N minuti durante la sessione. Ideale per: pollare un deploy, controllare una build lunga.

/loop 5m verifica lo stato del deploy

3. Cloud Routines e Desktop tasks

Con Routines infrastructure Anthropic fa partire task su schedule anche quando il tuo computer è spento (intervallo minimo 1 ora). Con Desktop scheduled tasks il task gira sulla tua macchina (intervallo minimo 1 minuto).

Sviluppo locale e remoto

Claude Code è pensato per seguirti ovunque lavori.

Cambiare superficie senza perdere contesto

  • Desktop App: da terminale, /desktop continua la sessione nella Desktop app con visuale diff
  • Remote Control: dal telefono (app Claude iOS/Android) o da browser continui la sessione in esecuzione
  • Web: lancia un task su claude.ai/code, chiudi il computer, ritrovi tutto al ritorno
  • Teleport: claude --teleport sposta una sessione web nel terminale locale
  • Dispatch: dal telefono mandi un task (“fixa questo bug”) e lo ritrovi in esecuzione sulla Desktop app
  • Mobile: app Claude per iOS/Android, puoi continuare sessioni web

CI/CD

# Analisi log
tail -200 app.log | claude -p "Segnalami anomalie su Slack"

# Review automatica CI
git diff main --name-only | claude -p "revisiona sicurezza di questi file"

# Traduzioni batch
claude -p "traduci nuove stringhe in francese e crea PR"

Con GitHub Actions puoi anche attivare Claude con @claude in PR e issue:

  • Crea PR da issue
  • Analizza errori CI
  • Implementa feature descritte in issue
  • Fa code review su ogni PR

Setup con /install-github-app direttamente da terminale, oppure manualmente installando Claude GitHub App.

Worktrees

Sessioni parallele su branch diversi senza collisioni:

claude --worktree "fixa bug di login su branch fix/login-error"
claude --worktree "aggiungi test coverage per modulo pagamenti"

Channels: eventi da Telegram, Discord, iMessage

I channels sono server MCP che spingono eventi nella sessione in esecuzione. In pratica: ti scrive un messaggio su Telegram e Claude lo riceve e ci lavora.

Configurazione:

/plugin install telegram@claude-plugins-official
/telegram:configure 
claude --channels plugin:telegram@claude-plugins-official

Supportati: Telegram, Discord, iMessage. Ideali per CI alerts, segnalazioni da team, notifiche monitoring.

Best practice

Alcuni pattern che fanno la differenza tra un uso mediocre e uno eccellente di Claude Code.

Esplora prima, poi pianifica, poi implementa

La tentazione di saltare direttamente a “fai X” è forte ma controproducente. Il flusso consigliato ha tre fasi:

  1. Esplora: entra in plan mode. Claude legge file e risponde a domande senza modificare nulla. “Leggi il modulo auth e capisci come gestiamo le sessioni.”
  2. Pianifica: chiedi un piano dettagliato. “Voglio aggiungere OAuth via Google. Quali file devono cambiare? Qual è il flusso?”
  3. Implementa: esci da plan mode e fai implementare. “Implementa l’OAuth flow dal tuo piano. Scrivi test per il callback handler, esegui e fixa fallimenti.”

Dai a Claude un modo per verificare il suo lavoro

Questa è forse la regola più importante. Senza un test da eseguire, “sembra funzionare” è l’unico segnale disponibile. Con un comando che produce pass/fail, il loop si chiude da solo: Claude fa, esegue, legge il risultato, itera finché non passa.

Strategie:

StrategiaSenzaCon
Verification criteria“implementa validazione email”“scrivi validateEmail con test case: [email protected] è true, invalid è false. Esegui test dopo.”
Screenshot comparison“migliora la dashboard”“[screenshot] implementa questo design. Fai screenshot e confronta.”
Root cause fixing“la build fallisce”“la build fallisce con [errore]. Fixa e verifica. Affronta la causa, non sopprimere l’errore.”

Un passo ulteriore: usa /goal con auto mode. Claude lavora in autonomia e un verificatore separato controlla che l’obiettivo sia raggiunto, senza che tu debba stare davanti al terminale.

Scrivi CLAUDE.md proattivamente

Non aspettare che Claude faccia lo stesso errore due volte. Appena scopri una convenzione, un comando di build, una regola architetturale, scrivila subito in CLAUDE.md. Claude la legge all’inizio di ogni sessione e risparmi ore di correzioni.

Regola pratica:

  • CLAUDE.md per fatti e istruzioni permanenti (build, test, architettura, naming)
  • Skill per procedure multi-step (deploy, review, debug)
  • .claude/rules/ per regole scoped a specifici tipi di file o directory

Gestisci il contesto

La context window di Claude si riempie velocemente: ogni file che legge, ogni output di comando, ogni messaggio consuma token. Quando si avvicina al limite, Claude inizia a “dimenticare” istruzioni precedenti.

Strategie:

  • /compact comprime il contesto eliminando dettagli non essenziali
  • Sub-agenti per esplorazione: mantengono output lunghi in contesti separati
  • CLARO.md essenziale: sotto 200 righe per file
  • Skill caricate on-demand invece che in ogni sessione
  • /statusline personalizzato per monitorare il consumo contesto in tempo reale

Impostazioni e personalizzazione

Claude Code si configura via file JSON con diversi scope:

ScopeFile
ManagedServer-managed, plist, registry
User~/.claude/settings.json
Project.claude/settings.json (committato)
Local.claude/settings.local.json (gitignorato)

Priorità: Managed > CLI args > Local > Project > User.

In sessione, il comando /config apre un’interfaccia a tab. Da v2.1.181 puoi cambiare una singola opzione con /config key=value (es. /config verbose=true).

Il file ~/.claude.json contiene impostazioni globali come provider API, modello preferito, e configurazione MCP server.

Sviluppo con qualsiasi linguaggio

Claude Code capisce il codice indipendentemente dal linguaggio di programmazione. Funziona particolarmente bene con Python, JavaScript/TypeScript, Go, Rust, Java, Ruby, PHP, C/C++, Swift e molti altri. La qualità del risultato dipende principalmente da due fattori: la chiarezza del tuo CLAUDE.md e quanto bene il progetto è strutturato.

Non ci sono limitazioni tecniche: se il codice è leggibile da un umano che conosce il linguaggio, Claude Code ci lavora.

FAQ

Claude Code è uguale a GitHub Copilot?

No. Copilot è un autocomplete: mentre scrivi ti suggerisce la riga successiva. Claude Code è un agente: gli dai un obiettivo e lui organizza da solo lettura, modifica, esecuzione, test e commit. Copilot aiuta a scrivere più veloce. Claude Code aiuta a sviluppare.

Quale modello usa Claude Code?

Dipende dal tuo account. Con Pro usi Sonnet, con Max hai anche Opus, con Team/Enterprise la configurazione è personalizzabile. Con API Console scegli tu il modello. Puoi anche configurare provider esterni (Amazon Bedrock, Google Cloud, Microsoft Foundry). I sub-agenti ereditano il modello dalla conversazione principale e puoi configurarli su modelli più leggeri (Haiku) per risparmiare costi.

Claude Code modifica i file senza chiedere?

Dipende dalla modalità permessi. In modalità default, chiede sempre approvazione. In acceptEdits, approva modifiche file ma chiede per comandi shell rischiosi. In auto, fa un controllo di sicurezza in background. In plan, è read-only.

Serve una connessione internet?

Sì, tutta l’elaborazione avviene lato server Anthropic. La CLI ha bisogno di connettersi ai server per ogni interazione.

Posso usare Claude Code con qualsiasi linguaggio?

Sì, non ci sono limitazioni di linguaggio. Claude Code capisce qualsiasi codice tu abbia.

CLAUDE.md e skill: che differenza c’è?

CLAUDE.md contiene fatti e istruzioni permanenti caricate in ogni sessione. Le skill sono procedure attivabili caricate solo quando servono. Regola pratica: se è una procedura multi-step che copi spesso in chat, è una skill. Se è un fatto che vuoi Claude sappia sempre, è CLAUDE.md.

Come si integra con Git?

Claude Code ha Git integrato: diff, stage, commit, branch, merge, rebase, PR. Tutto via linguaggio naturale. Con i worktrees puoi lavorare su branch diversi in parallelo.

Si può usare in CI/CD?

Sì. Claude Code gira in GitHub Actions (trigger @claude in PR/issue) e GitLab CI/CD. Puoi anche usarlo in pipeline custom: pipe di log, analisi batch, traduzioni, code review automatica.

Newsletter settimanale con le ultime novità sull’intelligenza artificiale

Corso gratuito sull’Intelligenza Artificiale, dalle nozioni base ai concetti più complessi

Condividi:

Potrebbero interessarti