{"record":{"id":"352725337662be31","repo":"chenhg5/cc-connect","slug":"launchctl-kickstart-w","errorCode":null,"errorMessage":"launchctl kickstart: %w","messagePattern":"launchctl kickstart: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"daemon/launchd.go","lineNumber":76,"sourceCode":"\t// placeholders and any EnvDiscoverer extension output). User-only\n\t// LaunchAgents path; root can still read but that is the user's own\n\t// machine boundary. os.WriteFile only applies perm on create, so\n\t// Chmod afterwards is required to harden reinstalls of files that\n\t// pre-existed at 0644 from earlier cc-connect versions.\n\tif err := os.WriteFile(plistPath, []byte(plist), 0600); err != nil {\n\t\treturn fmt.Errorf(\"write plist: %w\", err)\n\t}\n\tif err := os.Chmod(plistPath, 0600); err != nil {\n\t\treturn fmt.Errorf(\"chmod plist: %w\", err)\n\t}\n\n\tdomain := preferredLaunchdDomain()\n\tif out, err := runLaunchctl(\"bootstrap\", domain, plistPath); err != nil {\n\t\treturn fmt.Errorf(\"launchctl bootstrap: %s (%w)\", out, err)\n\t}\n\n\tif _, err := runLaunchctl(\"kickstart\", \"-kp\", launchdTarget(domain)); err != nil {\n\t\treturn fmt.Errorf(\"launchctl kickstart: %w\", err)\n\t}\n\treturn nil\n}\n\nfunc (m *launchdManager) Uninstall() error {\n\tbootoutLaunchdTargets()\n\n\tplistPath := launchdPlistPath()\n\tif err := os.Remove(plistPath); err != nil && !os.IsNotExist(err) {\n\t\treturn fmt.Errorf(\"remove plist: %w\", err)\n\t}\n\treturn nil\n}\n\nfunc (*launchdManager) Start() error {\n\tif _, target, _, ok := loadedLaunchdTarget(); ok {\n\t\tout, err := runLaunchctl(\"kickstart\", \"-kp\", target)\n\t\tif err != nil {","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/chenhg5/cc-connect/blob/4000b2338aa6e850c99df54f8b0ed6ed7460b401/daemon/launchd.go#L58-L94","documentation":"During launchd Install, the launchctl kickstart command used to load/start the newly installed service failed. Wraps the exec error from running kickstart against the preferred launchd domain after the plist was written with 0600 perms.","triggerScenarios":"Thrown at daemon/launchd.go:76 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the service's stdout/stderr logs for the startup crash","Verify the binary path in the plist exists and is executable"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4000b2338aa6e850c99df54f8b0ed6ed7460b401","analyzedAt":"2026-09-06T11:45:09.575Z","contentChangedAt":"2026-09-06T11:45:09.575Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}