СЕРЕЖА РИС

СтатьиClaude Code

Перенос 275 сессий Claude Code на второй аккаунт

Содержание
Перенос 275 сессий Claude Code на второй аккаунт

У меня два аккаунта Anthropic. Первый упёрся в лимиты, и я перевёл работу на второй (почему выбрал такой путь: какую подписку Claude выбрать для работы).

Залогинился в Claude desktop на маке. В пикере сессий 4 штуки, все новые. А где 275 старых?

Вердикт: история целая. Claude desktop хранит список сессий в локальном сторе (внутренней базе приложения) с ключом «аккаунт + организация». Новый логин переключает приложение на другую папку, старые записи остаются лежать на диске. Лечится копированием файлов local_*.json из папки старого аккаунта в папку новой организации при полностью закрытом приложении. На выходе 279 сессий в пикере, группировка по проектам сохранилась.

Почему сессии пропадают

Кейс: macOS, Claude Code 2.1.286, октябрь 2026.

Все сессии Claude Code в desktop-приложении лежат в одной папке: ~/Library/Application Support/Claude/claude-code-sessions/. Внутри папки-UUID аккаунтов (имена папок: длинные случайные идентификаторы), в каждой папке-UUID организаций, и уже там записи local_<id>.json, по файлу на сессию.

Поля аккаунта внутри записи нет. Разобрали расшифровку полей в #58670.

Приложение при запуске листит ровно одну папку: текущий аккаунт + текущая организация. Переключил аккаунт. Пикер пуст. Ключ стора сменился (#85294).

Как устроен этот каталог, описывает и официальный док data-storage.

Агент отличил папки по содержимому: в папке нового аккаунта лежат ровно те 4 свежие сессии, в старой все 275 файлов с историей.

Сами разговоры лежат отдельно: транскрипты ~/.claude/projects/, общие для всех аккаунтов компьютера. Запись из пикера цепляется к транскрипту полем cliSessionId. Что у агента где лежит вообще: слои контекста.

Сначала сделал неправильно

Первым делом попросил агента скопировать папку старого аккаунта целиком. Открыл приложение: в пикере те же 4 сессии.

Причину агент увидел сразу. Второй уровень пути это UUID организации старого аккаунта. Приложение читает пару «текущий аккаунт + текущая организация», в папку старой орги оно не заглядывает. Копируешь структуру как есть, и файлы попадают в папку, которую пикер игнорирует.

Переносить надо содержимое: файлы записей в папку текущей организации.

Перенос

Готовый промпт для повтора:

В Claude desktop после входа во второй аккаунт Anthropic пропали старые сессии. Приложение полностью закрыто через Cmd+Q. Найди стор сессий: ~/Library/Application Support/Claude/claude-code-sessions/, внутри папки-UUID аккаунтов, в них папки-UUID организаций, в них local_.json. Текущей считается организация, где лежат свежие сессии после входа в новый аккаунт; старая содержит всю историю. Скопируй все local_.json, archived-sessions.idx и файлы deleted_* из организации старого аккаунта в организацию текущего. Скажи, сколько файлов перенеслось.

Агент заглянул на первый уровень, нашёл UUID обоих аккаунтов, скопировал 275 файлов local_*.json в папку текущей организации. По промпту вместе с записями переехали archived-sessions.idx и маркеры deleted_*.

Зачем они нужны. archived-sessions.idx хранит флаги архивации: без него архивные сессии встанут в общий список. Маркеры deleted_* помечают удалённые: без них сессии, которые я сносил, воскреснут в пикере.

Открыл Claude. В пикере 279 сессий: 275 старых и 4 новых. Группировка по репозиториям на месте. Мой случай совпадает с #88607, там тот же рецепт: полностью закрыть приложение, скопировать записи, запустить.

Почему именно Cmd+Q

Закрыть окно на маке мало. Приложение продолжает висеть в памяти, держит кэш списка сессий (LSS-cached-sessions во внутреннем хранилище) и переписывает открытые записи из памяти. Скопированное при живом приложении может затереться при следующем запуске.

Если пикер не нужен, есть обходной путь в терминале: claude --resume видит все локальные сессии при любом логине, потому что читает транскрипты напрямую, минуя стор.

Грабли

Первая: у части старых записей транскрипта на диске уже нет. Агент насчитал таких 37 из 275: запись в пикере вернётся, сессия откроется пустой, вернуть историю нечем. Перед переносом попроси агента проверить, что транскрипты живы в ~/.claude/projects/.

Вторая: копия оставляет дубли в двух аккаунтах. Дальше записи расходятся: в одном аккаунте сессию переименуешь и продолжишь, во втором останется старая копия. Поэтому claude-transplant переносит записи целиком и держит резерв источника на откат, дубли не возникают.

Похожий инструмент restore-desktop-sessions решает смежную задачу восстановления. Оба нашёл уже после своего переноса, сам не гонял.

Альтернативы

С 27 августа 2026 в приложении есть /resume: подтягивает терминальные сессии этого компьютера. Помогает продолжить конкретную сессию прямо сейчас, без разбора папок.

Рядом лежит Help → Troubleshooting → Import Claude Code CLI sessions. Пересоздаёт записи из транскриптов: пригодится, когда записи потерялись при живых транскриптах. Оба пути работают с транскриптами, им всё равно, в какой ты организации.

Официальной миграции между аккаунтами нет: #48511 закрыт со статусом not planned. Перенос записей силами агента пока единственный прямой путь.

Частые вопросы

Сессии удалились после смены аккаунта? Нет. Они лежат в папке старого аккаунта, приложение её перестало читать.

Транскрипты тоже переносить? Транскрипты в ~/.claude/projects/ общие для всех аккаунтов компьютера. Переносить нечего.

Где посмотреть UUID своей организации? В интерфейсе приложения его не показывают. Агент найдёт нужную папку по содержимому: в текущей организации лежат сессии, созданные после входа в новый аккаунт.

Сработает на Windows? Кейс с macOS. Похоже, механика та же (ключ «аккаунт + организация»), но на Windows я не проверял, путь к папке будет другим.

Это безопасно? Копирование файлов при закрытом приложении. Аккаунты и подписки оно не трогает.

Весь фикс выглядел так: нашёл стор, дал агенту промпт из callout выше, проверил пикер. Файлов руками я не открывал. Таким workflow я живу каждый день и учу ему в Кружке Вайбкодинга: вайбкодеры без программерского бэкграунда. Если хочешь так же: в Кружке разбираем это на практике, с агентами и вживую.