La CLI era precedentemente chiamata “headless mode”. Il flag
-p e tutte le opzioni CLI funzionano allo stesso modo.-p con il tuo prompt e qualsiasi opzione CLI:
claude -p). Per i pacchetti SDK Python e TypeScript con output strutturati, callback di approvazione degli strumenti e oggetti messaggio nativi, consulta la documentazione completa dell’Agent SDK.
Utilizzo di base
Aggiungi il flag-p (o --print) a qualsiasi comando claude per eseguirlo in modo non interattivo. Tutte le opzioni CLI funzionano con -p, incluse:
--continueper continuare le conversazioni--allowedToolsper approvare automaticamente gli strumenti--output-formatper ottenere output strutturato
Esempi
Questi esempi evidenziano i modelli CLI comuni.Ottenere output strutturato
Utilizza--output-format per controllare come vengono restituite le risposte:
text(predefinito): output di testo semplicejson: JSON strutturato con risultato, ID sessione e metadatistream-json: JSON delimitato da newline per lo streaming in tempo reale
result:
--output-format json con --json-schema e una definizione JSON Schema. La risposta include metadati sulla richiesta (ID sessione, utilizzo, ecc.) con l’output strutturato nel campo structured_output.
Questo esempio estrae i nomi delle funzioni e li restituisce come array di stringhe:
Streaming delle risposte
Utilizza--output-format stream-json con --verbose e --include-partial-messages per ricevere i token mentre vengono generati. Ogni riga è un oggetto JSON che rappresenta un evento:
-r restituisce stringhe non elaborate (senza virgolette) e -j si unisce senza newline in modo che i token fluiscano continuamente:
Approvare automaticamente gli strumenti
Utilizza--allowedTools per consentire a Claude di utilizzare determinati strumenti senza chiedere. Questo esempio esegue una suite di test e corregge i guasti, consentendo a Claude di eseguire comandi Bash e leggere/modificare file senza chiedere il permesso:
Creare un commit
Questo esempio esamina le modifiche in staging e crea un commit con un messaggio appropriato:--allowedTools utilizza la sintassi delle regole di autorizzazione. Lo spazio finale * abilita la corrispondenza dei prefissi, quindi Bash(git diff *) consente qualsiasi comando che inizia con git diff. Lo spazio prima di * è importante: senza di esso, Bash(git diff*) corrisponderebbe anche a git diff-index.
Le skills richiamate dall’utente come
/commit e i comandi incorporati sono disponibili solo in modalità interattiva. In modalità -p, descrivi invece l’attività che desideri completare.Personalizzare il prompt di sistema
Utilizza--append-system-prompt per aggiungere istruzioni mantenendo il comportamento predefinito di Claude Code. Questo esempio invia un diff PR a Claude e gli istruisce di esaminarlo per vulnerabilità di sicurezza:
--system-prompt per sostituire completamente il prompt predefinito.
Continuare le conversazioni
Utilizza--continue per continuare la conversazione più recente, oppure --resume con un ID sessione per continuare una conversazione specifica. Questo esempio esegue una revisione, quindi invia prompt di follow-up:
Passaggi successivi
- Agent SDK quickstart: costruisci il tuo primo agente con Python o TypeScript
- CLI reference: tutti i flag e le opzioni CLI
- GitHub Actions: utilizza l’Agent SDK nei flussi di lavoro GitHub
- GitLab CI/CD: utilizza l’Agent SDK nelle pipeline GitLab