Skip to content

Add native macOS support with a launchd worker #9

Description

@ravhello

Motivation

The Python notifier is portable, but installation and durable rollout recovery currently support Windows Task Scheduler or Linux systemd only. macOS users therefore lack a supported continuous worker.

Scope

  • Add a macOS installer or safely generalize the POSIX installer.
  • Install a user LaunchAgent for the continuous worker.
  • Preserve CODEX_HOME and CODEX_SQLITE_HOME.
  • Match existing guarantees for private permissions, backups, rollback, idempotence, and unrelated-hook preservation.
  • Add macOS doctor, uninstall, troubleshooting, and CI coverage.

Acceptance criteria

  • Fresh install and upgrade work on a clean macOS user account.
  • Reinstalling preserves configuration and unrelated Codex hooks.
  • An unrelated LaunchAgent with the chosen label is never overwritten.
  • The worker starts after login and recovers a simulated missed hook using a local fake ntfy server.
  • Doctor, uninstall, and rollback are documented and tested.
  • Existing Windows/Linux CI remains green and a macos-latest job passes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions