{"record":{"id":"ec2340a14243b958","repo":"paperclipai/paperclip","slug":"runtime-service-identity-servicename-is-missi","errorCode":null,"errorMessage":"Runtime service \"${identity.serviceName}\" is missing command","messagePattern":"Runtime service \"(.+?)\" is missing command","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/workspace-runtime.ts","lineNumber":6205,"sourceCode":"): Promise<RuntimeServiceRecord | null> {\n  const runtimeProvisionCommand = asString(input.runtimeProvisionCommand, \"\").trim();\n  if (!runtimeProvisionCommand) return null;\n  const coordinator = input.provisionCoordinator ?? createRuntimeProvisionCoordinator();\n  if (coordinator.promise) {\n    await coordinator.promise;\n    return null;\n  }\n\n  const identity = resolveRuntimeServiceReuseIdentity({\n    service: input.service,\n    workspace: input.workspace,\n    agent: input.agent,\n    issue: input.issue,\n    adapterEnv: input.adapterEnv,\n    scopeType: input.scopeType,\n    scopeId: input.scopeId,\n  });\n  if (!identity.command) throw new Error(`Runtime service \"${identity.serviceName}\" is missing command`);\n  const provisioningRecord = createProvisioningRuntimeServiceRecord(input, identity);\n  await persistRuntimeServiceRecord(input.db, provisioningRecord);\n  if (input.onLog) {\n    await input.onLog(\n      \"stdout\",\n      `[service:${identity.serviceName}] provisioning runtime dependencies...\\n`,\n    );\n  }\n\n  try {\n    coordinator.promise = runRuntimeProvisionWithWorkspaceMutex(input);\n    await coordinator.promise;\n    provisioningRecord.status = \"starting\";\n    provisioningRecord.lastUsedAt = new Date().toISOString();\n    await persistRuntimeServiceRecord(input.db, provisioningRecord);\n    return provisioningRecord;\n  } catch (error) {\n    const nowIso = new Date().toISOString();","sourceCodeStart":6187,"sourceCodeEnd":6223,"githubUrl":"https://github.com/paperclipai/paperclip/blob/a7e689b3c35347b529cb9f54c9b9a8575a3dcab6/server/src/services/workspace-runtime.ts#L6187-L6223","documentation":"The runtime provision path resolved a service identity but the service definition carries no command to execute. Same missing-command guard as spawn, hit on the provision-coordinator reuse path when runtimeProvisionCommand is set.","triggerScenarios":"Thrown at server/src/services/workspace-runtime.ts:5748 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add a command for the runtime service in its configuration before starting it.","Remove the service entry if it is not meant to run."],"exampleFix":null,"handlingStrategy":"validation","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-14T05:17:10.506Z"}