paperclipai/paperclip · error
Embedded PostgreSQL could not find a free port from ${startP
Error message
Embedded PostgreSQL could not find a free port from ${startPort} to ${startPort + maxLookahead - 1} What it means
Error "Embedded PostgreSQL could not find a free port from ${startPort} to ${startPort + maxLookahead - 1}" thrown in paperclipai/paperclip.
Source
Thrown at packages/db/src/migration-runtime.ts:75
const server = createServer();
server.unref();
server.once("error", (error: NodeJS.ErrnoException) => {
resolve(error.code === "EADDRINUSE");
});
server.listen(port, "127.0.0.1", () => {
server.close();
resolve(false);
});
});
}
async function findAvailablePort(startPort: number): Promise<number> {
const maxLookahead = 20;
let port = startPort;
for (let i = 0; i < maxLookahead; i += 1, port += 1) {
if (!(await isPortInUse(port))) return port;
}
throw new Error(
`Embedded PostgreSQL could not find a free port from ${startPort} to ${startPort + maxLookahead - 1}`,
);
}
async function loadEmbeddedPostgresCtor(): Promise<EmbeddedPostgresCtor> {
try {
const mod = await import("embedded-postgres");
return mod.default as EmbeddedPostgresCtor;
} catch {
throw new Error(
"Embedded PostgreSQL support requires dependency `embedded-postgres`. Reinstall dependencies and try again.",
);
}
}
async function ensureEmbeddedPostgresConnection(
dataDir: string,
preferredPort: number,View on GitHub (pinned to 120ae5428f)
Solutions
- Free a port in the embedded Postgres scan range or raise the startPort/maxLookahead so a free port exists.
- Check for stale embedded-postgres processes holding ports (e.g. `lsof -i -P | grep LISTEN`) and stop them.
When it happens
Trigger: Thrown at packages/db/src/migration-runtime.ts:75 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/72f5408cb16e1139.
Report an issue: GitHub.