/config quando utilizzi il REPL interattivo, che apre un’interfaccia Impostazioni con schede dove puoi visualizzare informazioni di stato e modificare le opzioni di configurazione.
File di impostazioni
Il filesettings.json è il nostro meccanismo ufficiale per configurare Claude Code attraverso impostazioni gerarchiche:
- Impostazioni utente sono definite in
~/.claude/settings.jsone si applicano a tutti i progetti. - Impostazioni di progetto sono salvate nella directory del tuo progetto:
.claude/settings.jsonper le impostazioni che vengono controllate nel controllo del codice sorgente e condivise con il tuo team.claude/settings.local.jsonper le impostazioni che non vengono controllate, utili per preferenze personali e sperimentazione. Claude Code configurerà git per ignorare.claude/settings.local.jsonquando viene creato.
- Per le distribuzioni enterprise di Claude Code, supportiamo anche impostazioni di policy gestite dall’enterprise. Queste hanno la precedenza sulle impostazioni utente e di 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:
- Le distribuzioni enterprise possono anche configurare server MCP gestiti che sostituiscono i server configurati dall’utente. Vedi Configurazione MCP Enterprise:
- macOS:
/Library/Application Support/ClaudeCode/managed-mcp.json - Linux e WSL:
/etc/claude-code/managed-mcp.json - Windows:
C:\ProgramData\ClaudeCode\managed-mcp.json
- macOS:
Esempio settings.json
Impostazioni disponibili
settings.json supporta un numero 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 di modello | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Quanto tempo conservare localmente i trascritti della chat in base alla data dell’ultima attività (predefinito: 30 giorni) | 20 |
env | Variabili di 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 la tabella sottostante per la struttura dei permessi. | |
hooks | Configura comandi personalizzati da eseguire prima o dopo l’esecuzione degli strumenti. Vedi documentazione hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Disabilita tutti gli hooks | true |
model | Sostituisci il modello predefinito da utilizzare per Claude Code | "claude-sonnet-4-5-20250929" |
statusLine | Configura una riga di stato personalizzata per visualizzare il contesto. Vedi documentazione statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle | Configura uno stile di output per regolare il prompt di sistema. Vedi documentazione output styles | "Explanatory" |
forceLoginMethod | Usa claudeai per limitare il login agli account Claude.ai, console per limitare il login agli account Claude Console (fatturazione per utilizzo API) | claudeai |
forceLoginOrgUUID | Specifica l’UUID di un’organizzazione per selezionarla automaticamente durante il login, bypassando il passaggio di selezione dell’organizzazione. Richiede che forceLoginMethod sia impostato | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | Approva automaticamente tutti i server MCP definiti nei file .mcp.json del progetto | true |
enabledMcpjsonServers | Elenco di server MCP specifici dai file .mcp.json da approvare | ["memory", "github"] |
disabledMcpjsonServers | Elenco di server MCP specifici dai file .mcp.json da rifiutare | ["filesystem"] |
useEnterpriseMcpConfigOnly | Quando impostato in managed-settings.json, limita i server MCP solo a quelli definiti in managed-mcp.json. Vedi Configurazione MCP Enterprise | true |
allowedMcpServers | Quando impostato in managed-settings.json, elenco di server MCP che gli utenti possono configurare. Non definito = nessuna restrizione, array vuoto = blocco totale. Si applica a tutti gli ambiti. La denylist ha la precedenza. Vedi Configurazione MCP Enterprise | [{ "serverName": "github" }] |
deniedMcpServers | Quando impostato in managed-settings.json, denylist di server MCP che sono esplicitamente bloccati. Si applica a tutti gli ambiti inclusi i server enterprise. La denylist ha la precedenza sulla allowlist. Vedi Configurazione MCP Enterprise | [{ "serverName": "filesystem" }] |
awsAuthRefresh | Script personalizzato che modifica la directory .aws (vedi configurazione credenziali avanzata) | aws sso login --profile myprofile |
awsCredentialExport | Script personalizzato che restituisce JSON con credenziali AWS (vedi configurazione credenziali avanzata) | /bin/generate_aws_grant.sh |
Impostazioni di permesso
| Chiavi | Descrizione | Esempio |
|---|---|---|
allow | Array di regole di permesso per consentire l’uso dello strumento. Nota: Le regole Bash utilizzano la corrispondenza di prefisso, non regex | [ "Bash(git diff:*)" ] |
ask | Array di regole di permesso per chiedere conferma all’uso dello strumento. | [ "Bash(git push:*)" ] |
deny | Array di regole di permesso per negare l’uso dello strumento. Usa questo anche per escludere file sensibili dall’accesso di Claude Code. Nota: I pattern Bash sono corrispondenze di prefisso e possono essere bypassati (vedi limitazioni di permesso Bash) | [ "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 | Impostato su "disable" per impedire l’attivazione della modalità bypassPermissions. Questo disabilita il flag della riga di comando --dangerously-skip-permissions. Vedi impostazioni di policy gestite | "disable" |
Impostazioni sandbox
Configura il comportamento avanzato della sandbox. La sandbox isola i comandi bash dal tuo filesystem e dalla rete. Vedi Sandboxing per i dettagli. Le restrizioni di filesystem e rete sono configurate tramite regole di permesso Read, Edit e WebFetch, non tramite queste impostazioni di sandbox.| Chiavi | Descrizione | Esempio |
|---|---|---|
enabled | Abilita la sandbox bash (solo macOS/Linux). Predefinito: false | true |
autoAllowBashIfSandboxed | Approva automaticamente i comandi bash quando in sandbox. Predefinito: true | true |
excludedCommands | Comandi che dovrebbero essere eseguiti al di fuori della sandbox | ["git", "docker"] |
network.allowUnixSockets | Percorsi socket Unix accessibili nella sandbox (per agenti SSH, ecc.) | ["~/.ssh/agent-socket"] |
network.allowLocalBinding | Consenti il binding alle porte localhost (solo MacOS). Predefinito: false | true |
network.httpProxyPort | Porta proxy HTTP utilizzata se desideri portare il tuo proxy. Se non specificato, Claude eseguirà il suo proxy. | 8080 |
network.socksProxyPort | Porta proxy SOCKS5 utilizzata se desideri portare il tuo proxy. Se non specificato, Claude eseguirà il suo proxy. | 8081 |
enableWeakerNestedSandbox | Abilita sandbox più debole per ambienti Docker senza privilegi (solo Linux). Riduce la sicurezza. Predefinito: false | true |
- Le regole di negazione Read bloccano le letture di file nella sandbox
- Le regole di consentimento Edit permettono le scritture di file (in aggiunta ai valori predefiniti, ad es. la directory di lavoro corrente)
- Le regole di negazione Edit bloccano le scritture all’interno dei percorsi consentiti
- Le regole di consentimento WebFetch permettono i domini di rete
- Le regole di negazione WebFetch bloccano i domini di rete
Precedenza delle impostazioni
Le impostazioni vengono applicate in ordine di precedenza (dal più alto al più basso):-
Policy gestite dall’enterprise (
managed-settings.json)- Distribuite da IT/DevOps
- Non possono essere sovrascritte
-
Argomenti della riga di comando
- Override temporanei per una sessione specifica
-
Impostazioni di progetto locale (
.claude/settings.local.json)- Impostazioni personali specifiche del progetto
-
Impostazioni di progetto condivise (
.claude/settings.json)- Impostazioni di progetto condivise dal team nel controllo del codice sorgente
-
Impostazioni utente (
~/.claude/settings.json)- Impostazioni globali personali
Punti chiave sul sistema di configurazione
- File di memoria (CLAUDE.md): Contengono istruzioni e contesto che Claude carica all’avvio
- File di impostazioni (JSON): Configurano permessi, variabili di ambiente e comportamento degli strumenti
- Comandi slash: Comandi personalizzati che possono essere invocati durante una sessione con
/command-name - Server MCP: Estendono Claude Code con strumenti e integrazioni aggiuntivi
- Precedenza: Le configurazioni di livello superiore (Enterprise) sostituiscono quelle di livello inferiore (User/Project)
- Eredità: Le impostazioni vengono unite, con impostazioni più specifiche che si aggiungono o sostituiscono 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.Esclusione di file sensibili
Per impedire a Claude Code di accedere a file contenenti informazioni sensibili (ad es. chiavi API, segreti, file di ambiente), usa l’impostazionepermissions.deny nel tuo file .claude/settings.json:
ignorePatterns. I file che corrispondono a questi pattern saranno completamente invisibili a Claude Code, prevenendo qualsiasi esposizione accidentale di dati sensibili.
Configurazione subagent
Claude Code supporta subagent AI personalizzati che possono essere configurati sia a livello utente che di progetto. Questi subagent sono archiviati come file Markdown con frontmatter YAML:- Subagent utente:
~/.claude/agents/- Disponibili in tutti i tuoi progetti - Subagent di progetto:
.claude/agents/- Specifici del tuo progetto e possono essere condivisi con il tuo team
Configurazione plugin
Claude Code supporta un sistema di plugin che ti consente di estendere la funzionalità con comandi personalizzati, agenti, hook e server MCP. I plugin vengono distribuiti attraverso marketplace e possono essere configurati sia a livello utente che di repository.Impostazioni plugin
Impostazioni relative ai plugin insettings.json:
enabledPlugins
Controlla quali plugin sono abilitati. Formato: "plugin-name@marketplace-name": true/false
Ambiti:
- Impostazioni utente (
~/.claude/settings.json): Preferenze personali dei plugin - Impostazioni di progetto (
.claude/settings.json): Plugin specifici del progetto condivisi con il team - Impostazioni locali (
.claude/settings.local.json): Override per macchina (non committati)
extraKnownMarketplaces
Definisce marketplace aggiuntivi che dovrebbero essere resi disponibili per il repository. Tipicamente utilizzato nelle impostazioni a livello di repository per assicurare che i membri del team abbiano accesso alle fonti di plugin richieste.
Quando un repository include extraKnownMarketplaces:
- I membri del team vengono invitati a installare il marketplace quando si fidano della cartella
- I membri del team vengono quindi invitati a installare i plugin da quel marketplace
- Gli utenti possono saltare marketplace o plugin indesiderati (archiviati nelle impostazioni utente)
- L’installazione rispetta i confini di fiducia e richiede il consenso esplicito
github: Repository GitHub (usarepo)git: Qualsiasi URL git (usaurl)directory: Percorso del filesystem locale (usapath, solo per lo sviluppo)
Gestione dei plugin
Usa il comando/plugin per gestire i plugin in modo interattivo:
- Sfoglia i plugin disponibili dai marketplace
- Installa/disinstalla plugin
- Abilita/disabilita plugin
- Visualizza i dettagli del plugin (comandi, agenti, hook forniti)
- Aggiungi/rimuovi marketplace
Variabili di ambiente
Claude Code supporta le seguenti variabili di ambiente per controllare il suo comportamento:Tutte le variabili di ambiente possono anche essere configurate in
settings.json. Questo è utile come modo per impostare automaticamente le variabili di ambiente per ogni sessione, o per distribuire un set di variabili di ambiente per tutto il tuo team o organizzazione.| Variabile | Scopo |
|---|---|
ANTHROPIC_API_KEY | Chiave API inviata come header X-Api-Key, tipicamente per Claude SDK (per l’utilizzo 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 desideri aggiungere alla richiesta (in formato Name: Value) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Vedi Configurazione modello |
ANTHROPIC_DEFAULT_OPUS_MODEL | Vedi Configurazione modello |
ANTHROPIC_DEFAULT_SONNET_MODEL | Vedi Configurazione modello |
ANTHROPIC_MODEL | Nome dell’impostazione del modello da utilizzare (vedi Configurazione modello) |
ANTHROPIC_SMALL_FAST_MODEL | [DEPRECATO] Nome del modello di classe Haiku per attività in background |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Sostituisci la regione AWS per il modello di classe Haiku quando utilizzi Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Chiave API Bedrock per l’autenticazione (vedi Chiavi API Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Timeout predefinito per i comandi bash a lunga esecuzione |
BASH_MAX_OUTPUT_LENGTH | Numero massimo di caratteri negli output bash prima che vengano troncati al centro |
BASH_MAX_TIMEOUT_MS | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione |
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 in cui le credenziali dovrebbero essere aggiornate (quando si utilizza apiKeyHelper) |
CLAUDE_CODE_CLIENT_CERT | Percorso del file del certificato client per l’autenticazione mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Passphrase per la chiave CLAUDE_CODE_CLIENT_KEY crittografata (opzionale) |
CLAUDE_CODE_CLIENT_KEY | Percorso del file della chiave privata client per l’autenticazione mTLS |
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 | Impostato su 1 per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione |
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_SKIP_BEDROCK_AUTH | Salta l’autenticazione AWS per Bedrock (ad es. quando si utilizza un gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Salta l’autenticazione Google per Vertex (ad es. quando si utilizza un gateway LLM) |
CLAUDE_CODE_SUBAGENT_MODEL | Vedi Configurazione modello |
CLAUDE_CODE_USE_BEDROCK | Usa Bedrock |
CLAUDE_CODE_USE_VERTEX | Usa Vertex |
DISABLE_AUTOUPDATER | Impostato su 1 per disabilitare gli aggiornamenti automatici. Questo ha la precedenza sull’impostazione di configurazione autoUpdates. |
DISABLE_BUG_COMMAND | Impostato su 1 per disabilitare il comando /bug |
DISABLE_COST_WARNINGS | Impostato su 1 per disabilitare i messaggi di avvertimento sui costi |
DISABLE_ERROR_REPORTING | Impostato su 1 per rinunciare alla segnalazione degli errori di Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Impostato su 1 per disabilitare le chiamate al modello per percorsi non critici come il testo di sapore |
DISABLE_PROMPT_CACHING | Impostato su 1 per disabilitare il caching dei prompt per tutti i modelli (ha la precedenza sulle impostazioni per modello) |
DISABLE_PROMPT_CACHING_HAIKU | Impostato su 1 per disabilitare il caching dei prompt per i modelli Haiku |
DISABLE_PROMPT_CACHING_OPUS | Impostato su 1 per disabilitare il caching dei prompt per i modelli Opus |
DISABLE_PROMPT_CACHING_SONNET | Impostato su 1 per disabilitare il caching dei prompt per i modelli Sonnet |
DISABLE_TELEMETRY | Impostato su 1 per rinunciare alla telemetria Statsig (nota che gli eventi Statsig non includono dati utente come codice, percorsi di 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_MCP_OUTPUT_TOKENS | Numero massimo di token consentiti nelle risposte dello strumento MCP. Claude Code visualizza un avvertimento quando l’output supera 10.000 token (predefinito: 25000) |
MAX_THINKING_TOKENS | Abilita il pensiero esteso e imposta il budget di token per il processo di pensiero. Il pensiero esteso migliora le prestazioni su compiti di ragionamento e codifica complessi ma influisce sull’efficienza del caching dei prompt. Disabilitato per impostazione predefinita. |
MCP_TIMEOUT | Timeout in millisecondi per l’avvio del server MCP |
MCP_TOOL_TIMEOUT | Timeout in millisecondi per l’esecuzione dello strumento MCP |
NO_PROXY | Elenco di domini e IP a cui le richieste verranno emesse direttamente, bypassando il proxy |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Numero massimo di caratteri per i metadati del comando slash mostrati allo strumento SlashCommand (predefinito: 15000) |
USE_BUILTIN_RIPGREP | Impostato su 0 per utilizzare il rg installato dal sistema invece di rg incluso con Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Sostituisci la regione per Claude 3.5 Haiku quando utilizzi Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Sostituisci la regione per Claude 3.7 Sonnet quando utilizzi Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Sostituisci la regione per Claude 4.0 Opus quando utilizzi Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Sostituisci la regione per Claude 4.0 Sonnet quando utilizzi Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Sostituisci la regione per Claude 4.1 Opus quando utilizzi Vertex AI |
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 in base alla corrispondenza di pattern | No |
| Grep | Cerca pattern nei contenuti dei file | No |
| NotebookEdit | Modifica le celle del notebook Jupyter | Sì |
| NotebookRead | Legge e visualizza i contenuti del notebook Jupyter | No |
| Read | Legge i contenuti dei file | No |
| SlashCommand | Esegue un comando slash personalizzato | Sì |
| Task | Esegue un sub-agent per gestire compiti complessi e multi-step | No |
| TodoWrite | Crea e gestisce elenchi di attività strutturati | No |
| WebFetch | Recupera il contenuto da un URL specificato | Sì |
| WebSearch | Esegue ricerche web con filtro di dominio | Sì |
| Write | Crea o sovrascrivi file | Sì |
/allowed-tools o nelle impostazioni di permesso. Vedi anche Regole di permesso specifiche dello strumento.
Estensione degli strumenti con hook
Puoi eseguire comandi personalizzati prima o dopo l’esecuzione di qualsiasi strumento utilizzando hook di Claude Code. Ad esempio, potresti eseguire automaticamente un formattatore Python dopo che Claude modifica file Python, o prevenire modifiche ai file di configurazione di produzione bloccando le operazioni Write su determinati percorsi.Vedi anche
- Identity and Access Management - Scopri il sistema di permessi di Claude Code
- IAM e controllo di accesso - Gestione delle policy enterprise
- Risoluzione dei problemi - Soluzioni per i problemi di configurazione comuni