From 47e93742261c65449e8636b92dbe5bbe5c7480d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Saku=20M=C3=A4tt=C3=B6?= Date: Wed, 28 Jan 2026 15:46:59 +0200 Subject: [PATCH] fix(sessions): always compute session paths from current environment Remove trust in stored absolute paths in sessions.json. When migrating Moltbot to a different user or home directory, the stored sessionFile paths would still point to the old user's directories, causing EACCES permission errors. Now resolveSessionFilePath() always computes paths fresh from the current HOME environment variable rather than using cached paths. Fixes user migration scenarios where sessions.json contains paths like /home/olduser/.clawdbot/... but the service runs as a different user. --- src/config/sessions/paths.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/config/sessions/paths.ts b/src/config/sessions/paths.ts index 63d2f6834..32d6a37ec 100644 --- a/src/config/sessions/paths.ts +++ b/src/config/sessions/paths.ts @@ -54,8 +54,10 @@ export function resolveSessionFilePath( entry?: SessionEntry, opts?: { agentId?: string }, ): string { - const candidate = entry?.sessionFile?.trim(); - return candidate ? candidate : resolveSessionTranscriptPath(sessionId, opts?.agentId); + // Always compute path from current environment rather than trusting stored paths. + // Stored absolute paths in sessions.json break when migrating to a different user + // or home directory, causing EACCES errors when accessing the old user's paths. + return resolveSessionTranscriptPath(sessionId, opts?.agentId); } export function resolveStorePath(store?: string, opts?: { agentId?: string }) {