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 le impostazioni che vengono inserite nel controllo del codice sorgente e condivise con il tuo team.claude/settings.local.json
per le 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 verrà inviato come header X-Api-Key e Authorization: Bearer per le richieste del modello | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Quanto tempo mantenere localmente le trascrizioni delle chat basate sulla data dell’ultima attività (predefinito: 30 giorni) | 20 |
env | Variabili d’ambiente che verranno 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" |
statusLine | Configura una linea di stato personalizzata per visualizzare il contesto. Vedi documentazione statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
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 avanzata delle credenziali) | aws sso login --profile myprofile |
awsCredentialExport | Script personalizzato che restituisce JSON con credenziali AWS (vedi configurazione avanzata delle credenziali) | /bin/generate_aws_grant.sh |
Impostazioni dei permessi
Chiavi | Descrizione | Esempio |
---|---|---|
allow | Array di regole di permesso per consentire l’uso degli strumenti | [ "Bash(git diff:*)" ] |
ask | Array di regole di permesso per chiedere conferma all’uso degli strumenti. | [ "Bash(git push:*)" ] |
deny | Array di regole di permesso per negare l’uso degli strumenti. Usa questo anche per escludere file sensibili dall’accesso di Claude Code. | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Directory di lavoro aggiuntive a cui Claude ha accesso | [ "../docs/" ] |
defaultMode | Modalità di permesso predefinita quando si apre Claude Code | "acceptEdits" |
disableBypassPermissionsMode | Imposta su "disable" per impedire l’attivazione della modalità bypassPermissions . Vedi impostazioni di policy gestite | "disable" |
Precedenza delle impostazioni
Le impostazioni vengono applicate in ordine di precedenza (dal più alto al più basso):
-
Policy gestite dall’azienda (
managed-settings.json
)- Distribuite da IT/DevOps
- Non possono essere sovrascritte
-
Argomenti della riga di comando
- Sovrascritture temporanee per una sessione specifica
-
Impostazioni locali del progetto (
.claude/settings.local.json
)- Impostazioni personali specifiche del progetto
-
Impostazioni condivise del progetto (
.claude/settings.json
)- Impostazioni del progetto condivise dal team nel controllo del codice sorgente
-
Impostazioni utente (
~/.claude/settings.json
)- Impostazioni globali personali
Questa gerarchia assicura che le policy di sicurezza aziendali siano sempre applicate permettendo comunque ai team e agli individui di personalizzare la loro esperienza.
Punti chiave del sistema di configurazione
- File di memoria (CLAUDE.md): Contengono istruzioni e contesto che Claude carica all’avvio
- File delle impostazioni (JSON): Configurano permessi, variabili d’ambiente e comportamento degli strumenti
- Comandi slash: Comandi personalizzati che possono essere invocati durante una sessione con
/nome-comando
- Server MCP: Estendono Claude Code con strumenti e integrazioni aggiuntive
- Precedenza: Configurazioni di livello superiore (Azienda) sovrascrivono quelle di livello inferiore (Utente/Progetto)
- Ereditarietà: Le impostazioni vengono unite, con impostazioni più specifiche che aggiungono o sovrascrivono quelle più ampie
Disponibilità del prompt di sistema
A differenza di claude.ai, non pubblichiamo il prompt di sistema interno di Claude Code su questo sito web. Usa i file CLAUDE.md o --append-system-prompt
per aggiungere istruzioni personalizzate al comportamento di Claude Code.
Escludere file sensibili
Per impedire a Claude Code di accedere a file contenenti informazioni sensibili (ad es., chiavi API, segreti, file d’ambiente), usa l’impostazione permissions.deny
nel tuo file .claude/settings.json
:
Questo sostituisce la configurazione deprecata ignorePatterns
. I file che corrispondono a questi pattern saranno completamente invisibili a Claude Code, prevenendo qualsiasi esposizione accidentale di dati sensibili.
Configurazione dei 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 dei 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 l’SDK Claude (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 (nel 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 |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Sovrascrivi la regione AWS per il modello piccolo/veloce quando usi Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Chiave API Bedrock per l’autenticazione (vedi Chiavi API Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Timeout predefinito per comandi bash di lunga durata |
BASH_MAX_TIMEOUT_MS | Timeout massimo che il modello può impostare per comandi bash di lunga durata |
BASH_MAX_OUTPUT_LENGTH | Numero massimo di caratteri negli output bash prima che vengano troncati al centro |
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’installazione automatica 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 (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 all’impostazione di DISABLE_AUTOUPDATER , DISABLE_BUG_COMMAND , DISABLE_ERROR_REPORTING , e DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Imposta su 1 per disabilitare gli aggiornamenti automatici del titolo del terminale basati sul contesto della conversazione |
DISABLE_AUTOUPDATER | Imposta su 1 per disabilitare gli aggiornamenti automatici. Questo ha precedenza sull’impostazione di configurazione autoUpdates . |
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) |
USE_BUILTIN_RIPGREP | Imposta su 0 per usare rg installato nel sistema invece di rg incluso con Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Sovrascrivi la regione per Claude 3.5 Haiku quando usi Vertex AI |
VERTEX_REGION_CLAUDE_3_5_SONNET | Sovrascrivi la regione per Claude Sonnet 3.5 quando usi Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Sovrascrivi la regione per Claude 3.7 Sonnet quando usi Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Sovrascrivi la regione per Claude 4.0 Opus quando usi Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Sovrascrivi la regione per Claude 4.0 Sonnet quando usi Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Sovrascrivi la regione per Claude 4.1 Opus 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 <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 ). Quando abilitato, Claude Code scarica e installa automaticamente gli aggiornamenti in background. Gli aggiornamenti vengono 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 | Effettua modifiche mirate a file specifici | Sì |
Glob | Trova file basati sulla 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 subagente 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 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 gli hook
Puoi eseguire comandi personalizzati prima o dopo l’esecuzione di qualsiasi strumento usando gli 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 - Scopri il sistema di permessi di Claude Code
- IAM e controllo accessi - Gestione policy aziendali
- Risoluzione problemi - Soluzioni per problemi di configurazione comuni