t3 code · session persistence

Сохранить sessions через CLAUDE_CONFIG_DIR

Направь все instances t3 code на одну общую config-папку — и history, sessions и settings переживут restart, контейнеры и разные машины.

t3 code хранит весь state в одной папке (по умолчанию ~/.claude — локальная и одноразовая). Задай переменную CLAUDE_CONFIG_DIR на постоянный общий путь — и каждый instance читает и пишет один и тот же state. Одна папка на входе → те же sessions на выходе.

1 Что лежит в config-папке

projects/*.jsonlTranscripts по каждой папке — именно это читает --resume / --continue.
history.jsonlHistory промптов (recall по стрелке вверх).
settings.jsonSettings, permissions, hooks.
.credentials.jsonAuth token (login state).

2 Задать переменную (один раз)

Добавь в ~/.zshrc, открой новый терминал — и все instances делят одну папку:

# ~/.zshrc
export CLAUDE_CONFIG_DIR="$HOME/.config/t3-code"

Разово для одного запуска:

CLAUDE_CONFIG_DIR="$HOME/.config/t3-code" t3-code

3 Перенести существующие sessions

Если history уже есть в ~/.claude — скопируй один раз перед переключением:

cp -a ~/.claude "$HOME/.config/t3-code"   # -a сохраняет права и .credentials.json

4 Resume из любого instance

Из той же папки проекта:

t3-code --continueПоследняя session для текущей папки.
t3-code --resumePicker прошлых sessions.
t3-code --resume <id>Конкретная session по id.

важно  Для sharing между машинами направь путь в synced-папку (iCloud, Syncthing) или NFS. Но config-папка содержит .credentials.json — синкай только туда, где доверяешь. И не держи два live instances, пишущих в одну session одновременно — конкурентная запись в .jsonl конфликтует.

Рецепт в три строки:

export CLAUDE_CONFIG_DIR="$HOME/.config/t3-code"   # в ~/.zshrc
cp -a ~/.claude "$CLAUDE_CONFIG_DIR"                # перенос (опц.)
t3-code --continue                              # resume из любого instance