ruvnet/ruflo · error · Error
ruflo proxy supervisor failed to spawn — no PID returned
Error message
ruflo proxy supervisor failed to spawn — no PID returned
What it means
Error "ruflo proxy supervisor failed to spawn — no PID returned" thrown in ruvnet/ruflo.
Source
Thrown at v3/@claude-flow/cli/src/proxy/lifecycle.ts:230
const lockFd = acquireStartLock();
try {
// Re-check under the lock — the dedup above raced a concurrent starter.
const rechecked = getProxyStatus();
if (rechecked.running && rechecked.pid) throw new ProxyAlreadyRunningError(rechecked.pid);
if (rechecked.stalePidFile) clearStalePidFile();
const logFd = fs.openSync(proxyLogFilePath(), 'a');
const cliEntry = process.argv[1];
if (!cliEntry) throw new Error('cannot locate the ruflo CLI entrypoint for supervised service mode');
const child = spawn(process.execPath, [cliEntry, 'proxy', 'supervise'], {
stdio: ['ignore', logFd, logFd],
detached: true,
windowsHide: true,
});
fs.closeSync(logFd); // the child holds its own duplicated fd; safe to close ours
if (!child.pid) throw new Error('ruflo proxy supervisor failed to spawn — no PID returned');
writePidFile(child.pid);
child.unref();
return { pid: child.pid };
} finally {
releaseStartLock(lockFd);
}
}
export interface StopResult {
wasRunning: boolean;
pid: number | null;
}
/** SIGTERM -> 1000ms -> SIGKILL if still alive, mirroring daemon.ts's killBackgroundDaemon. */
export async function stopProxy(): Promise<StopResult> {
const status = getProxyStatus();
if (!status.running || !status.pid) {
if (status.stalePidFile) clearStalePidFile();View on GitHub (pinned to 6b01dc5a68)
When it happens
Trigger: Thrown at v3/@claude-flow/cli/src/proxy/lifecycle.ts:230 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@6b01dc5a68 (2026-08-12).
Data as JSON: /api/errors/fddff29200b7482e.
Report an issue: GitHub.