{"record":{"id":"0341639941e4e0c6","repo":"paperclipai/paperclip","slug":"service-management-is-not-supported-on-platform","errorCode":null,"errorMessage":"Service management is not supported on ${platform}. Use paperclipai run instead.","messagePattern":"Service management is not supported on (.+?)\\. Use paperclipai run instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"cli/src/onboard-service.ts","lineNumber":65,"sourceCode":"  options: OnboardServiceOptions,\n  dependencies: Partial<OnboardServiceDependencies> = {},\n): Promise<boolean> {\n  const deps = { ...defaultDependencies, ...dependencies };\n  if (options.installService === false) return false;\n\n  const explicitlyRequested = options.installService === true;\n  const canPrompt = options.yes !== true && deps.isInteractive();\n  if (!explicitlyRequested && !canPrompt) {\n    deps.info(\n      \"Background service not installed. Use `paperclipai onboard --install-service` or `paperclipai service install` to opt in.\",\n    );\n    return false;\n  }\n\n  const instanceId = resolvePaperclipInstanceId();\n  const detection = await deps.detect(instanceId);\n  if (!detection.supported) {\n    if (explicitlyRequested) deps.warn(detection.reason);\n    return false;\n  }\n\n  if (!explicitlyRequested && !(await deps.confirm())) return false;\n\n  await detection.manager.install({ startNow: true, startOnLogin: true });\n  if (!explicitlyRequested && detection.manager.enableLinger && await deps.confirmLinger()) {\n    await detection.manager.enableLinger();\n  }\n  deps.success(`Installed and started ${detection.manager.serviceName}.`);\n  return true;\n}\n","sourceCodeStart":47,"sourceCodeEnd":78,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/cli/src/onboard-service.ts#L47-L78","documentation":"During onboard service setup (or `paperclipai service install`), detectServiceManager maps platform -> service manager: darwin uses launchd, linux uses systemd --user. Any other platform (win32, freebsd, ...) returns { supported: false, reason: 'Service management is not supported on <platform>. Use paperclipai run instead.' }. The reason is warned only when --install-service was explicitly requested; otherwise install is silently skipped.","triggerScenarios":"Running `paperclipai onboard --install-service` (or service install) on Windows or any non-darwin/non-linux platform.","commonSituations":"Windows workstations; BSD hosts; trying the documented service flags on an OS the CLI does not manage services for.","solutions":["Run Paperclip in the foreground with `paperclipai run` as the message suggests.","Wrap `paperclipai run` in an OS-native supervisor (NSSM/Task Scheduler on Windows, pm2, docker restart policy).","Drop --install-service so the unsupported path is skipped instead of warned.","Run the server on a linux/darwin host if unattended service management is a requirement."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":"import type { ServiceManagerDetection } from \"./services/service-manager.js\";\nfunction isUnsupportedPlatform(d: ServiceManagerDetection): d is { supported: false; reason: string } {\n  return d.supported === false;\n}\n// usage\nconst detection = await detectServiceManager({ instanceId });\nif (isUnsupportedPlatform(detection)) {\n  // fall back to `paperclipai run` foreground or an OS-native supervisor\n}","tryCatchPattern":null,"preventionTips":["Check process.platform before offering --install-service in docs/scripts targeting multiple OSes.","Narrow the ServiceManagerDetection union on supported before touching detection.manager.","On unsupported platforms, plan for foreground runs or container restart policies from the start."],"tags":["cli","service","platform-support","onboard","windows"],"backgroundTag":"platform-not-supported","analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-08-22T14:17:55.899Z"}