SpyBara
Go Premium

settings-example.md 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

This page contains 7 additions and 3 deletions.

2026
Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Fri 25 23:58

Fichiers de paramètres d'exemple

Fichiers settings.json réalistes pour un développeur, une équipe et une organisation : copiez-en un, conservez les clés que vous voulez et modifiez les valeurs.

Cette page contient trois fichiers settings.json d'exemple, un pour chaque endroit où vous enregistrez un paramètre :

  • Un ~/.claude/settings.json de développeur
  • Un .claude/settings.json d'équipe, validé dans le référentiel
  • Un managed-settings.json d'organisation

Chacun est un fichier plausible pour ce lecteur, vous pouvez donc voir la forme et copier les parties que vous voulez. Aucun d'eux n'est une ligne de base recommandée. Chaque valeur provient de l'entrée de la clé sur la référence des paramètres, qui contient son type, sa valeur par défaut et l'endroit où elle peut être définie.

Chaque exemple a deux onglets. Fichier de paramètres copiable est le fichier tel que vous l'enregistreriez. Ce que chaque clé fait est le même fichier avec un commentaire au-dessus de chaque clé ; Claude Code n'accepte pas les commentaires dans un fichier de paramètres, donc copiez à partir du premier onglet.

Vos propres paramètres

Les paramètres personnels d'un développeur. Il choisit un modèle et un effort, ajuste le terminal et pré-approuve une commande en lecture seule et une lecture de fichier. Tout ce qui n'est pas listé conserve sa valeur par défaut. Un fichier comme celui-ci va dans ~/.claude/settings.json, où il s'applique à chaque projet que vous ouvrez.

Enregistrez ceci sous ~/.claude/settings.json. C'est du JSON valide sans commentaires, vous pouvez donc le coller tel quel et supprimer les clés que vous ne voulez pas.

{
"model": "claude-sonnet-5",
"modelSettings": {
"claude-sonnet-5": { "effortLevel": "xhigh" }
},
"editorMode": "vim",
"theme": "light-daltonized",
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
"padding": 2
},
"spinnerTipsEnabled": false,
"preferredNotifChannel": "terminal_bell",
"permissions": {
"allow": [
"Bash(git diff *)",
"Read(~/.zshrc)"
]
},
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 20
}

Paramètres partagés d'une équipe

Les paramètres partagés d'une équipe, validés dans le référentiel afin que tous ceux qui le clonent obtiennent les mêmes permissions, hooks, télémétrie et marketplace de plugins. Enregistrez un fichier comme celui-ci à .claude/settings.json en haut du référentiel. Ce qu'il faut savoir avant de valider un :

  • Les sessions cloud le lisent aussi. Une session cloud démarre à partir d'un clone du référentiel, donc le fichier validé s'applique également là.
  • Les règles d'autorisation attendent la confiance. Les règles d'autorisation et les entrées extraKnownMarketplaces prennent effet après que chaque personne fasse confiance à ce dossier lui-même, pas seulement à un dossier parent ; les règles de refus et de demande s'appliquent dans chaque session, de confiance ou non.
  • Le hook est un script dans le référentiel. Le hook de ce fichier exécute .claude/hooks/block-rm.sh ; Comment un hook se résout explique comment l'écrire.
  • Les règles correspondent à la commande et au chemin tels qu'écrits. Bash(git push *) ne correspond pas à git -C . push. Read(./.env) seul arrête les outils de fichier et les commandes qui nomment le fichier, comme cat .env, mais pas grep -r exécuté sur le répertoire ; le bloc sandbox dans ce fichier comble cette lacune, car le sandbox ajoute vos chemins de refus Read à ce que chaque commande en sandbox ne peut pas lire.

Enregistrez ceci sous .claude/settings.json en haut du référentiel et validez-le. C'est du JSON valide sans commentaires, vous pouvez donc le coller tel quel et supprimer les clés que vous ne voulez pas.

{
"permissions": {
"allow": [
"Bash(npm run *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
}
]
}
]
},
"extraKnownMarketplaces": {
"acme-tools": {
"source": {
"source": "github",
"repo": "acme-corp/claude-plugins"
}
}
},
"enabledPlugins": {
"code-formatter@acme-tools": true
},
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": [
"/tmp/build"
]
},
"network": {
"allowedDomains": [
"registry.npmjs.org",
"*.example.com"
]
}
},
"plansDirectory": "./plans"
}

Paramètres gérés d'une organisation

Un fichier managed-settings.json qui montre la forme des clés gérées, avec une valeur plausible pour chacune. Ce n'est pas une politique recommandée : choisissez les clés qui correspondent à vos propres exigences et définissez vos propres valeurs. L'exemple définit ces clés :

  • forceLoginMethod et forceLoginOrgUUID épinglent la méthode de connexion et l'organisation
  • availableModels et enforceAvailableModels limitent les modèles que les sessions peuvent utiliser
  • permissions.deny refuse deux lectures de fichiers et les commandes curl comme Claude les écrit, et disableBypassPermissionsMode supprime le mode de permission de contournement
  • allowManagedPermissionRulesOnly et allowManagedMcpServersOnly font des listes blanches de permission et MCP gérées les seules qui s'appliquent
  • allowedMcpServers épingle le serveur MCP par URL
  • strictKnownMarketplaces autorise un marketplace de plugins
  • sandbox bac à sable les commandes avec une liste d'autorisation réseau fixe et pas de nouvelle tentative non bac à sable
  • requiredMinimumVersion définit une version minimale de Claude Code
  • cleanupPeriodDays raccourcit la rétention des transcriptions de session et autres données locales à sept jours
  • companyAnnouncements affiche un message au démarrage

Les administrateurs déploient un fichier comme celui-ci en tant que managed-settings.json, ou le même JSON via MDM ou paramètres gérés par serveur. Un fichier déployé s'applique à chaque machine ou compte qu'il atteint. Pour donner à un groupe des valeurs différentes, déployez un fichier ou un profil différent à ce groupe, car les paramètres gérés par serveur ne supportent pas encore la politique par groupe.

Déployez ceci en tant que managed-settings.json, ou le même JSON via MDM ou la console claude.ai. C'est du JSON valide sans commentaires ; remplacez l'UUID d'organisation d'exemple, l'URL du serveur et le marketplace par les vôtres et supprimez les clés que vous ne voulez pas.

{
"forceLoginMethod": "claudeai",
"forceLoginOrgUUID": [
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"availableModels": [
"opus",
"sonnet"
],
"enforceAvailableModels": true,
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true,
"allowedMcpServers": [
{
"serverUrl": "https://api.githubcopilot.com/*"
}
],
"allowManagedMcpServersOnly": true,
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "acme-corp/approved-plugins"
}
],
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false,
"network": {
"allowedDomains": [
"registry.npmjs.org",
"github.com"
],
"allowManagedDomainsOnly": true
}
},
"requiredMinimumVersion": "2.1.150",
"cleanupPeriodDays": 7,
"companyAnnouncements": [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}