Claude Code молча удаляет историю сессий через 30 дней. Я заметил через три с половиной месяца

Первый мой запрос к Claude Code на рабочем сервере датирован 26 мая. Самая старая сохранённая сессия датирована 11 сентября. Всё, что было между ними, удалено, и ни одного предупреждения я не видел.

Это не сбой. Claude Code хранит расшифровки сессий 30 дней, а потом стирает их в фоне. Так написано в документации, просто до этой страницы мало кто доходит. Лечится одной строкой в настройках, но только на будущее: удалённое уже не вернуть.

Похоже на камеру хранения, где ячейку освобождают через месяц, а объявление об этом висит внутри ячейки.

Claude Code молча удаляет историю сессий через 30 дней. Я заметил через три с половиной месяца

Что именно пропадает

Каждая сессия Claude Code записывается в файл в папке ~/.claude/projects/. В файле весь разговор: ваши сообщения, ответы модели, каждый вызов инструмента и его результат. Из этих файлов работает команда /resume, которая возвращает вас в старую сессию.

Через 30 дней файл удаляется. По документации, чистка запускается в фоне после старта очередной сессии и удаляет расшифровки, не показывая сообщения. Старая сессия просто перестаёт появляться в списке /resume. Вместе с ней уходят расшифровки субагентов и заброшенные рабочие копии git, которые Claude создавал для параллельных задач.

Чистка трогает не всё:

  • История запросов остаётся. Файл history.jsonl хранит то, что вы набирали. Поэтому вопросы за май у меня на месте, а ответов на них уже нет.
  • Память проекта остаётся. Заметки, которые Claude ведёт о проекте, под чистку не попадают.
  • Сессии из приложения Claude Desktop и из Cowork с версии 2.1.248 хранятся без срока.
Claude Code молча удаляет историю сессий через 30 дней. Я заметил через три с половиной месяца

Проверка на себе

На сервере у меня лежат 724 файла расшифровок на 861 МБ. Я разложил их по возрасту: 181 за последнюю неделю, 62 за вторую, 338 за третью и 143 старше трёх недель. Старше 30 дней нет ни одного. Самому старому ровно 30 дней.

Что было в удалённых сессиях, я уже не проверю. Скорее всего, разборы багов и объяснения, почему что-то сделано именно так. То есть ровно то, ради чего старую сессию обычно и открывают.

Как проверить у себя

Три команды в терминале:

grep cleanupPeriodDays ~/.claude/settings.json find ~/.claude/projects -name '*.jsonl' | wc -l find ~/.claude/projects -name '*.jsonl' -mtime +30 | wc -l

Первая показывает, задан ли срок хранения. Если она ничего не вывела, вы на умолчании в 30 дней. Вторая считает все расшифровки, третья только те, что старше 30 дней. Если третья вывела ноль, а с Claude Code вы работаете дольше месяца, чистка у вас уже прошла.

Одна строка в настройках

В файл ~/.claude/settings.json добавляется ключ:

{ "cleanupPeriodDays": 3650 }

Это около десяти лет. Три вещи, о которые легко споткнуться:

  • Ноль не значит «никогда». Значение 0 не проходит проверку настроек, минимум равен 1. Хотите хранить долго, ставьте большое число.
  • Настройка работает только вперёд. Удалённые файлы она не вернёт.
  • Диск не резиновый. У меня месяц работы занял 861 МБ, это около 10 ГБ в год. Я много работаю с агентами, у вас может выйти в разы меньше, но прикинуть стоит.

Обратная сторона: в этих файлах лежит всё

Расшифровки хранятся открытым текстом, без шифрования. Документация предупреждает прямо: если инструмент прочитал файл .env или команда вывела ключ, это значение окажется в файле сессии. Так что 30 дней по умолчанию выбраны не из жадности, а из осторожности.

Чем дольше вы храните историю, тем больше секретов копится на диске. Если увеличиваете срок, сделайте две вещи: запретите Claude читать файлы с ключами через правила доступа и не кладите папку ~/.claude/projects/ в общий бэкап без шифрования.

А если история не нужна совсем, есть обратные настройки. Переменная окружения CLAUDE_CODE_SKIP_PROMPT_HISTORY отключает запись расшифровок, флаг --no-session-persistence делает то же для одного запуска в скрипте.

Что выбрал я

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

Забавно, что инструмент, который держит в голове весь ваш проект, собственную историю забывает через месяц.

Подробности в документации Claude Code. Такие находки про Claude я каждый день собираю в канале Claude News.