Comandi CLI
| Comando | Descrizione | Esempio |
claude | Avvia REPL interattivo | claude |
claude "query" | Avvia REPL con prompt iniziale | claude "explain this project" |
claude -p "query" | Esegui query tramite SDK, quindi esci | claude -p "explain this function" |
cat file | claude -p "query" | Elabora contenuto tramite pipe | cat logs.txt | claude -p "explain" |
claude -c | Continua la conversazione più recente | claude -c |
claude -c -p "query" | Continua tramite SDK | claude -c -p "Check for type errors" |
claude -r "<session-id>" "query" | Riprendi sessione per ID | claude -r "abc123" "Finish this PR" |
claude update | Aggiorna alla versione più recente | claude update |
claude mcp | Configura server Model Context Protocol (MCP) | Vedi la documentazione Claude Code MCP. |
Flag CLI
Personalizza il comportamento di Claude Code con questi flag della riga di comando:
| Flag | Descrizione | Esempio |
--add-dir | Aggiungi directory di lavoro aggiuntive per l’accesso di Claude (convalida che ogni percorso esista come directory) | claude --add-dir ../apps ../lib |
--agents | Definisci subagenti personalizzati dinamicamente tramite JSON (vedi sotto per il formato) | claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}' |
--allowedTools | Un elenco di strumenti che dovrebbero essere consentiti senza richiedere l’autorizzazione dell’utente, in aggiunta ai file settings.json | "Bash(git log:*)" "Bash(git diff:*)" "Read" |
--disallowedTools | Un elenco di strumenti che dovrebbero essere disabilitati senza richiedere l’autorizzazione dell’utente, in aggiunta ai file settings.json | "Bash(git log:*)" "Bash(git diff:*)" "Edit" |
--print, -p | Stampa la risposta senza modalità interattiva (vedi la documentazione SDK per i dettagli di utilizzo programmatico) | claude -p "query" |
--system-prompt | Sostituisci l’intero prompt di sistema con testo personalizzato (funziona sia in modalità interattiva che di stampa; aggiunto in v2.0.14) | claude --system-prompt "You are a Python expert" |
--system-prompt-file | Carica il prompt di sistema da un file, sostituendo il prompt predefinito (solo modalità stampa; aggiunto in v1.0.54) | claude -p --system-prompt-file ./custom-prompt.txt "query" |
--append-system-prompt | Aggiungi testo personalizzato alla fine del prompt di sistema predefinito (funziona sia in modalità interattiva che di stampa; aggiunto in v1.0.55) | claude --append-system-prompt "Always use TypeScript" |
--output-format | Specifica il formato di output per la modalità stampa (opzioni: text, json, stream-json) | claude -p "query" --output-format json |
--input-format | Specifica il formato di input per la modalità stampa (opzioni: text, stream-json) | claude -p --output-format json --input-format stream-json |
--include-partial-messages | Includi eventi di streaming parziali nell’output (richiede --print e --output-format=stream-json) | claude -p --output-format stream-json --include-partial-messages "query" |
--verbose | Abilita la registrazione dettagliata, mostra l’output completo turno per turno (utile per il debug sia in modalità stampa che interattiva) | claude --verbose |
--max-turns | Limita il numero di turni agentici in modalità non interattiva | claude -p --max-turns 3 "query" |
--model | Imposta il modello per la sessione corrente con un alias per il modello più recente (sonnet o opus) o il nome completo di un modello | claude --model claude-sonnet-4-5-20250929 |
--permission-mode | Inizia in una modalità di autorizzazione specificata | claude --permission-mode plan |
--permission-prompt-tool | Specifica uno strumento MCP per gestire i prompt di autorizzazione in modalità non interattiva | claude -p --permission-prompt-tool mcp_auth_tool "query" |
--resume | Riprendi una sessione specifica per ID, o scegli in modalità interattiva | claude --resume abc123 "query" |
--continue | Carica la conversazione più recente nella directory corrente | claude --continue |
--dangerously-skip-permissions | Salta i prompt di autorizzazione (usa con cautela) | claude --dangerously-skip-permissions |
Il flag --output-format json è particolarmente utile per gli script e
l’automazione, permettendoti di analizzare le risposte di Claude a livello di programmazione.
Il flag --agents accetta un oggetto JSON che definisce uno o più subagenti personalizzati. Ogni subagente richiede un nome univoco (come chiave) e un oggetto di definizione con i seguenti campi:
| Campo | Obbligatorio | Descrizione |
description | Sì | Descrizione in linguaggio naturale di quando il subagente dovrebbe essere invocato |
prompt | Sì | Il prompt di sistema che guida il comportamento del subagente |
tools | No | Array di strumenti specifici che il subagente può utilizzare (ad es., ["Read", "Edit", "Bash"]). Se omesso, eredita tutti gli strumenti |
model | No | Alias del modello da utilizzare: sonnet, opus, o haiku. Se omesso, utilizza il modello subagente predefinito |
Esempio:
claude --agents '{
"code-reviewer": {
"description": "Expert code reviewer. Use proactively after code changes.",
"prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
"tools": ["Read", "Grep", "Glob", "Bash"],
"model": "sonnet"
},
"debugger": {
"description": "Debugging specialist for errors and test failures.",
"prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes."
}
}'
Per ulteriori dettagli sulla creazione e l’utilizzo di subagenti, vedi la documentazione dei subagenti.
Flag del prompt di sistema
Claude Code fornisce tre flag per personalizzare il prompt di sistema, ognuno con uno scopo diverso:
| Flag | Comportamento | Modalità | Caso d’uso |
--system-prompt | Sostituisce l’intero prompt predefinito | Interattiva + Stampa | Controllo completo sul comportamento e le istruzioni di Claude |
--system-prompt-file | Sostituisce con il contenuto del file | Solo stampa | Carica prompt da file per riproducibilità e controllo della versione |
--append-system-prompt | Aggiunge al prompt predefinito | Interattiva + Stampa | Aggiungi istruzioni specifiche mantenendo il comportamento predefinito di Claude Code |
Quando usare ognuno:
-
--system-prompt: Usa quando hai bisogno di controllo completo sul prompt di sistema di Claude. Questo rimuove tutte le istruzioni predefinite di Claude Code, dandoti una lavagna pulita.
claude --system-prompt "You are a Python expert who only writes type-annotated code"
-
--system-prompt-file: Usa quando vuoi caricare un prompt personalizzato da un file, utile per la coerenza del team o per modelli di prompt controllati dalla versione.
claude -p --system-prompt-file ./prompts/code-review.txt "Review this PR"
-
--append-system-prompt: Usa quando vuoi aggiungere istruzioni specifiche mantenendo intatte le capacità predefinite di Claude Code. Questa è l’opzione più sicura per la maggior parte dei casi d’uso.
claude --append-system-prompt "Always use TypeScript and include JSDoc comments"
--system-prompt e --system-prompt-file si escludono a vicenda. Non puoi usare entrambi i flag contemporaneamente.
Per la maggior parte dei casi d’uso, --append-system-prompt è consigliato poiché preserva le capacità integrate di Claude Code aggiungendo i tuoi requisiti personalizzati. Usa --system-prompt o --system-prompt-file solo quando hai bisogno di controllo completo sul prompt di sistema.
Per informazioni dettagliate sulla modalità stampa (-p) inclusi i formati di output,
lo streaming, la registrazione dettagliata e l’utilizzo programmatico, vedi la
documentazione SDK.
Vedi anche