Настройки Claude Code
Узнайте, как настроить Claude Code с помощью глобальных настроек и настроек на уровне проекта, тем и переменных окружения.
Claude Code предлагает различные настройки для конфигурации его поведения в соответствии с вашими потребностями. Вы можете настроить Claude Code, выполнив команду claude config
в терминале или команду /config
при использовании интерактивного REPL.
Иерархия конфигурации
Новый файл settings.json
является нашим официальным механизмом для настройки Claude Code через иерархические параметры.
Пользовательские настройки определяются в ~/.claude/settings.json
и применяются ко всем проектам.
Настройки проекта сохраняются в директории вашего проекта в .claude/settings.json
для общих настроек и .claude/settings.local.json
для локальных настроек проекта. Claude Code настроит git так, чтобы игнорировать .claude/settings.local.json
при его создании.
Для корпоративных развертываний Claude Code мы также поддерживаем управляемые корпоративные политики настроек. Они имеют приоритет над пользовательскими настройками и настройками проекта. Системные администраторы могут развертывать политики в /Library/Application Support/ClaudeCode/policies.json
на macOS и /etc/claude-code/policies.json
на Linux и Windows через WSL.
Приоритет настроек
Настройки применяются в порядке приоритета, где последующие источники переопределяют предыдущие:
- Пользовательские настройки
- Общие настройки проекта
- Локальные настройки проекта
- Аргументы командной строки
- Корпоративные политики
Параметры конфигурации
Claude Code поддерживает глобальную конфигурацию и конфигурацию на уровне проекта.
Для управления конфигурациями используйте следующие команды:
- Список настроек:
claude config list
- Просмотр настройки:
claude config get <key>
- Изменение настройки:
claude config set <key> <value>
- Добавление в настройку (для списков):
claude config add <key> <value>
- Удаление из настройки (для списков):
claude config remove <key> <value>
По умолчанию config
изменяет конфигурацию вашего проекта. Для управления глобальной конфигурацией используйте флаг --global
(или -g
).
Глобальная конфигурация
Для установки глобальной конфигурации используйте claude config set -g <key> <value>
:
Ключ | Значение | Описание |
---|---|---|
autoUpdaterStatus | disabled или enabled | Включение или отключение автообновления (по умолчанию: enabled ) |
env | JSON (например, '{"FOO": "bar"}' ) | Переменные окружения, которые будут применяться к каждой сессии |
preferredNotifChannel | iterm2 , iterm2_with_bell , terminal_bell , или notifications_disabled | Где вы хотите получать уведомления (по умолчанию: iterm2 ) |
theme | dark , light , light-daltonized , или dark-daltonized | Цветовая тема |
verbose | true или false | Показывать ли полный вывод bash и команд (по умолчанию: false ) |
Конфигурация проекта
Управляйте конфигурацией проекта с помощью claude config set <key> <value>
(без флага -g
):
Ключ | Значение | Описание |
---|---|---|
allowedTools | массив инструментов | Какие инструменты могут запускаться без ручного подтверждения |
ignorePatterns | массив glob-строк | Какие файлы/директории игнорируются при использовании инструментов |
Например:
Разрешения
Вы можете управлять разрешениями инструментов Claude Code с помощью /allowed-tools
. Этот интерфейс отображает все правила разрешений и файл settings.json, из которого они берутся.
- Правила Allow позволят Claude Code использовать указанный инструмент без дальнейшего ручного подтверждения.
- Правила Deny запретят Claude Code использовать указанный инструмент. Правила запрета имеют приоритет над правилами разрешения.
Правила разрешений используют формат: Tool(optional-specifier)
.
Например, добавление WebFetch
в список правил разрешения позволит использовать инструмент веб-запросов без необходимости одобрения пользователя. См. список инструментов, доступных Claude (используйте имя в скобках, когда оно предоставлено).
Некоторые инструменты используют необязательный спецификатор для более точного контроля разрешений. Например, правило разрешения WebFetch(domain:example.com)
позволит делать запросы к example.com, но не к другим URL.
Правила Bash могут быть точными совпадениями, как Bash(npm run build)
, или совпадениями по префиксу, когда они заканчиваются на :*
, как Bash(npm run test:*)
Правила Read()
и Edit()
следуют спецификации gitignore. Шаблоны разрешаются относительно директории, содержащей .claude/settings.json
. Для ссылки на абсолютный путь используйте //
. Для пути относительно вашей домашней директории используйте ~/
. Например, Read(//tmp/build_cache)
или Edit(~/.zshrc)
. Claude также сделает все возможное, чтобы применить правила Read и Edit к другим инструментам, связанным с файлами, таким как Grep, Glob и LS.
Имена инструментов MCP следуют формату: mcp__server_name__tool_name
, где:
server_name
- это имя сервера MCP, как настроено в Claude Codetool_name
- это конкретный инструмент, предоставляемый этим сервером
Дополнительные примеры:
Правило | Описание |
---|---|
Bash(npm run build) | Соответствует точной команде Bash npm run build . |
Bash(npm run test:*) | Соответствует командам Bash, начинающимся с npm run test . См. примечание ниже о обработке разделителей команд. |
Edit(~/.zshrc) | Соответствует файлу ~/.zshrc . |
Read(node_modules/**) | Соответствует любой директории node_modules . |
mcp__puppeteer__puppeteer_navigate | Соответствует инструменту puppeteer_navigate от сервера MCP puppeteer . |
WebFetch(domain:example.com) | Соответствует запросам fetch к example.com |
Claude Code знает о разделителях команд (таких как &&
), поэтому правило совпадения по префиксу
вроде Bash(safe-cmd:*)
не даст ему разрешения выполнить команду safe-cmd && other-cmd
Параметры разрешений автообновления
Когда Claude Code обнаруживает, что у него недостаточно прав для записи в глобальную директорию npm prefix (необходимую для автоматических обновлений), вы увидите предупреждение, указывающее на эту страницу документации. Подробные решения проблем с автообновлением см. в руководстве по устранению неполадок.
Рекомендуется: Создать новый доступный для записи npm prefix
Почему мы рекомендуем этот вариант:
- Избегает изменения разрешений системной директории
- Создает чистое, выделенное место для ваших глобальных пакетов npm
- Следует лучшим практикам безопасности
Поскольку Claude Code активно разрабатывается, мы рекомендуем настроить автообновления, используя рекомендованный выше вариант.
Отключение автообновления
Если вы предпочитаете отключить автообновление вместо исправления разрешений, вы можете использовать:
Оптимизируйте настройку вашего терминала
Claude Code работает лучше всего, когда ваш терминал правильно настроен. Следуйте этим рекомендациям для оптимизации вашего опыта.
Поддерживаемые оболочки:
- Bash
- Zsh
- Fish
Темы и внешний вид
Claude не может управлять темой вашего терминала. Это контролируется вашим терминальным приложением. Вы можете сопоставить тему Claude Code с вашим терминалом во время начальной настройки или в любое время через команду /config
Разрывы строк
У вас есть несколько вариантов для ввода разрывов строк в Claude Code:
- Быстрый escape: Введите
\
и затем Enter для создания новой строки - Сочетание клавиш: Нажмите Option+Enter (Meta+Enter) при правильной конфигурации
Для настройки Option+Enter в вашем терминале:
Для Mac Terminal.app:
- Откройте Настройки → Профили → Клавиатура
- Отметьте “Использовать Option как клавишу Meta”
Для iTerm2 и терминала VSCode:
- Откройте Настройки → Профили → Клавиши
- В разделе Общие установите левую/правую клавишу Option на “Esc+”
Совет для пользователей iTerm2 и VSCode: Запустите /terminal-setup
в Claude Code для автоматической настройки Shift+Enter как более интуитивной альтернативы.
Настройка уведомлений
Никогда не пропускайте завершение задачи Claude с правильной настройкой уведомлений:
Уведомления через звуковой сигнал терминала
Включите звуковые оповещения при завершении задач:
Для пользователей macOS: Не забудьте включить разрешения на уведомления в Системных настройках → Уведомления → [Ваше приложение терминала].
Системные уведомления iTerm 2
Для оповещений iTerm 2 при завершении задач:
- Откройте Настройки iTerm 2
- Перейдите в Профили → Терминал
- Включите “Отключить звуковой сигнал” и “Отправлять уведомление при бездействии”
- Установите предпочтительную задержку уведомлений
Обратите внимание, что эти уведомления специфичны для iTerm 2 и недоступны в стандартном терминале macOS.
Обработка больших входных данных
При работе с обширным кодом или длинными инструкциями:
- Избегайте прямой вставки: Claude Code может испытывать трудности с очень длинным вставленным содержимым
- Используйте файловые рабочие процессы: Записывайте содержимое в файл и просите Claude прочитать его
- Учитывайте ограничения VS Code: Терминал VS Code особенно склонен к обрезанию длинных вставок
Режим Vim
Claude Code поддерживает подмножество привязок клавиш Vim, которые можно включить с помощью /vim
или настроить через /config
.
Поддерживаемое подмножество включает:
- Переключение режимов:
Esc
(в NORMAL),i
/I
,a
/A
,o
/O
(в INSERT) - Навигация:
h
/j
/k
/l
,w
/e
/b
,0
/$
/^
,gg
/G
- Редактирование:
x
,dw
/de
/db
/dd
/D
,cw
/ce
/cb
/cc
/C
,.
(повтор)
Переменные окружения
Claude Code поддерживает следующие переменные окружения для управления его поведением:
Переменная | Назначение |
---|---|
DISABLE_AUTOUPDATER | Установите в 1 для отключения автоматического обновления |
DISABLE_BUG_COMMAND | Установите в 1 для отключения команды /bug |
DISABLE_COST_WARNINGS | Установите в 1 для отключения предупреждений о стоимости |
DISABLE_ERROR_REPORTING | Установите в 1 для отказа от отчетов об ошибках Sentry |
DISABLE_TELEMETRY | Установите в 1 для отказа от телеметрии Statsig (обратите внимание, что события Statsig не включают пользовательские данные, такие как код, пути к файлам или команды bash) |
HTTP_PROXY | Укажите HTTP прокси-сервер для сетевых подключений |
HTTPS_PROXY | Укажите HTTPS прокси-сервер для сетевых подключений |
MCP_TIMEOUT | Тайм-аут в миллисекундах для запуска сервера MCP |
MCP_TOOL_TIMEOUT | Тайм-аут в миллисекундах для выполнения инструмента MCP |
Was this page helpful?