chenhg5/cc-connect · error
stop: %s (%w)
Error message
stop: %s (%w)
What it means
launchdManager.Stop tries bootout on every known launchd target (GUI, headless, per-label) and wraps the last failure with its output when none succeeded — the job could not be unloaded from any domain.
Source
Thrown at daemon/launchd.go:125
return fmt.Errorf("start: %s (%w)", out, err)
}
}
return nil
}
func (*launchdManager) Stop() error {
var lastOut string
var lastErr error
for _, target := range launchdTargets() {
out, err := runLaunchctl("bootout", target)
if err == nil {
return nil
}
lastOut = out
lastErr = err
}
if lastErr != nil {
return fmt.Errorf("stop: %s (%w)", lastOut, lastErr)
}
return nil
}
func (*launchdManager) Restart() error {
domain := preferredLaunchdDomain()
if loadedDomain, _, _, ok := loadedLaunchdTarget(); ok && domain != launchdGUIDomain() {
domain = loadedDomain
}
target := launchdTarget(domain)
bootoutLaunchdTargets()
plistPath := launchdPlistPath()
// launchd bootout is asynchronous; retry bootstrap with backoff
// to avoid "Bootstrap failed: 5" race condition.
var out string
var err errorView on GitHub (pinned to 4000b2338a)
Solutions
- Use launchctl print on the target to see the job's state
- Check for a crash-looping job launchd refuses to bootout
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at daemon/launchd.go:125 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/6a1ffdc3690e905e.
Report an issue: GitHub.