SpyBara
Go Premium

common-workflows.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

1030 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

Flussi di lavoro comuni

Guide passo dopo passo per esplorare basi di codice, correggere bug, effettuare refactoring, testare e altri compiti quotidiani con Claude Code.

Questa pagina copre flussi di lavoro pratici per lo sviluppo quotidiano: esplorare codice non familiare, eseguire il debug, effettuare refactoring, scrivere test, creare PR e gestire sessioni. Ogni sezione include prompt di esempio che puoi adattare ai tuoi progetti. Per modelli e suggerimenti di livello superiore, vedi Best practices.

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.

1

Navigare alla directory radice del progetto

cd /path/to/project 
2

Avviare Claude Code

claude 
3

Chiedere una panoramica di alto livello

give me an overview of this codebase
4

Approfondire componenti specifici

explain the main architecture patterns used here
what are the key data models?
how is authentication handled?

Trovare codice rilevante

Supponiamo che tu debba individuare il codice relativo a una funzionalità o funzione specifica.

1

Chiedere a Claude di trovare file rilevanti

find the files that handle user authentication
2

Ottenere contesto su come i componenti interagiscono

how do these authentication files work together?
3

Comprendere il flusso di esecuzione

trace the login process from front-end to database

Correggere bug in modo efficiente

Supponiamo che tu abbia riscontrato un messaggio di errore e debba trovare e correggere la sua fonte.

1

Condividere l'errore con Claude

I'm seeing an error when I run npm test
2

Chiedere raccomandazioni per la correzione

suggest a few ways to fix the @ts-ignore in user.ts
3

Applicare la correzione

update user.ts to add the null check you suggested

Effettuare refactoring del codice

Supponiamo che tu debba aggiornare il codice precedente per utilizzare modelli e pratiche moderne.

1

Identificare il codice legacy per il refactoring

find deprecated API usage in our codebase
2

Ottenere raccomandazioni per il refactoring

suggest how to refactor utils.js to use modern JavaScript features
3

Applicare le modifiche in modo sicuro

refactor utils.js to use ES2024 features while maintaining the same behavior
4

Verificare il refactoring

run tests for the refactored code

Utilizzare subagent specializzati

Supponiamo che tu voglia utilizzare subagent AI specializzati per gestire attività specifiche in modo più efficace.

1

Visualizzare i subagent disponibili

/agents

Questo mostra tutti i subagent disponibili e ti consente di crearne di nuovi.

2

Utilizzare i subagent automaticamente

Claude Code delega automaticamente le attività appropriate ai subagent specializzati:

review my recent code changes for security issues
run all tests and fix any failures
3

Richiedere esplicitamente subagent specifici

use the code-reviewer subagent to check the auth module
have the debugger subagent investigate why users can't log in
4

Creare subagent personalizzati per il tuo flusso di lavoro

/agents

Quindi seleziona "Create New subagent" e segui i prompt per definire:

  • 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 utilizza AskUserQuestion 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:

claude --permission-mode plan

Eseguire query "headless" in Plan Mode

Puoi anche eseguire una query in Plan Mode direttamente con -p (cioè in "headless mode"):

claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"

Esempio: Pianificazione di un refactoring complesso

claude --permission-mode plan
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.

Claude analizza l'implementazione attuale e crea un piano completo. Affina con follow-up:

What about backward compatibility?
How should we handle database migration?

Quando accetti un piano, Claude denomina automaticamente la sessione dal contenuto del piano. Il nome appare sulla barra del prompt e nel selettore di sessione. Se hai già impostato un nome con --name o /rename, accettare un piano non lo sovrascriverà.

Configurare Plan Mode come predefinito

// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

Vedi la documentazione delle impostazioni per ulteriori opzioni di configurazione.


Lavorare con i test

Supponiamo che tu debba aggiungere test per il codice non coperto.

1

Identificare il codice non testato

find functions in NotificationsService.swift that are not covered by tests
2

Generare lo scaffolding dei test

add tests for the notification service
3

Aggiungere casi di test significativi

add test cases for edge conditions in the notification service
4

Eseguire e verificare i test

run the new tests and fix any failures

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:

1

Riassumere le tue modifiche

summarize the changes I've made to the authentication module
2

Generare una pull request

create a pr
3

Rivedere e affinare

enhance the PR description with more context about the security improvements

Quando crei una PR utilizzando gh 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.

1

Identificare il codice non documentato

find functions without proper JSDoc comments in the auth module
2

Generare la documentazione

add JSDoc comments to the undocumented functions in auth.js
3

Rivedere e migliorare

improve the generated documentation with more context and examples
4

Verificare la documentazione

check if the documentation follows our project standards

Lavorare in note e cartelle non di codice

Claude Code funziona in qualsiasi directory. Eseguilo all'interno di un vault di note, una cartella di documentazione o qualsiasi raccolta di file markdown per cercare, modificare e riorganizzare il contenuto nello stesso modo in cui faresti con il codice.

La directory .claude/ e CLAUDE.md si trovano insieme alle directory di configurazione di altri strumenti senza conflitti. Claude legge i file freschi ad ogni chiamata dello strumento, quindi vede le modifiche che fai in un'altra applicazione la prossima volta che legge quel file.


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.

1

Aggiungere un'immagine alla conversazione

Puoi utilizzare uno di questi metodi:

  1. Trascina e rilascia un'immagine nella finestra di Claude Code
  2. Copia un'immagine e incollala nella CLI con ctrl+v (Non usare cmd+v)
  3. Fornisci un percorso di immagine a Claude. Ad esempio, "Analyze this image: /path/to/your/image.png"
2

Chiedere a Claude di analizzare l'immagine

What does this image show?
Describe the UI elements in this screenshot
Are there any problematic elements in this diagram?
3

Utilizzare le immagini per il contesto

Here's a screenshot of the error. What's causing it?
This is our current database schema. How should we modify it for the new feature?
4

Ottenere suggerimenti di codice dal contenuto visivo

Generate CSS to match this design mockup
What HTML structure would recreate this component?

Fare riferimento a file e directory

Usa @ per includere rapidamente file o directory senza aspettare che Claude li legga.

1

Fare riferimento a un singolo file

Explain the logic in @src/utils/auth.js

Questo include il contenuto completo del file nella conversazione.

2

Fare riferimento a una directory

What's the structure of @src/components?

Questo fornisce un elenco di directory con informazioni sui file.

3

Fare riferimento alle risorse MCP

Show me the data from @github:repos/owner/repo/issues

Questo recupera i dati dai server MCP connessi utilizzando il formato @server:resource. Vedi risorse MCP per i dettagli.


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 con Ctrl+O. Durante il pensiero esteso, lo spinner mostra suggerimenti di progresso inline come "still thinking" e "almost done thinking" per indicare che Claude sta lavorando attivamente.

Inoltre, i modelli che supportano lo sforzo utilizzano il ragionamento adattivo: invece di un budget di token di pensiero fisso, il modello decide dinamicamente se e quanto pensare in base alla tua impostazione di livello di sforzo e al compito in questione. Il ragionamento adattivo consente a Claude di rispondere più velocemente ai prompt di routine e di riservare un pensiero più profondo ai passaggi che ne traggono beneficio.

Extended thinking è particolarmente prezioso per decisioni architettoniche complesse, bug impegnativi, pianificazione dell'implementazione multi-step e valutazione dei compromessi tra diversi approcci.

Configurare Thinking Mode

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 su modelli supportati
Parola chiave ultrathink Includi "ultrathink" in qualsiasi punto del tuo prompt Aggiunge un'istruzione in-context che dice al modello di ragionare di più su quel turno. Non cambia il livello di sforzo stesso; vedi Regola il livello di sforzo per questo
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 Thinking Mode 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. Su modelli con ragionamento adattivo, solo 0 si applica a meno che il ragionamento adattivo non sia disabilitato. Esempio: export MAX_THINKING_TOKENS=10000

Per visualizzare il processo di pensiero di Claude, premi 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.

Su modelli che supportano lo sforzo, 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. Se desideri che Claude pensi più o meno spesso di quanto il tuo livello di sforzo produrrebbe altrimenti, puoi anche dirlo direttamente nel tuo prompt o in CLAUDE.md.

Con modelli più vecchi, il pensiero utilizza un budget fisso di token prelevato dalla tua allocazione di output. Il budget varia in base al modello; vedi MAX_THINKING_TOKENS per i massimali per modello. Puoi limitare il budget con quella variabile di ambiente, o disabilitare completamente il pensiero tramite /config o l'attivazione/disattivazione Option+T/Alt+T.

Su modelli con ragionamento adattivo, MAX_THINKING_TOKENS si applica solo quando impostato su 0 per disabilitare il pensiero, o quando CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 ripristina il modello al budget fisso. CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING si applica solo a Opus 4.6 e Sonnet 4.6. Opus 4.7 utilizza sempre il ragionamento adattivo e non supporta un budget di pensiero fisso. Vedi variabili di ambiente.


Riprendere conversazioni precedenti

Quando avvii Claude Code, puoi riprendere una sessione precedente:

  • claude --continue continua la conversazione più recente nella directory corrente
  • claude --resume apre un selettore di conversazione o riprende per nome
  • claude --from-pr 123 riprende le sessioni collegate a una pull request specifica

Da una sessione attiva, usa /resume per passare a una conversazione diversa.

Quando la sessione selezionata è vecchia e abbastanza grande che rileggere la richiederebbe una quota sostanziale dei tuoi limiti di utilizzo, --resume, --continue e /resume offrono di riprendere da un riassunto invece di caricare la trascrizione completa. Questo prompt non è disponibile su Amazon Bedrock, Google Cloud Vertex AI o Microsoft Foundry.

Le sessioni vengono archiviate per directory di progetto. Per impostazione predefinita, il selettore /resume mostra le sessioni interattive dal worktree corrente, con scorciatoie da tastiera per ampliare l'elenco ad altri worktree o progetti, cercare, visualizzare l'anteprima e rinominare. Vedi Utilizzare il selettore di sessione di seguito per il riferimento completo delle scorciatoie.

Quando selezioni una sessione da un altro worktree dello stesso repository, Claude Code la riprende direttamente senza richiedere di cambiare directory prima. Selezionare una sessione da un progetto non correlato copia un comando cd e resume negli appunti.

La ripresa per nome si risolve nel repository corrente e nei suoi worktree. Sia claude --resume <name> che /resume <name> cercano una corrispondenza esatta e la riprendono direttamente, anche se la sessione si trova in un worktree diverso.

Quando il nome è ambiguo, claude --resume <name> apre il selettore con il nome pre-compilato come termine di ricerca. /resume <name> da una sessione attiva segnala un errore, quindi esegui /resume senza argomenti per aprire il selettore e scegliere.

Le sessioni create da claude -p o da invocazioni SDK non appaiono nel selettore, ma puoi comunque riprenderne una passando il suo ID di sessione direttamente a claude --resume <session-id>.

Denominare le tue sessioni

Dai alle sessioni nomi descrittivi per trovarle in seguito. Questa è una best practice quando lavori su più attività o funzionalità.

1

Denominare la sessione

Denomina una sessione all'avvio con -n:

claude -n auth-refactor

Oppure usa /rename durante una sessione, che mostra anche il nome sulla barra del prompt:

/rename auth-refactor

Puoi anche rinominare qualsiasi sessione dal selettore: esegui /resume, naviga a una sessione e premi Ctrl+R.

2

Riprendere per nome in seguito

Dalla riga di comando:

claude --resume auth-refactor

O da una sessione attiva:

/resume auth-refactor

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
Space Visualizzare l'anteprima del contenuto della sessione. Ctrl+V funziona anche su terminali che non lo catturano come incolla
Ctrl+R Rinominare la sessione evidenziata
/ o qualsiasi carattere stampabile diverso da Space Entrare in modalità di ricerca e filtrare le sessioni
Ctrl+A Mostrare le sessioni da tutti i progetti su questa macchina. Premi di nuovo per ripristinare il repository corrente
Ctrl+W Mostrare le sessioni da tutti i worktree del repository corrente. Premi di nuovo per ripristinare il worktree corrente. Mostrato solo in repository con più worktree
Ctrl+B Filtrare le sessioni dal tuo ramo git corrente. Premi di nuovo per mostrare le sessioni da tutti i rami
Esc Uscire dal selettore o dalla modalità di ricerca

Organizzazione della sessione:

Il selettore visualizza le sessioni con metadati utili:

  • Nome della sessione se impostato, altrimenti il riassunto della conversazione o il primo prompt dell'utente
  • Tempo trascorso dall'ultima attività
  • Conteggio dei messaggi
  • Ramo Git (se applicabile)
  • Percorso del progetto, mostrato dopo l'ampliamento a tutti i progetti con Ctrl+A

Le sessioni fork (create con /branch, /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:

# Avviare Claude in un worktree denominato "feature-auth"
# Crea .claude/worktrees/feature-auth/ con un nuovo ramo
claude --worktree feature-auth

# Avviare un'altra sessione in un worktree separato
claude --worktree bugfix-123

Se ometti il nome, Claude ne genera uno casuale automaticamente:

# Genera automaticamente un nome come "bright-running-fox"
claude --worktree

I worktree vengono creati in <repo>/.claude/worktrees/<name> e si diramano dal ramo remoto predefinito, che è dove origin/HEAD punta. Il ramo del worktree è denominato worktree-<name>.

Il ramo di base non è configurabile tramite un flag o un'impostazione di Claude Code. origin/HEAD è un riferimento archiviato nella tua directory .git locale che Git ha impostato una volta quando hai clonato. Se il ramo predefinito del repository cambia successivamente su GitHub o GitLab, il tuo origin/HEAD locale continua a puntare a quello vecchio, e i worktree si diramano da lì. Per risincronizzare il tuo riferimento locale con quello che il remoto considera attualmente il suo predefinito:

git remote set-head origin -a

Questo è un comando Git standard che aggiorna solo la tua directory .git locale. Nulla sul server remoto cambia. Se desideri che i worktree si basino su un ramo specifico piuttosto che sul predefinito del remoto, impostalo esplicitamente con git remote set-head origin your-branch-name.

Per il controllo completo su come vengono creati i worktree, inclusa la scelta di una base diversa per invocazione, configura un hook WorktreeCreate. L'hook sostituisce completamente la logica predefinita di git worktree di Claude Code, quindi puoi recuperare e diramati da qualsiasi ref di cui hai bisogno.

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 aggiungendo isolation: 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

I worktree dei subagent orfani da un crash o da un'esecuzione parallela interrotta vengono rimossi automaticamente all'avvio una volta che sono più vecchi della tua impostazione cleanupPeriodDays, a condizione che non abbiano modifiche non sottoposte a commit, nessun file non tracciato e nessun commit non sottoposto a push. I worktree che crei con --worktree non vengono mai rimossi da questa pulizia.

Per pulire i worktree al di fuori di una sessione di Claude, usa la gestione manuale del worktree.

Copiare file ignorati da git nei worktree

I worktree Git sono checkout freschi, quindi non includono file non tracciati come .env o .env.local dal tuo repository principale. Per copiare automaticamente questi file quando Claude crea un worktree, aggiungi un file .worktreeinclude alla radice del tuo progetto.

Il file utilizza la sintassi .gitignore per elencare quali file copiare. Solo i file che corrispondono a un modello e sono anche ignorati da git vengono copiati, quindi i file tracciati non vengono mai duplicati.

.env
.env.local
config/secrets.json

Questo si applica ai worktree creati con --worktree, ai worktree dei subagent e alle sessioni parallele nell'app desktop.

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.

# Creare un worktree con un nuovo ramo
git worktree add ../project-feature-a -b feature-a

# Creare un worktree con un ramo esistente
git worktree add ../project-bugfix bugfix-123

# Avviare Claude nel worktree
cd ../project-feature-a && claude

# Pulire al termine
git worktree list
git worktree remove ../project-feature-a

Scopri di più nella documentazione ufficiale di Git worktree.

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, quindi .worktreeinclude non viene elaborato. Copia qualsiasi file di configurazione locale all'interno dello script del tuo hook.

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'evento Notification hook, che si attiva ogni volta che Claude è in attesa di autorizzazione, inattivo e pronto per un nuovo prompt, o completando l'autenticazione.

1

Aggiungere l'hook alle tue impostazioni

Apri ~/.claude/settings.json e aggiungi un hook Notification che chiama il comando di notifica nativa della tua piattaforma:

{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}

Se il tuo file di impostazioni ha già una chiave 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.

2

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 Un server MCP apre un modulo di elicitazione
elicitation_complete Un modulo di elicitazione MCP viene inviato o chiuso
elicitation_response Una risposta di elicitazione MCP viene inviata al server
3

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.

Per lo schema completo dell'evento e i tipi di notifica, vedi il riferimento Notification.


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:

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
    }
}

Pipe in, pipe out

Supponiamo che tu voglia inviare dati a Claude e ottenere dati in un formato strutturato.

Inviare dati attraverso Claude:

cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

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.

1

Utilizzare il formato testo (predefinito)

cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt

Questo restituisce solo la risposta di testo semplice di Claude (comportamento predefinito).

2

Utilizzare il formato JSON

cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json

Questo restituisce un array JSON di messaggi con metadati inclusi costo e durata.

3

Utilizzare il formato JSON in streaming

cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json

Questo restituisce una serie di oggetti JSON in tempo reale mentre Claude elabora la richiesta. Ogni messaggio è un oggetto JSON valido, ma l'intero output non è JSON valido se concatenato.


Eseguire Claude su una pianificazione

Supponiamo che tu voglia che Claude gestisca un'attività automaticamente su base ricorrente, come rivedere le PR aperte ogni mattina, controllare le dipendenze settimanalmente o verificare i fallimenti di CI durante la notte.

Scegli un'opzione di pianificazione in base a dove desideri che l'attività venga eseguita:

Opzione Dove viene eseguita Migliore per
Routines Infrastruttura gestita da Anthropic Attività che dovrebbero essere eseguite anche quando il tuo computer è spento. Possono anche attivarsi su chiamate API o eventi GitHub oltre a una pianificazione. Configura su claude.ai/code/routines.
Attività pianificate desktop La tua macchina, tramite l'app desktop Attività che hanno bisogno di accesso diretto a file locali, strumenti o modifiche non sottoposte a commit.
GitHub Actions La tua pipeline CI Attività legate a eventi del repository come PR aperte, o pianificazioni cron che dovrebbero vivere insieme alla tua configurazione del flusso di lavoro.
/loop La sessione CLI corrente Polling rapido mentre una sessione è aperta. Le attività si fermano quando inizi una nuova conversazione; --resume e --continue ripristinano quelle non scadute.

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

can Claude Code create pull requests?
how does Claude Code handle permissions?
what skills are available?
how do I use MCP with Claude Code?
how do I configure Claude Code for Amazon Bedrock?
what are the limitations of Claude Code?

Passaggi successivi