paperclipai/paperclip · error · Error
Unsupported bind preset for onboard
Error message
Unsupported bind preset for onboard: ${opts.bind}. Use loopback, lan, or tailnet. What it means
quickstartDefaultsFromEnv rejected the --bind option because onboard only supports the loopback, lan, and tailnet bind presets.
Solutions
- Pass --bind with one of: loopback, lan, tailnet.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/commands/onboard.ts:354 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@5716fe907e (2026-08-18).
Data as JSON: /api/errors/60666289644b54eb.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/onboard.ts:354
});
}
if (deploymentMode === "local_trusted" && process.env.PAPERCLIP_BIND !== undefined) {
ignoredEnvKeys.push({
key: "PAPERCLIP_BIND",
reason: "Ignored because deployment mode local_trusted always uses loopback reachability",
});
}
if (deploymentMode === "local_trusted" && process.env.PAPERCLIP_BIND_HOST !== undefined) {
ignoredEnvKeys.push({
key: "PAPERCLIP_BIND_HOST",
reason: "Ignored because deployment mode local_trusted always uses loopback reachability",
});
}
if (deploymentMode === "local_trusted" && process.env.HOST !== undefined) {
ignoredEnvKeys.push({
key: "HOST",
reason: "Ignored because deployment mode local_trusted always uses loopback reachability",
});
}
const ignoredKeySet = new Set(ignoredEnvKeys.map((entry) => entry.key));
const usedEnvKeys = ONBOARD_ENV_KEYS.filter(
(key) => process.env[key] !== undefined && !ignoredKeySet.has(key),
);
return { defaults, usedEnvKeys, ignoredEnvKeys };
}
function canCreateBootstrapInviteImmediately(config: Pick<PaperclipConfig, "database" | "server">): boolean {
return config.server.deploymentMode === "authenticated" && config.database.mode !== "embedded-postgres";
}
export function isEphemeralNpxExecution(entrypoint = process.argv[1]): boolean {
if (!entrypoint) return false;
const normalized = entrypoint.replaceAll("\\", "/");
return normalized.includes("/_npx/") || normalized.includes("/npm/_npx/");
}View on GitHub (pinned to 5716fe907e)