diff --git a/src/servers/api/pi/pi-bridge.ts b/src/servers/api/pi/pi-bridge.ts index ca2bcc9a..dc6ca898 100644 --- a/src/servers/api/pi/pi-bridge.ts +++ b/src/servers/api/pi/pi-bridge.ts @@ -282,11 +282,13 @@ export async function spawnPi( const apifyToken = await getApifyToken(); const shellUsername = options?.username ?? toShellUsername('', email); + const isServiceUser = (options?.username ?? toShellUsername('', email)) === (process.env.USER ?? ''); + const env: Record = { HOME: homeDir, OFFICER_USER_HOME: homeDir, OFFICER_USER_ROOT: join(DATA_PATH, email), - PI_CODING_AGENT_DIR: PI_CONFIG_DIR, + PI_CODING_AGENT_DIR: isServiceUser ? PI_CONFIG_DIR : join(homeDir, '.pi', 'agent'), PI_TOOLS_DIRS: toolsDirs, PI_SEARXNG_URL: searxng.url, OFFICER_RESOURCES: buildResourcesEnv(), @@ -297,8 +299,6 @@ export async function spawnPi( ...browserRelayEnv, }; - const isServiceUser = shellUsername === (process.env.USER ?? ''); - // For service user, keep real HOME so Pi finds its config if (isServiceUser) { env.HOME = process.env.HOME ?? '';