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 delle 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 di versione 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 a:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux e WSL:
/etc/claude-code/managed-settings.json
- Windows:
C:\ProgramData\ClaudeCode\managed-settings.json
- macOS:
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à inviato come header X-Api-Key e 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. | |
hooks | Configura comandi personalizzati da eseguire prima o dopo le esecuzioni degli strumenti. Vedi documentazione hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
model | Sovrascrivi il modello predefinito da usare per Claude Code | "claude-3-5-sonnet-20241022" |
forceLoginMethod | Usa claudeai per limitare il login agli account Claude.ai, console per limitare il login agli account Anthropic Console (fatturazione uso API) | claudeai |
enableAllProjectMcpServers | Approva automaticamente tutti i server MCP definiti nei file .mcp.json del progetto | true |
enabledMcpjsonServers | Lista di server MCP specifici dai file .mcp.json da approvare | ["memory", "github"] |
disabledMcpjsonServers | Lista di server MCP specifici dai file .mcp.json da rifiutare | ["filesystem"] |
awsAuthRefresh | Script personalizzato che modifica la directory .aws (vedi configurazione credenziali avanzata) | aws sso login --profile myprofile |
awsCredentialExport | Script personalizzato che produce JSON con credenziali AWS (vedi configurazione credenziali avanzata) | /bin/generate_aws_grant.sh |
Impostazioni 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 | "acceptEdits" |
disableBypassPermissionsMode | Imposta a "disable" per impedire l’attivazione della modalità bypassPermissions . Vedi impostazioni 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
Configurazione subagenti
Claude Code supporta subagenti AI personalizzati che possono essere configurati sia a livello utente che di progetto. Questi subagenti sono memorizzati come file Markdown con frontmatter YAML:
- Subagenti utente:
~/.claude/agents/
- Disponibili in tutti i tuoi progetti - Subagenti progetto:
.claude/agents/
- Specifici per il tuo progetto e possono essere condivisi con il tuo team
I file dei subagenti definiscono assistenti AI specializzati con prompt personalizzati e permessi degli strumenti. Scopri di più sulla creazione e l’uso dei subagenti nella documentazione subagenti.
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 il Claude SDK (per uso interattivo, esegui /login ) |
ANTHROPIC_AUTH_TOKEN | Valore personalizzato per l’header Authorization (il valore che imposti qui sarà prefissato con Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Header personalizzati che vuoi aggiungere alla richiesta (in formato Name: Value ) |
ANTHROPIC_MODEL | Nome del modello personalizzato da usare (vedi Configurazione Modello) |
ANTHROPIC_SMALL_FAST_MODEL | Nome del modello classe Haiku per attività in background |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Sovrascrivi regione AWS per il modello piccolo/veloce quando usi Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Chiave API Bedrock per autenticazione (vedi chiavi API Bedrock) |
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 a cui le credenziali dovrebbero essere aggiornate (quando si usa apiKeyHelper ) |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | Salta l’auto-installazione delle estensioni IDE |
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 |
CLAUDE_CODE_USE_VERTEX | Usa Vertex |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Salta l’autenticazione AWS per Bedrock (es. quando si usa un gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Salta l’autenticazione Google per Vertex (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 |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Imposta a 1 per disabilitare gli aggiornamenti automatici del titolo del terminale basati sul contesto della conversazione |
DISABLE_AUTOUPDATER | Imposta a 1 per disabilitare gli aggiornamenti automatici. Questo ha precedenza sull’impostazione di configurazione autoUpdates . |
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 al reporting errori Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Imposta a 1 per disabilitare le chiamate del modello per percorsi non critici come il testo di sapore |
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 server proxy HTTP per connessioni di rete |
HTTPS_PROXY | Specifica server proxy HTTPS per 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) |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Sovrascrivi regione per Claude 3.5 Haiku quando usi Vertex AI |
VERTEX_REGION_CLAUDE_3_5_SONNET | Sovrascrivi regione per Claude 3.5 Sonnet quando usi Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Sovrascrivi regione per Claude 3.7 Sonnet quando usi Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Sovrascrivi regione per Claude 4.0 Opus quando usi Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Sovrascrivi regione per Claude 4.0 Sonnet quando usi Vertex AI |
Opzioni di configurazione
Per gestire le tue configurazioni, usa i seguenti comandi:
- Elenca impostazioni:
claude config list
- Vedi un’impostazione:
claude config get <key>
- Cambia un’impostazione:
claude config set <key> <value>
- Aggiungi a un’impostazione (per liste):
claude config add <key> <value>
- Rimuovi da un’impostazione (per liste):
claude config remove <key> <value>
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 <key> <value>
:
Chiave | Descrizione | Esempio |
---|---|---|
autoUpdates | Se abilitare gli aggiornamenti automatici (predefinito: true ). Quando abilitato, Claude Code scarica e installa automaticamente gli aggiornamenti in background. Gli aggiornamenti sono applicati quando riavvii Claude Code. | 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 |
---|---|---|
Bash | Esegue comandi shell nel tuo ambiente | Sì |
Edit | Fa 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 |
Task | Esegue un sub-agente per gestire attività complesse e multi-step | No |
TodoWrite | Crea e gestisce liste di attività strutturate | No |
WebFetch | Recupera contenuto da un URL specificato | Sì |
WebSearch | Esegue ricerche web con filtraggio di dominio | Sì |
Write | Crea o sovrascrive file | Sì |
Le regole di permesso possono essere configurate usando /allowed-tools
o nelle impostazioni permessi.
Estendere strumenti con hooks
Puoi eseguire comandi personalizzati prima o dopo l’esecuzione di qualsiasi strumento usando Claude Code hooks.
Per 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 a certi percorsi.
Vedi anche
- Gestione Identità e Accesso - Scopri il sistema di permessi di Claude Code
- IAM e controllo accessi - Gestione policy aziendali
- Risoluzione problemi - Soluzioni per problemi di configurazione comuni