diff --git a/Packs/pai-observability-server/src/Observability/apps/server/src/file-ingest.ts b/Packs/pai-observability-server/src/Observability/apps/server/src/file-ingest.ts index 01a1bfc64..d418c5a6c 100755 --- a/Packs/pai-observability-server/src/Observability/apps/server/src/file-ingest.ts +++ b/Packs/pai-observability-server/src/Observability/apps/server/src/file-ingest.ts @@ -33,8 +33,9 @@ const agentSessions = new Map(); // Todo tracking per session (session_id -> current todos) const sessionTodos = new Map(); -// Projects directory path - dynamically constructed from username -const PROJECTS_DIR = join(homedir(), '.claude', 'projects', `-Users-${process.env.USER || 'user'}--claude`); +// Projects directory path - dynamically constructed from HOME path (works on both macOS and Linux) +const homePathEncoded = (process.env.HOME || homedir()).replace(/\//g, '-'); +const PROJECTS_DIR = join(homedir(), '.claude', 'projects', `${homePathEncoded}--claude`); /** * Get the most recently modified JSONL files in projects/ diff --git a/Packs/pai-observability-server/src/Observability/apps/server/src/task-watcher.ts b/Packs/pai-observability-server/src/Observability/apps/server/src/task-watcher.ts index 18ea6e8e8..725f3e4b2 100755 --- a/Packs/pai-observability-server/src/Observability/apps/server/src/task-watcher.ts +++ b/Packs/pai-observability-server/src/Observability/apps/server/src/task-watcher.ts @@ -39,8 +39,9 @@ const pendingDescriptions = new Set(); // Callback for task updates let onTaskUpdate: ((task: BackgroundTask) => void) | null = null; -// Tasks directory - dynamically constructed from username -const TASKS_DIR = `/tmp/claude/-Users-${process.env.USER || 'user'}--claude/tasks`; +// Tasks directory - dynamically constructed from HOME path (works on both macOS and Linux) +const homePathEncoded = (process.env.HOME || homedir()).replace(/\//g, '-'); +const TASKS_DIR = `/tmp/claude/${homePathEncoded}--claude/tasks`; // Idle threshold for determining completion (30 seconds) const IDLE_THRESHOLD_MS = 30000;