paperclipai/paperclip · error · Error

server.customBindHost is required when server.bind=custom

Error message

server.customBindHost is required when server.bind=custom

What it means

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.

Source

Thrown at server/src/config.ts:306

    workspaceReaperCooldownDaysEnv
      && Number.isFinite(workspaceReaperCooldownDaysRaw)
      && workspaceReaperCooldownDaysRaw >= 0
      ? workspaceReaperCooldownDaysRaw
      : 7;
  const bindValidationErrors = validateConfiguredBindMode({
    deploymentMode,
    deploymentExposure,
    bind,
    host: configuredHost,
    customBindHost,
  });
  if (bindValidationErrors.length > 0) {
    throw new Error(bindValidationErrors[0]);
  }
  const resolvedBind = resolveRuntimeBind({
    bind,
    host: configuredHost,
    customBindHost,
    tailnetBindHost,
  });
  if (resolvedBind.errors.length > 0) {
    throw new Error(resolvedBind.errors[0]);
  }

  return {
    deploymentMode,
    deploymentExposure,
    bind: resolvedBind.bind,
    customBindHost: resolvedBind.customBindHost,
    host: resolvedBind.host,
    port: Number(process.env.PORT) || fileConfig?.server.port || 3100,
    allowedHostnames,
    authBaseUrlMode,
    authPublicBaseUrl,
    authDisableSignUp,
    databaseMode: fileDatabaseMode,

View on GitHub (pinned to 01ad858492)

Solutions

  1. Set server.customBindHost in the config when using server.bind=custom.
  2. Choose a different server.bind mode if a custom host is not needed.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/config.ts:301 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18). Data as JSON: /api/errors/8bdc7776f843e3d0. Report an issue: GitHub.