Где хранится история сессий Claude Code?
Коротко: всё хранится локально под ~/.claude/projects/ в виде JSONL-файлов — без облачной синхронизации и без истории сессий, привязанной к аккаунту.
Структура каталогов
~/.claude/
├── projects/ # ← вся история сессий здесь
│ ├── -Users-you-Documents-app/ # один каталог на проект (путь преобразован)
│ │ ├── 9a1b2c3d-….jsonl # один файл на сессию
│ │ └── 7c2d3e4f-….jsonl
│ └── -home-you-shop-api/
│ └── …
├── claude.json # глобальный конфиг (MCP, тема, состояние проектов)
└── … (кэш, логи, статистика и другие вспомогательные файлы)
Правило имени каталогов проектов: каждый не-буквенно-цифровой символ пути (/, _, …) превращается в -. Поэтому все сессии одного проекта собираются в одном каталоге — на этом же основано «группирование по проектам» у просмотрщиков.
Что внутри JSONL-файла
JSONL = один независимый JSON-объект на строку. Файл сессии записывает весь диалог в хронологическом порядке. Основные типы записей:
| type | Содержимое |
|---|---|
user | Ваш ввод (текст / изображения) и возвращённые результаты инструментов |
assistant | Ответы модели: текст, блоки размышлений, вызовы tool_use и расход токенов |
system | Системные события (hooks и т. п.) |
summary / ai-title | Сводка сессии и автосгенерированное название |
cost-state | Снимок расходов (общая стоимость, ±строк, длительность API) |
У каждой записи есть метаданные: timestamp, cwd (путь проекта), gitBranch, version, sessionId и др. Иначе говоря, файл истории полнее, чем показывает терминал — рассуждения, сырые параметры и результаты вызовов инструментов, расход токенов — всё там.
Что из этого следует
- Приватность в ваших руках: файлы не покидают машину. Соответственно, перед сменой компьютера или переустановкой сделайте бэкап
~/.claude/projects/, иначе история пропадёт; - Файлы могут быть чувствительными: в сессиях — фрагменты исходного кода, пути, вывод команд, иногда секреты — не раздавайте .jsonl кому попало и не публикуйте их;
- Размер растёт: после месяцев активного использования одна сессия может весить несколько (или десятки) МБ, а весь каталог — сотни МБ, это нормально.
Как читать эту историю с комфортом
Читать сырой JSONL — то ещё удовольствие. Откройте каталог в CCViewer (можно перетащить папку целиком): сессии сгруппируются по проектам, а Markdown, блоки размышлений, вызовы инструментов и статистика расходов отрендерятся графически — разбор идёт только локально в браузере, свойство «данные не покидают эту машину» сохраняется.
Откройте страницу и перетащите файл
.jsonl — или всю папку ~/.claude/projects/. Markdown, блоки размышлений, вызовы инструментов, статистика токенов и расходов — всё обрабатывается локально в браузере, ничего не отправляется.