architect/standards/9-guidance/tools/claude-code-modes.md

type: standard
aspect: guidance
title: "Режимы работы Claude Code"
version: 1.0.0
date: 2026-02-19
status: active


Режимы работы Claude Code

Версия: 1.0.0
Дата: 2025-12-10
Тип: Стандарт инструмента


Обзор

Claude Code поддерживает несколько режимов работы для разных сценариев использования.


1. ИНТЕРАКТИВНЫЙ РЕЖИМ (по умолчанию)

Запуск:

claude                              # Базовый старт
claude "Explain this project"       # Старт с запросом

Клавиатуры:
| Комбинация | Действие |
|------------|----------|
| Ctrl+C | Выход |
| Shift+Enter | Многострочный ввод |
| Tab | Переключить extended thinking |
| Shift+Tab | Цикл режимов: Normal → Accept Edits → Plan |
| !команда | Выполнить в фоне |


2. HEADLESS РЕЖИМ (-p, --print)

Описание: Для скриптов и автоматизации. Выполняет запрос и выходит.

Запуск:

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"
}

3. ПЛАН-РЕЖИМ (--permission-mode plan)

Описание: Безопасный режим — читает файлы, но не может менять или выполнять команды.

Включение при запуске:

claude --permission-mode plan
claude --permission-mode plan -p "Analyze auth system"

Включение во время сессии:

Shift+Tab → Shift+Tab (цикл режимов)

Использование:
- Анализ незнакомого кода
- Планирование рефакторинга
- Безопасный аудит


4. РЕЖИМ ПРОДОЛЖЕНИЯ СЕССИИ

Продолжить последнюю:

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"

5. РЕЖИМ ПРОПУСКА РАЗРЕШЕНИЙ

ОПАСНО! Только в безопасной среде (sandbox, CI).

claude --dangerously-skip-permissions

Альтернативы (безопаснее):
| Режим | Поведение |
|-------|-----------|
| default | Запрашивает разрешение |
| acceptEdits | Автоматом принимает редактирование файлов |
| plan | Только чтение |
| bypassPermissions | Пропускает всё (опасно!) |

claude --permission-mode acceptEdits

6. РАЗРЕШЕНИЯ ИНСТРУМЕНТОВ

Разрешить:

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/**)                  # Файлы по паттерну

7. ВЫБОР МОДЕЛИ

claude --model sonnet    # Claude Sonnet (быстрый)
claude --model opus      # Claude Opus 4.5 (мощный)
claude --model haiku     # Claude Haiku (дешёвый)

# Fallback при перегрузке
claude -p --fallback-model sonnet "query"

8. СИСТЕМНЫЙ ПРОМПТ

Флаг Действие
--system-prompt "..." ЗАМЕНИТЬ весь промпт
--system-prompt-file ./p.txt Загрузить из файла
--append-system-prompt "..." ДОБАВИТЬ к промпту (рекомендуется)
claude --append-system-prompt "Always use TypeScript"

9. MCP СЕРВЕРЫ

Конфигурация:

claude --mcp-config ./mcp.json

Формат mcp.json:

{
  "mcpServers": {
    "postgres": {
      "type": "stdio",
      "command": "python",
      "args": ["/path/to/postgres_mcp.py"]
    }
  }
}

Разрешить MCP инструменты:

claude --allowedTools "mcp__postgres"

10. HOOKS (перехватчики)

События:
| Событие | Когда |
|---------|-------|
| PreToolUse | ДО использования инструмента |
| PostToolUse | ПОСЛЕ использования |
| UserPromptSubmit | При отправке запроса |
| SessionStart | При начале сессии |
| SessionEnd | При завершении сессии |

Конфигурация (.claude/settings.json):

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write \"$file_path\""
          }
        ]
      }
    ]
  }
}

11. ОТЛАДКА

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 режим

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

CI/CD пайплайн

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