diff --git a/package.json b/package.json index c537a0b..76cbe1e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@clawnify/clawflow", - "version": "0.9.6", + "version": "0.9.7", "description": "The n8n for agents. A declarative, AI-native workflow format that agents can read, write, and run.", "type": "module", "main": "./dist/index.js", diff --git a/src/core/serve.ts b/src/core/serve.ts index 10180a2..6eb9312 100644 --- a/src/core/serve.ts +++ b/src/core/serve.ts @@ -174,6 +174,17 @@ export function startWebhookServer(opts: WebhookServerOpts): http.Server { activeServer = server; + server.on("error", (err: NodeJS.ErrnoException) => { + if (err.code === "EADDRINUSE") { + log.warn( + `[clawflow] port ${serve.port} already in use — skipping webhook server (another clawflow instance likely owns it)`, + ); + activeServer = null; + return; + } + log.error(`[clawflow] webhook server error: ${err.message}`); + }); + server.listen(serve.port, () => { log.info( `[clawflow] webhook server listening on :${serve.port}${basePath}/:flowName/webhook`,