type: standard
aspect: guidance
title: "Режимы работы Claude Code"
version: 1.0.0
date: 2026-02-19
status: active
Версия: 1.0.0
Дата: 2025-12-10
Тип: Стандарт инструмента
Claude Code поддерживает несколько режимов работы для разных сценариев использования.
Запуск:
claude # Базовый старт
claude "Explain this project" # Старт с запросом
Клавиатуры:
| Комбинация | Действие |
|------------|----------|
| Ctrl+C | Выход |
| Shift+Enter | Многострочный ввод |
| Tab | Переключить extended thinking |
| Shift+Tab | Цикл режимов: Normal → Accept Edits → Plan |
| !команда | Выполнить в фоне |
Описание: Для скриптов и автоматизации. Выполняет запрос и выходит.
Запуск:
claude -p "query"
cat file | claude -p "analyze this"
С параметрами:
claude -p "Stage changes and commit" \
--allowedTools "Bash,Read" \
--permission-mode acceptEdits \
--output-format json
Форматы вывода:
| Флаг | Описание |
|------|----------|
| --output-format text | Только текст (по умолчанию) |
| --output-format json | JSON с метаданными |
| --output-format stream-json | Потоковый JSON |
Пример JSON вывода:
{
"type": "result",
"subtype": "success",
"total_cost_usd": 0.003,
"is_error": false,
"duration_ms": 1234,
"num_turns": 6,
"result": "...",
"session_id": "abc123"
}
Описание: Безопасный режим — читает файлы, но не может менять или выполнять команды.
Включение при запуске:
claude --permission-mode plan
claude --permission-mode plan -p "Analyze auth system"
Включение во время сессии:
Shift+Tab → Shift+Tab (цикл режимов)
Использование:
- Анализ незнакомого кода
- Планирование рефакторинга
- Безопасный аудит
Продолжить последнюю:
claude --continue # или -c
claude -c "Continue with tests"
Выбрать сессию:
claude --resume # или -r (интерактивный выбор)
claude -r "session-id" "query"
Multi-turn сценарий:
# Создать сессию
session_id=$(claude -p "Start review" --output-format json | jq -r '.session_id')
# Продолжить
claude -p --resume "$session_id" "Check GDPR"
claude -p --resume "$session_id" "Generate summary"
ОПАСНО! Только в безопасной среде (sandbox, CI).
claude --dangerously-skip-permissions
Альтернативы (безопаснее):
| Режим | Поведение |
|-------|-----------|
| default | Запрашивает разрешение |
| acceptEdits | Автоматом принимает редактирование файлов |
| plan | Только чтение |
| bypassPermissions | Пропускает всё (опасно!) |
claude --permission-mode acceptEdits
Разрешить:
claude --allowedTools "Bash(git log:*)" "Read" "Edit"
claude --allowedTools "Bash(npm install),WebFetch"
Запретить:
claude --disallowedTools "Bash(rm -rf)" "Edit"
Паттерны:
Bash(npm run build) # Точная команда
Bash(npm run test:*) # Префикс
WebFetch(domain:github.com) # Домен
Read(src/**) # Файлы по паттерну
claude --model sonnet # Claude Sonnet (быстрый)
claude --model opus # Claude Opus 4.5 (мощный)
claude --model haiku # Claude Haiku (дешёвый)
# Fallback при перегрузке
claude -p --fallback-model sonnet "query"
| Флаг | Действие |
|---|---|
--system-prompt "..." |
ЗАМЕНИТЬ весь промпт |
--system-prompt-file ./p.txt |
Загрузить из файла |
--append-system-prompt "..." |
ДОБАВИТЬ к промпту (рекомендуется) |
claude --append-system-prompt "Always use TypeScript"
Конфигурация:
claude --mcp-config ./mcp.json
Формат mcp.json:
{
"mcpServers": {
"postgres": {
"type": "stdio",
"command": "python",
"args": ["/path/to/postgres_mcp.py"]
}
}
}
Разрешить MCP инструменты:
claude --allowedTools "mcp__postgres"
События:
| Событие | Когда |
|---------|-------|
| PreToolUse | ДО использования инструмента |
| PostToolUse | ПОСЛЕ использования |
| UserPromptSubmit | При отправке запроса |
| SessionStart | При начале сессии |
| SessionEnd | При завершении сессии |
Конфигурация (.claude/settings.json):
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write \"$file_path\""
}
]
}
]
}
}
claude --verbose # Детальный вывод
claude --debug # Debug режим
claude --debug "api,hooks" # Конкретные категории
| Флаг | Короткая | Описание |
|---|---|---|
--print |
-p |
Headless режим |
--continue |
-c |
Продолжить сессию |
--resume |
-r |
Выбрать сессию |
--model |
Выбрать модель | |
--output-format |
Формат вывода | |
--permission-mode |
Режим доступа | |
--allowedTools |
Разрешить инструменты | |
--disallowedTools |
Запретить инструменты | |
--dangerously-skip-permissions |
Пропустить разрешения | |
--append-system-prompt |
Добавить к промпту | |
--mcp-config |
MCP конфиг | |
--max-turns |
Лимит ходов | |
--verbose |
Детальный лог | |
--debug |
Debug режим |
claude -p "Review PR for security issues" \
--permission-mode plan \
--output-format json \
--max-turns 5
claude -p "Stage and commit changes" \
--allowedTools "Bash(git:*),Read" \
--permission-mode acceptEdits
session=$(claude -p "Start analysis" --output-format json | jq -r '.session_id')
claude -p -r "$session" "Check dependencies"
claude -p -r "$session" "Generate report"
Версия: 1.0.0