paperclipai/paperclip · warning
No Tailscale address was detected during setup. The saved co
Error message
No Tailscale address was detected during setup. The saved config will stay on loopback until Tailscale is available or PAPERCLIP_TAILNET_BIND_HOST is set.
What it means
During `paperclipai onboard --bind tailnet`, buildPresetServerConfig('tailnet', ...) tries to detect the machine's Tailscale address; when detection finds none it falls back to host 127.0.0.1 (isLoopbackHost(preset.server.host) is then true) and warns that the saved config stays on loopback until Tailscale is available or PAPERCLIP_TAILNET_BIND_HOST is set. Server reachability will not match the chosen 'tailnet' mode.
Source
Thrown at cli/src/commands/onboard.ts:545
);
} else {
const setupModeChoice = await p.select({
message: "Choose setup path",
options: [
{
value: "quickstart" as const,
label: "Quickstart",
hint: "Recommended: local defaults + ready to run",
},
{
value: "advanced" as const,
label: "Advanced setup",
hint: "Customize database, server, storage, and more",
},
],
initialValue: "quickstart",
});
if (p.isCancel(setupModeChoice)) {
p.cancel("Setup cancelled.");
return;
}
setupMode = setupModeChoice as SetupMode;
}
const tc = getTelemetryClient();
if (tc) trackInstallStarted(tc);
let llm: PaperclipConfig["llm"] | undefined;
const { defaults: derivedDefaults, usedEnvKeys, ignoredEnvKeys } = quickstartDefaultsFromEnv({
preferTrustedLocal: opts.yes === true && !opts.bind,
});
let {
database,
logging,
server,
auth,View on GitHub (pinned to 5716fe907e)
Solutions
- Install/start Tailscale and authenticate (tailscale up), verify `tailscale ip -4` prints an address, then re-run onboard (or configure) with --bind tailnet.
- Alternatively pre-set the bind host: export PAPERCLIP_TAILNET_BIND_HOST=<your-tailscale-ip> before onboarding.
- If you intended local-only access, keep the loopback result or re-run with --bind loopback to remove the mismatch.
Example fix
# before $ paperclipai onboard --bind tailnet ! No Tailscale address was detected during setup. ... # after $ tailscale up # authenticate, then verify $ tailscale ip -4 100.64.0.5 $ paperclipai onboard --bind tailnet # preset now binds 100.64.0.5
Defensive patterns
Strategy: validation
Validate before calling
import { execFileSync } from "node:child_process";
let tailscaleIp: string | null = null;
try { tailscaleIp = execFileSync("tailscale", ["ip", "-4"], { encoding: "utf8" }).trim(); } catch {}
if (!tailscaleIp && !process.env.PAPERCLIP_TAILNET_BIND_HOST) {
// don't pick tailnet preset yet — it will silently fall back to loopback
} Prevention
- Ensure `tailscale ip -4` returns an address before choosing --bind tailnet.
- Pin the bind host explicitly with PAPERCLIP_TAILNET_BIND_HOST on hosts where detection is unreliable.
- After onboarding, verify server.host in the saved config actually matches the tailscale IP.
When it happens
Trigger: Onboarding with --bind tailnet while Tailscale is not installed, not running (`tailscale status` down), or has no assigned IP, and PAPERCLIP_TAILNET_BIND_HOST is unset.
Common situations: Fresh VM without Tailscale yet; tailscaled stopped; tailnet account not authenticated; CI environment where the CLI flag was copied from docs.
Related errors
- No Tailscale address was detected during setup. The saved co
- Service management is not supported on ${platform}. Use pape
- Unknown config key ${warning.path}; did you mean ${warning.s
- Anthropic Managed Agents request failed with HTTP ${response
- Unable to inspect protocol eval history object: ${detail.sli
AI-assisted analysis of paperclipai/paperclip@5716fe907e (2026-08-18).
Data as JSON: /api/errors/762abf1c9bdc7e53.
Report an issue: GitHub.