Библиотека · Установка Claude Code и первые настройки

Режимы работы — Permission Modes + режимы запуска CLI

Строитель45 минОбновлено: октябрь 2026
9 из 105 в библиотеке

Модуль: 3. WAT-фреймворк | Время: ~25 мин теории + 20 мин практики


Суть урока

У Claude Code есть два уровня "режимов". Первый — как ты запускаешь Claude (интерактивно, одиночным запросом, через pipe). Второй — сколько контроля ты оставляешь себе во время работы (permission modes).

🎨 Образ: Режимы запуска — это способ прийти на кухню: можно зайти и готовить вместе с шеф-поваром (интерактивный), можно крикнуть заказ в окошко и ждать готовое (print), можно подать ингредиенты через конвейер (pipe). Permission modes — это уже на кухне: шеф спрашивает перед каждым разрезом (Manual), режет сам (Accept edits) или полный автопилот (Bypass).


Ключевые концепции

Режимы запуска CLI: как вызвать Claude из командной строки

  • Interactive mode (claude) — REPL в терминале (терминал — программа для работы с командной строкой), диалог туда-сюда
  • Print mode (claude -p "запрос") — один вопрос, один ответ, выход
  • Pipe mode (cat file | claude -p "...") — данные на вход через Unix pipe
  • SDK mode — программный вызов из Python (Питон — язык программирования) / TypeScript (ТайпСкрипт — типизированный JavaScript) кода

Permission modes (сколько контроля)

  • Manual (в настройках значение default, дефолт — стандартное значение по умолчанию) — Claude спрашивает разрешения перед каждым изменением файла и командой
  • Accept Edits (acceptEdits) — Claude редактирует файлы сам, но спрашивает перед shell-командами
  • Plan Mode (plan) — Claude анализирует и предлагает план, ничего не меняет
  • Auto Mode (auto) — работает без обычных вопросов, каждое действие проверяет отдельная модель-классификатор. С версии 2.1.283 это стартовый режим по умолчанию в терминале и VS Code
  • Don't Ask (dontAsk) — выполняет только заранее одобренные действия, остальное отклоняет
  • Bypass Permissions (bypassPermissions) — никаких проверок вообще (только в изолированных средах!)
  • Shift+Tab — горячая клавиша переключения между режимами
  • --allowedTools — whitelist конкретных инструментов

Теория

Часть 1: Режимы запуска CLI

Claude Code можно запустить четырьмя способами. Каждый подходит для разных ситуаций.

Interactive mode (по умолчанию)

Просто набери claude в терминале — откроется интерактивная сессия (REPL). Ты пишешь запрос, Claude отвечает, ты уточняешь, он дорабатывает. Диалог продолжается пока ты не выйдешь (Ctrl+D или /exit).

bash
# Запустить интерактивную сессию
claude

# Запустить с начальным запросом (но остаёмся в диалоге)
claude "объясни структуру этого проекта"

🎨 Образ: Это как сидеть за столом с коллегой. Обсуждаете, уточняете, правите вместе.

Флаг --print (или короткая форма -p) меняет поведение: Claude получает запрос, выполняет работу, выводит ответ в stdout и завершает процесс. Никакого диалога.

bash
# Один вопрос — один ответ — выход
claude -p "Сгенерируй UUID v4 на Python"

# С выбором модели
claude -p "Объясни этот код" --model sonnet

🎨 Образ: Как крикнуть вопрос в окошко кассы. Получил ответ — пошёл дальше.

Pipe mode (Unix-конвейер)

Claude Code полностью поддерживает stdin — можно передавать данные через pipe, как любому Unix-инструменту:

bash
# Анализ лога
cat server.log | claude -p "Найди все ошибки ERROR, сгруппируй по типу"

# Code review через pipe
cat src/payment.py | claude -p "Найди security уязвимости"

# Генерация commit message из diff
git diff HEAD | claude -p "Напиши commit message в формате Conventional Commits"

Ограничение: через pipe удобно передавать небольшие данные. Для больших файлов лучше указать путь в запросе.

🎨 Образ: Конвейерная лента на заводе. Кладёшь деталь (данные) на ленту — на выходе получаешь готовый продукт (ответ).

SDK mode (программный вызов)

Для разработчиков — Agent SDK: библиотека для Python и TypeScript, которая запускает тот же агентный цикл, что и Claude Code. Названия пакетов и установка меняются, поэтому актуальную инструкцию смотри в Agent SDK Quickstart.

SDK даёт структурированный ответ, callback'и на tool-вызовы, стриминг токенов (токены — минимальные единицы текста для AI). Подробнее — в уроке Headless Mode и CI/CD и документации Anthropic.


Часть 2: Ключевые CLI-флаги

Перед тем как перейти к permission modes, вот самые важные флаги которые работают в любом режиме:

Флаг Что делает Пример
--model Выбрать модель (алиасы sonnet, opus, haiku, fable или полное имя) claude -p "..." --model sonnet
--max-turns Ограничить итерации (только print mode) claude -p "..." --max-turns 3
--output-format Формат вывода: text, json (JSON — джейсон — формат данных ключ-значение), stream-json claude -p "..." --output-format json
--continue / -c Продолжить последний разговор claude -c
--resume / -r Возобновить конкретную сессию claude -r "auth-refactor"
--allowedTools Whitelist разрешённых инструментов claude --allowedTools "Read,Edit"
--disallowedTools Blacklist запрещённых инструментов claude --disallowedTools "Bash"
--permission-mode Начать в конкретном permission mode claude --permission-mode plan
--append-system-prompt Добавить инструкции к системному промпту (промпт — текстовый запрос к AI) claude --append-system-prompt "Пиши на TypeScript"
--max-budget-usd Лимит расходов в долларах (print mode) claude -p "..." --max-budget-usd 5.00
--bare Быстрый старт без загрузки hooks (хуки — скрипты-реакции на события)/skills (скиллы — переиспользуемые инструкции)/MCP (эм-си-пи, Model Context Protocol — протокол контекста модели) claude --bare -p "..."
--mcp-config Подключить MCP-серверы из файла claude --mcp-config ./mcp.json

--bare режим — рекомендован для скриптов и CI/CD (си-ай/си-ди, Continuous Integration/Delivery — автоматическая сборка и доставка). Пропускает автозагрузку hooks, skills, субагентов, plugins, MCP серверов, auto memory и CLAUDE.md. Запуск быстрее, результат одинаковый на любой машине.


Часть 3: Permission Modes (режимы разрешений)

Как переключаться между режимами

  • В терминале (CLI): Shift+Tab — циклическое переключение default → acceptEdits → plan. Режим auto входит в круг, если он доступен; bypassPermissions появляется только если включён отдельно (флаг --allow-dangerously-skip-permissions). Текущий режим виден в строке состояния под полем ввода.
  • В VS Code (Вэ-эС Код — популярный редактор кода от Microsoft): индикатор режима в панели промпта
  • В приложении для компьютера: список режимов рядом с кнопкой отправки (Cmd+Shift+M); Shift+Tab там не работает
  • При запуске: флаг --permission-mode plan (или auto, acceptEdits, dontAsk, bypassPermissions; для режима Manual значение default или алиас manual)
  • По умолчанию: настройка defaultMode в settings.json

Режим 1: Plan Mode

🎨 Образ: Plan Mode — как хирург который перед операцией вслух проговаривает весь план: «Делаю разрез тут, потом подхожу к этому сосуду, потом...». Это не трата времени — это страховка. Заметил ошибку в плане до операции — не будешь исправлять во время.

Что происходит: Claude анализирует задачу и создаёт подробный план. Не выполняет ничего. Ждёт твоего "да" или правок.

Пример вывода Plan Mode:

Напиши в чат
Контекст: нужно создать LinkedIn-пост
Шаги:
1. Прочитать voice-samples.md для понимания тона
2. Создать файл linkedin-post.md в папке outputs/
3. Написать пост 200-250 слов с хуком в первом предложении
4. Добавить 3-5 хэштегов

Файлы которые будут созданы: outputs/linkedin-post.md
Файлы которые будут прочитаны: context/voice-samples.md

После просмотра плана выбираешь: «Yes, and use auto mode» (выполнять в auto), «Yes, manually approve edits» (проверять каждую правку) или «No, keep planning» (продолжить планирование). Если auto недоступен, первый вариант называется «Yes, auto-accept edits».

Бонус Plan Mode: можно добавлять комментарии прямо в план. Например написать под пунктом 3 "сделай тон более разговорным" — Claude обновит план и выполнит с учётом правки.

Когда использовать:

  • Сложная задача с несколькими шагами
  • Первый раз делаешь что-то с незнакомым проектом
  • Рискованные операции (миграция данных, большой рефакторинг, mass-edit файлов)
  • Нужно объяснить клиенту что именно будет сделано
  • Хочешь понять логику Claude до выполнения

Правило из практики: минута планирования экономит 10 минут переделки. Для любой задачи где что-то может пойти не так — сначала Plan Mode.


Режим 2: Manual (значение default, раньше Ask Before Edits)

🎨 Образ: Manual — как опытный сантехник который перед каждым действием говорит: «Буду перекрывать горячую воду — окей?», «Меняю трубу — смотри». Немного медленнее, зато никаких сюрпризов.

Название: в интерфейсе Manual, значение в настройках default.

Что происходит: Claude автоматически читает файлы, но перед каждым изменением файла или выполнением shell-команды показывает что собирается сделать и спрашивает подтверждения.

bash
# Запуск в режиме Manual (с версии 2.1.283 новые сессии в терминале стартуют не в нём, а в auto)
claude --permission-mode default

Когда использовать:

  • Работаешь в продакшн-проекте где ошибка дорого стоит
  • Первый раз работаешь с чужим кодом или незнакомым проектом
  • Хочешь видеть каждый шаг (учёба, аудит, проверка)
  • Задача затрагивает критические файлы
  • Чувствительная работа с секретами или конфигами

Когда это лишнее:

  • Рутинная задача которую делал много раз
  • Создание новых файлов с нуля (не редактирование существующих)
  • Простые контентные задачи

Режим 3: Accept Edits (в VS Code: Edit automatically)

Официальное название: acceptEdits

Что происходит: Claude создаёт и редактирует файлы без вопросов. Также автоматически выполняет базовые файловые команды (mkdir, touch, mv, cp и подобные). Но более серьёзные shell-команды и сетевые запросы по-прежнему требуют подтверждения.

bash
# Запуск в acceptEdits mode
claude --permission-mode acceptEdits

Это удобный рабочий режим, когда ты сам просматриваешь изменения. Одно нажатие Shift+Tab из Manual.

Когда использовать:

  • Понятная задача с хорошо настроенным CLAUDE.md
  • Задачи которые делал много раз
  • Написание текстов, создание файлов
  • Итерации: Claude уже сделал хорошую работу, просишь улучшить

Отличие от Bypass: Accept Edits всё ещё спрашивает перед shell-командами и сетевыми запросами. Bypass не спрашивает никогда.


Режим 4: Auto Mode (AI-контролируемый автопилот)

Официальное название: auto

Что происходит: Claude работает без твоих подтверждений, но каждое действие проверяется отдельной AI-моделью (классификатором безопасности). Если классификатор видит опасное действие — блокирует его автоматически. С версии 2.1.283 auto — стартовый режим по умолчанию в терминале и VS Code; если auto недоступен (модель, настройки организации), сессия стартует в Manual.

bash
# Запуск в auto mode
claude --permission-mode auto

Требования для auto mode:

  • План: любой (на Team и Enterprise включён по умолчанию, администратор может его отключить). На Pro режим тоже доступен
  • Модель: поддерживаемая свежая модель; список зависит от провайдера и меняется. Смотри документацию по режимам разрешений и страницу Актуальное сейчас
  • Провайдер: Anthropic API (эй-пи-ай, Application Programming Interface — интерфейс программирования приложений), а также Amazon Bedrock, Google Cloud Agent Platform и Microsoft Foundry

Что классификатор блокирует по умолчанию:

  • Скачивание и выполнение кода (curl | bash, где bash — язык команд Unix-терминала)
  • Деплой (деплой — развёртывание, публикация в продакшен) в продакшн
  • Массовое удаление файлов
  • Force push и push в main
  • Отправка данных на внешние серверы

Когда использовать:

  • Длинные задачи где устал нажимать "Yes" каждые 10 секунд
  • Доверяешь направлению работы но хочешь safety net
  • Нужна скорость но не готов к полному Bypass

🎨 Образ: Автопилот Tesla. Машина едет сама, но система следит за дорогой и тормозит если видит препятствие. Не идеально, но сильно лучше чем ехать с закрытыми глазами.


Режим 5: Don't Ask (только заранее одобренное)

Официальное название: dontAsk

Что происходит: Claude может выполнять ТОЛЬКО действия которые ты заранее одобрил в правилах (permissions.allow). Всё остальное автоматически отклоняется без вопросов. Полностью неинтерактивный.

bash
# Запуск в dontAsk mode
claude --permission-mode dontAsk

Когда использовать:

  • CI/CD пайплайны где нет человека
  • Нужен строгий контроль что именно разрешено
  • Заранее знаешь весь набор операций

Режим 6: Bypass Permissions

Официальное название: bypassPermissions

Что происходит: Claude получает полную автономию. Никаких подтверждений, никаких классификаторов, никаких пауз. Делает ВСЁ что считает нужным. Даже записи в защищённые пути (.git/ — папка git, системы контроля версий кода, .vscode/ и др.) проходят без вопросов.

Как включить:

bash
# Через CLI
claude --permission-mode bypassPermissions

# Короткая форма (тот же эффект)
claude --dangerously-skip-permissions

В VS Code: Settings → поиск "allow dangerously" → включить опцию. После этого Bypass появится в меню режимов.

Когда использовать:

  • Изолированные контейнеры, VM, dev containers без доступа в интернет
  • CI/CD пайплайны в sandbox-среде
  • Уже проверил план в Plan Mode, хочешь выполнить без прерываний

Когда НЕ использовать:

  • На своей основной машине
  • С незнакомым кодом
  • В продакшн-среде

Схема Plan → выполнение (рекомендуемая):

Код
1. Получил сложную задачу
2. Запустил в Plan Mode → изучил план → добавил правки
3. Одобрил план → Claude предлагает:
   - Yes, and use auto mode
   - Yes, manually approve edits
   - No, keep planning
4. Выбрал подходящий уровень → выполнение

Предупреждение: Bypass не защищает от prompt injection и непреднамеренных действий. Если нужна автономность С безопасностью — используй Auto Mode.

🎨 Образ: Bypass — как дать ключи от машины водителю с завязанными глазами. Auto Mode — как дать ключи с работающей системой торможения. Первый вариант — только на закрытом полигоне (контейнер).


allowedTools: whitelist инструментов

Флаг --allowedTools позволяет точечно разрешить конкретные инструменты в рамках одного запуска, не открывая полный Bypass.

Использование в CLI:

bash
claude --allowedTools "Read,Write,Bash(git commit*)" "сделай коммит всех изменений"

Что это даёт:

  • Тонкий контроль: разрешить только чтение файлов но не запись
  • Разрешить только git-операции но не системные команды
  • Позволить web-fetch но не редактирование файлов

Практический пример — ночная рутина:

bash
claude --allowedTools "Read,Bash(curl*)" --print \
  "запусти проверку здоровья API и сохрани отчёт"

Сравнительная таблица permission modes

Режим CLI-название Что без вопросов Контроль Лучший сценарий
Plan Mode plan Только чтение Максимальный Сложные/рискованные задачи
Manual default Только чтение Высокий Обучение, продакшн, аудит
Accept Edits acceptEdits Чтение + редактирование + базовые команды Средний Ежедневная работа
Auto Mode auto Всё, но с AI-проверкой Низкий (AI safety net) Длинные задачи
Don't Ask dontAsk Только заранее одобренное Жёсткий CI/CD с контролем
Bypass bypassPermissions Абсолютно всё Нулевой Только контейнеры/VM

Типичные сценарии переключения

Сценарий 1: Первое знакомство с задачей

Код
Plan Mode → изучи план → одобри → Accept Edits или Auto Mode

Сценарий 2: Простая задача с чистым проектом

Код
Accept Edits (acceptEdits) → достаточно

Сценарий 3: Рискованная операция в продакшн

Код
Plan Mode → изучи план → добавь правки → Manual для выполнения

Сценарий 4: CI/CD пайплайн

bash
# Вариант А — строгий контроль:
claude -p "..." --permission-mode dontAsk --allowedTools "Read,Bash(git *)"

# Вариант Б — полная автономия в контейнере:
claude -p "..." --dangerously-skip-permissions --max-turns 5

Сценарий 5: Длинная задача с множеством файлов

Код
Plan Mode → убедись что список файлов правильный → Auto Mode

Сценарий 6: Продолжение вчерашней работы

bash
# Продолжить последний разговор
claude --continue

# Возобновить конкретную сессию по имени
claude --resume "auth-refactor"

Режимы как управление риском

🎨 Образ: Режимы — как скорость на трассе. Школьный двор — 20 км/ч. Шоссе — 120. Автобан — 180. Ты не едешь везде одинаково: выбираешь скорость под условия. Bypass на продакшне — как 180 км/ч в школьном дворе.

Режимы — это не удобство, это управление риском. Правило простое:

Чем выше ставки задачи — тем больше контроля.

Исправить опечатку в тексте? Accept edits. Удалить папку с данными клиента? Plan Mode + Manual + три раза перечитай план.

Ставки задачи определяются двумя вопросами:

  1. Насколько необратимо если что-то пойдёт не так?
  2. Насколько дорого исправлять ошибку?

Практика

Задание: прокатиться по всем режимам на одной задаче

Возьми одну задачу: "Создай файл outputs/test-post.md с коротким постом о пользе AI для малого бизнеса, 100-150 слов."

  1. Plan Mode: запусти задачу, изучи план. Добавь комментарий "сделай тон более разговорным". Одобри обновлённый план
  2. Accept edits: попроси Claude "добавь в конец поста три хэштега" — посмотри как он делает это без вопросов
  3. Manual: попроси "измени заголовок поста" — посмотри как Claude показывает diff и спрашивает разрешения
  4. Включи Bypass Permissions в настройках, попроси "создай копию файла с названием test-post-v2.md" — посмотри как он делает без пауз
  5. Запусти /context — посмотри сколько токенов ушло на всё это

Цель: прочувствовать разницу между режимами на практике, не теоретически. После этого переключение будет рефлексом.


Инструменты и ресурсы

  • Shift+Tab — горячая клавиша переключения permission mode
  • --permission-mode — CLI-флаг для выбора режима при запуске
  • --allowedTools — whitelist инструментов (поддерживает wildcard: "Bash(git *)")
  • --disallowedTools — blacklist инструментов
  • -p / --print — запуск без интерактива (print mode)
  • -c / --continue — продолжить последний разговор
  • -r / --resume — возобновить конкретную сессию
  • --model — выбор модели (sonnet, opus, haiku, fable или полное имя)
  • --bare — быстрый старт без загрузки контекста (для скриптов)
  • --max-turns — ограничение итераций в print mode
  • --max-budget-usd — лимит расходов в долларах
  • Документация: CLI reference и режимы разрешений

Ключевые выводы

4 способа запуска: Interactive (диалог), Print -p (один запрос), Pipe (данные на вход), SDK (из кода). Для автоматизации — print + pipe. Для работы руками — interactive.

6 permission modes: от максимального контроля (Plan/Default) до нулевого (Bypass). Auto Mode — золотая середина: автономность с AI safety net. Accept Edits — рабочая лошадка на каждый день.

Plan Mode — страховка которая ничего не стоит. Минута на план экономит час на исправление. После одобрения плана Claude сам предлагает в каком режиме выполнять.

Bypass — только для контейнеров. Если нужна автономность на реальной машине — используй Auto Mode. Bypass не защищает ни от чего.

--bare для скриптов. Когда Claude запускается из скрипта или CI — добавь --bare чтобы он не загружал лишний контекст. Быстрее и предсказуемее.


Следующий урок

→ Токены и управление контекстом — токены, окно контекста и экономика запросов

Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс