Обзор
Режим без интерфейса позволяет запускать Claude Code программно из скриптов командной строки и инструментов автоматизации без какого-либо интерактивного пользовательского интерфейса.Базовое использование
Основной интерфейс командной строки для Claude Code — это командаclaude. Используйте флаг --print (или -p) для запуска в неинтерактивном режиме и вывода окончательного результата:
Параметры конфигурации
Режим без интерфейса использует все параметры CLI, доступные в Claude Code. Вот ключевые из них для автоматизации и создания скриптов:| Флаг | Описание | Пример |
|---|---|---|
--print, -p | Запуск в неинтерактивном режиме | claude -p "query" |
--output-format | Укажите формат вывода (text, json, stream-json) | claude -p --output-format json |
--resume, -r | Возобновить беседу по ID сеанса | claude --resume abc123 |
--continue, -c | Продолжить самую последнюю беседу | claude --continue |
--verbose | Включить подробное логирование | claude --verbose |
--append-system-prompt | Добавить к системной подсказке (только с --print) | claude --append-system-prompt "Custom instruction" |
--allowedTools | Разделённый пробелами список разрешённых инструментов, или строка со списком разрешённых инструментов, разделённых запятыми | claude --allowedTools mcp__slack mcp__filesystemclaude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Разделённый пробелами список запрещённых инструментов, или строка со списком запрещённых инструментов, разделённых запятыми | claude --disallowedTools mcp__splunk mcp__githubclaude --disallowedTools "Bash(git commit),mcp__github" |
--mcp-config | Загрузить MCP серверы из JSON файла | claude --mcp-config servers.json |
--permission-prompt-tool | MCP инструмент для обработки запросов разрешений (только с --print) | claude --permission-prompt-tool mcp__auth__prompt |
Многоходовые беседы
Для многоходовых бесед вы можете возобновить беседы или продолжить с самого последнего сеанса:Форматы вывода
Текстовый вывод (по умолчанию)
JSON вывод
Возвращает структурированные данные, включая метаданные:Потоковый JSON вывод
Передаёт каждое сообщение по мере его получения:init, за которым следует список сообщений пользователя и ассистента, за которым следует финальное системное сообщение result со статистикой. Каждое сообщение выводится как отдельный JSON объект.
Форматы ввода
Текстовый ввод (по умолчанию)
Потоковый JSON ввод
Поток сообщений, предоставляемый черезstdin, где каждое сообщение представляет ход пользователя. Это позволяет проводить несколько ходов беседы без перезапуска бинарного файла claude и позволяет предоставлять рекомендации модели во время обработки запроса.
Каждое сообщение — это JSON объект ‘User message’, следующий тому же формату, что и схема выходного сообщения. Сообщения форматируются с использованием формата jsonl, где каждая строка ввода — это полный JSON объект. Потоковый JSON ввод требует -p и --output-format stream-json.
Примеры интеграции агентов
Бот реагирования на инциденты SRE
Автоматизированный обзор безопасности
Многоходовый помощник по правовым вопросам
Лучшие практики
-
Используйте формат JSON вывода для программного анализа ответов:
-
Обрабатывайте ошибки корректно - проверяйте коды выхода и stderr:
- Используйте управление сеансами для сохранения контекста в многоходовых беседах
-
Рассмотрите тайм-ауты для долгоживущих операций:
- Соблюдайте ограничения скорости при выполнении нескольких запросов, добавляя задержки между вызовами
Связанные ресурсы
- Использование CLI и элементы управления - Полная документация CLI
- Общие рабочие процессы - Пошаговые руководства для общих случаев использования