Возобновление сеанса
Сеансы сохраняются непрерывно в локальные файлы стенограмм по мере работы, поэтому вы можете вернуться к одному из них после выхода или запуска/clear. Используйте эти точки входа:
Сеансы, созданные с помощью
claude -p или Agent SDK, не отображаются в средстве выбора сеансов, но вы всё равно можете возобновить один, передав его ID сеанса в claude --resume <session-id>. Запустите это из каталога, в котором был запущен сеанс: поиск ID сеанса ограничен текущим каталогом проекта и его git worktrees, поэтому сеанс, созданный в другом месте, сообщает No conversation found with session ID: <session-id>.
Где средство выбора сеансов ищет сеансы
Сеансы хранятся для каждого каталога проекта. По умолчанию средство выбора сеансов показывает интерактивные сеансы из текущего worktree, а также сеансы, запущенные в других местах, которые добавили текущий каталог с помощью/add-dir. Используйте Ctrl+W для расширения на все worktrees репозитория или Ctrl+A для расширения на каждый проект на этой машине.
Начиная с версии 2.1.169, перемещение сеанса с помощью /cd переносит его в хранилище проекта нового каталога, поэтому он появляется в средстве выбора этого каталога впоследствии. Начиная с версии 2.1.196, перемещённый сеанс остаётся вне средства выбора старого каталога даже после сбоя или принудительного выхода. В более ранних версиях он также мог повторно появиться в списке старого каталога после выхода, который не был чистым, когда старый путь содержал специальные символы, такие как подчёркивания.
Выбор сеанса из другого worktree того же репозитория возобновляет его на месте. Выбор сеанса из несвязанного проекта копирует команду cd и команду возобновления в буфер обмена.
Возобновление по имени разрешается в текущем репозитории и его worktrees. Обе формы ищут точное совпадение и возобновляют его напрямую, даже если он находится в другом worktree:
Именование ваших сеансов
Дайте сеансам описательные имена, чтобы их можно было найти в средстве выбора сеансов и возобновить по имени. Это особенно важно, когда вы работаете над несколькими задачами параллельно.
После того как сеанс назван, вернитесь к нему с помощью
claude --resume <name> или /resume <name>. См. Возобновление сеанса для информации о том, как разрешение имён работает в worktrees.
Интерактивные сеансы, которые вы никогда не называете, всё равно получают имя отображения по умолчанию при запуске. Требуется Claude Code v2.1.196 или более поздняя версия. По умолчанию используется комбинация имени рабочего каталога с двухсимвольным суффиксом, например my-app-3f, и идентифицирует сеанс в списках запущенных сеансов, таких как представление агента и вывод claude agents --json.
Значение по умолчанию не является дескриптором возобновления: claude --resume <name>, /resume <name> и средство выбора сеансов совпадают только с именами, которые вы установили. Именование сеанса заменяет значение по умолчанию.
Использование средства выбора сеансов
Запустите/resume внутри сеанса или claude --resume без аргументов, чтобы открыть интерактивное средство выбора сеансов. Используйте эти сочетания клавиш для навигации, поиска и расширения списка:
Каждая строка показывает имя сеанса, если оно установлено, в противном случае сводку диалога или первую подсказку, а также время с момента последней активности, количество сообщений и ветвь git. Путь проекта отображается после расширения на все проекты с помощью
Ctrl+A.
Разветвлённые сеансы, созданные с помощью /branch, /rewind или --fork-session, сгруппированы под их корневым сеансом. Нажмите → для развёртывания группы.
Создание ветви сеанса
Создание ветви создаёт копию диалога до сих пор и переключает вас в неё, оставляя оригинал нетронутым. Используйте это, чтобы попробовать другой подход без потери пути, на котором вы были. Из активного сеанса запустите/branch с необязательным именем:
Branched conversation вместо того, чтобы смотреть дальше сводки compaction на исходный первый запрос.
Из командной строки объедините --continue или --resume с --fork-session:
/branch выводит два ID сеанса: новую ветвь, в которой вы находитесь, и оригинал. Чтобы вернуться к оригиналу, передайте его ID в /resume, используйте средство выбора сеансов или запустите /resume <original-name>. Разрешения, которые вы одобрили с помощью “allow for this session”, не переносятся на новую ветвь. Если вы возобновите один и тот же сеанс в двух терминалах без разветвления, сообщения из обоих будут чередоваться в одной стенограмме.
Для перемотки на основе контрольных точек в одном сеансе см. Checkpointing.
Управление контекстом в сеансе
Эти команды управляют тем, что находится в окне контекста, не покидая сеанс:/clear: начать заново с пустым контекстом. Предыдущий диалог сохраняется и может быть возобновлен с помощью/resume, или, в том же процессе Claude Code, из записи предыдущего сеанса меню перемотки/compact [instructions]: заменить историю сводкой, опционально сосредоточенной на том, что вы указали/context: показать, что в настоящее время потребляет контекст
Экспорт и поиск данных сеанса
Запустите/export, чтобы открыть меню, которое позволяет скопировать текущий диалог в буфер обмена или сохранить его как простой текстовый файл с сообщениями и выводом инструментов, отображаемыми как читаемый текст. Передайте имя файла для прямой записи в этот файл.
Доступ к диалогам из скриптов
/export создает отформатированную стенограмму для чтения человеком. Интерфейсы ниже создают структурированные данные для анализа скриптом: результат JSON из запуска, путь к файлу стенограммы сеанса или живой поток событий. Выбирайте в зависимости от того, что запускает скрипт:
- Запустить Claude один раз и захватить результат: вызовите
claude -pс--output-format jsonилиstream-json, чтобы захватить результат, ID сеанса, использование и стоимость неинтерактивного запуска как структурированный JSON. - Задать вопрос существующему сеансу: передайте ID сеанса в
claude -p --resume, чтобы отправить дополнительный запрос, например запрос на резюме, и захватить структурированный ответ. - Реагировать на события сеанса: прочитайте поле
transcript_path, которое получают hooks и команды строки состояния в качестве входных данных. HookSessionEndможет архивировать стенограмму при завершении сеанса. - Встроить Claude в приложение TypeScript или Python: используйте Agent SDK для получения каждого сообщения программным способом.
jq:
Где хранятся стенограммы
По умолчанию стенограммы хранятся как JSONL в~/.claude/projects/<project>/<session-id>.jsonl, где <project> — это путь вашего рабочего каталога с заменой не буквенно-цифровых символов на -. Каждая строка — это объект JSON для сообщения, использования инструмента или записи метаданных. Формат записи является внутренним для Claude Code и изменяется между версиями, поэтому скрипты, которые анализируют эти файлы напрямую, могут сломаться при любом выпуске. Чтобы работать с данными сеанса, используйте /export или интерфейсы скриптов вместо этого.
Местоположение, сохранение и поведение записи настраиваются:
См. также
На этих страницах рассматриваются связанные механики сеансов и параллелизма:- Worktrees: запуск изолированных параллельных сеансов на отдельных ветвях
- Checkpointing: перемотка кода и диалога к более ранней точке
- Context window: что заполняет контекст и что выживает при уплотнении
- Non-interactive mode: поведение сеанса в
claude -p