Ключи settings.json задают почти всё постоянное поведение Claude Code, и их удобнее понимать по группам, а не сплошным списком. Есть ключи модели и рассуждения, разрешений, sandbox, обновлений, окружения, hooks, интерфейса, MCP и обслуживания. Каждый ключ действует в своём scope с известным приоритетом, и валидность файла проверяет claude doctor. Этот справочник даёт карту наиболее употребимых ключей; полный и точный набор для вашей версии - в официальной странице settings и в JSON-схеме, подключаемой через $schema.
Ключи разрешений и sandbox - ядро безопасности. permissions содержит allow, ask, deny, defaultMode и additionalDirectories; правила из scopes складываются, а deny не снять широким allow. sandbox описывает enabled, autoAllowBashIfSandboxed, allowUnsandboxedCommands и вложенные filesystem, network и credentials. Именно эти ключи определяют, что агент делает без спроса и что вообще физически может тронуть, поэтому их правят особенно осознанно и проверяют негативным тестом.
Ключи модели, обновлений и памяти управляют поведением сессии. Модель задают через model, effortLevel, advisorModel и fallbackModel; обновления - через autoUpdatesChannel и minimumVersion (пол для обновлений, а не pin), а requiredMinimumVersion существует только в managed settings и блокирует запуск. Память и контекст - через autoMemoryEnabled и autoCompactEnabled. Интерфейс - через statusLine, outputStyle, editorMode и vimInsertModeRemaps. Обслуживание - через cleanupPeriodDays, respectGitignore и includeCoAuthoredBy. Ниже - карта ключевых полей по группам.
Пользоваться справочником стоит с общей оговоркой книги: наличие ключа не означает рекомендацию его включить. Многие ключи - для диагностики, корпоративного развёртывания или совместимости, и особенно осторожны с полями, где есть dangerously, disable, bypass или experimental: сначала находят официальную задачу, версию и способ отката. Схема $schema даёт автодополнение и валидацию, но может отставать от самого свежего CLI - при расхождении сверяются с официальной страницей и claude doctor.
| Группа | Ключ | Назначение |
|---|---|---|
| Разрешения | permissions.allow / ask / deny | Правила по инструментам (deny > ask > allow) |
| permissions.defaultMode |
| Постоянный режим разрешений |
| permissions.additionalDirectories | Дополнительные рабочие каталоги |
| Sandbox | sandbox.enabled / allowUnsandboxedCommands | Включение / запрет escape hatch |
|---|
| sandbox.filesystem / network / credentials | Границы файлов, сети, секретов |
| Модель | model / effortLevel | Модель и глубина рассуждения |
|---|
| advisorModel / fallbackModel | Советник и запасная модель |
| Обновления | autoUpdatesChannel / minimumVersion | Канал (latest/stable) / пол обновлений |
|---|
| requiredMinimumVersion | Managed-гейт: не даёт запуститься ниже версии |
| Память/контекст | autoMemoryEnabled / autoCompactEnabled | Авто-память / авто-сжатие |
|---|
| Интерфейс | statusLine / outputStyle / editorMode | Строка статуса, стиль вывода, vim |
|---|
| Расширения | hooks / enableAllProjectMcpServers | Реакции на события / одобрение project-MCP (сами серверы - в .mcp.json) |
|---|
| Обслуживание | cleanupPeriodDays / respectGitignore | Срок хранения / уважать .gitignore |
|---|
| includeCoAuthoredBy | Подпись Co-Authored-By в коммитах |