Impostazioni di Claude Code
Configura Claude Code con impostazioni globali e a livello di progetto, e variabili d’ambiente.
Claude Code offre una varietà di impostazioni per configurare il suo comportamento per soddisfare le tue esigenze. Puoi configurare Claude Code eseguendo il comando /config
quando usi il REPL interattivo.
File di impostazioni
Il file settings.json
è il nostro meccanismo ufficiale per configurare Claude
Code attraverso impostazioni gerarchiche:
- Impostazioni utente sono definite in
~/.claude/settings.json
e si applicano a tutti i progetti. - Impostazioni progetto sono salvate nella directory del tuo progetto:
.claude/settings.json
per impostazioni che vengono inserite nel controllo del codice sorgente e condivise con il tuo team.claude/settings.local.json
per impostazioni che non vengono inserite, utili per preferenze personali e sperimentazione. Claude Code configurerà git per ignorare.claude/settings.local.json
quando viene creato.
- Per distribuzioni aziendali di Claude Code, supportiamo anche impostazioni di policy gestite dall’azienda. Queste hanno precedenza sulle impostazioni utente e progetto. Gli amministratori di sistema possono distribuire policy in
/Library/Application Support/ClaudeCode/managed-settings.json
su macOS e/etc/claude-code/managed-settings.json
su Linux e Windows tramite WSL.
Impostazioni disponibili
settings.json
supporta una serie di opzioni:
Chiave | Descrizione | Esempio |
---|---|---|
apiKeyHelper | Script personalizzato, da eseguire in /bin/sh , per generare un valore di autenticazione. Questo valore sarà generalmente inviato come header X-Api-Key , Authorization: Bearer , e Proxy-Authorization: Bearer per le richieste del modello | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Per quanto tempo mantenere localmente le trascrizioni delle chat (predefinito: 30 giorni) | 20 |
env | Variabili d’ambiente che saranno applicate a ogni sessione | {"FOO": "bar"} |
includeCoAuthoredBy | Se includere la riga co-authored-by Claude nei commit git e nelle pull request (predefinito: true ) | false |
permissions | Vedi tabella sotto per la struttura dei permessi. |
Impostazioni dei permessi
Chiavi | Descrizione | Esempio |
---|---|---|
allow | Array di regole di permesso per consentire l’uso degli strumenti | [ "Bash(git diff:*)" ] |
deny | Array di regole di permesso per negare l’uso degli strumenti | [ "WebFetch", "Bash(curl:*)" ] |
additionalDirectories | Directory di lavoro aggiuntive a cui Claude ha accesso | [ "../docs/" ] |
defaultMode | Modalità di permesso predefinita quando si apre Claude Code | "allowEdits" |
disableBypassPermissionsMode | Imposta su "disable" per impedire l’attivazione della modalità bypassPermissions . Vedi impostazioni di policy gestite | "disable" |
Precedenza delle impostazioni
Le impostazioni sono applicate in ordine di precedenza:
- Policy aziendali (vedi documentazione IAM)
- Argomenti della riga di comando
- Impostazioni progetto locali
- Impostazioni progetto condivise
- Impostazioni utente
Variabili d’ambiente
Claude Code supporta le seguenti variabili d’ambiente per controllare il suo comportamento:
Tutte le variabili d’ambiente possono anche essere configurate in settings.json
. Questo è utile come modo per impostare automaticamente le variabili d’ambiente per ogni sessione, o per distribuire un set di variabili d’ambiente per tutto il tuo team o organizzazione.
Variabile | Scopo |
---|---|
ANTHROPIC_API_KEY | Chiave API inviata come header X-Api-Key , tipicamente per l’SDK Claude (per uso interattivo, esegui /login ) |
ANTHROPIC_AUTH_TOKEN | Valore personalizzato per gli header Authorization e Proxy-Authorization (il valore che imposti qui sarà prefissato con Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Header personalizzati che vuoi aggiungere alla richiesta (in formato Nome: Valore ) |
ANTHROPIC_MODEL | Nome del modello personalizzato da usare (vedi Configurazione Modello) |
ANTHROPIC_SMALL_FAST_MODEL | Nome del modello classe Haiku per attività in background |
BASH_DEFAULT_TIMEOUT_MS | Timeout predefinito per comandi bash a lunga durata |
BASH_MAX_TIMEOUT_MS | Timeout massimo che il modello può impostare per comandi bash a lunga durata |
BASH_MAX_OUTPUT_LENGTH | Numero massimo di caratteri negli output bash prima che vengano troncati nel mezzo |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | Ritorna alla directory di lavoro originale dopo ogni comando Bash |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | Intervallo in millisecondi al quale le credenziali dovrebbero essere aggiornate (quando si usa apiKeyHelper ) |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Imposta il numero massimo di token di output per la maggior parte delle richieste |
CLAUDE_CODE_USE_BEDROCK | Usa Bedrock (vedi Bedrock & Vertex) |
CLAUDE_CODE_USE_VERTEX | Usa Vertex (vedi Bedrock & Vertex) |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Salta l’autenticazione AWS per Bedrock (ad es. quando si usa un gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Salta l’autenticazione Google per Vertex (ad es. quando si usa un gateway LLM) |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Equivalente di impostare DISABLE_AUTOUPDATER , DISABLE_BUG_COMMAND , DISABLE_ERROR_REPORTING , e DISABLE_TELEMETRY |
DISABLE_AUTOUPDATER | Imposta su 1 per disabilitare l’aggiornatore automatico |
DISABLE_BUG_COMMAND | Imposta su 1 per disabilitare il comando /bug |
DISABLE_COST_WARNINGS | Imposta su 1 per disabilitare i messaggi di avviso sui costi |
DISABLE_ERROR_REPORTING | Imposta su 1 per escludersi dalla segnalazione errori Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Imposta su 1 per disabilitare le chiamate del modello per percorsi non critici come il testo di sapore |
DISABLE_TELEMETRY | Imposta su 1 per escludersi dalla 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 |
MAX_THINKING_TOKENS | Forza un budget di pensiero per il modello |
MCP_TIMEOUT | Timeout in millisecondi per l’avvio del server MCP |
MCP_TOOL_TIMEOUT | Timeout in millisecondi per l’esecuzione degli strumenti MCP |
MAX_MCP_OUTPUT_TOKENS | Numero massimo di token consentiti nelle risposte degli strumenti MCP (predefinito: 25000) |
Opzioni di configurazione
Stiamo migrando la configurazione globale a settings.json
.
claude config
sarà deprecato in favore di settings.json
Per gestire le tue configurazioni, usa i seguenti comandi:
- Elenca impostazioni:
claude config list
- Vedi un’impostazione:
claude config get <chiave>
- Cambia un’impostazione:
claude config set <chiave> <valore>
- Aggiungi a un’impostazione (per liste):
claude config add <chiave> <valore>
- Rimuovi da un’impostazione (per liste):
claude config remove <chiave> <valore>
Per impostazione predefinita config
cambia 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 <chiave> <valore>
:
Chiave | Descrizione | Esempio |
---|---|---|
autoUpdates | Se abilitare gli aggiornamenti automatici (predefinito: true ) | false |
preferredNotifChannel | Dove vuoi ricevere le notifiche (predefinito: iterm2 ) | iterm2 , iterm2_with_bell , terminal_bell , o notifications_disabled |
theme | Tema colore | dark , light , light-daltonized , o dark-daltonized |
verbose | Se mostrare output completi di bash e comandi (predefinito: false ) | true |
Strumenti disponibili per Claude
Claude Code ha accesso a un set di strumenti potenti che lo aiutano a comprendere e modificare la tua base di codice:
Strumento | Descrizione | Permesso Richiesto |
---|---|---|
Agent | Esegue un sotto-agente per gestire attività complesse e multi-step | No |
Bash | Esegue comandi shell nel tuo ambiente | Sì |
Edit | Effettua modifiche mirate a file specifici | Sì |
Glob | Trova file basati su corrispondenza di pattern | No |
Grep | Cerca pattern nei contenuti dei file | No |
LS | Elenca file e directory | No |
MultiEdit | Esegue modifiche multiple su un singolo file atomicamente | Sì |
NotebookEdit | Modifica celle di notebook Jupyter | Sì |
NotebookRead | Legge e visualizza contenuti di notebook Jupyter | No |
Read | Legge i contenuti dei file | No |
TodoRead | Legge la lista delle attività della sessione corrente | No |
TodoWrite | Crea e gestisce liste di attività strutturate | No |
WebFetch | Recupera contenuto da un URL specificato | Sì |
WebSearch | Esegue ricerche web con filtraggio del dominio | Sì |
Write | Crea o sovrascrive file | Sì |
Le regole di permesso possono essere configurate usando /allowed-tools
o nelle impostazioni dei permessi.
Estendere gli strumenti con hook
Puoi eseguire comandi personalizzati prima o dopo l’esecuzione di qualsiasi strumento usando hook di Claude Code.
Ad esempio, potresti eseguire automaticamente un formattatore Python dopo che Claude modifica file Python, o impedire modifiche a file di configurazione di produzione bloccando operazioni Write su certi percorsi.
Vedi anche
- Gestione Identità e Accesso - Impara sul sistema di permessi di Claude Code
- IAM e controllo accessi - Gestione policy aziendali
- Risoluzione problemi - Soluzioni per problemi di configurazione comuni