Claude Code тихо удаляет историю чатов: что нужно знать
Claude Code по умолчанию удаляет все транскрипты разговоров старше 30 дней - молча, без предупреждения и без возможности восстановить. Настройка cleanupPeriodDays существует с момента запуска, но нигде не отображается при установке. Anthropic называет это мерой безопасности.
Пользователи Claude Code массово столкнулись с тем, что их история разговоров исчезла. Причина - скрытая настройка, о которой большинство просто не знало.
Что происходит
При каждом запуске Claude Code автоматически запускает очистку: удаляет все .jsonl-файлы с транскриптами, которым больше 30 дней. Управляет этим параметр cleanupPeriodDays, который по умолчанию равен 30.
Никакого предупреждения при установке нет. Никакого диалога при первом запуске нет. Просто однажды история исчезает.
Что говорит Anthropic
Компания сообщила The Register, что политика 30-дневного удаления существует с момента запуска Claude Code и задокументирована - это сделано намеренно в целях безопасности.
«Хранить текстовые транскрипты сессий неопределённо долго - реальный риск для безопасности и конфиденциальности, поскольку они могут содержать исходный код, учётные данные и другие чувствительные данные», - говорится в заявлении компании.
По сути, Anthropic перекладывает ответственность на пользователей: мол, документация была, читайте.
Что теряют пользователи
Для многих потеря транскриптов - не просто неудобство. GitHub-пользователь joekhochstetter описывает ситуацию точно: код и git-история проекта после очистки остались, «но цепочка рассуждений - обсуждения дизайна, контекст отладки, анализ - исчезла».
«Для исследовательской работы этот контекст и есть артефакт», - пишет он.
Восстановить удалённое невозможно: нет мягкого удаления, нет периода ожидания, нет логов того, что именно было стёрто.
Почему увеличение срока хранения не помогает
Несколько пользователей попытались просто поставить большое значение для cleanupPeriodDays - и это не сработало.
Гитхаб-пользователь ojura нашёл причину: удаление привязано к mtime (времени изменения файла), а не к фактической дате последней активности в сессии. Это значит, что любой инструмент синхронизации, скрипт или восстановление из бэкапа может изменить mtime - и файл будет удалён при следующем запуске, даже если сессия была недавней.
Как не потерять историю прямо сейчас
Пока Anthropic не изменил поведение, единственный рабочий способ - настроить резервное копирование транскриптов вручную. В треде на GitHub есть несколько вариантов таких скриптов.
Гитхаб-пользователь FTSBrand, который первым поднял проблему, сформулировал суть претензии: «Очистка запускается из коробки без раскрытия информации при установке или диалога при первом запуске. Пользователи, которые относятся к истории разговоров как к надёжному рабочему знанию, молча ошибаются насчёт модели хранения».
Гитхаб-пользователь caioribeiroclw-pixel добавляет: «Бэкапы - это хорошая гигиена, но они не заменяют раскрытие информации на уровне продукта о деструктивной очистке».
Что это значит
Если ты используешь Claude Code для работы над проектами - прямо сейчас проверь, есть ли у тебя транскрипты старше 30 дней. Если есть и они нужны - сохрани их вручную до следующего запуска приложения.
Настройка cleanupPeriodDays меняется в конфигурации, но из-за бага с mtime надеяться только на неё не стоит. Бэкап-скрипт - пока единственная надёжная страховка.
Источник: The Register, 30 июня 2025, ссылка