~/.claude/settings.json. Le cerca in pochi percorsi, e il file da cui legge un’impostazione decide a chi si applica. Questa pagina copre quei file: quale usare per un’impostazione, come modificare un’impostazione e confermare che è stata applicata, e quale valore Claude Code utilizza quando la stessa chiave è impostata in più di un file. Configura i permessi copre cosa Claude Code può eseguire senza chiedere e come scrivere regole allow, ask e deny.
Questa pagina copre Claude Code in esecuzione sulla vostra macchina: il terminale, le estensioni VS Code e JetBrains, e l’app desktop, che leggono tutti gli stessi file di impostazioni. Una sessione cloud su Claude Code sul web viene eseguita su una macchina diversa e legge solo alcuni di essi; vedere Impostazioni nelle sessioni cloud.
File di impostazioni e chi interessano
Claude Code legge le impostazioni da quattro file, e un’organizzazione può anche fornire impostazioni gestite dalla console claude.ai. Ogni fonte ha un ambito: l’insieme di persone e progetti a cui si applica un’impostazione salvata in essa, che sia solo tu, tutti in un progetto o tutti nella tua organizzazione.
Nella colonna File,
~/.claude è la cartella .claude nella tua directory home, e un .claude semplice è la cartella .claude all’interno del tuo progetto.
Confrontare l’ambito di ogni file di impostazioni
Supponi di avere tre progetti sulla tua macchina,website/, api/ e acme-app/, che un tuo collega abbia il proprio clone di acme-app/ e che tu avvii una sessione cloud su acme-app/.
Il grafico sottostante mostra in quali di quelle cartelle si applica un’impostazione quando avvii Claude Code da esse. Fai clic su un file di impostazioni per vedere le cartelle che raggiunge.
~/.claude/settings.json: ogni progetto sulla tua macchina, e nulla su quella del tuo collega o nella sessione cloudacme-app/.claude/settings.json: il tuoacme-app/. Raggiunge il clone del tuo collega e la sessione cloud solo se esegui il commit del file nel controllo di versione; finché non lo fai, è un file sul tuo disco come qualsiasi altro e nessun altro lo haacme-app/.claude/settings.local.json: solo il tuoacme-app/. Claude Code lo aggiunge alle tue esclusioni git globali la prima volta che scrive il file, quindi rimane fuori dai tuoi commit; se crei il file manualmente, aggiungilo tu stesso a.gitignore- Impostazioni gestite, che si tratti di un file
managed-settings.json, di una politica MDM o di impostazioni gestite dal server dalla console claude.ai: ogni progetto su ogni macchina a cui la tua organizzazione le distribuisce, o a cui accedi con l’account della tua organizzazione. Solo le impostazioni gestite dal server raggiungono la sessione cloud
Trovare o creare i tuoi file di impostazioni
L’installazione di Claude Code non crea alcun file di impostazioni. Se la tua macchina o il tuo progetto ne ha già uno, proviene da una di queste fonti:- Gestito: lo distribuisce la tua organizzazione. Non lo crei né lo modifichi tu.
- Progetto condiviso: un progetto che utilizza già Claude Code potrebbe averne uno sottoposto a commit. In caso contrario, crealo in
.claude/settings.jsonnella cartella del progetto. - Utente e Progetto locale: creali tu stesso, oppure lascia che sia Claude Code a crearli. Scrive
~/.claude/settings.jsonla prima volta che modifichi un’opzione nel menu/configche memorizza nelle impostazioni utente, come il tema, e.claude/settings.local.jsonla prima volta che dai un’approvazione permanente a una richiesta di permesso, come “Sì, e non chiedere di nuovo” per un comando Bash. Alcune opzioni di/config, tra cui Show tips, vengono invece salvate in.claude/settings.local.jsonanziché nel file utente.
Su Windows,
~/.claude significa %USERPROFILE%\.claude. Per tenere i file della directory home altrove, imposta CLAUDE_CONFIG_DIR; Claude Code memorizzerà quindi lì le tue impostazioni, la cronologia delle sessioni e i plugin.~/.claude.json, che scrive per sé; non hai bisogno di modificarlo. Contiene i dettagli del tuo account, le configurazioni dei server MCP, lo stato per progetto come le decisioni di fiducia e le chiavi di configurazione globale che /config scrive per te.
Condividere le impostazioni con il tuo team
Esegui il commit di.claude/settings.json in modo che tutti coloro che clonano il repository ricevano gli stessi permessi, hook e plugin. Ogni collega può comunque sovrascriverlo per sé nel proprio .claude/settings.local.json, quindi le eccezioni personali non richiedono un commit. Per un file di team completo, consulta le impostazioni condivise di un team.
Parte di ciò di cui esegui il commit resta in attesa finché ogni collega non considera attendibile la cartella, e alcune chiavi non hanno mai effetto da un file del repository; Risolvere i problemi di un’impostazione che non si applica tratta entrambi i casi.
Tenere le impostazioni personali fuori da un repository
Per modificare un’impostazione solo per te in un progetto senza cambiarla per i tuoi colleghi, salvala in.claude/settings.local.json all’interno del progetto. Claude Code applica quel file sopra il .claude/settings.json sottoposto a commit, quindi se il file del tuo team imposta "model": "claude-sonnet-5" e tu vuoi Opus, inserisci "model": "claude-opus-5-5" nel tuo file locale e cambiano solo le tue sessioni.
Claude Code scrive anche in questo file, lo tiene fuori dai tuoi commit e applica le sue regole allow senza il passaggio di attendibilità:
- Anche Claude Code lo scrive. Quando Claude chiede il permesso di eseguire un comando Bash e scegli “Sì, e non chiedere di nuovo”, Claude Code salva qui quell’approvazione del permesso come regola
allow. - Non devi aggiungerlo tu a gitignore, a meno che tu non l’abbia creato manualmente. La prima volta che Claude Code scrive il file in un repository git che non lo ignora già, aggiunge
**/.claude/settings.local.jsonal tuo file di esclusioni git globale, così il file rimane fuori dai tuoi commit in ogni repository. Quel file ècore.excludesFilequando la tua configurazione git globale lo imposta su un percorso assoluto o con prefisso~; altrimenti è$XDG_CONFIG_HOME/git/ignore, oppure~/.config/git/ignorequandoXDG_CONFIG_HOMEnon è impostato. Se hai creato il file manualmente e Claude Code non vi ha ancora scritto, aggiungilo tu stesso a.gitignore. - Le sue regole allow non attendono l’attendibilità finché il file resta non tracciato. Poiché il file è tuo e non del repository, Claude Code applica le sue regole
allowsenza il passaggio di attendibilità del workspace che richiede per il file sottoposto a commit. Se il file è tracciato da git, il passaggio di attendibilità si applica anche a esso; consulta Quando il tuo file di impostazioni locali richiede l’attendibilità.
Dove Claude Code mantiene il file locale in un repository git
Quando Claude chiede il permesso di eseguire un comando Bash e scegli “Sì, e non chiedere di nuovo”, Claude Code salva quell’approvazione come regolaallow in .claude/settings.local.json. Se avvii Claude Code in una sottodirectory di un repository git, legge e scrive quel file nella radice del repository e applica l’approvazione all’intero repository. In un worktree, utilizza il file nella radice del checkout principale.
Due regole precisano la posizione nella radice:
- Quando il file resta invece accanto a
.claude/settings.json: fuori da un repository git, quando la radice del repository è la tua directory home, su Windows, oppure quando la radice del repository o la sua voce.gito.claudenon è di proprietà del tuo utente. - I percorsi nel file non si ancorano alla radice del repository: una regola di permesso che inizia con
/o un percorso sandbox relativo si ancora invece alla directory di lavoro primaria della sessione.
resolveSettings() dell’Agent SDK legge sempre il file dalla directory di avvio.
Claude Code legge il .claude/settings.json condiviso dalla directory di lavoro primaria della sessione, quindi per utilizzare un file sottoposto a commit nella radice del repository, avvia Claude Code lì. Dopo aver spostato la sessione con /cd, Claude Code legge invece entrambi i file di progetto dalla nuova directory, posizionando il file locale secondo le stesse regole. Leggerli dalla directory in cui ti sei spostato richiede Claude Code v2.1.246 o successivo. Per una sessione worktree che avvii dall’app desktop, consulta Cosa condividono i worktree con il checkout principale.
Verificare cosa impone la tua organizzazione
Se la tua organizzazione gestisce Claude Code, alcune impostazioni sono decise per te e nulla di ciò che inserisci nei tuoi file le modifica. Per vedere quali, esegui/status: la riga Setting sources indica la fonte gestita che si applica a te. Le impostazioni gestite si applicano ovunque Claude Code venga eseguito su questa macchina; Cosa può modificare uno sviluppatore tratta i diritti di amministratore locale e gli strumenti diversi da Claude Code.
Le impostazioni gestite ti raggiungono attraverso i meccanismi di distribuzione descritti nella pagina delle impostazioni gestite, più comunemente:
- Impostazioni gestite dal server, che Claude Code recupera dalla console di amministrazione claude.ai o da un gateway Claude apps self-hosted
- Politiche MDM o a livello di sistema operativo, e file
managed-settings.jsonin una directory di sistema - Un host di incorporamento come Claude Desktop, tramite l’opzione
managedSettingsdell’SDK; consulta Controllare le politiche da un host di incorporamento
requireCoworkFullVmSandbox. Dove e quando si applica una politica tratta Cowork e le sessioni cloud.
Se sei l’amministratore, Configurare Claude Code per la tua organizzazione ti guida nella scelta di cosa imporre, e Distribuire le impostazioni gestite tratta la distribuzione e come confermare che una politica è in vigore. Per l’avviso che l’editor delle impostazioni gestite nella console di amministrazione claude.ai può mostrare, consulta Configurare le impostazioni gestite dal server.
Modificate un’impostazione
Potete modificare un’impostazione dal menu/config, modificando un file di impostazioni, o per una sessione dalla riga di comando.
Il prompt di sistema di Claude Code non è pubblicato. Per dare a Claude istruzioni permanenti, usate i file CLAUDE.md o il flag --append-system-prompt.
Usate il menu /config
Eseguite/config dentro Claude Code e aprite la scheda Config. Elenca un breve insieme di opzioni personali come tema, modalità editor e output dettagliato, non ogni chiave di impostazioni. Selezionate un’opzione per modificarla; Claude Code la salva per voi:
- La maggior parte delle opzioni:
~/.claude/settings.json - Poche opzioni, come Mostra suggerimenti:
.claude/settings.local.json - Le opzioni di configurazione globale:
~/.claude.json
key=value, come /config verbose=true.
/config fa parte dell’interfaccia del terminale. Il pannello chat VS Code e l’app desktop non lo aprono; modificate le impostazioni lì modificando un file di impostazioni o attraverso le impostazioni di quelle app.Modificate un file di impostazioni
Aprite il file di impostazioni per l’ambito che volete nel vostro editor e aggiungete o modificate una chiave. I file di impostazioni sono JSON rigoroso: un commento// o una virgola finale è un errore di sintassi, e Claude Code segnala il file come un Errore di impostazioni al prossimo avvio. Ad esempio, per permettere a Claude Code di eseguire i vostri comandi lint e test senza chiedere e impedirgli di leggere file .env, aggiungete questo a ~/.claude/settings.json:
~/.claude/settings.json
permissions è una regola che nomina uno strumento e cosa può fare; Configura i permessi spiega la sintassi. La riga $schema punta allo schema JSON pubblicato per le impostazioni di Claude Code, che vi dà l’autocompletamento e la convalida inline in VS Code, Cursor e qualsiasi altro editor che supporta lo schema JSON. Lo schema può rimanere indietro rispetto ai rilasci CLI più recenti, quindi un avviso di convalida su una chiave documentata di recente non significa che la vostra configurazione non sia valida.
Dopo aver salvato, eseguite /status dentro Claude Code per confermare che il file è stato caricato; Conferma cosa è stato caricato dice cosa mostra la riga Setting sources e come un file rotto è segnalato.
Per un file personale completo, file team e file organizzativo, ognuno mostrato con un commento su ogni chiave che imposta, vedere i file di impostazioni di esempio.
Modificate un’impostazione per una sessione
Per provare un valore senza salvarlo, impostatelo quando avviate Claude Code. Il valore si applica a quella sessione e i vostri file di impostazioni rimangono come erano. Avete tre modi per farlo:--settings: passate una chiave come JSON, inline o come percorso a un file. Claude Code la applica sopra i vostri file utente, progetto e locale e sotto le impostazioni gestite. Può impostare qualsiasi chiave che il vostro file di impostazioni utente può impostare; non può impostare chiaviManagedoGlobal config.- Un flag per quella chiave: alcune chiavi hanno il loro flag, come
--modelpermodele--effortpereffortLevelemodelSettings. - Una variabile di ambiente: esportate la variabile accoppiata della chiave prima di eseguire
claude, comeANTHROPIC_MODELpermodel.
/config, Claude Code la scrive nei vostri file di impostazioni, e /model salva il valore come vostro predefinito per le nuove sessioni.
Se premete s nel selettore /model, Claude Code cambia il modello senza salvarlo come vostro predefinito utente. Regola il livello di sforzo dice quali /effort Claude Code salva come vostro predefinito per il modello che state usando e quali si applicano solo alla sessione corrente.
Ad esempio, per avviare una sessione su Opus senza modificare il vostro predefinito:
Quando gli edits hanno effetto
Claude Code osserva i vostri file di impostazioni e li ricarica quando cambiano, quindi applica la maggior parte degli edits alla sessione in esecuzione senza un riavvio, inclusi gli edits apermissions, hooks e helper di credenziali come apiKeyHelper. Claude Code anche carica un file di impostazioni che create a metà sessione se la sua cartella esisteva quando la sessione è iniziata. Per la cartella .claude/ del progetto, carica il file anche quando create la cartella nella stessa sessione.
Il ricaricamento copre le impostazioni utente, progetto, locale e gestite, e Claude Code esegue l’hook ConfigChange per ogni modifica di file di impostazioni che rileva, non per le impostazioni gestite che arrivano da MDM o dalla console claude.ai. Le impostazioni gestite che arrivano attraverso MDM o dalla console claude.ai raggiungono una sessione in esecuzione secondo una pianificazione piuttosto che al salvataggio; la tabella di consegna la fornisce per fonte.
Claude Code legge alcune chiavi solo una volta, all’avvio della sessione, quindi un edit a una di esse non raggiunge la sessione in esecuzione. Le chiavi lato amministratore che attendono anche un riavvio, come requiredMinimumVersion, sono elencate sotto dove e quando si applica una politica. Quelle che è più probabile che modifichiate a metà sessione:
model: usate/modelper cambiare a metà sessione. Ogni modello ha la sua cache di prompt, quindi la prima richiesta dopo un cambio rilegge l’intera conversazione senza cache; vedere Cambio di modellieffortLevelemodelSettings: usate/effortper modificare lo sforzo a metà sessione
Confermate cosa è stato caricato
Eseguite/status dentro Claude Code per vedere quali fonti di impostazioni sono attive. La scheda Status include una riga Setting sources che elenca ogni file di impostazioni che Claude Code ha caricato per la sessione corrente, come User settings o Project local settings. Quando le impostazioni gestite sono in vigore, la voce delle impostazioni gestite mostra tra parentesi come hanno raggiunto la vostra macchina.
La riga conferma quali file Claude Code ha letto; non mostra quale file ha fornito ogni chiave. Per elencare le voci che Claude Code ha rifiutato, eseguite claude doctor; per un modello che le impostazioni di progetto o gestite impostano, l’intestazione di avvio nomina il file che lo ha impostato. /status e /config aprono lo stesso dialogo su schede diverse, e la scheda Config non è una visualizzazione dei contenuti del vostro settings.json.
Riparate un file di impostazioni rotto
Se digitate male JSON o impostate una chiave a un valore che Claude Code non accetta, Claude Code ve lo dice all’inizio di una sessione interattiva. Quello che mostra dipende da quanto del file è interessato:- Errore di impostazioni: un file utente, progetto o locale ha JSON non valido o un valore che lo schema rifiuta. All’inizio di una sessione interattiva Claude Code mostra un dialogo che vi permette di riparare il file con l’aiuto di Claude, uscire, o continuare senza le impostazioni rotte.
- Avviso di impostazioni: solo le voci individuali falliscono, come una regola di permesso malformata o un nome di evento hook sconosciuto. Claude Code salta quei valori e mantiene il resto del file in vigore.
- Impostazioni gestite: Claude Code continua a applicare il resto del file. Voci non valide nelle impostazioni gestite dice cosa scarta e quali chiavi ricadono a un valore più rigoroso fino a quando non le riparate. Per un documento di impostazioni gestite che non è JSON valido, vedere Il documento delle impostazioni gestite non potrebbe essere analizzato.
- Errore di configurazione:
~/.claude.jsonnon può essere analizzato. Claude Code copia il file rotto a~/.claude/backups/.claude.json.corrupted.<timestamp>e chiede se uscire e ripararlo manualmente o ripristinare la configurazione predefinita; un’esecuzione-pstampa l’errore e esce. Per recuperare il vostro stato precedente, copiate indietro uno dei cinque file.claude.json.backup.<timestamp>più recenti in~/.claude/backups/, che Claude Code salva prima di scrivere il file.
/status per vedere i file interessati e claude doctor per i dettagli di ogni errore.
Un’esecuzione -p non mostra dialogo. Tranne quando un documento di impostazioni gestite non può essere analizzato, Claude Code salta il file rotto o i valori e continua con il resto, quindi dopo un’esecuzione -p che ignora un’impostazione, eseguite claude doctor per vedere cosa ha scartato.
Precedenza delle impostazioni
Quando la stessa chiave compare in più di un punto, Claude Code usa il valore del livello più alto che la imposta. Lo stack qui sotto mostra i livelli, con il più alto in cima; una chiave a un livello superiore sovrascrive la stessa chiave in qualsiasi livello sottostante. In ordine, dalla precedenza più alta:- Impostazioni gestite: impostazioni che la tua organizzazione distribuisce tramite un file
managed-settings.json, una policy MDM o le impostazioni gestite dal server dalla console di claude.ai. Niente nei tuoi file di impostazioni o in--settingssovrascrive una chiave gestita, e un flag come--modelsceglie solo tra i modelli che la tua organizzazione consente. Unmodelgestito è un valore predefinito iniziale, non un blocco; i blocchi sonoavailableModelsedeniedModels. Quando la tua organizzazione fornisce più di una fonte gestita, le regole sulla precedenza all’interno del livello gestito indicano cosa legge Claude Code da ciascuna. - Riga di comando: JSON che passi con
--settings <file-or-json>quando avviiclaude, solo per quella sessione; consulta Modificare un’impostazione per una sola sessione. Una chiave impostata lì sovrascrive la stessa chiave nei file di impostazioni di progetto e utente, e una chiave che ometti mantiene il valore di quei file. Altri flag, come--model, impostano una sola cosa per la sessione e non fanno parte di questo stack; la voce di una chiave nel riferimento delle impostazioni indica quali flag la sovrascrivono. - Impostazioni locali di progetto (
.claude/settings.local.json): le tue impostazioni personali per questo progetto. - Impostazioni di progetto condivise (
.claude/settings.json): impostazioni che il tuo team inserisce nel controllo del codice sorgente. - Impostazioni utente (
~/.claude/settings.json): le tue impostazioni personali per ogni progetto.
ANTHROPIC_MODEL esportata nella tua shell ha la precedenza sulla chiave model di qualsiasi file, mentre ANTHROPIC_DEFAULT_MODEL si applica solo quando nessun file imposta model. Il riferimento delle variabili d’ambiente indica quali chiavi hanno una coppia e quale legge per prima Claude Code. Un blocco env all’interno di un file di impostazioni è una chiave ordinaria e segue i livelli sopra descritti.
Per alcune chiavi sensibili per la sicurezza, Claude Code rispetta un valore più restrittivo proveniente da un livello inferiore rispetto a un valore gestito; Eccezioni alla precedenza delle impostazioni gestite le elenca.
Per le liste si esegue il merge invece della sovrascrittura
Quando imposti la stessa chiave di tipo lista, comepermissions.allow, in più di un file, Claude Code combina le liste invece di sceglierne una, così ogni file può aggiungere voci senza rimuovere quelle di un altro file. Quattro chiavi che contengono liste di modelli o voci per modello seguono regole proprie:
fallbackModelè una catena ordinata in cui la posizione ha un significato, quindi Claude Code prende l’intero valore dal file con la precedenza più alta che lo definisce.modelPickercontiene un’unica lista ordinata di righe più un flag di sostituzione, quindi Claude Code non esegue mai il merge di righe provenienti da due fonti. Prende l’intero valore dalla fonte più alta che lo definisce tra impostazioni gestite,--settingse impostazioni utente, e ignora la chiave nelle impostazioni di progetto e locali. Richiede Claude Code v2.1.242 o successiva.availableModels: quando le impostazioni gestite applicate da Claude Code la definiscono, Claude Code applica quella lista così com’è e ignora le voci che aggiungi nelle impostazioni utente, di progetto o locali, a meno che un’app che incorpora Claude Code fornisca la propria lista di modelli; consulta Eccezioni alla precedenza delle impostazioni gestite. Nemmeno tra fonti gestite si esegue mai il merge della lista; come Claude Code combina le fonti gestite indica quale lista di fonte si applica. Tra ambiti non gestiti Claude Code esegue il merge degli array come di consueto.modelSettings: Claude Code la risolve un modello alla volta, insieme aeffortLevel. La vocemodelSettingsindica quale valore di file si applica a un modello.
Esempi di precedenza
Mentre Claude lavora, Claude Code mostra un suggerimento di una riga sotto lo spinner, come “Use /config to change your default permission mode (including Plan Mode)”. Supponi di voler disattivare questi suggerimenti, quindi impostispinnerTipsEnabled su false in ~/.claude/settings.json. Ciascuno scenario qui sotto è qualcosa che può riattivarli, insieme a cosa puoi fare al riguardo.
Le impostazioni del team sovrascrivono quelle personali
Il file.claude/settings.json del tuo team la imposta su true. Claude Code usa il valore di progetto perché il livello di progetto condiviso sta sopra quello utente, quindi vedi i suggerimenti in quel progetto e in nessun altro.
Puoi ripristinare il tuo valore: aggiungi "spinnerTipsEnabled": false a .claude/settings.local.json in quel progetto. Il livello locale di progetto sta sopra quello di progetto condiviso, quindi le tue sessioni lì smettono di mostrare suggerimenti e le sessioni dei tuoi colleghi non cambiano.
Le impostazioni dell’organizzazione sovrascrivono tutto
Le impostazioni gestite della tua organizzazione la impostano sutrue. Niente di ciò che inserisci nelle impostazioni utente, di progetto o locali disattiva i suggerimenti, e nemmeno --settings. Il livello gestito è quello più alto.
Non puoi ripristinare il tuo valore. Esegui /status per vedere quale fonte gestita si applica e chiedi al tuo amministratore se la policy debba cambiare.
La riga di comando sovrascrive i tuoi file per una sessione
Hai avviato la sessione conclaude --settings '{"spinnerTipsEnabled": true}'. La riga di comando sta sopra ogni file tranne quello gestito, quindi quella sessione mostra i suggerimenti anche se i tuoi file indicano false.
Riottieni il tuo valore nella sessione successiva; --settings dura una sola sessione e non scrive in alcun file.
Un flag o una variabile d’ambiente imposta la stessa cosa
Alcune chiavi hanno un flag della riga di comando o una variabile d’ambiente che sovrascrive il valore dell’impostazione indipendentemente dal file che l’ha impostata:ANTHROPIC_MODEL sovrascrive l’impostazione model, e --model sovrascrive entrambe per una sessione.
Se puoi ripristinare il tuo valore dipende dalla chiave: rimuovi la variabile o togli il flag, e controlla la voce della chiave nel riferimento delle impostazioni e la riga della variabile nel riferimento delle variabili d’ambiente per sapere quale usa Claude Code.
Risolvere i problemi di un’impostazione che non si applica
Quando imposti una chiave e Claude Code non si comporta di conseguenza, inizia con/status per vedere quali file ha caricato, poi trova il tuo sintomo qui sotto. Eseguire il debug della configurazione copre i controlli più ampi, incluso un test con configurazione pulita.
Un valore che hai impostato viene ignorato
Qualcos’altro imposta la stessa chiave, il file non può impostare quel valore oppure il file non è stato caricato:-
Un livello superiore la imposta. Un altro file di impostazioni, un flag
--settingso una fonte gestita imposta la chiave sopra la tua; lo stack indica quale. Anche un flag o una variabile d’ambiente può sovrascrivere la chiave da solo, secondo una decisione presa chiave per chiave; la voce della chiave nel riferimento delle impostazioni indica quale usa Claude Code, e la voceenvtratta il caso di un valoreenvgestito rispetto a un’esportazione della shell. -
Una chiave di sicurezza mantiene il suo valore restrittivo. Per alcune chiavi Claude Code rispetta il valore restrittivo proveniente da qualsiasi file, quindi un
truedi progetto perdisableClaudeAiConnectorsresta attivo; consulta Eccezioni alla precedenza delle impostazioni gestite. -
Il file non può impostare quel valore. I valori
autoebypassPermissionsdipermissions.defaultModenon hanno effetto dalle impostazioni di progetto o locali; impostali invece nelle impostazioni utente o gestite, oppure passa--permission-modeper una sessione. Prima della v2.1.257,bypassPermissionsaveva effetto da qualsiasi file. Nemmeno una variabile di esportazione della telemetria in un bloccoenvha effetto dalle impostazioni di progetto o locali, fatta eccezione per alcuni valori di disattivazione. Variabili che Claude Code ignora inenvelenca le variabili e quei valori. - Il file è danneggiato. Un JSON non valido o un valore rifiutato fa sì che Claude Code salti il file o la voce; consulta Correggere un file di impostazioni danneggiato.
Una modifica fatta in Claude Code va persa nelle nuove sessioni
Quando salvi una scelta per le nuove sessioni dall’interno di Claude Code, come un modello predefinito con/model, Claude Code la scrive nel tuo file di impostazioni utente, ~/.claude/settings.json. Se non puoi scrivere in quel file, ad esempio perché un altro strumento lo genera o lo collega a una copia di sola lettura, la modifica si applica alla sessione corrente e scompare in quella successiva. Imposta la chiave nello strumento che genera il file, oppure sostituisci il file con uno in cui puoi scrivere.
Se puoi scrivere nel file e la modifica continua a non persistere, verifica se la modifica era solo per una sessione o se un livello superiore imposta la stessa chiave. Per la chiave model, Una nuova sessione si avvia su un modello diverso da quello scelto elenca altre cause.
Una modifica gestita non ti ha raggiunto
Le fonti gestite raggiungono una sessione in esecuzione secondo la pianificazione indicata nella tabella di distribuzione, quindi riavvia prima la sessione. Se poi/status indica una fonte diversa da quella modificata dal tuo amministratore, si applica una fonte con priorità più alta; Come Claude Code combina le fonti gestite riporta l’ordine.
Una chiave inserita nel repository non raggiunge i colleghi
Due cose impediscono a una chiave in.claude/settings.json di applicarsi a chiunque cloni il repository:
-
Claude Code ignora la chiave in un file del repository. Cerca
User, local, or managed,User or managed,User,ManagedoGlobal confignella colonna Scope dell’indice delle impostazioni. Queste chiavi non si applicano mai dal file condiviso, fatta eccezione per alcune che un file del repository può comunque disattivare. Ciascuna di queste voci lo indica nella propria riga Scope. Le chiaviGlobal configsi applicano solo da~/.claude.json. Anche all’interno della chiaveenv, le variabili di esportazione della telemetria non si applicano mai dal file condiviso, fatta eccezione per alcuni valori di disattivazione; consulta Variabili che Claude Code ignora inenv. -
La chiave attende l’attendibilità. Le regole
permissions.allow,permissions.additionalDirectories,extraKnownMarketplacese la maggior parte dei valorienvsi applicano solo dopo che ogni collega considera attendibile la cartella. Fino ad allora continuano a vedere richieste di permesso e non ricevono plugin da un marketplace dichiarato dal file. Le regoledenyeasksi applicano immediatamente.
Le regole di permesso si combinano diversamente da come ti aspettavi
- Hai scelto “Yes, and don’t ask again” in una richiesta di permesso ma ricevi ancora richieste per lo stesso strumento. Quella scelta ha salvato una regola
allownel tuo file locale, e una regolaallowlì non ha la precedenza su una regolaaskproveniente da un file di progetto o gestito; come si combinano le regole di permesso spiega l’ordine. Nell’estensione VS Code la scheda di approvazione ti permette di scegliere il file di destinazione, incluso il file condiviso del progetto, il che modifica la regola per tutti; nella CLI, Claude Code scrive solo nel tuo file locale. - Le regole allow della tua organizzazione si applicano ancora insieme alle tue. È il comportamento previsto: Claude Code esegue il merge di
permissions.allowtra gli ambiti, a meno che la tua organizzazione impostiallowManagedPermissionRulesOnly.
Eccezioni alla precedenza delle impostazioni gestite
Per alcune chiavi i cui valori limitano una sessione, Claude Code rispetta un valore restrittivo proveniente da un ambito che altrimenti non potrebbe sovrascrivere le impostazioni gestite. Trova la chiave in questa tabella per vedere quale valore rispetta e da dove.
Anche un’app che esegue Claude Code al proprio interno e imposta
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST costituisce un’eccezione. Claude Code dà alla configurazione dei modelli di quell’app la precedenza sulle chiavi model, fallbackModel, modelPicker e modelOverrides di ogni fonte gestita, e sulle variabili di selezione del modello in un blocco env gestito, come ANTHROPIC_MODEL e la famiglia ANTHROPIC_DEFAULT_*_MODEL. Claude Code mantiene in vigore un’allowlist availableModels gestita, a meno che l’app ne fornisca una propria.
Impostazioni nelle sessioni cloud
Una sessione cloud viene eseguita in un ambiente cloud su un clone fresco del vostro repository, non sulla vostra macchina. Questo cambia quali impostazioni la raggiungono:- Thread cloud in un progetto: in un thread cloud in un progetto, nessuna delle regole di permesso, degli hook o di
envdel.claude/settings.jsondi un repository si applica, indipendentemente da quanti repository abbia il progetto. Cosa i thread prendono dai tuoi repository elenca cosa usare al loro posto. - Impostazioni di progetto condivise (
.claude/settings.json): lette in una sessione con un repository al di fuori dei thread di un progetto, perché il file fa parte del clone e la sessione inizia al suo interno. Esegui il commit di un’impostazione lì per applicarla in quelle sessioni. - Impostazioni di progetto condivise con più repository: in un ambiente ospitato da Anthropic, una sessione con più repository inizia sopra i clone e legge solo le chiavi
enabledPluginseextraKnownMarketplacesdal.claude/settings.jsondi ogni repository, non le regole di permesso, gli hook,envo altre chiavi. I marketplace e i plugin che queste due chiavi dichiarano comunque non si caricano in una sessione cloud. Per un ambiente auto-ospitato, consulta quali impostazioni del repository si applicano. - Impostazioni utente e di progetto locale (
~/.claude/settings.jsone.claude/settings.local.json): non lette. Entrambe rimangono sulla vostra macchina, e il file locale non è nel clone. - Impostazioni gestite: un file
managed-settings.jsono un profilo MDM sul vostro dispositivo non raggiunge una sessione cloud. Le impostazioni gestite dal server della vostra organizzazione lo fanno; la copertura della superficie elenca quali sessioni cloud le ricevono. Un ambiente auto-ospitato legge anche il file di impostazioni gestite nella sua immagine di runner. Come Claude Code combina le fonti gestite dice quando quel file si applica. /config: nel tuo browser su claude.ai/code, apre la pagina delle impostazioni Code o Claude Code di claude.ai invece di modificare un valore. Per modificare un’impostazione per una sessione cloud, imposta una variabile d’ambiente sull’ambiente. In una sessione con un repository al di fuori dei thread di un progetto, puoi invece eseguire il commit della chiave nel.claude/settings.jsondi quel repository.
CLAUDE.md, skills, MCP server, plugin e credenziali.
Cosa c’è dopo
- Tutte le impostazioni: ogni chiave, con dove la impostate e un esempio
- File di impostazioni di esempio: un file personale, un file team e un file gestito di un’organizzazione
- Configura i permessi: regole allow, ask e deny, e cosa Claude Code esegue senza chiedere
- Variabili di ambiente: le variabili che Claude Code legge e il blocco
env - Debug della vostra configurazione: quando un’impostazione non si applica
- Referenza della directory Claude: ogni file che Claude Code legge, inclusi subagent, MCP server, plugin e
CLAUDE.md