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
Esempio settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Impostazioni disponibili

settings.json supporta una serie di opzioni:

ChiaveDescrizioneEsempio
apiKeyHelperScript 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
cleanupPeriodDaysPer quanto tempo mantenere localmente le trascrizioni delle chat (predefinito: 30 giorni)20
envVariabili d’ambiente che saranno applicate a ogni sessione{"FOO": "bar"}
includeCoAuthoredBySe includere la riga co-authored-by Claude nei commit git e nelle pull request (predefinito: true)false
permissionsVedi tabella sotto per la struttura dei permessi.
hooksConfigura comandi personalizzati da eseguire prima o dopo le esecuzioni degli strumenti. Vedi documentazione hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
modelSovrascrivi il modello predefinito da usare per Claude Code"claude-3-5-sonnet-20241022"
forceLoginMethodUsa claudeai per limitare il login agli account Claude.ai, console per limitare il login agli account Anthropic Console (fatturazione uso API)claudeai
enableAllProjectMcpServersApprova automaticamente tutti i server MCP definiti nei file .mcp.json del progettotrue
enabledMcpjsonServersLista di server MCP specifici dai file .mcp.json da approvare["memory", "github"]
disabledMcpjsonServersLista di server MCP specifici dai file .mcp.json da rifiutare["filesystem"]
awsAuthRefreshScript personalizzato che modifica la directory .aws (vedi configurazione credenziali avanzata)aws sso login --profile myprofile
awsCredentialExportScript personalizzato che produce JSON con credenziali AWS (vedi configurazione credenziali avanzata)/bin/generate_aws_grant.sh

Impostazioni permessi

ChiaviDescrizioneEsempio
allowArray di regole di permesso per consentire l’uso degli strumenti[ "Bash(git diff:*)" ]
denyArray di regole di permesso per negare l’uso degli strumenti[ "WebFetch", "Bash(curl:*)" ]
additionalDirectoriesDirectory di lavoro aggiuntive a cui Claude ha accesso[ "../docs/" ]
defaultModeModalità di permesso predefinita quando si apre Claude Code"acceptEdits"
disableBypassPermissionsModeImposta 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:

  1. Policy aziendali (vedi documentazione IAM)
  2. Argomenti della riga di comando
  3. Impostazioni progetto locali
  4. Impostazioni progetto condivise
  5. 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.

VariabileScopo
ANTHROPIC_API_KEYChiave API inviata come header X-Api-Key, tipicamente per il Claude SDK (per uso interattivo, esegui /login)
ANTHROPIC_AUTH_TOKENValore personalizzato per l’header Authorization (il valore che imposti qui sarà prefissato con Bearer )
ANTHROPIC_CUSTOM_HEADERSHeader personalizzati che vuoi aggiungere alla richiesta (in formato Name: Value)
ANTHROPIC_MODELNome del modello personalizzato da usare (vedi Configurazione Modello)
ANTHROPIC_SMALL_FAST_MODELNome del modello classe Haiku per attività in background
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONSovrascrivi regione AWS per il modello piccolo/veloce quando usi Bedrock
AWS_BEARER_TOKEN_BEDROCKChiave API Bedrock per autenticazione (vedi chiavi API Bedrock)
BASH_DEFAULT_TIMEOUT_MSTimeout predefinito per comandi bash a lunga durata
BASH_MAX_TIMEOUT_MSTimeout massimo che il modello può impostare per comandi bash a lunga durata
BASH_MAX_OUTPUT_LENGTHNumero massimo di caratteri negli output bash prima che vengano troncati nel mezzo
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRRitorna alla directory di lavoro originale dopo ogni comando Bash
CLAUDE_CODE_API_KEY_HELPER_TTL_MSIntervallo in millisecondi a cui le credenziali dovrebbero essere aggiornate (quando si usa apiKeyHelper)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLSalta l’auto-installazione delle estensioni IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSImposta il numero massimo di token di output per la maggior parte delle richieste
CLAUDE_CODE_USE_BEDROCKUsa Bedrock
CLAUDE_CODE_USE_VERTEXUsa Vertex
CLAUDE_CODE_SKIP_BEDROCK_AUTHSalta l’autenticazione AWS per Bedrock (es. quando si usa un gateway LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHSalta l’autenticazione Google per Vertex (es. quando si usa un gateway LLM)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICEquivalente di impostare DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, e DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEImposta a 1 per disabilitare gli aggiornamenti automatici del titolo del terminale basati sul contesto della conversazione
DISABLE_AUTOUPDATERImposta a 1 per disabilitare gli aggiornamenti automatici. Questo ha precedenza sull’impostazione di configurazione autoUpdates.
DISABLE_BUG_COMMANDImposta a 1 per disabilitare il comando /bug
DISABLE_COST_WARNINGSImposta a 1 per disabilitare i messaggi di avviso sui costi
DISABLE_ERROR_REPORTINGImposta a 1 per rinunciare al reporting errori Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSImposta a 1 per disabilitare le chiamate del modello per percorsi non critici come il testo di sapore
DISABLE_TELEMETRYImposta a 1 per rinunciare alla telemetria Statsig (nota che gli eventi Statsig non includono dati utente come codice, percorsi file, o comandi bash)
HTTP_PROXYSpecifica server proxy HTTP per connessioni di rete
HTTPS_PROXYSpecifica server proxy HTTPS per connessioni di rete
MAX_THINKING_TOKENSForza un budget di pensiero per il modello
MCP_TIMEOUTTimeout in millisecondi per l’avvio del server MCP
MCP_TOOL_TIMEOUTTimeout in millisecondi per l’esecuzione degli strumenti MCP
MAX_MCP_OUTPUT_TOKENSNumero massimo di token consentiti nelle risposte degli strumenti MCP (predefinito: 25000)
VERTEX_REGION_CLAUDE_3_5_HAIKUSovrascrivi regione per Claude 3.5 Haiku quando usi Vertex AI
VERTEX_REGION_CLAUDE_3_5_SONNETSovrascrivi regione per Claude 3.5 Sonnet quando usi Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETSovrascrivi regione per Claude 3.7 Sonnet quando usi Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSSovrascrivi regione per Claude 4.0 Opus quando usi Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETSovrascrivi 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>:

ChiaveDescrizioneEsempio
autoUpdatesSe 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
preferredNotifChannelDove vuoi ricevere le notifiche (predefinito: iterm2)iterm2, iterm2_with_bell, terminal_bell, o notifications_disabled
themeTema coloredark, light, light-daltonized, o dark-daltonized
verboseSe 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:

StrumentoDescrizionePermesso Richiesto
BashEsegue comandi shell nel tuo ambiente
EditFa modifiche mirate a file specifici
GlobTrova file basati su corrispondenza di patternNo
GrepCerca pattern nei contenuti dei fileNo
LSElenca file e directoryNo
MultiEditEsegue modifiche multiple su un singolo file atomicamente
NotebookEditModifica celle di notebook Jupyter
NotebookReadLegge e visualizza contenuti di notebook JupyterNo
ReadLegge i contenuti dei fileNo
TaskEsegue un sub-agente per gestire attività complesse e multi-stepNo
TodoWriteCrea e gestisce liste di attività strutturateNo
WebFetchRecupera contenuto da un URL specificato
WebSearchEsegue ricerche web con filtraggio di dominio
WriteCrea o sovrascrive file

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