Управление сеансами
Назовите, возобновите, создавайте ветви и переключайтесь между диалогами Claude Code. Охватывает
--continue,--resume,--from-pr, средство выбора/resume, именование сеансов, экспорт стенограмм и место хранения стенограмм.
Сеанс — это сохранённый диалог, привязанный к каталогу проекта. Claude Code сохраняет его локально по мере работы, поэтому вы можете возобновить работу с того же места, создать ветвь для попытки другого подхода или переключаться между задачами.
Настольное приложение, Claude Code в веб-версии и расширение VS Code каждое ведёт собственную историю сеансов. На этой странице рассматривается CLI.
Возобновление сеанса
Сеансы сохраняются непрерывно в локальные файлы стенограмм по мере работы, поэтому вы можете вернуться к одному из них после выхода или запуска /clear. Используйте эти точки входа:
| Команда | Что она делает |
|---|---|
claude --continue |
Возобновляет самый последний сеанс в текущем каталоге |
claude --resume |
Открывает средство выбора сеансов |
claude --resume <name> |
Возобновляет именованный сеанс напрямую |
claude --from-pr <number> |
Возобновляет сеанс, связанный с этим pull request |
/resume |
Переключается на другой диалог из активного сеанса |
Сеансы, созданные с помощью 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 для расширения на каждый проект на этой машине.
{/* min-version: 2.1.169 /}Начиная с версии 2.1.169, перемещение сеанса с помощью /cd переносит его в хранилище проекта нового каталога, поэтому он появляется в средстве выбора этого каталога впоследствии. {/ min-version: 2.1.196 */}Начиная с версии 2.1.196, перемещённый сеанс остаётся вне средства выбора старого каталога даже после сбоя или принудительного выхода. В более ранних версиях он также мог повторно появиться в списке старого каталога после выхода, который не был чистым, когда старый путь содержал специальные символы, такие как подчёркивания.
Выбор сеанса из другого worktree того же репозитория возобновляет его на месте. Выбор сеанса из несвязанного проекта копирует команду cd и команду возобновления в буфер обмена.
Возобновление по имени разрешается в текущем репозитории и его worktrees. Обе формы ищут точное совпадение и возобновляют его напрямую, даже если он находится в другом worktree:
| Команда | Точное совпадение | Неоднозначное имя |
|---|---|---|
claude --resume <name> |
Возобновляет напрямую | Открывает средство выбора сеансов с предварительно заполненным именем в качестве условия поиска |
/resume <name> |
Возобновляет напрямую | Сообщает об ошибке; запустите /resume без аргументов, чтобы открыть средство выбора сеансов |
Именование ваших сеансов
Дайте сеансам описательные имена, чтобы их можно было найти в средстве выбора сеансов и возобновить по имени. Это особенно важно, когда вы работаете над несколькими задачами параллельно.
| Когда | Как установить имя |
|---|---|
| При запуске | claude -n auth-refactor |
| Во время сеанса | /rename auth-refactor. Имя также отображается на панели подсказок |
| Из средства выбора сеансов | Выделите сеанс и нажмите Ctrl+R |
| При принятии плана | Принятие плана в режиме плана называет сеанс на основе содержимого плана, если вы ещё не установили имя |
После того как сеанс назван, вернитесь к нему с помощью claude --resume <name> или /resume <name>. См. Возобновление сеанса для информации о том, как разрешение имён работает в worktrees.
{/* min-version: 2.1.196 */}Интерактивные сеансы, которые вы никогда не называете, всё равно получают имя отображения по умолчанию при запуске. Требуется Claude Code v2.1.196 или более поздняя версия. По умолчанию используется комбинация имени рабочего каталога с двухсимвольным суффиксом, например my-app-3f, и идентифицирует сеанс в списках запущенных сеансов, таких как представление агента и вывод claude agents --json.
Значение по умолчанию не является дескриптором возобновления: claude --resume <name>, /resume <name> и средство выбора сеансов совпадают только с именами, которые вы установили. Именование сеанса заменяет значение по умолчанию.
Использование средства выбора сеансов
Запустите /resume внутри сеанса или claude --resume без аргументов, чтобы открыть интерактивное средство выбора сеансов. Используйте эти сочетания клавиш для навигации, поиска и расширения списка:
| Сочетание клавиш | Действие |
|---|---|
↑ / ↓ |
Навигация между сеансами |
→ / ← |
Развёртывание или свёртывание сгруппированных сеансов |
Enter |
Возобновление выделенного сеанса |
Space |
Предпросмотр содержимого сеанса. Ctrl+V также работает на терминалах, которые не захватывают его как вставку |
Ctrl+R |
Переименование выделенного сеанса |
/ или любой печатный символ, кроме Space |
Вход в режим поиска и фильтрация сеансов. Вставьте URL pull или merge request GitHub, GitHub Enterprise, GitLab или Bitbucket, чтобы найти сеанс, который его создал |
Ctrl+A |
Показать сеансы из всех проектов на этой машине. Нажмите снова, чтобы вернуться к текущему репозиторию |
Ctrl+W |
Показать сеансы из всех worktrees текущего репозитория. Нажмите снова, чтобы вернуться к текущему worktree. Отображается только в репозиториях с несколькими worktrees |
Ctrl+B |
Фильтр к сеансам из текущей ветви git. Нажмите снова, чтобы показать все ветви |
Esc |
Выход из средства выбора сеансов или режима поиска |
Каждая строка показывает имя сеанса, если оно установлено, в противном случае сводку диалога или первую подсказку, а также время с момента последней активности, количество сообщений и ветвь git. Путь проекта отображается после расширения на все проекты с помощью Ctrl+A.
Разветвлённые сеансы, созданные с помощью /branch, /rewind или --fork-session, сгруппированы под их корневым сеансом. Нажмите → для развёртывания группы.
Создание ветви сеанса
Создание ветви создаёт копию диалога до сих пор и переключает вас в неё, оставляя оригинал нетронутым. Используйте это, чтобы попробовать другой подход без потери пути, на котором вы были.
Из активного сеанса запустите /branch с необязательным именем:
/branch try-streaming-approach
Из командной строки объедините --continue или --resume с --fork-session:
claude --continue --fork-session
Исходный сеанс остаётся неизменным и остаётся доступным в средстве выбора сеансов. Подтверждение /branch выводит два ID сеанса: новую ветвь, в которой вы находитесь, и оригинал. Чтобы вернуться к оригиналу, передайте его ID в /resume, используйте средство выбора сеансов или запустите /resume <original-name>. Разрешения, которые вы одобрили с помощью "allow for this session", не переносятся на новую ветвь. Если вы возобновите один и тот же сеанс в двух терминалах без разветвления, сообщения из обоих будут чередоваться в одной стенограмме.
Для перемотки на основе контрольных точек в одном сеансе см. Checkpointing.
Управление контекстом в сеансе
Эти команды управляют тем, что находится в окне контекста, не покидая сеанс:
/clear: начать заново с пустым контекстом. Предыдущий диалог сохраняется и может быть возобновлен/compact [instructions]: заменить историю сводкой, опционально сосредоточенной на том, что вы указали/context: показать, что в настоящее время потребляет контекст
О том, как уплотнение взаимодействует с CLAUDE.md, skills и правилами, см. руководство по окну контекста. Для стратегий о том, когда очищать или уплотнять, см. Best practices.
Экспорт и поиск данных сеанса
Запустите /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:
claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'
Где хранятся стенограммы
По умолчанию стенограммы хранятся как JSONL в ~/.claude/projects/<project>/<session-id>.jsonl, где <project> — это путь вашего рабочего каталога с заменой не буквенно-цифровых символов на -. Каждая строка — это объект JSON для сообщения, использования инструмента или записи метаданных. Формат записи является внутренним для Claude Code и изменяется между версиями, поэтому скрипты, которые анализируют эти файлы напрямую, могут сломаться при любом выпуске. Чтобы работать с данными сеанса, используйте /export или интерфейсы скриптов вместо этого.
Местоположение, сохранение и поведение записи настраиваются:
| Для | Установить | Где |
|---|---|---|
Переместить хранилище с ~/.claude |
CLAUDE_CONFIG_DIR |
Переменная окружения |
| Изменить сохранение на 30 дней | cleanupPeriodDays |
settings.json |
| Подавить запись стенограмм во всех режимах | CLAUDE_CODE_SKIP_PROMPT_HISTORY |
Переменная окружения |
| Подавить запись для одного неинтерактивного запуска | --no-session-persistence |
Флаг CLI с claude -p |
См. также
На этих страницах рассматриваются связанные механики сеансов и параллелизма:
- Worktrees: запуск изолированных параллельных сеансов на отдельных ветвях
- Checkpointing: перемотка кода и диалога к более ранней точке
- Context window: что заполняет контекст и что выживает при уплотнении
- Non-interactive mode: поведение сеанса в
claude -p