SpyBara
Go Premium

settings-example.md 2026-09-24 22:57 UTC to 2026-09-25 23:58 UTC

This page contains 2 additions and 14 deletions.

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

Примеры файлов settings

Реалистичные файлы settings.json для разработчика, команды и организации: скопируйте один, оставьте нужные вам ключи и измените значения.

На этой странице находятся три примера файлов settings.json, по одному для каждого места, где вы сохраняете параметр:

  • ~/.claude/settings.json разработчика
  • .claude/settings.json команды, зафиксированный в репозитории
  • managed-settings.json организации

Каждый файл является правдоподобным для этого читателя, поэтому вы можете увидеть структуру и скопировать нужные вам части. Ни один из них не является рекомендуемой базовой конфигурацией. Каждое значение взято из записи ключа в справочнике параметров, который содержит его тип, значение по умолчанию и место, где его можно установить.

Каждый пример имеет две вкладки. Copyable settings file — это файл в том виде, в котором вы его сохраняете. What each key does — это тот же файл с комментарием над каждым ключом; Claude Code не принимает комментарии в файле параметров, поэтому копируйте с первой вкладки.

Ваши собственные параметры

Личные параметры одного разработчика. Он выбирает модель и уровень усилий, настраивает терминал и предварительно одобряет команду только для чтения и одно чтение файла. Все остальное сохраняет значения по умолчанию. Файл, подобный этому, находится в ~/.claude/settings.json, где он применяется к каждому проекту, который вы открываете.

Сохраните это как ~/.claude/settings.json. Это корректный JSON без комментариев, поэтому вы можете вставить его как есть и удалить ненужные ключи.

{
"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
}

Общие параметры команды

Общие параметры одной команды, зафиксированные в репозитории, чтобы каждый, кто его клонирует, получал одинаковые разрешения, hooks и marketplace плагинов. Сохраните файл, подобный этому, в .claude/settings.json в верхней части репозитория. Что нужно знать перед его фиксацией:

  • Облачные сеансы также его читают. Облачный сеанс начинается с клона репозитория, поэтому зафиксированный файл применяется и там.
  • Телеметрия входит в управляемые или личные параметры. Claude Code игнорирует переменные экспортера OpenTelemetry в файлах параметров репозитория, за исключением некоторых значений, которые отключают телеметрию. Установите их в управляемых параметрах для вашей организации или в файле ~/.claude/settings.json каждого человека.
  • Правила Allow ждут доверия. Правила Allow и записи extraKnownMarketplaces вступают в силу после того, как каждый человек доверит этой папке, а не только родительской папке; правила deny и ask применяются в каждом сеансе, доверенном или нет.
  • Hook — это скрипт в репозитории. Hook этого файла запускает .claude/hooks/block-rm.sh; How a hook resolves описывает, как его написать.
  • Правила соответствуют команде и пути в том виде, в котором они написаны. Bash(git push *) не соответствует git -C . push. Read(./.env) само по себе останавливает инструменты файлов и команды, которые называют файл, такие как cat .env, но не grep -r, запущенный по каталогу; блок sandbox в этом файле закрывает этот пробел, потому что sandbox добавляет ваши пути Read deny к тому, что не может читать каждая команда в sandbox.

Сохраните это как .claude/settings.json в верхней части репозитория и зафиксируйте. Это корректный JSON без комментариев, поэтому вы можете вставить его как есть и удалить ненужные ключи.

{
"permissions": {
"allow": [
"Bash(npm run *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"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"
}

Управляемые параметры организации

Файл managed-settings.json, который показывает форму управляемых ключей с одним правдоподобным значением для каждого. Это не рекомендуемая политика: выберите ключи, которые соответствуют вашим требованиям, и установите свои собственные значения. Пример устанавливает эти ключи:

  • forceLoginMethod и forceLoginOrgUUID закрепляют метод входа и организацию
  • availableModels и enforceAvailableModels ограничивают, какие модели могут использовать сеансы
  • permissions.deny запрещает два чтения файлов и команды curl как их пишет Claude, а disableBypassPermissionsMode удаляет режим обхода разрешений
  • allowManagedPermissionRulesOnly и allowManagedMcpServersOnly делают управляемые списки разрешений для разрешений и MCP единственными применяемыми
  • allowedMcpServers закрепляет MCP сервер по URL
  • strictKnownMarketplaces разрешает один marketplace плагинов
  • sandbox помещает команды в sandbox с фиксированным списком разрешений сети и без повторной попытки без sandbox
  • requiredMinimumVersion устанавливает минимальную версию Claude Code
  • cleanupPeriodDays сокращает хранение стенограмм сеансов и других локальных данных до семи дней
  • companyAnnouncements показывает сообщение при запуске

Администраторы развертывают файл, подобный этому, как managed-settings.json, или тот же JSON через MDM или параметры, управляемые сервером. Один развернутый файл применяется к каждой машине или учетной записи, которую он достигает. Чтобы дать группе разные значения, разверните другой файл или профиль для этой группы, так как параметры, управляемые сервером, еще не поддерживают политику для каждой группы.

Разверните это как managed-settings.json, или тот же JSON через MDM или консоль claude.ai. Это корректный JSON без комментариев; замените пример UUID организации, URL сервера и marketplace на свои и удалите ненужные ключи.

{
"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"
]
}