Quickstart
From install to your first timeline and agent integration. Takes about five minutes.
Requires macOS (Apple Silicon or Intel), currently the only supported platform.
Install
brew install kentoshimizu/tap/zaneiThe formula installs a signed, notarized Zanei.app and puts the zanei command on your PATH.
Start recording
zanei startmacOS asks for Accessibility first; an Input Monitoring dialog may follow, but on many
systems it never appears. In that case run zanei doctor --fix, which opens the pane, copies the
installed Zanei.app path, and reveals the app in Finder so you can add it with +. While a
permission is missing, start exits with code 3 and the recorder keeps running so you can grant
it. Chrome Automation is a separate dialog that appears the first time Zanei contacts Chrome.
Restart and choose content capture
After granting, restart so the recorder picks up the decision:
zanei stop && zanei startThe first fully-granted interactive start asks once whether to record typed text and clipboard
contents. Press Enter to keep it off (the default) or type y; the answer is saved to
config.toml, and zanei config set capture.text_content <true|false> changes it later. Confirm
with the recorder’s own report, which is authoritative even when a System Settings row is
missing (details in the permissions guide):
zanei doctorRecording the Accessibility text shown in the frontmost window is a separate opt-in and stays off
by default. First narrow [filter.content_snapshot] with include_only_apps / include_only_websites
(use zanei apps to choose apps), then run zanei config set capture.content_snapshot true; it shows
the current scope and asks for confirmation (see configuration and filters).
Get your first timeline
Work normally for a bit, then pull up your recent history:
zanei timeline --since 15mYou get a Markdown timeline, split into sessions and deduplicated. This is the same form agents consume. For raw events, use zanei query --since 15m instead (see retrieving data).
Connect your agent (optional)
Place the skill file for your agent and print its MCP registration command:
zanei setup --agent claudeFrom now on, telling your agent “check what I was just working on and continue” lets it restore context from the timeline. See agent integration for supported agents and details.
Recording defaults
- Data is stored in a local SQLite database (
~/.local/state/zanei/store.sqlite) and is not sent anywhere. - Keystroke content is recorded only if you opted in at first start (default no;
zanei config set capture.text_content <true|false>changes it). - Text shown in the frontmost window (content snapshots) is a separate opt-in and is not recorded by
default; enable it with
zanei config set capture.content_snapshot true. - Events are deleted automatically after 48 hours by default (configurable in settings).
- Apps and sites you don’t want recorded can be excluded before they are written with filters; typed-text capture and content snapshots also accept their own per-app and per-site scopes there.