CLI ранее назывался “headless mode”. Флаг
-p и все параметры CLI работают так же.-p с вашим запросом и любыми параметрами CLI:
claude -p). Для пакетов Python и TypeScript SDK со структурированными выходами, обратными вызовами одобрения инструментов и собственными объектами сообщений см. полную документацию Agent SDK.
Базовое использование
Добавьте флаг-p (или --print) к любой команде claude для запуска её в неинтерактивном режиме. Все параметры CLI работают с -p, включая:
--continueдля продолжения разговоров--allowedToolsдля автоматического одобрения инструментов--output-formatдля структурированного вывода
Примеры
Эти примеры выделяют общие паттерны CLI.Получение структурированного вывода
Используйте--output-format для управления тем, как возвращаются ответы:
text(по умолчанию): простой текстовый выводjson: структурированный JSON с результатом, ID сессии и метаданнымиstream-json: JSON с разделением по строкам для потоковой передачи в реальном времени
result:
--output-format json с --json-schema и определением JSON Schema. Ответ включает метаданные о запросе (ID сессии, использование и т.д.) со структурированным выводом в поле structured_output.
Этот пример извлекает имена функций и возвращает их как массив строк:
Потоковая передача ответов
Используйте--output-format stream-json с --verbose и --include-partial-messages для получения токенов по мере их генерации. Каждая строка — это объект JSON, представляющий событие:
-r выводит необработанные строки (без кавычек), а -j объединяет без новых строк, чтобы токены передавались непрерывно:
Автоматическое одобрение инструментов
Используйте--allowedTools для разрешения Claude использовать определённые инструменты без запроса. Этот пример запускает набор тестов и исправляет ошибки, позволяя Claude выполнять команды Bash и читать/редактировать файлы без запроса разрешения:
Создание коммита
Этот пример проверяет поставленные в очередь изменения и создаёт коммит с соответствующим сообщением:--allowedTools использует синтаксис правил разрешений. Завершающий * включает сопоставление префиксов, поэтому Bash(git diff *) разрешает любую команду, начинающуюся с git diff. Пробел перед * важен: без него Bash(git diff*) также совпадал бы с git diff-index.
Вызываемые пользователем skills вроде
/commit и встроенные команды доступны только в интерактивном режиме. В режиме -p опишите задачу, которую вы хотите выполнить.Настройка системного запроса
Используйте--append-system-prompt для добавления инструкций при сохранении поведения Claude Code по умолчанию. Этот пример передаёт diff PR в Claude и инструктирует его проверить на уязвимости безопасности:
--system-prompt для полной замены запроса по умолчанию.
Продолжение разговоров
Используйте--continue для продолжения самого последнего разговора или --resume с ID сессии для продолжения определённого разговора. Этот пример запускает проверку, а затем отправляет дополнительные запросы:
Следующие шаги
- Agent SDK quickstart: создайте своего первого агента с помощью Python или TypeScript
- CLI reference: все флаги и параметры CLI
- GitHub Actions: используйте Agent SDK в рабочих процессах GitHub
- GitLab CI/CD: используйте Agent SDK в конвейерах GitLab