Windows and WSL together
Besides the main directory the api reads a second one — the one "from the other side": started in WSL it sees the Windows profile, started in Windows it sees the WSL profile. It is mounted read-only.
This is something none of the neighbours can do, and it puts an end to the eternal "where did that session go".
How to switch it on
In docker:
./scripts/detect-claude-homes.sh --write # finds the path and writes EXTRA_CLAUDE_HOME into .env
docker compose up -d apiThe app has nothing to mount — it looks for the other side by itself (\wsl.localhost\<distro> or /mnt/<drive>/Users/<someone>). It is switched off with CLAUDER_COMPANION_HOMES=0.
Several sources at once are set through CLAUDE_DATA_DIRS:
CLAUDE_DATA_DIRS=windows=/data/claude-windows,wsl=/data/claude-wslHow it looks
Projects from an extra source get a prefix in their id (windows~C--Users-varyen), while the main source's ids stay as they were — old links don't break.
A directory that arrived through two different mounts is dropped by inode: there will be no duplicates. And one and the same folder worked in from both sides is shown as a single entry with a shared chat list.
Continuing such a session
An agent from the container can't: the transcript is mounted read-only, and a C:\… directory doesn't exist in Linux at all.
So the reply is run by that side: claude.exe --resume is started through an ssh bridge into WSL, and the reply arrives through the usual transcript polling.
What doesn't fully work along this path:
- images travel as files through an exchange directory;
- the model's questions are not supported.
If the bridge isn't set up, the "Continue in chat" item is simply unavailable for such a session. Setting up the bridge is described in scripts/host-bridge/README.md in the repository.
Claude Code inside WSL
On Windows, WSL chats run not claude.exe but the Linux claude inside the distribution, and it ages separately. In the settings, on the "This connection" card, there's a line of its own under the main one — "Claude Code · WSL ubuntu": version, path and an Update button. A notification tells you when a new version is out. More in Updating.