{"record":{"id":"5e71c0062bb954b7","repo":"paperclipai/paperclip","slug":"runtime-service-servicename-could-not-start-b-5e71c0","errorCode":null,"errorMessage":"Runtime service \"${serviceName}\" could not start because configured port ${conflictPort} is already being claimed by another managed start in this instance. Retry once that start settles, or configure a different port.","messagePattern":"Runtime service \"(.+?)\" could not start because configured port (.+?) is already being claimed by another managed start in this instance\\. Retry once that start settles, or configure a different port\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/workspace-runtime.ts","lineNumber":5810,"sourceCode":"      const ownerDescription = ownerCwd ? `pid ${ownerPid} (cwd: ${ownerCwd})` : `pid ${ownerPid} (cwd unavailable)`;\n      releasePortReservation(reservedPort);\n      if (ownerIsInWorkspace === false) {\n        throw new Error(\n          `Runtime service \"${serviceName}\" could not start because port ${conflictPort} has a cross-workspace port conflict with ${ownerDescription}; requested workspace: ${serviceCwd}. Stop the other service or configure a different port.`,\n        );\n      }\n      throw new Error(\n        `Runtime service \"${serviceName}\" could not start because port ${conflictPort} is already in use by ${ownerDescription}`,\n      );\n    }\n    // A configured port that is free right now can still be taken by a sibling workspace that\n    // is mid-start. Claiming it in-process makes the loser fail terminally here instead of\n    // silently racing to bind and then hanging on a readiness probe it can never satisfy.\n    // `conflictPort !== reservedPort` guards the port this start allocated for itself: we\n    // must not fail a start by colliding with our own reservation.\n    if (!claimRuntimeServiceBindPort(conflictPort, reservedPort)) {\n      releasePortReservation(reservedPort);\n      throw new Error(\n        `Runtime service \"${serviceName}\" could not start because configured port ${conflictPort} is already being claimed by another managed start in this instance. Retry once that start settles, or configure a different port.`,\n      );\n    }\n  }\n  const claimedIdentityPort = conflictPort && conflictPort !== reservedPort ? conflictPort : null;\n\n  const nowIso = new Date().toISOString();\n  const record: RuntimeServiceRecord = {\n    id: runtimeId,\n    companyId: input.agent.companyId,\n    projectId: input.workspace.projectId,\n    projectWorkspaceId: input.workspace.workspaceId,\n    executionWorkspaceId: input.executionWorkspaceId ?? null,\n    issueId: input.issue?.id ?? null,\n    serviceName,\n    status: \"starting\",\n    lifecycle,\n    scopeType: input.scopeType,","sourceCodeStart":5792,"sourceCodeEnd":5828,"githubUrl":"https://github.com/paperclipai/paperclip/blob/a7e689b3c35347b529cb9f54c9b9a8575a3dcab6/server/src/services/workspace-runtime.ts#L5792-L5828","documentation":"Error \"Runtime service \"${serviceName}\" could not start because configured port ${conflictPort} is already being claimed by another managed start in this instance. Retry once that start settles, or configure a different port.\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at server/src/services/workspace-runtime.ts:5498 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Wait for the other managed start to settle, then retry starting the service.","Configure a different port for \"${serviceName}\" to avoid the claim."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7e689b3c35347b529cb9f54c9b9a8575a3dcab6","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}