{"record":{"id":"8bdc7776f843e3d0","repo":"paperclipai/paperclip","slug":"server-custombindhost-is-required-when-server-bind","errorCode":null,"errorMessage":"server.customBindHost is required when server.bind=custom","messagePattern":"server\\.customBindHost is required when server\\.bind=custom","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"server/src/config.ts","lineNumber":306,"sourceCode":"    workspaceReaperCooldownDaysEnv\n      && Number.isFinite(workspaceReaperCooldownDaysRaw)\n      && workspaceReaperCooldownDaysRaw >= 0\n      ? workspaceReaperCooldownDaysRaw\n      : 7;\n  const bindValidationErrors = validateConfiguredBindMode({\n    deploymentMode,\n    deploymentExposure,\n    bind,\n    host: configuredHost,\n    customBindHost,\n  });\n  if (bindValidationErrors.length > 0) {\n    throw new Error(bindValidationErrors[0]);\n  }\n  const resolvedBind = resolveRuntimeBind({\n    bind,\n    host: configuredHost,\n    customBindHost,\n    tailnetBindHost,\n  });\n  if (resolvedBind.errors.length > 0) {\n    throw new Error(resolvedBind.errors[0]);\n  }\n\n  return {\n    deploymentMode,\n    deploymentExposure,\n    bind: resolvedBind.bind,\n    customBindHost: resolvedBind.customBindHost,\n    host: resolvedBind.host,\n    port: Number(process.env.PORT) || fileConfig?.server.port || 3100,\n    allowedHostnames,\n    authBaseUrlMode,\n    authPublicBaseUrl,\n    authDisableSignUp,\n    databaseMode: fileDatabaseMode,","sourceCodeStart":288,"sourceCodeEnd":324,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/config.ts#L288-L324","documentation":"Bind-mode consistency error surfaced by validateConfiguredBindMode inside loadConfig: server.bind is set to 'custom' but server.customBindHost was not provided. Without a host there is nothing to bind to, so config load fails with this first validation error.","triggerScenarios":"Thrown at server/src/config.ts:301 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set server.customBindHost in the config when using server.bind=custom.","Choose a different server.bind mode if a custom host is not needed."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}