Comprendere nuove basi di codice
Ottenere una rapida panoramica della base di codice
Supponiamo che tu abbia appena aderito a un nuovo progetto e debba comprendere rapidamente la sua struttura.Trovare codice rilevante
Supponiamo che tu debba individuare il codice relativo a una funzionalità o funzione specifica.Correggere bug in modo efficiente
Supponiamo che tu abbia riscontrato un messaggio di errore e debba trovare e correggere la sua fonte.Effettuare refactoring del codice
Supponiamo che tu debba aggiornare il codice precedente per utilizzare modelli e pratiche moderne.Utilizzare subagent specializzati
Supponiamo che tu voglia utilizzare subagent AI specializzati per gestire attività specifiche in modo più efficace.Visualizzare i subagent disponibili
Utilizzare i subagent automaticamente
Claude Code delega automaticamente le attività appropriate ai subagent specializzati:
Creare subagent personalizzati per il tuo flusso di lavoro
- Un identificatore univoco che descrive lo scopo del subagent (ad esempio,
code-reviewer,api-designer). - Quando Claude dovrebbe utilizzare questo agente
- Quali strumenti può accedere
- Un prompt di sistema che descrive il ruolo e il comportamento dell’agente
Utilizzare Plan Mode per l’analisi sicura del codice
Plan Mode istruisce Claude a creare un piano analizzando la base di codice con operazioni di sola lettura, perfetto per esplorare basi di codice, pianificare modifiche complesse o rivedere il codice in modo sicuro. In Plan Mode, Claude utilizzaAskUserQuestion per raccogliere requisiti e chiarire i tuoi obiettivi prima di proporre un piano.
Quando utilizzare Plan Mode
- Implementazione multi-step: Quando la tua funzionalità richiede di apportare modifiche a molti file
- Esplorazione del codice: Quando desideri ricercare a fondo la base di codice prima di modificare qualsiasi cosa
- Sviluppo interattivo: Quando desideri iterare sulla direzione con Claude
Come utilizzare Plan Mode
Attivare Plan Mode durante una sessione Puoi passare a Plan Mode durante una sessione utilizzando Shift+Tab per scorrere le modalità di autorizzazione. Se sei in Normal Mode, Shift+Tab passa prima a Auto-Accept Mode, indicato da⏵⏵ accept edits on nella parte inferiore del terminale. Un successivo Shift+Tab passerà a Plan Mode, indicato da ⏸ plan mode on.
Avviare una nuova sessione in Plan Mode
Per avviare una nuova sessione in Plan Mode, usa il flag --permission-mode plan:
-p (cioè in “headless mode”):
Esempio: Pianificazione di un refactoring complesso
Configurare Plan Mode come predefinito
Lavorare con i test
Supponiamo che tu debba aggiungere test per il codice non coperto.
Claude può generare test che seguono i modelli e le convenzioni esistenti del tuo progetto. Quando chiedi test, sii specifico sul comportamento che desideri verificare. Claude esamina i tuoi file di test esistenti per abbinare lo stile, i framework e i modelli di asserzione già in uso.
Per una copertura completa, chiedi a Claude di identificare i casi limite che potresti aver perso. Claude può analizzare i tuoi percorsi di codice e suggerire test per condizioni di errore, valori limite e input inaspettati che sono facili da trascurare.
Creare pull request
Puoi creare pull request chiedendo direttamente a Claude (“create a pr for my changes”), oppure guidare Claude attraverso i passaggi: Quando crei una PR utilizzandogh pr create, la sessione viene automaticamente collegata a quella PR. Puoi riprenderla in seguito con claude --from-pr <number>.
Gestire la documentazione
Supponiamo che tu debba aggiungere o aggiornare la documentazione per il tuo codice.Lavorare con le immagini
Supponiamo che tu debba lavorare con immagini nella tua base di codice e desideri l’aiuto di Claude nell’analizzare il contenuto dell’immagine.Aggiungere un'immagine alla conversazione
Puoi utilizzare uno di questi metodi:
- Trascina e rilascia un’immagine nella finestra di Claude Code
- Copia un’immagine e incollala nella CLI con ctrl+v (Non usare cmd+v)
- Fornisci un percorso di immagine a Claude. Ad esempio, “Analyze this image: /path/to/your/image.png”
Fare riferimento a file e directory
Usa @ per includere rapidamente file o directory senza aspettare che Claude li legga.Fare riferimento a un singolo file
Fare riferimento alle risorse MCP
Utilizzare il pensiero esteso (thinking mode)
Extended thinking è abilitato per impostazione predefinita, dando a Claude lo spazio per ragionare attraverso problemi complessi passo dopo passo prima di rispondere. Questo ragionamento è visibile in modalità verbose, che puoi attivare conCtrl+O.
Inoltre, Opus 4.6 e Sonnet 4.6 supportano il ragionamento adattivo: invece di un budget di token di pensiero fisso, il modello alloca dinamicamente il pensiero in base alla tua impostazione di livello di sforzo. Extended thinking e il ragionamento adattivo lavorano insieme per darti il controllo su quanto profondamente Claude ragiona prima di rispondere.
Extended thinking è particolarmente prezioso per decisioni architettoniche complesse, bug impegnativi, pianificazione dell’implementazione multi-step e valutazione dei compromessi tra diversi approcci.
Frasi come “think”, “think hard” e “think more” sono interpretate come istruzioni di prompt regolari e non allocano token di pensiero.
Configurare la modalità di pensiero
Il pensiero è abilitato per impostazione predefinita, ma puoi regolarlo o disabilitarlo.| Ambito | Come configurare | Dettagli |
|---|---|---|
| Livello di sforzo | Esegui /effort, regola in /model, o imposta CLAUDE_CODE_EFFORT_LEVEL | Controlla la profondità del pensiero per Opus 4.6 e Sonnet 4.6. Vedi Regola il livello di sforzo |
Parola chiave ultrathink | Includi “ultrathink” in qualsiasi punto del tuo prompt | Imposta lo sforzo su alto per quel turno su Opus 4.6 e Sonnet 4.6. Utile per attività una tantum che richiedono un ragionamento profondo senza modificare permanentemente la tua impostazione di sforzo |
| Scorciatoia di attivazione/disattivazione | Premi Option+T (macOS) o Alt+T (Windows/Linux) | Attiva/disattiva il pensiero per la sessione corrente (tutti i modelli). Potrebbe richiedere la configurazione del terminale per abilitare le scorciatoie da tastiera Option |
| Predefinito globale | Usa /config per attivare/disattivare la modalità di pensiero | Imposta il tuo predefinito in tutti i progetti (tutti i modelli). Salvato come alwaysThinkingEnabled in ~/.claude/settings.json |
| Limitare il budget dei token | Imposta la variabile di ambiente MAX_THINKING_TOKENS | Limita il budget di pensiero a un numero specifico di token (ignorato su Opus 4.6 e Sonnet 4.6 a meno che non sia impostato su 0). Esempio: export MAX_THINKING_TOKENS=10000 |
Ctrl+O per attivare la modalità verbose e vedi il ragionamento interno visualizzato come testo grigio in corsivo.
Come funziona il pensiero esteso
Extended thinking controlla quanto ragionamento interno Claude esegue prima di rispondere. Più pensiero fornisce più spazio per esplorare soluzioni, analizzare casi limite e autocorreggersi gli errori. Con Opus 4.6 e Sonnet 4.6, il pensiero utilizza il ragionamento adattivo: il modello alloca dinamicamente i token di pensiero in base al livello di sforzo che selezioni. Questo è il modo consigliato per sintonizzare il compromesso tra velocità e profondità di ragionamento. Con modelli più vecchi, il pensiero utilizza un budget fisso di fino a 31.999 token dal tuo budget di output. Puoi limitare questo con la variabile di ambienteMAX_THINKING_TOKENS, o disabilitare completamente il pensiero tramite /config o l’attivazione/disattivazione Option+T/Alt+T.
MAX_THINKING_TOKENS è ignorato su Opus 4.6 e Sonnet 4.6, poiché il ragionamento adattivo controlla la profondità del pensiero. L’unica eccezione: impostare MAX_THINKING_TOKENS=0 disabilita comunque completamente il pensiero su qualsiasi modello. Per disabilitare il pensiero adattivo e tornare al budget di pensiero fisso, imposta CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1. Vedi variabili di ambiente.
Riprendere conversazioni precedenti
Quando avvii Claude Code, puoi riprendere una sessione precedente:claude --continuecontinua la conversazione più recente nella directory correnteclaude --resumeapre un selettore di conversazione o riprende per nomeclaude --from-pr 123riprende le sessioni collegate a una pull request specifica
/resume per passare a una conversazione diversa.
Le sessioni vengono archiviate per directory di progetto. Il selettore /resume mostra le sessioni dallo stesso repository git, inclusi i worktree.
Denominare le tue sessioni
Dai alle sessioni nomi descrittivi per trovarle in seguito. Questa è una best practice quando lavori su più attività o funzionalità.Denominare la sessione
Denomina una sessione all’avvio con Oppure usa Puoi anche rinominare qualsiasi sessione dal selettore: esegui
-n:/rename durante una sessione, che mostra anche il nome sulla barra del prompt:/resume, naviga a una sessione e premi R.Utilizzare il selettore di sessione
Il comando/resume (o claude --resume senza argomenti) apre un selettore di sessione interattivo con queste funzionalità:
Scorciatoie da tastiera nel selettore:
| Scorciatoia | Azione |
|---|---|
↑ / ↓ | Navigare tra le sessioni |
→ / ← | Espandere o comprimere le sessioni raggruppate |
Enter | Selezionare e riprendere la sessione evidenziata |
P | Visualizzare l’anteprima del contenuto della sessione |
R | Rinominare la sessione evidenziata |
/ | Cercare per filtrare le sessioni |
A | Alternare tra la directory corrente e tutti i progetti |
B | Filtrare le sessioni dal tuo ramo git corrente |
Esc | Uscire dal selettore o dalla modalità di ricerca |
- Nome della sessione o prompt iniziale
- Tempo trascorso dall’ultima attività
- Conteggio dei messaggi
- Ramo Git (se applicabile)
/rewind o --fork-session) sono raggruppate insieme sotto la loro sessione radice, rendendo più facile trovare conversazioni correlate.
Eseguire sessioni parallele di Claude Code con Git worktrees
Quando lavori su più attività contemporaneamente, hai bisogno che ogni sessione di Claude abbia la sua copia della base di codice in modo che le modifiche non si scontrino. I worktree Git risolvono questo creando directory di lavoro separate che hanno ciascuna i propri file e ramo, mentre condividono la stessa cronologia del repository e le connessioni remote. Ciò significa che puoi avere Claude che lavora su una funzionalità in un worktree mentre corregge un bug in un altro, senza che nessuna sessione interferisca con l’altra. Usa il flag--worktree (-w) per creare un worktree isolato e avviare Claude in esso. Il valore che passi diventa il nome della directory del worktree e il nome del ramo:
<repo>/.claude/worktrees/<name> e si diramano dal ramo remoto predefinito. Il ramo del worktree è denominato worktree-<name>.
Puoi anche chiedere a Claude di “work in a worktree” o “start a worktree” durante una sessione, e creerà uno automaticamente.
Worktree dei subagent
I subagent possono anche utilizzare l’isolamento del worktree per lavorare in parallelo senza conflitti. Chiedi a Claude di “use worktrees for your agents” o configuralo in un subagent personalizzato aggiungendoisolation: worktree al frontmatter dell’agente. Ogni subagent ottiene il suo worktree che viene automaticamente pulito quando il subagent finisce senza modifiche.
Pulizia del worktree
Quando esci da una sessione di worktree, Claude gestisce la pulizia in base al fatto che tu abbia apportato modifiche:- Nessuna modifica: il worktree e il suo ramo vengono rimossi automaticamente
- Modifiche o commit esistenti: Claude ti chiede se mantenere o rimuovere il worktree. Mantenere preserva la directory e il ramo in modo da poter tornare in seguito. Rimuovere elimina la directory del worktree e il suo ramo, scartando tutte le modifiche non sottoposte a commit e i commit
Gestire i worktree manualmente
Per un maggiore controllo sulla posizione del worktree e sulla configurazione del ramo, crea i worktree direttamente con Git. Questo è utile quando hai bisogno di controllare un ramo esistente specifico o posizionare il worktree al di fuori del repository.Controllo della versione non git
L’isolamento del worktree funziona con git per impostazione predefinita. Per altri sistemi di controllo della versione come SVN, Perforce o Mercurial, configura gli hook WorktreeCreate e WorktreeRemove per fornire logica personalizzata di creazione e pulizia del worktree. Quando configurati, questi hook sostituiscono il comportamento git predefinito quando usi--worktree.
Per il coordinamento automatizzato di sessioni parallele con attività condivise e messaggistica, vedi team di agenti.
Ricevere notifiche quando Claude ha bisogno della tua attenzione
Quando avvii un’attività a lunga esecuzione e passi a un’altra finestra, puoi configurare notifiche desktop in modo da sapere quando Claude finisce o ha bisogno del tuo input. Questo utilizza l’eventoNotification hook, che si attiva ogni volta che Claude è in attesa di autorizzazione, inattivo e pronto per un nuovo prompt, o completando l’autenticazione.
Aggiungere l'hook alle tue impostazioni
Apri Se il tuo file di impostazioni ha già una chiave
~/.claude/settings.json e aggiungi un hook Notification che chiama il comando di notifica nativa della tua piattaforma:- macOS
- Linux
- Windows
hooks, unisci la voce Notification in essa piuttosto che sovrascrivere. Puoi anche chiedere a Claude di scrivere l’hook per te descrivendo ciò che desideri nella CLI.Facoltativamente restringere il matcher
Per impostazione predefinita l’hook si attiva su tutti i tipi di notifica. Per attivarsi solo per eventi specifici, imposta il campo
matcher su uno di questi valori:| Matcher | Si attiva quando |
|---|---|
permission_prompt | Claude ha bisogno che tu approvi un utilizzo dello strumento |
idle_prompt | Claude ha finito ed è in attesa del tuo prossimo prompt |
auth_success | L’autenticazione si completa |
elicitation_dialog | Claude ti sta facendo una domanda |
Verificare l'hook
Digita
/hooks e seleziona Notification per confermare che l’hook appare. Selezionarlo mostra il comando che verrà eseguito. Per testarlo end-to-end, chiedi a Claude di eseguire un comando che richiede autorizzazione e passa a un’altra finestra, oppure chiedi a Claude di attivare una notifica direttamente.Utilizzare Claude come utilità di tipo unix
Aggiungere Claude al tuo processo di verifica
Supponiamo che tu voglia utilizzare Claude Code come linter o revisore del codice. Aggiungere Claude al tuo script di build:Pipe in, pipe out
Supponiamo che tu voglia inviare dati a Claude e ottenere dati in un formato strutturato. Inviare dati attraverso Claude:Controllare il formato di output
Supponiamo che tu abbia bisogno dell’output di Claude in un formato specifico, specialmente quando integri Claude Code in script o altri strumenti.Utilizzare il formato testo (predefinito)
Utilizzare il formato JSON
Chiedere a Claude delle sue capacità
Claude ha accesso integrato alla sua documentazione e può rispondere a domande sulle sue stesse funzionalità e limitazioni.Domande di esempio
Claude fornisce risposte basate sulla documentazione a queste domande. Per esempi eseguibili e dimostrazioni pratiche, fai riferimento alle sezioni di flusso di lavoro specifiche sopra.
Passaggi successivi
Best practices
Modelli per ottenere il massimo da Claude Code
Come funziona Claude Code
Comprendi il ciclo agentico e la gestione del contesto
Estendere Claude Code
Aggiungi skills, hooks, MCP, subagent e plugin
Implementazione di riferimento
Clona la nostra implementazione di riferimento del contenitore di sviluppo