/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.
Ambiti di configurazione
Claude Code utilizza un sistema di ambiti per determinare dove si applicano le configurazioni e con chi vengono condivise. Comprendere gli ambiti ti aiuta a decidere come configurare Claude Code per uso personale, collaborazione di team o distribuzione aziendale.Ambiti disponibili
| Ambito | Posizione | Chi interessa | Condiviso con il team? |
|---|---|---|---|
| Gestito | managed-settings.json a livello di sistema | Tutti gli utenti sulla macchina | Sì (distribuito da IT) |
| Utente | Directory ~/.claude/ | Tu, su tutti i progetti | No |
| Progetto | .claude/ nel repository | Tutti i collaboratori su questo repository | Sì (committato su git) |
| Locale | File .claude/*.local.* | Tu, solo in questo repository | No (ignorato da git) |
Quando utilizzare ogni ambito
L’ambito Gestito è per:- Politiche di sicurezza che devono essere applicate a livello organizzativo
- Requisiti di conformità che non possono essere ignorati
- Configurazioni standardizzate distribuite da IT/DevOps
- Preferenze personali che desideri ovunque (temi, impostazioni dell’editor)
- Strumenti e plugin che utilizzi su tutti i progetti
- Chiavi API e autenticazione (archiviate in modo sicuro)
- Impostazioni condivise dal team (permessi, hook, server MCP)
- Plugin che l’intero team dovrebbe avere
- Standardizzazione degli strumenti tra i collaboratori
- Override personali per un progetto specifico
- Test delle configurazioni prima di condividerle con il team
- Impostazioni specifiche della macchina che non funzioneranno per altri
Come interagiscono gli ambiti
Quando la stessa impostazione è configurata in più ambiti, gli ambiti più specifici hanno la precedenza:- Gestito (massima) - non può essere ignorato da nulla
- Argomenti della riga di comando - override temporanei della sessione
- Locale - ignora le impostazioni di progetto e utente
- Progetto - ignora le impostazioni utente
- Utente (minima) - si applica quando nient’altro specifica l’impostazione
Cosa utilizza gli ambiti
Gli ambiti si applicano a molte funzionalità di Claude Code:| Funzionalità | Posizione utente | Posizione progetto | Posizione locale |
|---|---|---|---|
| Impostazioni | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| Subagenti | ~/.claude/agents/ | .claude/agents/ | — |
| Server MCP | ~/.claude.json | .mcp.json | ~/.claude.json (per progetto) |
| Plugin | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md o .claude/CLAUDE.md | CLAUDE.local.md |
File di impostazioni
Il filesettings.json è il nostro meccanismo ufficiale per configurare Claude Code attraverso impostazioni gerarchiche:
-
Le impostazioni utente sono definite in
~/.claude/settings.jsone si applicano a tutti i progetti. -
Le impostazioni di progetto vengono 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.
-
Impostazioni gestite: Per le organizzazioni che necessitano di controllo centralizzato, Claude Code supporta file
managed-settings.jsonemanaged-mcp.jsonche possono essere distribuiti alle directory di sistema:- macOS:
/Library/Application Support/ClaudeCode/ - Linux e WSL:
/etc/claude-code/ - Windows:
C:\Program Files\ClaudeCode\
Vedi Impostazioni gestite e Configurazione MCP gestita per i dettagli.Questi sono percorsi a livello di sistema (non directory home dell’utente come~/Library/...) che richiedono privilegi di amministratore. Sono progettati per essere distribuiti da amministratori IT.Le distribuzioni gestite possono anche limitare aggiunte al marketplace dei plugin utilizzandostrictKnownMarketplaces. Per ulteriori informazioni, vedi Restrizioni del marketplace gestito. - macOS:
-
Altra configurazione è archiviata in
~/.claude.json. Questo file contiene le tue preferenze (tema, impostazioni di notifica, modalità editor), sessione OAuth, configurazioni del server MCP per ambiti utente e locale, stato per progetto (strumenti consentiti, impostazioni di fiducia) e varie cache. I server MCP con ambito di progetto sono archiviati separatamente in.mcp.json.
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 intestazioni X-Api-Key e Authorization: Bearer per le richieste del modello | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Le sessioni inattive per più di questo periodo vengono eliminate all’avvio. L’impostazione a 0 elimina immediatamente tutte le sessioni. (predefinito: 30 giorni) | 20 |
companyAnnouncements | Annuncio da visualizzare agli utenti all’avvio. Se vengono forniti più annunci, verranno alternati casualmente. | ["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"] |
env | Variabili d’ambiente che verranno applicate a ogni sessione | {"FOO": "bar"} |
attribution | Personalizza l’attribuzione per i commit git e le pull request. Vedi Impostazioni di attribuzione | {"commit": "🤖 Generated with Claude Code", "pr": ""} |
includeCoAuthoredBy | Deprecato: Utilizza attribution invece. 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 degli hook | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Disabilita tutti gli hook | true |
allowManagedHooksOnly | (Solo impostazioni gestite) Impedisci il caricamento di hook utente, progetto e plugin. Consenti solo hook gestiti e hook SDK. Vedi Configurazione degli hook | true |
model | Ignora il modello predefinito da utilizzare per Claude Code | "claude-sonnet-4-5-20250929" |
otelHeadersHelper | Script per generare intestazioni OpenTelemetry dinamiche. Viene eseguito all’avvio e periodicamente (vedi Intestazioni dinamiche) | /bin/generate_otel_headers.sh |
statusLine | Configura una riga di stato personalizzata per visualizzare il contesto. Vedi documentazione di statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
fileSuggestion | Configura uno script personalizzato per l’autocompletamento dei file @. Vedi Impostazioni di suggerimento file | {"type": "command", "command": "~/.claude/file-suggestion.sh"} |
respectGitignore | Controlla se il selettore di file @ rispetta i pattern .gitignore. Quando true (predefinito), i file che corrispondono ai pattern .gitignore sono esclusi dai suggerimenti | false |
outputStyle | Configura uno stile di output per regolare il prompt di sistema. Vedi documentazione degli stili di output | "Explanatory" |
forceLoginMethod | Utilizza claudeai per limitare l’accesso agli account Claude.ai, console per limitare l’accesso agli account Claude Console (fatturazione per utilizzo API) | claudeai |
forceLoginOrgUUID | Specifica l’UUID di un’organizzazione per selezionarla automaticamente durante l’accesso, ignorando 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"] |
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 lista di rifiuto ha la precedenza. Vedi Configurazione MCP gestita | [{ "serverName": "github" }] |
deniedMcpServers | Quando impostato in managed-settings.json, elenco di server MCP che sono esplicitamente bloccati. Si applica a tutti gli ambiti inclusi i server gestiti. La lista di rifiuto ha la precedenza sulla lista di consentiti. Vedi Configurazione MCP gestita | [{ "serverName": "filesystem" }] |
strictKnownMarketplaces | Quando impostato in managed-settings.json, elenco di marketplace di plugin che gli utenti possono aggiungere. Non definito = nessuna restrizione, array vuoto = blocco totale. Si applica solo alle aggiunte del marketplace. Vedi Restrizioni del marketplace gestito | [{ "source": "github", "repo": "acme-corp/plugins" }] |
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 |
alwaysThinkingEnabled | Abilita il pensiero esteso per impostazione predefinita per tutte le sessioni. Tipicamente configurato tramite il comando /config piuttosto che modificato direttamente | true |
plansDirectory | Personalizza dove vengono archiviati i file di piano. Il percorso è relativo alla radice del progetto. Predefinito: ~/.claude/plans | "./plans" |
showTurnDuration | Mostra messaggi di durata del turno dopo le risposte (ad es., “Cooked for 1m 6s”). Impostare su false per nascondere questi messaggi | true |
language | Configura la lingua di risposta preferita di Claude (ad es., "japanese", "spanish", "french"). Claude risponderà in questa lingua per impostazione predefinita | "japanese" |
autoUpdatesChannel | Canale di rilascio da seguire per gli aggiornamenti. Utilizza "stable" per una versione che è tipicamente circa una settimana vecchia e salta versioni con regressioni importanti, o "latest" (predefinito) per il rilascio più recente | "stable" |
spinnerTipsEnabled | Mostra suggerimenti nello spinner mentre Claude sta lavorando. Impostare su false per disabilitare i suggerimenti (predefinito: true) | false |
terminalProgressBarEnabled | Abilita la barra di avanzamento del terminale che mostra l’avanzamento nei terminali supportati come Windows Terminal e iTerm2 (predefinito: true) | false |
Impostazioni dei permessi
| Chiavi | Descrizione | Esempio |
|---|---|---|
allow | Array di regole di permesso per consentire l’uso dello strumento. Vedi Sintassi della regola di permesso sottostante per i dettagli della corrispondenza dei pattern | [ "Bash(git diff:*)" ] |
ask | Array di regole di permesso per chiedere conferma all’uso dello strumento. Vedi Sintassi della regola di permesso sottostante | [ "Bash(git push:*)" ] |
deny | Array di regole di permesso per negare l’uso dello strumento. Utilizza questo per escludere file sensibili dall’accesso di Claude Code. Vedi Sintassi della regola di permesso e Limitazioni dei permessi Bash | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Directory di lavoro aggiuntive a cui Claude ha accesso | [ "../docs/" ] |
defaultMode | Modalità di permesso predefinita all’apertura di Claude Code | "acceptEdits" |
disableBypassPermissionsMode | Impostare su "disable" per impedire l’attivazione della modalità bypassPermissions. Questo disabilita il flag della riga di comando --dangerously-skip-permissions. Vedi impostazioni gestite | "disable" |
Sintassi della regola di permesso
Le regole di permesso seguono il formatoTool o Tool(specifier). Comprendere la sintassi ti aiuta a scrivere regole che corrispondono esattamente a quello che intendi.
Ordine di valutazione delle regole
Quando più regole potrebbero corrispondere allo stesso uso dello strumento, le regole vengono valutate in questo ordine:- Regole Deny vengono controllate per prime
- Regole Ask vengono controllate per seconde
- Regole Allow vengono controllate per ultime
Corrispondenza di tutti gli usi di uno strumento
Per corrispondere a tutti gli usi di uno strumento, utilizza solo il nome dello strumento senza parentesi:| Regola | Effetto |
|---|---|
Bash | Corrisponde a tutti i comandi Bash |
WebFetch | Corrisponde a tutte le richieste di recupero web |
Read | Corrisponde a tutte le letture di file |
Utilizzo di specifier per il controllo granulare
Aggiungi uno specifier tra parentesi per corrispondere a usi specifici dello strumento:| Regola | Effetto |
|---|---|
Bash(npm run build) | Corrisponde al comando esatto npm run build |
Read(./.env) | Corrisponde alla lettura del file .env nella directory corrente |
WebFetch(domain:example.com) | Corrisponde alle richieste di recupero a example.com |
Pattern con wildcard
Due sintassi di wildcard sono disponibili per le regole Bash:| Wildcard | Posizione | Comportamento | Esempio |
|---|---|---|---|
:* | Solo alla fine del pattern | Corrispondenza del prefisso con confine di parola. Il prefisso deve essere seguito da uno spazio o fine stringa. | Bash(ls:*) corrisponde a ls -la ma non a lsof |
* | Ovunque nel pattern | Corrispondenza glob senza confine di parola. Corrisponde a qualsiasi sequenza di caratteri in quella posizione. | Bash(ls*) corrisponde sia a ls -la che a lsof |
:*
Il suffisso :* corrisponde a qualsiasi comando che inizia con il prefisso specificato. Funziona con comandi multi-parola. La seguente configurazione consente comandi npm e git commit mentre blocca git push e rm -rf:
*
Il wildcard * può apparire all’inizio, nel mezzo o alla fine di un pattern. La seguente configurazione consente qualsiasi comando git che ha come target main (come git checkout main, git merge main) e qualsiasi comando di controllo della versione (come node --version, npm --version):
Impostazioni della 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 del filesystem e della rete sono configurate tramite regole di permesso Read, Edit e WebFetch, non tramite queste impostazioni della 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"] |
allowUnsandboxedCommands | Consenti ai comandi di essere eseguiti al di fuori della sandbox tramite il parametro dangerouslyDisableSandbox. Quando impostato su false, la scappatoia dangerouslyDisableSandbox è completamente disabilitata e tutti i comandi devono essere eseguiti in sandbox (o essere in excludedCommands). Utile per le politiche aziendali che richiedono una sandbox rigorosa. Predefinito: true | false |
network.allowUnixSockets | Percorsi di 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 del proxy HTTP utilizzata se desideri portare il tuo proxy. Se non specificato, Claude eseguirà il suo proxy. | 8080 |
network.socksProxyPort | Porta del proxy SOCKS5 utilizzata se desideri portare il tuo proxy. Se non specificato, Claude eseguirà il suo proxy. | 8081 |
enableWeakerNestedSandbox | Abilita una sandbox più debole per ambienti Docker senza privilegi (solo Linux). Riduce la sicurezza. Predefinito: false | true |
- Utilizza le regole di negazione
Readper bloccare Claude dalla lettura di file o directory specifici - Utilizza le regole di consentimento
Editper consentire a Claude di scrivere in directory oltre la directory di lavoro corrente - Utilizza le regole di negazione
Editper bloccare le scritture in percorsi specifici - Utilizza le regole di consentimento/negazione
WebFetchper controllare quali domini di rete Claude può accedere
Impostazioni di attribuzione
Claude Code aggiunge attribuzione ai commit git e alle pull request. Questi sono configurati separatamente:- I commit utilizzano git trailer (come
Co-Authored-By) per impostazione predefinita, che possono essere personalizzati o disabilitati - Le descrizioni delle pull request sono testo semplice
| Chiavi | Descrizione |
|---|---|
commit | Attribuzione per i commit git, inclusi eventuali trailer. La stringa vuota nasconde l’attribuzione del commit |
pr | Attribuzione per le descrizioni delle pull request. La stringa vuota nasconde l’attribuzione della pull request |
L’impostazione
attribution ha la precedenza sull’impostazione deprecata includeCoAuthoredBy. Per nascondere tutta l’attribuzione, imposta commit e pr su stringhe vuote.Impostazioni di suggerimento file
Configura un comando personalizzato per l’autocompletamento del percorso del file@. Il suggerimento di file integrato utilizza l’attraversamento veloce del filesystem, ma i monorepo di grandi dimensioni potrebbero beneficiare dell’indicizzazione specifica del progetto come un indice di file pre-costruito o strumenti personalizzati.
CLAUDE_PROJECT_DIR. Riceve JSON tramite stdin con un campo query:
Configurazione degli hook
Solo impostazioni gestite: Controlla quali hook sono autorizzati a essere eseguiti. Questa impostazione può essere configurata solo nelle impostazioni gestite e fornisce agli amministratori un controllo rigoroso sull’esecuzione degli hook. Comportamento quandoallowManagedHooksOnly è true:
- Gli hook gestiti e gli hook SDK vengono caricati
- Gli hook utente, gli hook di progetto e gli hook di plugin vengono bloccati
Precedenza delle impostazioni
Le impostazioni si applicano in ordine di precedenza. Dal più alto al più basso:-
Impostazioni gestite (
managed-settings.json)- Politiche distribuite da IT/DevOps alle directory di sistema
- Non possono essere ignorate dalle impostazioni utente o di progetto
-
Argomenti della riga di comando
- Override temporanei per una sessione specifica
-
Impostazioni di progetto locale (
.claude/settings.local.json)- Impostazioni di progetto personali specifiche
-
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
Bash(npm run:*) ma le impostazioni condivise di un progetto lo negano, l’impostazione di progetto ha la precedenza e il comando è bloccato.
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 d’ambiente e comportamento dello strumento
- Skill: Prompt personalizzati che possono essere invocati con
/skill-nameo caricati automaticamente da Claude - Server MCP: Estendono Claude Code con strumenti e integrazioni aggiuntivi
- Precedenza: Le configurazioni di livello superiore (Gestite) ignorano quelle di livello inferiore (Utente/Progetto)
- Eredità: Le impostazioni vengono unite, con impostazioni più specifiche che aggiungono o ignorano quelle più ampie
Prompt di sistema
Il prompt di sistema interno di Claude Code non è pubblicato. Per aggiungere istruzioni personalizzate, utilizza i fileCLAUDE.md o il flag --append-system-prompt.
Esclusione di file sensibili
Per impedire a Claude Code di accedere a file contenenti informazioni sensibili come chiavi API, segreti e file di ambiente, utilizza 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 dei subagenti
Claude Code supporta subagenti AI personalizzati che possono essere configurati sia a livello utente che di progetto. Questi subagenti sono archiviati come file Markdown con frontmatter YAML:- Subagenti utente:
~/.claude/agents/- Disponibili su tutti i tuoi progetti - Subagenti di progetto:
.claude/agents/- Specifici per il tuo progetto e possono essere condivisi con il tuo team
Configurazione dei plugin
Claude Code supporta un sistema di plugin che ti consente di estendere la funzionalità con skill, agenti, hook e server MCP. I plugin vengono distribuiti tramite marketplace e possono essere configurati sia a livello utente che di repository.Impostazioni dei 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 fidano della cartella
- I membri del team vengono quindi invitati a installare i plugin da quel marketplace
- Gli utenti possono saltare i marketplace o i plugin indesiderati (archiviati nelle impostazioni utente)
- L’installazione rispetta i confini di fiducia e richiede il consenso esplicito
github: Repository GitHub (utilizzarepo)git: Qualsiasi URL git (utilizzaurl)directory: Percorso del filesystem locale (utilizzapath, solo per lo sviluppo)
strictKnownMarketplaces
Solo impostazioni gestite: Controlla quali marketplace di plugin gli utenti sono autorizzati ad aggiungere. Questa impostazione può essere configurata solo in managed-settings.json e fornisce agli amministratori un controllo rigoroso sulle fonti del marketplace.
Posizioni dei file di impostazioni gestite:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux e WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\Program Files\ClaudeCode\managed-settings.json
- Disponibile solo nelle impostazioni gestite (
managed-settings.json) - Non può essere ignorato dalle impostazioni utente o di progetto (massima precedenza)
- Applicato PRIMA delle operazioni di rete/filesystem (le fonti bloccate non vengono mai eseguite)
- Utilizza la corrispondenza esatta per le specifiche della fonte (incluso
ref,pathper le fonti git)
undefined(predefinito): Nessuna restrizione - gli utenti possono aggiungere qualsiasi marketplace- Array vuoto
[]: Blocco completo - gli utenti non possono aggiungere nuovi marketplace - Elenco di fonti: Gli utenti possono aggiungere solo marketplace che corrispondono esattamente
- Repository GitHub:
repo (obbligatorio), ref (facoltativo: branch/tag/SHA), path (facoltativo: sottodirectory)
- Repository Git:
url (obbligatorio), ref (facoltativo: branch/tag/SHA), path (facoltativo: sottodirectory)
- Marketplace basati su URL:
url (obbligatorio), headers (facoltativo: intestazioni HTTP per l’accesso autenticato)
I marketplace basati su URL scaricano solo il file
marketplace.json. Non scaricano i file dei plugin dal server. I plugin nei marketplace basati su URL devono utilizzare fonti esterne (URL GitHub, npm o git) piuttosto che percorsi relativi. Per i plugin con percorsi relativi, utilizza un marketplace basato su Git. Vedi Risoluzione dei problemi per i dettagli.- Pacchetti NPM:
package (obbligatorio, supporta pacchetti con scope)
- Percorsi di file:
path (obbligatorio: percorso assoluto al file marketplace.json)
- Percorsi di directory:
path (obbligatorio: percorso assoluto alla directory contenente .claude-plugin/marketplace.json)
Esempi di configurazione:
Esempio - Consenti solo marketplace specifici:
github e git), questo include tutti i campi facoltativi:
- Il
repoourldeve corrispondere esattamente - Il campo
refdeve corrispondere esattamente (o entrambi essere non definiti) - Il campo
pathdeve corrispondere esattamente (o entrambi essere non definiti)
extraKnownMarketplaces:
| Aspetto | strictKnownMarketplaces | extraKnownMarketplaces |
|---|---|---|
| Scopo | Applicazione della politica organizzativa | Comodità del team |
| File di impostazioni | Solo managed-settings.json | Qualsiasi file di impostazioni |
| Comportamento | Blocca le aggiunte non nella lista di consentiti | Installa automaticamente i marketplace mancanti |
| Quando applicato | Prima delle operazioni di rete/filesystem | Dopo il prompt di fiducia dell’utente |
| Può essere ignorato | No (massima precedenza) | Sì (dalle impostazioni di precedenza superiore) |
| Formato della fonte | Oggetto fonte diretto | Marketplace denominato con fonte nidificata |
| Caso d’uso | Conformità, restrizioni di sicurezza | Onboarding, standardizzazione |
strictKnownMarketplaces utilizza oggetti fonte diretti:
extraKnownMarketplaces richiede marketplace denominati:
- Le restrizioni vengono controllate PRIMA di qualsiasi richiesta di rete o operazione di filesystem
- Quando bloccate, gli utenti vedono messaggi di errore chiari che indicano che la fonte è bloccata dalla politica gestita
- La restrizione si applica solo all’aggiunta di NUOVI marketplace; i marketplace precedentemente installati rimangono accessibili
- Le impostazioni gestite hanno la massima precedenza e non possono essere ignorate
Gestione dei plugin
Utilizza 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 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 insieme di variabili d’ambiente per tutto il tuo team o organizzazione.| Variabile | Scopo |
|---|---|
ANTHROPIC_API_KEY | Chiave API inviata come intestazione X-Api-Key, tipicamente per Claude SDK (per l’utilizzo interattivo, esegui /login) |
ANTHROPIC_AUTH_TOKEN | Valore personalizzato per l’intestazione Authorization (il valore che imposti qui sarà preceduto da Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Intestazioni personalizzate che desideri aggiungere alla richiesta (in formato Name: Value) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Vedi Configurazione del modello |
ANTHROPIC_DEFAULT_OPUS_MODEL | Vedi Configurazione del modello |
ANTHROPIC_DEFAULT_SONNET_MODEL | Vedi Configurazione del modello |
ANTHROPIC_FOUNDRY_API_KEY | Chiave API per l’autenticazione Microsoft Foundry (vedi Microsoft Foundry) |
ANTHROPIC_MODEL | Nome dell’impostazione del modello da utilizzare (vedi Configurazione del modello) |
ANTHROPIC_SMALL_FAST_MODEL | [DEPRECATO] Nome del modello di classe Haiku per attività in background |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Ignora la regione AWS per il modello di classe Haiku quando si utilizza 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 nel mezzo |
BASH_MAX_TIMEOUT_MS | Timeout massimo che il modello può impostare per i comandi bash a lunga esecuzione |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | Imposta la percentuale della capacità del contesto (1-100) a cui si attiva la compattazione automatica. Per impostazione predefinita, la compattazione automatica si attiva a circa il 95% della capacità. Utilizza valori inferiori come 50 per compattare prima. I valori superiori alla soglia predefinita non hanno effetto. Si applica sia alle conversazioni principali che ai subagenti. Questa percentuale si allinea con il campo context_window.used_percentage disponibile nella riga di stato |
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 utilizza apiKeyHelper) |
CLAUDE_CODE_CLIENT_CERT | Percorso al file del certificato client per l’autenticazione mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Passphrase per la chiave privata CLAUDE_CODE_CLIENT_KEY crittografata (facoltativo) |
CLAUDE_CODE_CLIENT_KEY | Percorso al file della chiave privata client per l’autenticazione mTLS |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | Impostare su 1 per disabilitare le intestazioni anthropic-beta specifiche dell’API Anthropic. Utilizza questo se riscontri problemi come “Unexpected value(s) for the anthropic-beta header” quando utilizzi un gateway LLM con provider di terze parti |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS | Impostare su 1 per disabilitare tutta la funzionalità di attività in background, incluso il parametro run_in_background su strumenti Bash e subagenti, auto-backgrounding e il collegamento Ctrl+B |
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY | Tempo in millisecondi da attendere dopo che il ciclo di query diventa inattivo prima di uscire automaticamente. Utile per flussi di lavoro automatizzati e script che utilizzano la modalità SDK |
CLAUDE_CODE_PROXY_RESOLVES_HOSTS | Impostare su true per consentire al proxy di eseguire la risoluzione DNS invece del chiamante. Opt-in per gli ambienti in cui il proxy dovrebbe gestire la risoluzione del nome host |
CLAUDE_CODE_TMPDIR | Ignora la directory temporanea utilizzata per i file temporanei interni. Claude Code aggiunge /claude/ a questo percorso. Predefinito: /tmp su Unix/macOS, os.tmpdir() su Windows |
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 | Impostare su 1 per disabilitare gli aggiornamenti automatici del titolo del terminale in base al contesto della conversazione |
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS | Ignora il limite di token predefinito per le letture di file. Utile quando è necessario leggere file più grandi per intero |
CLAUDE_CODE_HIDE_ACCOUNT_INFO | Impostare su 1 per nascondere il tuo indirizzo email e il nome dell’organizzazione dall’interfaccia utente di Claude Code. Utile quando si trasmette in streaming o si registra |
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. Predefinito: 32.000. Massimo: 64.000. L’aumento di questo valore riduce la finestra di contesto effettiva disponibile prima che si attivi la compattazione automatica. |
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS | Intervallo per l’aggiornamento delle intestazioni OpenTelemetry dinamiche in millisecondi (predefinito: 1740000 / 29 minuti). Vedi Intestazioni dinamiche |
CLAUDE_CODE_SHELL | Ignora il rilevamento automatico della shell. Utile quando la tua shell di accesso differisce dalla tua shell di lavoro preferita (ad esempio, bash vs zsh) |
CLAUDE_CODE_SHELL_PREFIX | Prefisso del comando per avvolgere tutti i comandi bash (ad esempio, per la registrazione o il controllo). Esempio: /path/to/logger.sh eseguirà /path/to/logger.sh <command> |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Salta l’autenticazione AWS per Bedrock (ad esempio, quando si utilizza un gateway LLM) |
CLAUDE_CODE_SKIP_FOUNDRY_AUTH | Salta l’autenticazione Azure per Microsoft Foundry (ad esempio, quando si utilizza un gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Salta l’autenticazione Google per Vertex (ad esempio, quando si utilizza un gateway LLM) |
CLAUDE_CODE_SUBAGENT_MODEL | Vedi Configurazione del modello |
CLAUDE_CODE_USE_BEDROCK | Utilizza Bedrock |
CLAUDE_CODE_USE_FOUNDRY | Utilizza Microsoft Foundry |
CLAUDE_CODE_USE_VERTEX | Utilizza Vertex |
CLAUDE_CONFIG_DIR | Personalizza dove Claude Code archivia i suoi file di configurazione e dati |
DISABLE_AUTOUPDATER | Impostare su 1 per disabilitare gli aggiornamenti automatici. |
DISABLE_BUG_COMMAND | Impostare su 1 per disabilitare il comando /bug |
DISABLE_COST_WARNINGS | Impostare su 1 per disabilitare i messaggi di avvertimento sui costi |
DISABLE_ERROR_REPORTING | Impostare su 1 per rinunciare alla segnalazione degli errori di Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Impostare su 1 per disabilitare le chiamate del modello per percorsi non critici come il testo di sapore |
DISABLE_PROMPT_CACHING | Impostare su 1 per disabilitare la memorizzazione nella cache del prompt per tutti i modelli (ha la precedenza sulle impostazioni per modello) |
DISABLE_PROMPT_CACHING_HAIKU | Impostare su 1 per disabilitare la memorizzazione nella cache del prompt per i modelli Haiku |
DISABLE_PROMPT_CACHING_OPUS | Impostare su 1 per disabilitare la memorizzazione nella cache del prompt per i modelli Opus |
DISABLE_PROMPT_CACHING_SONNET | Impostare su 1 per disabilitare la memorizzazione nella cache del prompt per i modelli Sonnet |
DISABLE_TELEMETRY | Impostare su 1 per rinunciare alla telemetria Statsig (nota che gli eventi Statsig non includono dati utente come codice, percorsi di file o comandi bash) |
ENABLE_TOOL_SEARCH | Controlla la ricerca degli strumenti MCP. Valori: auto (predefinito, abilita al 10% del contesto), auto:N (soglia personalizzata, ad es. auto:5 per il 5%), true (sempre attivo), false (disabilitato) |
FORCE_AUTOUPDATE_PLUGINS | Impostare su true per forzare gli aggiornamenti automatici dei plugin anche quando l’aggiornamento automatico principale è disabilitato tramite DISABLE_AUTOUPDATER |
HTTP_PROXY | Specifica il server proxy HTTP per le connessioni di rete |
HTTPS_PROXY | Specifica il server proxy HTTPS per le connessioni di rete |
IS_DEMO | Impostare su true per abilitare la modalità demo: nasconde l’email e l’organizzazione dall’interfaccia utente, salta l’onboarding e nasconde i comandi interni. Utile per la trasmissione in streaming o la registrazione di sessioni |
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 | Ignora il budget del pensiero esteso. Il pensiero è abilitato al budget massimo (31.999 token) per impostazione predefinita. Utilizza questo per limitare il budget (ad esempio, MAX_THINKING_TOKENS=10000) o disabilitare completamente il pensiero (MAX_THINKING_TOKENS=0). Il pensiero esteso migliora le prestazioni su attività di ragionamento e codifica complesse ma influisce sull’efficienza della memorizzazione nella cache del prompt. |
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, ignorando il proxy |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Numero massimo di caratteri per i metadati delle skill mostrati allo strumento Skill (predefinito: 15000). Nome legacy mantenuto per la compatibilità all’indietro. |
USE_BUILTIN_RIPGREP | Impostare su 0 per utilizzare il rg installato dal sistema invece del rg incluso con Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Ignora la regione per Claude 3.5 Haiku quando si utilizza Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Ignora la regione per Claude 3.7 Sonnet quando si utilizza Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Ignora la regione per Claude 4.0 Opus quando si utilizza Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Ignora la regione per Claude 4.0 Sonnet quando si utilizza Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Ignora la regione per Claude 4.1 Opus quando si utilizza Vertex AI |
Strumenti disponibili per Claude
Claude Code ha accesso a un insieme di strumenti potenti che lo aiutano a comprendere e modificare il tuo codebase:| Strumento | Descrizione | Permesso richiesto |
|---|---|---|
| AskUserQuestion | Pone domande a scelta multipla per raccogliere requisiti o chiarire ambiguità | No |
| Bash | Esegue comandi shell nel tuo ambiente (vedi Comportamento dello strumento Bash sottostante) | Sì |
| TaskOutput | Recupera l’output da un’attività in background (shell bash o subagente) | No |
| Edit | Effettua modifiche mirate a file specifici | Sì |
| ExitPlanMode | Invita l’utente a uscire dalla modalità di piano e iniziare a codificare | Sì |
| Glob | Trova file in base alla corrispondenza dei pattern | No |
| Grep | Cerca pattern nei contenuti dei file | No |
| KillShell | Uccide una shell bash in background in esecuzione per il suo ID | No |
| MCPSearch | Cerca e carica gli strumenti MCP quando la ricerca degli strumenti è abilitata | No |
| NotebookEdit | Modifica le celle del notebook Jupyter | Sì |
| Read | Legge i contenuti dei file | No |
| Skill | Esegue una skill all’interno della conversazione principale | Sì |
| Task | Esegue un sub-agente per gestire attività complesse e multi-step | No |
| TodoWrite | Crea e gestisce elenchi di attività strutturate | 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.
Comportamento dello strumento Bash
Lo strumento Bash esegue comandi shell con il seguente comportamento di persistenza:- La directory di lavoro persiste: Quando Claude cambia la directory di lavoro (ad esempio,
cd /path/to/dir), i successivi comandi Bash verranno eseguiti in quella directory. Puoi utilizzareCLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1per ripristinare la directory del progetto dopo ogni comando. - Le variabili d’ambiente NON persistono: Le variabili d’ambiente impostate in un comando Bash (ad esempio,
export MY_VAR=value) non sono disponibili nei successivi comandi Bash. Ogni comando Bash viene eseguito in un ambiente shell fresco.
/path/to/env-setup.sh contiene:
.claude/settings.json:
$CLAUDE_ENV_FILE, che viene quindi fornito prima di ogni comando Bash. Questo è ideale per le configurazioni di progetto condivise dal team.
Vedi Hook SessionStart per ulteriori dettagli sull’Opzione 3.
Estensione degli strumenti con hook
Puoi eseguire comandi personalizzati prima o dopo l’esecuzione di qualsiasi strumento utilizzando gli hook di Claude Code. Ad esempio, potresti eseguire automaticamente un formattatore Python dopo che Claude modifica i file Python, o impedire modifiche ai file di configurazione di produzione bloccando le operazioni Write su determinati percorsi.Vedi anche
- Identity and Access Management - Panoramica del sistema di permessi e come interagiscono le regole allow/ask/deny
- Regole di permesso specifiche dello strumento - Pattern dettagliati per gli strumenti Bash, Read, Edit, WebFetch, MCP e Task, incluse le limitazioni di sicurezza
- Impostazioni gestite - Configurazione della politica gestita per le organizzazioni
- Risoluzione dei problemi - Soluzioni per i problemi di configurazione comuni