diff --git a/src/servers/api/pi/websocket.ts b/src/servers/api/pi/websocket.ts index 40ce5429..303ea0da 100644 --- a/src/servers/api/pi/websocket.ts +++ b/src/servers/api/pi/websocket.ts @@ -40,7 +40,11 @@ const resolveCwd = (email: string, role: string, cwd?: string) => { const root = getHomeDirForRole(email, role); if (!cwd || cwd === '~') return root; if (cwd.startsWith('~/')) return join(root, cwd.slice(2)); - if (cwd.startsWith('/')) return join(root, cwd.slice(1)); + if (cwd.startsWith('/')) { + // Super Admin: trust absolute paths as-is + if (role === 'Super Admin') return cwd; + return join(root, cwd.slice(1)); + } return join(root, cwd); };