From d6041ae4ec94ab76061eeac8d9ff3898fd17fa72 Mon Sep 17 00:00:00 2001 From: Alex Newman Date: Fri, 26 Dec 2025 20:49:54 -0500 Subject: [PATCH] fix: validate spawn pid before writing PID file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add check for undefined child.pid after spawn() to prevent writing invalid PID files when spawn fails. Exit with error code 1 if spawn failed. Removes unnecessary non-null assertion. Phase 2 of PR #458 fixes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/services/worker-service.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/services/worker-service.ts b/src/services/worker-service.ts index 64b0d1ea..b582ad5e 100644 --- a/src/services/worker-service.ts +++ b/src/services/worker-service.ts @@ -830,10 +830,16 @@ async function main() { windowsHide: true, env: { ...process.env, CLAUDE_MEM_WORKER_PORT: String(port) } }); + + if (child.pid === undefined) { + console.error('Failed to spawn worker daemon'); + process.exit(1); + } + child.unref(); // Write PID file - writePidFile({ pid: child.pid!, port, startedAt: new Date().toISOString() }); + writePidFile({ pid: child.pid, port, startedAt: new Date().toISOString() }); // Wait for health const healthy = await waitForHealth(port, 30000);