Impostazioni di Claude Code
Scopri come configurare Claude Code con impostazioni globali e a livello di progetto, temi e variabili d’ambiente.
Claude Code offre una varietà di impostazioni per configurare il suo comportamento in base alle tue esigenze. Puoi configurare Claude Code eseguendo claude config
nel tuo terminale, o il comando /config
quando usi il REPL interattivo.
Gerarchia della configurazione
Il nuovo file settings.json
è il nostro meccanismo ufficiale per configurare Claude Code attraverso impostazioni gerarchiche.
Le impostazioni utente sono definite in ~/.claude/settings.json
e si applicano a tutti i progetti.
Le impostazioni di progetto sono salvate nella directory del tuo progetto sotto .claude/settings.json
per le impostazioni condivise, e .claude/settings.local.json
per le impostazioni locali del progetto. Claude Code configurerà git per ignorare .claude/settings.local.json
quando viene creato.
Per le distribuzioni aziendali di Claude Code, supportiamo anche le impostazioni dei criteri gestiti dall’azienda. Queste hanno la precedenza sulle impostazioni utente e di progetto. Gli amministratori di sistema possono distribuire i criteri in /Library/Application Support/ClaudeCode/policies.json
su macOS e /etc/claude-code/policies.json
su Linux e Windows tramite WSL.
Precedenza delle impostazioni
Le impostazioni vengono applicate in ordine di precedenza, con le fonti successive che sovrascrivono le fonti precedenti:
- Impostazioni utente
- Impostazioni di progetto condivise
- Impostazioni di progetto locali
- Argomenti della riga di comando
- Criteri aziendali
Opzioni di configurazione
Claude Code supporta la configurazione globale e a livello di progetto.
Per gestire le tue configurazioni, usa i seguenti comandi:
- Elencare le impostazioni:
claude config list
- Vedere un’impostazione:
claude config get <key>
- Modificare un’impostazione:
claude config set <key> <value>
- Aggiungere a un’impostazione (per le liste):
claude config add <key> <value>
- Rimuovere da un’impostazione (per le liste):
claude config remove <key> <value>
Per impostazione predefinita config
modifica la configurazione del tuo progetto. Per gestire la tua configurazione globale, usa il flag --global
(o -g
).
Configurazione globale
Per impostare una configurazione globale, usa claude config set -g <key> <value>
:
Chiave | Valore | Descrizione |
---|---|---|
autoUpdaterStatus | disabled o enabled | Abilita o disabilita l’aggiornamento automatico (predefinito: enabled ) |
env | JSON (es. '{"FOO": "bar"}' ) | Variabili d’ambiente che verranno applicate a ogni sessione |
preferredNotifChannel | iterm2 , iterm2_with_bell , terminal_bell , o notifications_disabled | Dove vuoi ricevere le notifiche (predefinito: iterm2 ) |
theme | dark , light , light-daltonized , o dark-daltonized | Tema colore |
verbose | true o false | Se mostrare gli output completi di bash e dei comandi (predefinito: false ) |
Configurazione del progetto
Gestisci la configurazione del progetto con claude config set <key> <value>
(senza il flag -g
):
Chiave | Valore | Descrizione |
---|---|---|
allowedTools | array di strumenti | Quali strumenti possono essere eseguiti senza approvazione manuale |
ignorePatterns | array di stringhe glob | Quali file/directory vengono ignorati quando si usano gli strumenti |
Per esempio:
Permessi
Puoi gestire i permessi degli strumenti di Claude Code con /allowed-tools
. Questa UI elenca tutte le regole dei permessi e il file settings.json da cui provengono.
- Le regole Allow permetteranno a Claude Code di utilizzare lo strumento specificato senza ulteriore approvazione manuale.
- Le regole Deny impediranno a Claude Code di utilizzare lo strumento specificato. Le regole Deny hanno la precedenza sulle regole Allow.
Le regole dei permessi utilizzano il formato: Tool(optional-specifier)
.
Per esempio, aggiungere WebFetch
alla lista delle regole allow permetterebbe qualsiasi uso dello strumento web fetch senza richiedere l’approvazione dell’utente. Vedi la lista degli strumenti disponibili per Claude (usa il nome tra parentesi quando fornito.)
Alcuni strumenti utilizzano lo specificatore opzionale per controlli dei permessi più dettagliati. Per esempio, una regola allow con WebFetch(domain:example.com)
permetterebbe i fetch a example.com ma non ad altri URL.
Le regole Bash possono essere corrispondenze esatte come Bash(npm run build)
, o corrispondenze di prefisso quando terminano con :*
come Bash(npm run test:*)
Le regole Read()
ed Edit()
seguono la specifica gitignore. I pattern vengono risolti relativamente alla directory contenente .claude/settings.json
. Per riferirsi a un percorso assoluto, usa //
. Per un percorso relativo alla tua directory home, usa ~/
. Per esempio Read(//tmp/build_cache)
o Edit(~/.zshrc)
. Claude farà anche un tentativo di applicare le regole Read ed Edit ad altri strumenti relativi ai file come Grep, Glob e LS.
I nomi degli strumenti MCP seguono il formato: mcp__server_name__tool_name
dove:
server_name
è il nome del server MCP come configurato in Claude Codetool_name
è lo strumento specifico fornito da quel server
Altri esempi:
Regola | Descrizione |
---|---|
Bash(npm run build) | Corrisponde al comando Bash esatto npm run build . |
Bash(npm run test:*) | Corrisponde ai comandi Bash che iniziano con npm run test . Vedi nota sotto sulla gestione dei separatori di comando. |
Edit(~/.zshrc) | Corrisponde al file ~/.zshrc . |
Read(node_modules/**) | Corrisponde a qualsiasi directory node_modules . |
mcp__puppeteer__puppeteer_navigate | Corrisponde allo strumento puppeteer_navigate dal server MCP puppeteer . |
WebFetch(domain:example.com) | Corrisponde alle richieste fetch a example.com |
Claude Code è consapevole dei separatori di comando (come &&
) quindi una regola
di corrispondenza prefisso come Bash(safe-cmd:*)
non gli darà il permesso di
eseguire il comando safe-cmd && other-cmd
Opzioni dei permessi dell’auto-updater
Quando Claude Code rileva che non ha permessi sufficienti per scrivere nella tua directory npm prefix globale (richiesta per gli aggiornamenti automatici), vedrai un avviso che punta a questa pagina di documentazione. Per soluzioni dettagliate ai problemi dell’auto-updater, vedi la guida alla risoluzione dei problemi.
Raccomandato: Creare un nuovo npm prefix scrivibile dall’utente
Perché raccomandiamo questa opzione:
- Evita di modificare i permessi delle directory di sistema
- Crea una posizione pulita e dedicata per i tuoi pacchetti npm globali
- Segue le migliori pratiche di sicurezza
Dato che Claude Code è in sviluppo attivo, raccomandiamo di configurare gli aggiornamenti automatici usando l’opzione raccomandata sopra.
Disabilitare l’auto-updater
Se preferisci disabilitare l’auto-updater invece di sistemare i permessi, puoi usare:
Ottimizza la configurazione del tuo terminale
Claude Code funziona meglio quando il tuo terminale è configurato correttamente. Segui queste linee guida per ottimizzare la tua esperienza.
Shell supportate:
- Bash
- Zsh
- Fish
Temi e aspetto
Claude non può controllare il tema del tuo terminale. Quello è gestito dalla tua applicazione terminale. Puoi far corrispondere il tema di Claude Code al tuo terminale durante l’onboarding o in qualsiasi momento tramite il comando /config
Interruzioni di riga
Hai diverse opzioni per inserire interruzioni di riga in Claude Code:
- Escape rapido: Digita
\
seguito da Invio per creare una nuova riga - Scorciatoia da tastiera: Premi Option+Invio (Meta+Invio) con la configurazione appropriata
Per configurare Option+Invio nel tuo terminale:
Per Mac Terminal.app:
- Apri Impostazioni → Profili → Tastiera
- Seleziona “Usa Option come tasto Meta”
Per iTerm2 e terminale VSCode:
- Apri Impostazioni → Profili → Tasti
- Sotto Generale, imposta il tasto Option sinistro/destro su “Esc+”
Suggerimento per gli utenti iTerm2 e VSCode: Esegui /terminal-setup
all’interno di Claude Code per configurare automaticamente Shift+Invio come alternativa più intuitiva.
Configurazione delle notifiche
Non perdere mai quando Claude completa un’attività con la configurazione appropriata delle notifiche:
Notifiche del campanello del terminale
Abilita gli avvisi sonori quando le attività sono completate:
Per gli utenti macOS: Non dimenticare di abilitare i permessi delle notifiche in Impostazioni di Sistema → Notifiche → [La tua App Terminale].
Notifiche di sistema iTerm 2
Per gli avvisi iTerm 2 quando le attività sono completate:
- Apri le Preferenze di iTerm 2
- Naviga a Profili → Terminale
- Abilita “Silenzia campanello” e “Invia notifica quando inattivo”
- Imposta il ritardo di notifica preferito
Nota che queste notifiche sono specifiche per iTerm 2 e non disponibili nel Terminale macOS predefinito.
Gestione di input lunghi
Quando lavori con codice esteso o istruzioni lunghe:
- Evita l’incollaggio diretto: Claude Code potrebbe avere difficoltà con contenuti incollati molto lunghi
- Usa flussi di lavoro basati su file: Scrivi il contenuto in un file e chiedi a Claude di leggerlo
- Sii consapevole delle limitazioni di VS Code: Il terminale VS Code è particolarmente soggetto a troncare gli incollamenti lunghi
Modalità Vim
Claude Code supporta un sottoinsieme di associazioni di tasti Vim che possono essere abilitate con /vim
o configurate tramite /config
.
Il sottoinsieme supportato include:
- Cambio modalità:
Esc
(a NORMAL),i
/I
,a
/A
,o
/O
(a INSERT) - Navigazione:
h
/j
/k
/l
,w
/e
/b
,0
/$
/^
,gg
/G
- Modifica:
x
,dw
/de
/db
/dd
/D
,cw
/ce
/cb
/cc
/C
,.
(ripeti)
Variabili d’ambiente
Claude Code supporta le seguenti variabili d’ambiente per controllare il suo comportamento:
Variabile | Scopo |
---|---|
DISABLE_AUTOUPDATER | Imposta a 1 per disabilitare l’aggiornamento automatico |
DISABLE_BUG_COMMAND | Imposta a 1 per disabilitare il comando /bug |
DISABLE_COST_WARNINGS | Imposta a 1 per disabilitare i messaggi di avviso sui costi |
DISABLE_ERROR_REPORTING | Imposta a 1 per rinunciare alla segnalazione degli errori Sentry |
DISABLE_TELEMETRY | Imposta a 1 per rinunciare alla telemetria Statsig (nota che gli eventi Statsig non includono dati utente come codice, percorsi file o comandi bash) |
HTTP_PROXY | Specifica il server proxy HTTP per le connessioni di rete |
HTTPS_PROXY | Specifica il server proxy HTTPS per le connessioni di rete |
MCP_TIMEOUT | Timeout in millisecondi per l’avvio del server MCP |
MCP_TOOL_TIMEOUT | Timeout in millisecondi per l’esecuzione dello strumento MCP |
Was this page helpful?