Возобновление сессии Claude Code: --resume, --continue и починка
Как снова открыть прошлый разговор Claude Code — через claude --continue, селектор claude --resume или ID сессии. Плюс где хранятся сессии, как работают имена и что делать, если resume ничего не находит.
Коротко
- claude --continue (claude -c) заново открывает последний разговор в текущей папке — без вопросов. claude --resume (claude -r) открывает интерактивный селектор прошлых сессий или прыгает сразу в нужную по ID сессии или имени.
- Каждая сессия лежит на диске как текстовый .jsonl-транскрипт в ~/.claude/projects/<папка-проекта>/<session-id>.jsonl и по умолчанию хранится 30 дней (настройка cleanupPeriodDays).
- Назовите сессию, пока она открыта — /rename (или --name при запуске) — и возобновите ее через claude --resume <имя>. Имя должно совпадать точь-в-точь, до последнего символа.
- "No sessions match" почти всегда означает неверную папку или опечатку в имени: сессии привязаны к каталогу, где они стартовали. И обновите Claude Code — одна только версия 2.1.288 починила четыре бага resume.
How to Resume an Old Session in Claude Code
Канал: Prompt & Flow2:37
Resume Claude Code Conversations FAST with One Simple Command
Канал: Vinod Sharma1:33
Save and Resume Any Claude Code Session | Next Session Prompt Skill
Канал: Kyle Chalmers | Data + AI4:27
CLI reference — official documentation
Официальная документация: code.claude.com/docs
Каждый флаг, путь и состояние селектора на этой странице сверены с официальной CLI-справкой и документацией data-usage. Запись терминала — визуальный источник, включая всю цепочку восстановления после забытого имени сессии; два видео с лицом в кадре — только фактические источники: обзор resume-процесса и рабочий процесс markdown-переноса сессий между машинами.
Скриншоты принадлежат своим авторам и ссылаются на соответствующий таймкод; кадры с лицами не используются.
Возобновление сессии Claude Code, шаг за шагом
Часть 1 — Возобновление через claude --resume
- 1
Назовите сессию, прежде чем закрывать
Сессию легко возобновить, когда ее легко опознать. На записи автор просит Claude Code назвать открытый разговор, выполняет /rename [open session 1] и получает подтверждение "Session renamed to: [open session 1]" — бейдж с именем появляется рядом с полем ввода. Затем /exit закрывает сессию. Ничего не удаляется: транскрипт остается на диске.

/rename [open session 1] с подтверждением "Session renamed to: [open session 1]", затем /exit — транскрипт переживает закрытие.Смотреть с 0:27 - 2
Запустите claude --resume из папки проекта
В свежем терминале наберите claude --resume (краткая форма claude -r). Без аргумента откроется селектор прошлых сессий; с аргументом Claude Code идет прямо в сессию, чей ID или имя совпали — здесь claude --resume [session 1]. Ловушка, которую запись сейчас продемонстрирует: запускать нужно в той папке, где начиналась исходная сессия. Здесь запуск был из C:\Users\Z — домашнего каталога.

claude --resume [session 1] в PowerShell — из домашнего каталога, и это сейчас выстрелит.Смотреть с 1:04 - 3
Подтвердите запрос доверия к папке
Когда Claude Code впервые открывает папку, он задает быстрый проверочный вопрос: "Is this a project you created or one you trust?" Выберите "1. Yes, I trust this folder" и нажмите Enter. Этот запрос про доступ к файлам, а не про сессии — он появляется, потому что папка еще не была помечена доверенной, и в любом случае предшествует resume-процессу.

"Quick safety check" — 1. Yes, I trust this folder / 2. No, exit — перед тем как Claude Code откроет папку.Смотреть с 1:12 - 4
Ищите в селекторе Resume session
Без точного совпадения claude --resume открывает интерактивный селектор с заголовком "Resume session": поле поиска поверх списка сессий текущего проекта. Вводите для фильтрации, Enter — выбрать, Esc — очистить или отменить. Переданное имя предзаполняет поиск — здесь [session — и список обновляется по мере набора.

Селектор "Resume session" фильтрует по мере ввода — Enter выбирает, Esc очищает поиск.Смотреть с 1:16
Часть 2 — Если селектор ничего не находит
- 5
"No sessions match" — вы не в том каталоге
Главный урок записи: селектор отвечает "No sessions match "[session 1]".", хотя сессия существует — сессии принадлежат папке, где стартовали, а селектор смотрит сначала только текущий проект. Строка подсказки дает запасной выход — "Ctrl+A to show all projects" — а с версии v2.1.223 --resume автоматически ищет и в других ваших проектах; сборка v2.1.220 в видео старше этого.

"No sessions match "[session 1]"." — сессия существует, но селектор ограничен домашним каталогом.Смотреть с 1:22 - 6
Запустите обычную сессию claude для расследования
Чтобы вернуть разговор по содержимому, а не угадыванием имен, запустите обычную сессию claude. Приветственный баннер на записи даже указывает на прежнюю ошибку — "Note: You have launched claude in your home directory" — подтверждая: пустой селектор был проблемой каталога, а не пропавшей сессией.

Приветственный баннер Claude Code v2.1.220 в C:\Users\Z — пометка про home directory объясняет пустой селектор.Смотреть с 1:33 - 7
Попросите Claude найти вашу последнюю сессию
Внутри свежей сессии опишите желание обычным языком: "I forgot the name of my last session. Name it so I can resume it." Claude Code умеет читать собственную историю транскриптов с диска — это работает даже там, где селектор не помог.

Отправлено "i forgot the name of my last session name it so i can resume it" — Claude начинает копать.Смотреть с 1:50 - 8
Claude перечисляет ~/.claude/projects по свежести
В ответ Claude запускает shell-команду по собственному хранилищу: Get-ChildItem "C:\Users\Z\.claude\projects" -Recurse -Filter *.jsonl | Sort-Object LastWriteTime -Descending. Это ровно та структура, что задокументирована — каждый разговор это .jsonl-транскрипт под ~/.claude/projects, разложенный по подпапкам проектов, хранится 30 дней по умолчанию.

Get-ChildItem по C:\Users\Z\.claude\projects, только *.jsonl, сначала новые — вот где на самом деле живут сессии.Смотреть с 1:54
Часть 3 — Возвращаем сессию по ID
- 9
Claude опознает каждый транскрипт по первому сообщению
Самый свежий транскрипт — текущая сессия, поэтому Claude вытаскивает первое сообщение пользователя из каждого недавнего — файлы вида C:\Users\Z\.claude\projects\C--Users-Z\<session-id>.jsonl — и называет их: исследовательский проект по WiFi-сигналу, запуск "lets go to phase 2", настройка проекта WhatsApp. Первые сообщения — надежный способ различить сессии одного проекта.

Извлечение первого сообщения пользователя из каждого .jsonl в projects\C--Users-Z — сессии становится не спутать.Смотреть с 2:07 - 10
Claude отвечает: возобновите через claude --resume <id>
Ответ называет победителя и печатает точную команду — "Resume it with: claude --resume 7d824e2f-2592-4625-b863-43d5f24670ab" — затем таблицу остальных недавних сессий с колонками Session ID, Last active и Opened with, плюс пометку, что один ID был пустым, оборванным началом и к возобновлению не стоит.

"Resume it with: claude --resume 7d824e2f-…" плюс таблица Session ID, Last active, Opened with.Смотреть с 2:18 - 11
Возобновите сессию по ее ID
ID сессии — это ваш ключ. Закройте вспомогательную сессию, cd в папку проекта и выполните claude --resume <session-id> — или передайте абсолютный путь к .jsonl-транскрипту. Добавьте --fork-session, чтобы получить новый ID сессии вместо продолжения исходной. Разговор откроется со всем своим контекстом.

ID сессии, набранный в строке запроса — claude --resume <id> заново открывает именно этот разговор.Смотреть с 2:32
--resume против --continue против селектора сессий
В Claude Code несколько перекрывающихся дорог назад, в разговор. Отличаются они тем, сколько решений оставляют вам:
- 1claude --continue (claude -c) — ноль решений. Заново открывает последний разговор в текущем каталоге, с версии v2.1.257 включая завершенную фоновую сессию. Для случая "я только что закрыл не то окно".
- 2claude --resume (claude -r) без аргумента — интерактивный селектор. Перечисляет сессии этого проекта (живые фоновые помечены bg); Ctrl+A расширяет на все проекты, Esc отменяет. Лучший вариант, когда в папке несколько сессий.
- 3claude --resume <id | имя | путь> — напрямик. Принимает ID сессии, точное имя, заданное через /rename или --name, или абсолютный путь к .jsonl-транскрипту. С v2.1.223 при отсутствии ID в этом проекте он ищет и в других ваших.
- 4/resume и /rename внутри сессии — переключайте разговоры, не выходя из REPL, и подпишите текущую сессию, чтобы завтрашний claude --resume <имя> попал в точку. Имена уникальны; при коллизии добавляется вариантный суффикс.
- 5claude --resume <id> --fork-session — ветвиться, а не продолжать. Переиспользует транскрипт, но чеканит новый ID сессии, оставляя историю исходной сессии замороженной как чекпоинт.
- 6claude attach <id> — для сессий, которые еще крутятся в фоне. Селектор помечает живые через bg; после attach ваш следующий запрос становится следующим ходом той сессии.
На записи упражняются только с --resume, а --continue не появляется ни в одном кадре — это охват видео, а не предел возможностей. Официальная CLI-справка документирует оба флага рядом; там, где видео молчит, сравнение выше следует документации.
Возобновление сессии Claude Code не работает — починки, которые помогают
Большинство жалоб "resume ничего не делает" сводятся к одному из пунктов. Пройдите список сверху вниз:
- 1Не тот каталог. Селектор видит только сессии текущего проекта — запись проваливается именно так из C:\Users\Z. cd в папку, где начиналась сессия; с v2.1.223 --resume ищет и в других проектах, но правильная папка все равно самый быстрый путь.
- 2Старая версия. Одна только v2.1.288 починила четыре вещи: --resume терял файлы, которые compaction только что восстановила; возобновленная сессия не сохраняла последний ответ хода (следующий resume показывал запрос как оставшийся без ответа); транскрипты грузились обрезанными; мышление терялось при возобновлении сессий из 2.1.286 и старше. v2.1.290 починила --resume <session-id>, v2.1.292 — режим планирования в селекторе.
- 3Сессия истекла. Транскрипты хранятся 30 дней по умолчанию — настройка cleanupPeriodDays двигает окно — а headless-запуски с -p вообще не сохраняют сессии. claude rm лишь убирает сессию из списка; очищенный транскрипт не возобновит никто.
- 4Имя не совпадает. --resume сравнивает имена буквально. claude --resume [session 1] с записи проваливается дважды: настоящее имя было "open session 1", а квадратные скобки стали частью поисковой строки. Уберите скобки, а имена с пробелами берите в кавычки.
- 5--continue хватает не то. Он пропускает сессии print-режима (-p)/SDK и /loop и смотрит только в текущий каталог — если с тех пор папку трогала другая сессия, мимо; возобновляйте по ID.
- 6Другой компьютер. ~/.claude/projects локален — сессия с ноутбука на десктопе не существует. Скопируйте папку проекта на другую машину, сохранив структуру, или перейдите на markdown-эстафету: попросите Claude записать состояние сессии, решения и следующие шаги в файл, синхронизируйте и продолжайте на другой машине.
Ничего не помогло? Откройте ~/.claude/projects и проверьте метку времени .jsonl-файла. Если файл на месте, claude --resume с абсолютным путем — путь в лоб; если нет — разговор так и не попал на диск.
