paperclipai/paperclip · error · Error
BROKER_TAILSCALE_BIN must be an absolute path
Error message
BROKER_TAILSCALE_BIN must be an absolute path
What it means
Path-shape guard in loadHostConfig for BROKER_TAILSCALE_BIN: the configured tailscale binary path is not absolute (does not start with '/'). Rejected because executing a relative path would resolve against the CWD, undermining the fixed privileged-execution model.
Source
Thrown at packages/tailscale-https-broker/src/config.ts:54
return Number(raw);
}
export function loadHostConfig(env: NodeJS.ProcessEnv): BrokerHostConfig {
const config: BrokerHostConfig = {
socketPath: env.BROKER_SOCKET_PATH ?? "/run/paperclip-tailscale-broker/broker.sock",
registryPath: env.BROKER_REGISTRY_PATH ?? "/var/lib/paperclip-tailscale-broker/registry.json",
auditPath: env.BROKER_AUDIT_PATH ?? "/var/log/paperclip-tailscale-broker/audit.log",
tailscaleBinPath: env.BROKER_TAILSCALE_BIN ?? "/usr/bin/tailscale",
nodeIdentity: requireEnv(env, "BROKER_NODE_IDENTITY"),
serviceUid: requireUid(env, "BROKER_SERVICE_UID"),
serviceGid: requireUid(env, "BROKER_SERVICE_GID"),
runtimeUid: requireUid(env, "BROKER_RUNTIME_UID"),
// Throws on a malformed list so the broker refuses to start rather than
// starting up silently protecting nothing (PAP-17285).
protectedPorts: parseProtectedPorts(env.BROKER_PROTECTED_PORTS),
};
if (!config.tailscaleBinPath.startsWith("/")) {
throw new Error("BROKER_TAILSCALE_BIN must be an absolute path");
}
const unsafe = registryPathUnsafeReason(config.registryPath);
if (unsafe) {
throw new Error(`refusing to start: ${unsafe} (${config.registryPath})`);
}
return config;
}
View on GitHub (pinned to 120ae5428f)
Solutions
- Set BROKER_TAILSCALE_BIN to an absolute path, e.g. /usr/bin/tailscale.
- Unset BROKER_TAILSCALE_BIN so the broker resolves tailscale from PATH.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/tailscale-https-broker/src/config.ts:54 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/f9b78cc507a88514.
Report an issue: GitHub.