chenhg5/cc-connect · error
launchctl bootstrap: %s (%w)
Error message
launchctl bootstrap: %s (%w)
What it means
launchd Install wraps launchctl bootstrap failure including launchd's output: the plist was written but could not be loaded into the domain (commonly the asynchronous 'Bootstrap failed: 5' race or wrong GUI/headless domain).
Source
Thrown at daemon/launchd.go:72
bootoutLaunchdTargets()
plist := buildPlist(cfg)
// 0600: plist may contain captured secret values (config.toml ${ENV}
// placeholders and any EnvDiscoverer extension output). User-only
// LaunchAgents path; root can still read but that is the user's own
// machine boundary. os.WriteFile only applies perm on create, so
// Chmod afterwards is required to harden reinstalls of files that
// pre-existed at 0644 from earlier cc-connect versions.
if err := os.WriteFile(plistPath, []byte(plist), 0600); err != nil {
return fmt.Errorf("write plist: %w", err)
}
if err := os.Chmod(plistPath, 0600); err != nil {
return fmt.Errorf("chmod plist: %w", err)
}
domain := preferredLaunchdDomain()
if out, err := runLaunchctl("bootstrap", domain, plistPath); err != nil {
return fmt.Errorf("launchctl bootstrap: %s (%w)", out, err)
}
if _, err := runLaunchctl("kickstart", "-kp", launchdTarget(domain)); err != nil {
return fmt.Errorf("launchctl kickstart: %w", err)
}
return nil
}
func (m *launchdManager) Uninstall() error {
bootoutLaunchdTargets()
plistPath := launchdPlistPath()
if err := os.Remove(plistPath); err != nil && !os.IsNotExist(err) {
return fmt.Errorf("remove plist: %w", err)
}
return nil
}
View on GitHub (pinned to 4000b2338a)
Solutions
- Re-run install; it is idempotent after bootout
- Validate the plist with plutil and confirm the correct launchd domain
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at daemon/launchd.go:72 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06).
Data as JSON: /api/errors/524b411e0b29f1b0.
Report an issue: GitHub.