Перейти к содержимому
PD
Claude Code

Claude Code CLI: команды, флаги и режимы

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

Все статьи гида Claude Code · 13

Claude Code запускается одной командой в каталоге проекта. Всё остальное - это способы уточнить, с какими правами он работает, какую модель использует и продолжает ли он прошлый разговор.

Запуск и базовые команды

Основной сценарий - зайти в каталог проекта и запустить агента. Он стартует в интерактивном режиме: вы пишете задачу, он работает, вы видите, что он делает.

Три вещи, которые нужны почти сразу:

  • Продолжить последнюю сессию в этом каталоге, если вы случайно вышли или вернулись к работе.
  • Выбрать сессию из списка прошлых, когда нужно вернуться к конкретной задаче недельной давности.
  • Неинтерактивный режим, когда задача передаётся одной строкой, а результат печатается в stdout. Это то, чем агент встраивается в скрипты и CI.

Внутри сессии команды начинаются со слэша. Практически ежедневно нужны три: очистка контекста для новой задачи, сжатие контекста, когда он подошёл к пределу, и смена модели на ходу.

Режимы разрешений

Это главная настройка, и она про безопасность, а не про удобство.

Спрашивать каждый раз. Агент показывает команду и ждёт подтверждения. Медленно, зато вы видите каждое действие. Разумный режим на незнакомом проекте.

Разрешить по списку. Вы один раз описываете, что можно без вопроса - запуск тестов, сборка, чтение файлов, - а всё остальное по-прежнему требует подтверждения. Это рабочий режим на своём проекте.

Разрешать всё. Агент не спрашивает. Экономит массу времени и в неизолированной среде является плохой идеей: у него есть доступ к оболочке, а значит ко всему, к чему есть доступ у вас. Этот режим уместен в контейнере или на отдельной машине - подробнее в статье песочница для кодового агента.

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

Флаги, которые реально пригодятся

  • Выбор модели. Разные задачи - разная модель, и это самый прямой рычаг влияния на скорость и расход. Подробно - в статье про модели.
  • Режим разрешений. Задаётся при запуске, чтобы не переключать вручную.
  • Продолжение сессии. Возврат к последнему диалогу вместо пересказа контекста заново.
  • Ограничение числа шагов в неинтерактивном режиме - страховка от агента, который зациклился и жжёт токены.
  • Формат вывода для неинтерактивного режима: структурированный вывод удобнее разбирать в скрипте, чем текст.

Что стоит вынести в конфиг

Всё, что вы повторяете руками чаще двух раз. В проекте это три вещи.

Файл с описанием проекта. Агент читает его в начале каждой сессии. Туда идёт то, что он иначе будет угадывать: как запускаются тесты, какие команды сборки, какие соглашения по коду, чего в этом репозитории делать нельзя. Один хороший файл экономит больше времени, чем любой флаг.

Настройки проекта. Разрешённые команды, режим по умолчанию, модель. Лежат в проекте и работают у всей команды одинаково - см. Claude Code в команде.

Скиллы для повторяемых процедур: как у вас выкатывается релиз, как добавляется новая сущность, как оформляется миграция. Это описание процесса, которое агент подхватывает, когда задача на него похожа.

Практическое правило: если вы объясняете агенту одно и то же в третий раз, объяснение должно жить в файле, а не в вашем сообщении.

Что дальше

Дальше логично разобраться с расходом контекста и написать первый скилл. Общая картина - гид по Claude Code.

Вопросы и ответы

Как продолжить прошлую сессию Claude Code?

Запуск с флагом продолжения возвращает последний диалог в текущем каталоге, а выбор из списка прошлых сессий позволяет вернуться к конкретной. Важная деталь: сессии привязаны к каталогу, поэтому запуск из другой папки покажет другую историю.

Можно ли запускать Claude Code в скрипте, без диалога?

Да, для этого есть неинтерактивный режим: команда получает задачу одной строкой, выполняет её и печатает результат в stdout. Так его встраивают в CI и в git-хуки. Разрешения в таком режиме надо задавать заранее, потому что спросить будет некого.

Что делать, если агент забыл, о чём шла речь?

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

Ещё по теме