Backups before hook writes
Every write to `~/.claude/settings.json` and `~/.codex/hooks.json` is preceded by a timestamped backup so users can inspect or restore prior settings.
ZackEyes is local-first by design. It connects Claude Code and Codex CLI events to the macOS notch through identifiable local hooks and a Unix socket bridge, while preserving the terminal workflow if the app is not running.
ZackEyes-managed hook entries are intended to be visible, reversible, and scoped to the integration files they need.
Every write to `~/.claude/settings.json` and `~/.codex/hooks.json` is preceded by a timestamped backup so users can inspect or restore prior settings.
Claude integration changes are limited to hook and status line entries. Codex integration uses `~/.codex/hooks.json` and does not need the CLI config file.
ZackEyes should never read or write `~/.codex/config.toml`. Hook installation should abort instead of guessing if a JSON file cannot be parsed safely.
ZackEyes-managed commands contain the literal string `zackeyes`, which makes them searchable in local hook files during audit or uninstall.
Every boundary above is enforced in code that lives in the open under the MIT license. Read the hook installer, the bridge, and the socket protocol yourself at github.com/yangshiqi/ZackEyes — no closed binary doing magic behind the scenes.
Agent hook events are normalized locally and sent to the macOS app over a Unix socket. The bridge is for local status, not a hosted dashboard.
If ZackEyes is closed or unavailable, controlled failures should write nothing to stdout, exits 0, and return control to Claude Code or Codex CLI.
Quit ZackEyes, remove hook entries containing `zackeyes`, and delete `~/.zackeyes` only when you want to clear local ZackEyes settings.
Use the public issue tracker for install problems, hook behavior, compatibility reports, security concerns, and requests for clearer controls.
Share your ZackEyes version, macOS version, Mac model, agent CLI, the observed hook file state, and reproduction steps.
GitHub Issues is the feedback channel for security model questions, bugs, feature requests, and workflow concerns.