Windows и WSL вместе
Кроме основного каталога api читает второй — тот, что «с другой стороны»: запущенный в WSL видит профиль Windows, запущенный в Windows — профиль WSL. Монтируется он только на чтение.
Это то, чего не умеет никто из соседей, и оно снимает вечное «а где эта сессия».
Как включить
В докере:
./scripts/detect-claude-homes.sh --write # найдёт путь и запишет EXTRA_CLAUDE_HOME в .env
docker compose up -d apiПриложению монтировать нечего — вторую сторону оно ищет само (\wsl.localhost\<дистрибутив> или /mnt/<диск>/Users/<кто-то>). Отключается это CLAUDER_COMPANION_HOMES=0.
Несколько источников сразу задаются через CLAUDE_DATA_DIRS:
CLAUDE_DATA_DIRS=windows=/data/claude-windows,wsl=/data/claude-wslКак это выглядит
Проекты дополнительного источника получают префикс в id (windows~C--Users-varyen), у основного id остаётся прежним — старые ссылки не ломаются.
Каталог, приехавший двумя разными монтированиями, отбрасывается по inode: дублей не будет. А одна и та же папка, в которой работали с обеих сторон, показывается одной записью с общей лентой чатов.
Продолжить такую сессию
Агент из контейнера не может: транскрипт примонтирован на чтение, а каталога C:\… в Linux нет вовсе.
Поэтому ответ исполняет та сторона: через ssh-мост в WSL запускается claude.exe --resume, а ответ приезжает обычным опросом транскрипта.
Что при этом работает не полностью:
- картинки едут файлами через каталог обмена;
- вопросы модели этот путь не поддерживает.
Если мост не настроен, пункт «Продолжить в чате» у такой сессии просто недоступен. Настройка моста — в scripts/host-bridge/README.md в репозитории.