Мастер Claude · Блок 1. Первые шаги

Урок 7 из 93 · ~10 мин чтения

Сессии: --continue и --resume

Урок пока закрыт

Курс проходится последовательно.

К текущему уроку

Почему это важно именно вам

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

В браузере для этого есть история чатов: нашёл нужный разговор, продолжил. В Claude Code это работает через флаги --continue и --resume. Разница: браузерная история — это интерфейс. Флаги Claude Code — это возможность встроить «продолжение разговора» в скрипт.

Для директора это ценно в ситуациях, когда контекст накапливается постепенно: сначала собрали требования, потом добавили ограничения, потом появились новые данные. Каждый раз начинать заново — значит каждый раз заново объяснять всё с начала.

Что это такое

Каждая сессия Claude Code имеет уникальный идентификатор (session ID). По умолчанию каждый запуск — это новая сессия с пустой памятью.

--continue — продолжает самую последнюю сессию, ID знать не нужно. Нюанс: обычный claude --continue пропускает сессии, запущенные через -p, — для них добавляйте -p (claude -p --continue "...") или возобновляйте по ID.

--resume <ID или имя> — возобновляет конкретную сессию. По имени удобнее: имя задаётся флагом --name при запуске или командой /rename.

Аналогия: представьте стопку папок с документами. Каждая сессия — это папка. --continue говорит «открой последнюю папку». --resume — «открой папку с номером 7823».

Где хранятся сессии

Claude Code хранит историю сессий локально. Место хранения зависит от операционной системы, обычно это ~/.claude/. Сессии доступны между перезапусками терминала.

Как работает на практике

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

claude --continue

Открывает интерактивный режим с контекстом из последней сессии. Claude «помнит» всё, что обсуждалось.

В headless-режиме:

claude --continue -p "добавь к предыдущему анализу раздел о рисках"

Это мощный паттерн: строить документ итеративно, добавляя части через отдельные -p-команды.

Получить ID последней сессии

claude --output-format json -p "привет" | jq '.session_id'

Или посмотреть список сессий:

claude --resume

Возобновить конкретную сессию

claude --resume abc123def456

Здесь abc123def456 — идентификатор сессии из списка claude --resume.

В headless-режиме:

claude --resume abc123def456 -p "итак, о чём мы говорили — сделай итоговый список договорённостей"

Сохранить ID для возврата к сессии

Паттерн для работы с долгим проектом:

# Начало работы с договором — сохраняем ID сессии
SESSION_ID=$(claude --output-format json -p "это договор с подрядчиком на разработку. начнём анализ рисков с раздела 3" < договор.txt | jq -r '.session_id')
echo $SESSION_ID > договор_сессия.txt

# На следующий день — продолжаем
SESSION_ID=$(cat договор_сессия.txt)
claude --resume $SESSION_ID -p "теперь проанализируй раздел 5 про штрафные санкции" < раздел5.txt

Итеративное построение документа

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

# Шаг 1: создать структуру
claude -p "создай структуру отчёта о состоянии проекта с разделами: Статус, Риски, Следующие шаги" > отчёт.md
SESSION_ID=$(claude --output-format json -p "запомни: мы пишем отчёт о проекте 'Новый портал', дедлайн 30 июня, бюджет 2М руб" | jq -r '.session_id')

# Шаг 2: заполнить раздел Статус
claude --resume $SESSION_ID -p "напиши раздел Статус: выполнено 40% работ, дизайн готов, разработка идёт с задержкой 2 недели" >> отчёт.md

# Шаг 3: добавить Риски
claude --resume $SESSION_ID -p "напиши раздел Риски на основе того, что знаешь о проекте" >> отчёт.md

--continue vs --resume

--continue удобен в интерактивной работе: продолжил то, над чем работал час назад. --resume нужен для структурированных рабочих процессов, где конкретная сессия привязана к конкретному проекту или документу.

Просмотр истории сессий

claude --resume

Выводит список сессий с идентификаторами и временными метками. Помогает найти нужную сессию, если не сохранили ID.

Частые ошибки

Ошибка 1. Ожидать, что --continue помнит всё вечно

Сессии хранятся локально и могут быть ограничены по времени или объёму. Для долгосрочных проектов (недели и месяцы) надёжнее сохранять ключевой контекст в CLAUDE.md или в файлах, которые передаёте в каждый запрос. Об этом в Дне 11.

Ошибка 2. Использовать --continue для разных задач

Если работаете над несколькими проектами, --continue приносит контекст предыдущей задачи в новую. Это путаница. Для каждого проекта — своя сессия с сохранённым ID.

Ошибка 3. Не сохранять ID важных сессий

Если начали важную работу и хотите вернуться — сразу сохраните ID. claude --resume поможет найти нужную, но если сессий много — искать неудобно.

Ошибка 4. Ожидать, что сессия помнит файлы на диске

Сессия помнит содержимое разговора, а не файлы. Если в прошлый раз передавали договор через stdin — сессия помнит его текст (если он вошёл в контекст). Но при следующем запуске Claude не «откроет» файл сам — нужно снова передавать.

Когда нужно / когда нет

--continue нужен, если:
- Продолжаете работу, начатую в последней сессии
- Добавляете к уже созданному документу
- Хотите уточнить что-то из предыдущего разговора

--resume нужен, если:
- Работаете над несколькими проектами параллельно
- Возвращаетесь к конкретному разговору через несколько дней
- Строите скрипт с явной привязкой к сессии проекта

Сессии не нужны, если:
- Каждый запрос независим и самодостаточен
- Контекст целиком передаётся через stdin каждый раз
- Используете CLAUDE.md для постоянного контекста (День 11)

Связь с другими уроками

Задание на сегодня

Создайте двухшаговый рабочий процесс с продолжением сессии:

# Шаг 1: начните сессию и сохраните ID
SESSION=$(claude --output-format json \
  -p "мы работаем над планом встречи с ключевым клиентом. Клиент — крупный застройщик, нужно обсудить продление договора на следующий год" \
  | jq -r '.session_id')
echo "Session: $SESSION"

# Шаг 2: продолжите в той же сессии
claude --resume $SESSION -p "теперь составь повестку встречи из 5 пунктов"

Критерий выполнено: второй запрос использует контекст первого — в повестке отражено, что речь о застройщике и продлении договора.

Резюме

Следующий урок откроется после отметки.