File di impostazioni e precedenza
Modifica le impostazioni di Claude Code, scegli l'ambito a cui appartiene una chiave, verifica la modifica e scopri quale valore Claude Code utilizza quando una chiave è impostata in più posizioni.
Le impostazioni sono le chiavi JSON che modificano il comportamento di Claude Code: quale modello avvia, cosa può eseguire senza chiedere, quali file non può leggere, come appare nel vostro terminale e cosa la vostra organizzazione applica.
[!TIP]
Per cercare una chiave specifica, andate a Tutte le impostazioni, che elenca ogni chiave con il file in cui la impostate, il suo valore predefinito e un esempio.
Claude Code legge le impostazioni da file di impostazioni JSON come ~/.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.
[!NOTE]
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.
| Ambito | File | Chi interessa | Usalo per |
|---|---|---|---|
| Utente | ~/.claude/settings.json |
Te, in ogni progetto su questa macchina | Preferenze personali: tema, modalità editor, modello predefinito, le tue regole di permesso personali |
| Progetto condiviso | .claude/settings.json |
Tutti coloro che lavorano nella cartella che lo contiene. In un repository git, esegui il commit in modo che i tuoi colleghi lo ricevano | Permessi del team, hook, plugin e le variabili d'ambiente di cui il progetto ha bisogno |
| Progetto locale | .claude/settings.local.json |
Te, solo in questo progetto. Claude Code lo tiene fuori da git quando crea il file; se lo crei manualmente, aggiungilo tu stesso a .gitignore |
Override personali per un progetto e test prima di condividere |
| Gestito | managed-settings.json e altre fonti gestite |
Tutti coloro a cui la tua organizzazione lo distribuisce; Precedenza delle impostazioni indica cosa può sovrascriverlo | Politiche di sicurezza e requisiti di conformità |
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.
Settings file
Your machine
A teammate’s machine
A cloud session
~/.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.
[!NOTE]
Su Windows,
~/.claudesignifica%USERPROFILE%\.claude. Per tenere i file della directory home altrove, impostaCLAUDE_CONFIG_DIR; Claude Code memorizzerà quindi lì le tue impostazioni, la cronologia delle sessioni e i plugin.
Claude Code mantiene anche un quinto file, ~/.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 regola allow 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.
Prima della v2.1.211, Claude Code manteneva il file nella directory di avvio. Legge ancora un file lasciato lì da una versione precedente insieme al file nella radice; dove entrambi impostano la stessa chiave, si applica il valore della radice, e si applicano le regole di permesso di entrambi i file. L'helper 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
In una sessione Cowork eseguita sulla tua macchina nell'app Claude Desktop, Claude Code non recupera le impostazioni gestite dal server dalla console di amministrazione claude.ai, e legge le politiche distribuite al tuo dispositivo a meno che la configurazione di Claude Desktop della tua organizzazione non imposti 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
Per impostare un'opzione senza il menu, passate key=value, come /config verbose=true.
[!NOTE]
/configfa 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:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
}
}
Ogni voce sotto 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.
Ogni voce della chiave sulla referenza delle impostazioni elenca i suoi override per-sessione e quale ha la precedenza, quindi controllate la voce per la chiave che volete modificare.
I comandi che eseguite dentro una sessione per lo più salvano la vostra scelta: quando modificate un'impostazione in /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:
claude --settings '{"model": "claude-opus-5-5"}'
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 a permissions, 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.
Dopo aver continuato, eseguite /status per vedere i file interessati e claude doctor per i dettagli di ogni errore.
Un'esecuzione -p non mostra dialogo. A meno che un documento di impostazioni gestite non possa 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 appare in più di un posto, Claude Code utilizza il valore dal livello più alto che la imposta. Lo stack sottostante mostra i livelli, il più alto in alto; una chiave a un livello più alto sostituisce la stessa chiave ovunque al di sotto.
Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.
In ordine, dalla precedenza più alta in primo luogo:
- Impostazioni gestite: impostazioni che la tua organizzazione distribuisce, tramite un file
managed-settings.json, una policy MDM, o impostazioni gestite dal server dalla console claude.ai. Nulla 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 per la precedenza all'interno del livello gestito dicono cosa Claude Code legge da ciascuna. - Riga di comando: JSON che passi con
--settings <file-or-json>quando avviiclaude, solo per quella sessione; vedi Cambia un'impostazione per una sessione. Una chiave che imposti lì sovrascrive la stessa chiave nei tuoi file di impostazioni di progetto e utente, e una chiave che ometti mantiene il suo valore da quei file. Altri flag, come--model, impostano una singola cosa per la sessione e non fanno parte di questo stack; la voce di una chiave nel riferimento delle impostazioni dice quali flag la sovrascrivono. - Impostazioni locali del 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.
Le variabili d'ambiente non sono un livello in questo stack. Quando un comportamento ha sia una variabile di shell che una chiave di impostazione, quale si applica è deciso per coppia, non per livello: ANTHROPIC_MODEL esportato nella tua shell si applica rispetto alla chiave model da qualsiasi file, mentre ANTHROPIC_DEFAULT_MODEL si applica solo quando nessun file imposta model. Il riferimento delle variabili d'ambiente dice quali chiavi hanno una coppia e quale Claude Code legge per primo. Un blocco env all'interno di un file di impostazioni è una chiave ordinaria e segue i livelli sopra.
Per alcune chiavi sensibili alla sicurezza, Claude Code onora un valore più restrittivo da un livello inferiore rispetto a un valore gestito; Eccezioni alla precedenza delle impostazioni gestite le elenca.
Per gli elenchi si esegue il merge invece di sovrascriverli
Quando imposti la stessa chiave di elenco, come permissions.allow, in più di un file, Claude Code combina gli elenchi invece di sceglierne uno, così ogni file può aggiungere voci senza rimuovere quelle di un altro file. Quattro chiavi che contengono elenchi di modelli o voci per modello seguono le loro proprie regole:
fallbackModelè una catena ordinata in cui la posizione ha significato, quindi Claude Code prende l'intero valore dal file con la precedenza più alta che lo definisce.modelPickercontiene un elenco ordinato di righe più un flag di sostituzione, quindi Claude Code non esegue mai il merge di righe da due fonti. Prende l'intero valore dal più alto tra impostazioni gestite,--settings, e impostazioni utente che lo definisce, e ignora la chiave nelle impostazioni di progetto e locali. Richiede Claude Code v2.1.242 o successivo.availableModels: quando le impostazioni gestite che Claude Code applica lo definiscono, Claude Code applica quell'elenco così com'è e ignora le voci che aggiungi nelle impostazioni utente, di progetto o locali, a meno che un'app che incorpora Claude Code non fornisca il suo elenco di modelli; vedi Eccezioni alla precedenza delle impostazioni gestite. Nemmeno tra le fonti gestite si esegue mai il merge dell'elenco; come Claude Code combina le fonti gestite dice quale elenco della fonte si applica. Tra gli ambiti non gestiti Claude Code esegue il merge degli array come al solito.modelSettings: Claude Code lo risolve un modello alla volta, insieme aeffortLevel. La vocemodelSettingsindica quale valore del file si applica a un modello.
Esempi di precedenza
Mentre Claude lavora, Claude Code mostra un suggerimento di una riga sotto lo spinner, come "Usa /config per cambiare la tua modalità di permesso predefinita (incluso il plan mode)". Supponiamo che tu voglia disattivare questi suggerimenti, quindi imposti spinnerTipsEnabled a false in ~/.claude/settings.json. Ogni scenario sottostante è qualcosa che può riattivarli, e cosa puoi fare al riguardo.
Le impostazioni del team sostituiscono le impostazioni personali
Il .claude/settings.json del tuo team lo imposta a true. Claude Code utilizza il valore del progetto perché il progetto condiviso si trova sopra l'utente, quindi vedi i suggerimenti in quel progetto e da nessun'altra parte.
Puoi recuperare il tuo valore: aggiungi "spinnerTipsEnabled": false a .claude/settings.local.json in quel progetto. Il progetto locale si trova sopra il progetto condiviso, quindi le tue sessioni lì smettono di mostrare suggerimenti e le sessioni dei tuoi compagni di squadra non cambiano.
Le impostazioni dell'organizzazione sostituiscono tutto
Le impostazioni gestite della tua organizzazione lo impostano a true. Nulla di quello che metti nelle impostazioni utente, di progetto o locali disattiva i suggerimenti, e nemmeno --settings. Gestito è il livello più alto.
Non puoi recuperare il tuo valore. Esegui /status per vedere quale fonte gestita si applica, e chiedi al tuo amministratore se la policy dovrebbe cambiare.
La riga di comando sostituisce i tuoi file per una sessione
Hai avviato la sessione con claude --settings '{"spinnerTipsEnabled": true}'. La riga di comando si trova sopra ogni file tranne gestito, quindi quella sessione mostra suggerimenti anche se i tuoi file dicono false.
Recuperi il tuo valore nella sessione successiva; --settings dura una sessione e non scrive in nessun 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 delle impostazioni indipendentemente da quale file lo ha impostato: ANTHROPIC_MODEL sovrascrive l'impostazione model, e --model sovrascrive entrambi per una sessione.
Se puoi recuperare il tuo valore dipende dalla chiave: annulla l'impostazione della variabile o elimina 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 Claude Code utilizza.
Risolvi i problemi di un'impostazione che non si applica
Quando imposti una chiave e Claude Code non si comporta come se l'avessi fatto, inizia con /status per vedere quali file ha caricato, quindi trova il tuo sintomo di seguito. Debug della tua configurazione copre i controlli più ampi, incluso un test di configurazione pulita.
Un valore che hai impostato viene ignorato
Qualcos'altro sta impostando la stessa chiave, il file non può impostare quel valore, o il file non è stato caricato:
-
Un livello più alto lo imposta. Un altro file di impostazioni, un flag
--settings, o una fonte gestita imposta la chiave sopra la tua; lo stack dice quale. Un flag o una variabile d'ambiente può anche sovrascrivere la chiave di per sé, deciso chiave per chiave; la voce della chiave nel riferimento delle impostazioni dice quale Claude Code utilizza, e la voceenvcopre un valoreenvgestito rispetto a un'esportazione di shell. -
Una chiave di sicurezza mantiene il suo valore restrittivo. Per alcune chiavi Claude Code onora il valore restrittivo da qualsiasi file, quindi un
truedi progetto perdisableClaudeAiConnectorsrimane attivo; vedi Eccezioni alla precedenza delle impostazioni gestite. -
Il file non può impostare quel valore. I valori
permissions.defaultModeautoebypassPermissionsnon hanno effetto dalle impostazioni di progetto o locali; impostali invece nelle impostazioni utente o gestite, o passa--permission-modeper una sessione. Prima della v2.1.257,bypassPermissionsaveva effetto da qualsiasi file.Nemmeno una variabile di esportazione della telemetria in un blocco
envha effetto dalle impostazioni di progetto o locali, a parte alcuni valori di disattivazione. Variabili che Claude Code ignora inenvelenca le variabili e quei valori. -
Il file è rotto. JSON non valido o un valore rifiutato fa sì che Claude Code salti il file o la voce; vedi Ripara un file di impostazioni rotto.
Una modifica che hai fatto in Claude Code viene 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 nella successiva. Imposta la chiave nello strumento che genera il file, o sostituisci il file con uno in cui puoi scrivere.
Se puoi scrivere nel file e la modifica comunque non dura, controlla se la modifica era solo per una sessione o un livello più alto imposta la stessa chiave. Per la chiave model, Una nuova sessione inizia su un modello diverso da quello che hai scelto elenca più cause.
Una modifica gestita non ti ha raggiunto
Le fonti gestite raggiungono una sessione in esecuzione secondo la pianificazione nella tabella di consegna, quindi riavvia prima la sessione. Se /status quindi nomina una fonte diversa da quella che il tuo amministratore ha modificato, una fonte con priorità più alta si applica; Come Claude Code combina le fonti gestite fornisce l'ordine.
Una chiave impegnata non raggiunge i compagni di squadra
Due cose impediscono a una chiave in .claude/settings.json di applicarsi per tutti coloro che la clonano:
-
Claude Code ignora la chiave in un file di repository. Cerca
User, local, or managed,User or managed,User,Managed, oGlobal confignella colonna Scope dell'indice delle impostazioni. Quelle chiavi non si applicano mai dal file condiviso, a parte alcune che un file di repository può comunque disattivare. Ciascuna di quelle voci lo dice sulla sua riga Scope. Le chiaviGlobal configsi applicano solo da~/.claude.json.All'interno della chiave
env, nemmeno le variabili di esportazione della telemetria si applicano mai dal file condiviso, a parte alcuni valori di disattivazione; vedi Variabili che Claude Code ignora inenv. -
La chiave attende la fiducia. Le regole
permissions.allow,permissions.additionalDirectories,extraKnownMarketplaces, e la maggior parte dei valorienvsi applicano solo dopo che ogni compagno di squadra considera attendibile la cartella. Fino ad allora vedono ancora le richieste di permesso e non ottengono plugin da un marketplace che il file dichiara. Le regoledenyeasksi applicano subito.
Le regole di permesso si combinano diversamente da quanto ti aspettavi
- Hai scelto "Sì, e non chiedere di nuovo" su una richiesta di permesso ma ti viene comunque chiesto per lo stesso strumento. Quella scelta ha salvato una regola
allownel tuo file locale, e una regolaallowlì non ha la precedenza su una regolaaskda 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, che cambia 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. È previsto: Claude Code esegue il merge di
permissions.allowtra gli ambiti, a meno che la tua organizzazione non impostiallowManagedPermissionRulesOnly.
Eccezioni alla precedenza delle impostazioni gestite
Per alcune chiavi i cui valori limitano una sessione, Claude Code onora un valore restrittivo da un ambito che altrimenti non potrebbe sovrascrivere le impostazioni gestite. Trova la chiave in questa tabella per vedere quale valore onora e da dove.
| Chiave | Valore che Claude Code onora | Note |
|---|---|---|
disableClaudeAiConnectors |
true da qualsiasi ambito |
Onorato anche quando una fonte gestita imposta false |
enableArtifact |
false da qualsiasi ambito, e disableArtifact: true da qualsiasi ambito |
Onorato anche quando una fonte gestita imposta true; nulla riattiva lo strumento Artifact. Richiede Claude Code v2.1.242 o successivo |
isolatePeerMachines |
true da qualsiasi ambito |
Onorato anche quando una fonte gestita imposta false |
permissions.blockReadsOutsideWorkingDirectories |
true da qualsiasi ambito |
Onorato anche quando una fonte gestita imposta false. Richiede Claude Code v2.1.257 o successivo |
autoMode.classifyAllShell |
true da ~/.claude/settings.json o --settings |
Onorato anche quando una fonte gestita imposta false |
remoteControlAtStartup |
false da .claude/settings.json o .claude/settings.local.json |
Onorato anche quando una fonte gestita imposta true; un true di progetto o locale viene ignorato |
crossSessionInbound |
Un valore più restrittivo da .claude/settings.json o .claude/settings.local.json, sulla scala accept < hold < refuse |
Onorato rispetto ai valori gestiti, --settings, e utente; un valore di progetto o locale che non è più restrittivo viene ignorato |
useAutoModeDuringPlan |
false da qualsiasi fonte gestita, --settings, ~/.claude/settings.json, o .claude/settings.local.json |
Onorato anche quando la fonte gestita che ha la precedenza imposta true; un false in .claude/settings.json viene ignorato |
syncClaudeAiSkills |
false da qualsiasi fonte gestita, --settings, ~/.claude/settings.json, o .claude/settings.local.json |
Onorato anche quando la fonte gestita che ha la precedenza imposta true; un false in .claude/settings.json viene ignorato |
syncClaudeAiPlugins |
false da qualsiasi fonte gestita, --settings, ~/.claude/settings.json, o .claude/settings.local.json |
Onorato anche quando la fonte gestita che ha la precedenza imposta true; un false in .claude/settings.json viene ignorato |
maxEffortLevel |
Un limite inferiore da qualsiasi ambito, incluso --settings |
Onorato anche quando le impostazioni gestite che Claude Code applica impostano un limite superiore; si applica il limite più basso. Richiede Claude Code v2.1.267 o successivo |
Un'app che esegue Claude Code al suo interno e imposta CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST è anche un'eccezione. Claude Code prende la configurazione del modello di quell'app rispetto alle chiavi model, fallbackModel, modelPicker, e modelOverrides da ogni fonte gestita, e rispetto alle 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 non fornisca la sua.
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 sezione Claude Code delle tue impostazioni 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.
Cosa si trasporta dalla vostra configurazione elenca il resto: 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