From f3553ad6d31411e415425db56897ddc3e8066dd0 Mon Sep 17 00:00:00 2001 From: aaddrick Date: Sat, 16 May 2026 10:14:10 -0400 Subject: [PATCH] docs(troubleshooting): symlink ~/.claude/ onto LUKS volume for cowork (#590) The eCryptfs workaround as written relocated ~/.config/Claude and ~/.cache/claude-desktop-debian but left ~/.claude/ on the encrypted home, which is where Claude Code creates the long-named per-session project dirs that overflow NAME_MAX=143. Add a third mv+ln pair for ~/.claude/ (with a fresh-install mkdir fallback), and call out in the prose that ~/.claude/ is the load-bearing path for cowork. Per @sabiut's review on #614. Co-Authored-By: Claude --- docs/TROUBLESHOOTING.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/TROUBLESHOOTING.md b/docs/TROUBLESHOOTING.md index 4c64cc1..4455fa3 100644 --- a/docs/TROUBLESHOOTING.md +++ b/docs/TROUBLESHOOTING.md @@ -256,6 +256,10 @@ getconf NAME_MAX $HOME # eCryptfs reports 143; ext4 reports 255 **Workaround:** move Claude's data onto a separate LUKS-encrypted ext4 volume (NAME_MAX = 255) and symlink the original paths back. +`~/.claude/` is the critical one — that's where Claude Code creates +the long-named per-session dirs that overflow the limit — and +`~/.config/Claude/` plus `~/.cache/claude-desktop-debian/` are +relocated alongside it so all Claude state lives on the same volume. This keeps the data encrypted at rest while sidestepping the eCryptfs filename-length cap. @@ -274,9 +278,17 @@ sudo chown "$USER:$USER" /mnt/claude-secure mv ~/.config/Claude /mnt/claude-secure/Claude-config mv ~/.cache/claude-desktop-debian /mnt/claude-secure/claude-cache +# ~/.claude may not exist yet on a fresh install — create the target +# either way so the symlink below resolves. +if [ -e ~/.claude ]; then + mv ~/.claude /mnt/claude-secure/claude-home +else + mkdir -p /mnt/claude-secure/claude-home +fi ln -s /mnt/claude-secure/Claude-config ~/.config/Claude ln -s /mnt/claude-secure/claude-cache ~/.cache/claude-desktop-debian +ln -s /mnt/claude-secure/claude-home ~/.claude # 3. Verify the filename limit getconf NAME_MAX /mnt/claude-secure # should print 255