earendil-works/pi · error
WebSocket stream closed before response.completed
Error message
WebSocket stream closed before response.completed
What it means
Error "WebSocket stream closed before response.completed" thrown in earendil-works/pi.
Source
Thrown at packages/ai/src/api/openai-codex-responses.ts:1378
failed = error;
done = true;
pending = null;
closeWebSocketSilently(socket, 1000, "idle_timeout");
reject(error);
}, idleTimeoutMs);
}
}).finally(() => {
if (timeout) {
clearTimeout(timeout);
}
});
}
if (failed) {
throw failed;
}
if (!sawCompletion) {
throw new Error("WebSocket stream closed before response.completed");
}
} finally {
socket.removeEventListener("message", onMessage);
socket.removeEventListener("error", onError);
socket.removeEventListener("close", onClose);
signal?.removeEventListener("abort", onAbort);
}
}
function requestBodyWithoutInput(body: RequestBody): RequestBody {
const { input: _input, previous_response_id: _previousResponseId, ...rest } = body;
return rest;
}
function responseInputsEqual(a: ResponseInput | undefined, b: ResponseInput | undefined): boolean {
return JSON.stringify(a ?? []) === JSON.stringify(b ?? []);
}
View on GitHub (pinned to 4af9d21d3b)
Solutions
- Retry; check network stability or server-side closes before response.completed.
When it happens
Trigger: Thrown at packages/ai/src/api/openai-codex-responses.ts:1378 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/6428cf764e533a31.
Report an issue: GitHub.