Вечером вы закрываете терминал, и кажется, что весь разговор с агентом уходит вместе с окном. Час обсуждений, найденные ошибки, объяснённый контекст задачи - всё это как будто исчезает.
Не исчезает. Разговор пишется на диск сам, пока вы работаете, и открывается обратно одной командой.
Проще всего думать о сессиях как о гостинице. Папка проекта - здание, каждый разговор - номер, а ключи от всех номеров висят на доске за стойкой. Вечером вы уходите, но комнату за собой не сжигаете: ключ возвращается на доску, вещи остаются внутри. Утром достаточно сказать портье, какой номер вам нужен.

У аналогии есть граница, и её лучше провести сразу: в номерах живут разговоры, а не код. Код - это само здание, одно на всех постояльцев.
Ниже - что такое сессия, три способа в неё вернуться, зачем разговору имя и почему под новую задачу лучше открывать новый разговор, а не продолжать старый.
Что такое сессия
Сессия - это сохранённый разговор с агентом, привязанный к папке проекта. Она пишется на диск непрерывно, пока вы работаете: специально сохраняться, как в текстовом редакторе, не нужно.
В сессию попадают не только реплики. Кроме ваших сообщений и ответов агента там лежат вызовы инструментов и их результаты: какие файлы он открывал, что вернули запущенные команды, какие правки применил. Поэтому, вернувшись в старый разговор, вы получаете не пересказ, а всю картину целиком.
Дальше два уточнения, которые снимают половину путаницы.
Содержимое одного разговора не переезжает в другой. Обсуждали что-то месяц назад в другой сессии - в этой её реплик нет, даже если проект тот же самый. Каждая сессия знает свою историю и только её.
Сессия - это не второе место, где лежит код. Файлы проекта живут на диске сами по себе. Один проект спокойно уживается с десятком сессий, и код у всех у них общий - тот, что сейчас в папке.
На схеме обе мысли видно сразу: папка одна, сессий в ней несколько, историю каждая держит свою, а файлы внизу общие. Открыть вторую сессию по тому же проекту - это не копия кода, а просто ещё один разговор о нём.
Как вернуться к работе
Входов три, и выбор между ними зависит от того, помните ли вы, какой именно разговор вам нужен.
| Вход | Что делает |
|---|---|
claude --continue | продолжает самый свежий разговор в этой папке, без вопросов |
claude --resume | открывает список прошлых разговоров, выбираете нужный |
/resume | тот же список, но изнутри уже открытой сессии |
В таблице легко не заметить одну вещь: две верхние строки начинаются с claude, а нижняя со слэша. Разница не косметическая. Верхние две набирают в терминале, когда агента ещё нет на экране, - флаг там часть самой команды запуска. То есть вы одним действием и стартуете агента, и говорите ему, какой разговор открыть:
claude # запуск с чистого листа
claude --continue # запуск сразу во вчерашнем разговоре
claude --resume # запуск с выбором разговора из списка/resume работает наоборот, изнутри: агент уже открыт, вы пишете в его строку ввода и переключаетесь на другой разговор, не выходя в терминал.
Разница на практике простая. claude --continue - это "я вчера тут работал, хочу дальше": агент молча открывает последний разговор в текущей папке. claude --resume - это "разговоров несколько, дайте выбрать".

Список показывает по строке на разговор: имя, если вы его задали, или автоматический заголовок, сколько времени прошло с последней активности, ветку и размер. Если строк много, по ним можно искать, просто начав печатать, а можно расширить список за пределы текущей папки: Ctrl+A покажет разговоры из всех проектов на этой машине.
Список по умолчанию привязан к папке. Если claude --resume запущен из домашней директории, перейдите в папку проекта и повторите. Найти, где лежит разговор, поможет Ctrl+A: он покажет разговоры из всех папок, но открыть чужой прямо из списка не получится - вместо этого Claude Code положит в буфер обмена команду перехода в ту папку и запуска, её нужно вставить в терминал. Не помогло - проверьте, что Claude Code запущен тем же профилем, что и раньше, а разговор не старше срока хранения. После автоматического удаления вернуть его через /resume уже нельзя.
Вместе с разговором возвращается и всё, что в нём было: полная история, включая вызовы инструментов и их результаты. Как правило, сохраняется и модель, если её доступность и настройки не изменились. Продолжать можно ровно с того места, где остановились.
Зачем сессии имя
Пока разговор один, имя не нужно. Как только их три, список превращается в ребус: два начинаются одинаково, а третий вообще непонятно про что.
Задать имя можно двумя способами:
claude -n feedback-form # при запуске
/rename feedback-form # в уже открытой сессииЕсли имя не задали, Claude Code сам придумает короткий заголовок по вашему первому сообщению. Он тоже работает как ориентир: по нему сессию видно в списке и можно открыть. Просто своё имя точнее - автозаголовок описывает первую фразу, а не задачу целиком.
Честно говоря, в начале разговора имя придумывают редко: вы ещё не знаете, во что он вырастет. Половина сессий - это "гляну одну строчку", и часть из них неожиданно превращается в работу на полдня.
Поэтому проще так. Короткий заход оставить как есть, автозаголовка хватит. Поняли, что застряли надолго - /rename по ходу. Закончили - /clear с именем: задача уже позади, и как её назвать, вопрос не стоит.
Новая задача - новый разговор
Главный вопрос по ходу работы всего один: это всё ещё та же задача? Пока та же - продолжаете. Сменилась - открываете чистый лист. Звучит как формальность, а на деле именно здесь разговоры чаще всего превращаются в кашу.
Соблазн понятный: агент уже в курсе проекта, зачем начинать заново. Но разговор, в который свалили три задачи подряд, ведёт себя предсказуемо плохо:
- он тянет решения из прошлой задачи в новую. Час назад договорились делать через одно, сейчас делаете другое - а он помнит первую договорённость и возвращается к ней;
- всплывают идеи, которые вы уже отвергли. Отвергли в другой задаче, но для него это одна лента;
- он правит заодно то, что относилось к прошлой работе. Просили про форму - получили ещё и правки в оплате;
- изменения перемешиваются. В одном разговоре правки по двум темам, и потом тяжело разобрать, что к чему относилось;
- разговор не найти в списке. Он про всё сразу, то есть ни про что.
Отсюда простое правило: разговор живёт ровно столько, сколько помогает одной задаче. Задача закончилась - заканчивается и он. Сессия тут расходный материал, а не то, что берегут.
Начать чистый лист можно двумя способами, и разница между ними меньше, чем кажется.
| Действие | Что с разговором | Что с файлами проекта | Когда выбирать |
|---|---|---|---|
/clear | начинается с чистого листа, прошлый остаётся сохранённым | не трогает | задача сменилась, а вы всё там же |
| Новая сессия | начинается отдельный разговор под другую работу | не трогает | другой проект, другая папка, другой день |
Теперь про /clear, потому что именно здесь чаще всего пугаются. Команда выглядит как удаление, а работает как переключение: она не стирает разговор, а отставляет его в сторону и открывает пустой. Отставленный разговор остаётся в списке и открывается через /resume ровно таким, каким вы его бросили.
У неё есть необязательный аргумент - имя. /clear feedback-form подпишет уходящий разговор в списке, чтобы вы потом его узнали. Секунда работы, а искать позже заметно легче.
Есть и обратная сторона. Если разговор уже назван - через -n при запуске или /rename по ходу, - голый /clear передаст это имя новому разговору, и следующая задача окажется подписана именем прошлой. С аргументом имя остаётся у старого разговора, а новый стартует без имени.
Смотрите на верхнюю строку. В этом запуске активный разговор один и до команды, и после. /clear не открывает вторую сессию рядом с первой: он подменяет активный разговор чистым, а прежний уносит вниз, в список. Оказаться в нём снова можно только осознанно, через /resume.
Новая сессия отличается от /clear тем, что обычно означает и другую работу: другой проект, другая папка, другой день. /clear не выводит вас ни из текущей директории, ни из текущего запуска - он открывает чистый лист там, где вы стоите.
Есть ещё /compact. Эта команда не про смену задачи, а про длину разговора: она сворачивает уже сказанное в краткое изложение и оставляет вас в той же сессии. Разбирать её удобнее вместе с тем, как устроено окно контекста и что происходит, когда оно заканчивается, - это отдельная тема.
Где всё это лежит и сколько хранится
Разговоры лежат у вас на диске, в служебной папке Claude Code:
~/.claude-javarush/projects/Знак ~ означает домашнюю папку пользователя. В Windows ей соответствует %USERPROFILE%, поэтому учебный путь начинается с %USERPROFILE%\.claude-javarush\projects\.
.claude-javarush - учебный профиль. Если Claude Code запущен без него, стандартный путь выглядит как ~/.claude/projects/. Внутри - по подпапке на каждый проект, а в ней по основному файлу на каждый разговор.
На диске транскрипт хранится открытым текстом. В него записывается содержимое прочитанных файлов, вывод запущенных команд и текст, который вы вставили в чат. Читать такой файл могут процессы и пользователи, у которых есть доступ к файлам вашего пользователя в операционной системе.
Локальный файл - только одна часть истории: чтобы модель ответила, Claude Code передаёт запросы и нужный контекст по сети выбранному провайдеру. Условия хранения на стороне провайдера зависят от аккаунта и настроек. Поэтому не вставляйте в чат пароли и ключи и не просите агента читать файлы с секретами вроде .env без необходимости.
Хранятся разговоры не вечно: примерно через месяц старые убираются автоматически, вместе с точками отката к ним, и срок при желании настраивается. Так что сессия - хорошее место для работы над задачей и плохое для долговременной истории проекта. Чем хранят историю долго, это отдельная большая тема.
Что это меняет в работе
Несколько выводов, которые пригодятся уже завтра:
- сессия - контейнер одной задачи, а не переписка с агентом за всю жизнь. Чем ближе вы её к этому держите, тем реже он путается;
- разговор сохраняется сам, специально сохраняться не нужно. Закрытый вечером терминал ничего не стоит;
- сессии разложены по папкам. Запустили агента из папки проекта - его разговоры под рукой; если список пуст, проверьте папку:
Ctrl+Aпокажет разговоры из всех проектов и подскажет, куда перейти; - возвращаясь в старый разговор, вы возвращаете весь его контекст, включая тупики и отброшенные идеи. Иногда быстрее начать заново, чем оживлять трёхчасовое обсуждение;
- одна папка и десяток сессий в ней - нормальная рабочая картина, а не признак беспорядка.
Одна привычка вместо двух: не придумывать имя на старте, а подписывать разговор на выходе. /clear feedback-form вместо голого /clear - те самые две секунды, но в момент, когда имя уже очевидно. Через месяц список остаётся читаемым, и раскапывать его не приходится.
Расположение файлов сессий, состав списка и срок хранения зависят от версии Claude Code и настроек, поэтому у вас они могут отличаться от описанных здесь.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ