Run:
headless-guard scan --explainIf a confirmed session appears, preview with headless-guard rescue --dry-run, then apply with headless-guard rescue --yes. The command will report whether a classified session reappeared.
Headless Guard does not have enough independent evidence to terminate it safely. Do not work around this with killall Chrome. If the process is known automation, submit a missed-detection report with redacted evidence.
The browser has a supervisor outside the detected tree. Stop retrying to avoid a kill loop. Inspect the launcher name, parent process, task runner, CI agent, editor integration, or long-running automation service. A recurring generic parent must be reviewed manually because it may own unrelated work.
Headless Guard handles one failure mode. Check:
- Chrome → Window → Task Manager for heavy ordinary tabs and extensions;
- Activity Monitor → Memory Pressure;
- virtual machines and containers;
- development servers, media applications, and Electron apps;
- swap usage after very long system uptime.
Do not infer that an empty Headless Guard list means system memory is healthy.
Version 0.1.0 is ad-hoc signed but not Apple-notarized. Right-click Headless Guard.app, choose Open, and confirm once. Building locally with make install is another option.
Launch-at-login registration works only from a correctly packaged .app. Do not run the raw HeadlessGuardApp executable from .build; use make app or the release archive.
headless-guard doctor
headless-guard scan --explainBefore posting output, remove usernames, project paths, target URLs, proxy credentials, tokens, and cookies. Command lines are sensitive.