Local, always-on screen memory for macOS. Private. Open source. Agent-ready.
Rerun captures text visible on your screen and makes everything searchable — by keyword or meaning. No screenshots stored. No video. No cloud. Just text + context, instantly recallable.
Built for developers, power users, and knowledge workers who constantly think "I saw this somewhere..."
Rerun runs quietly in the background on your Mac. It reads text from the screen using macOS Accessibility APIs (with OCR as fallback), enriches it with metadata (app name, URL, window title, timestamp), and stores it locally in searchable Markdown files + a SQLite index.
# Search your screen memory
rerun search "stripe API endpoint"
# What was I looking at Tuesday afternoon?
rerun search "what was I doing Tuesday afternoon in Safari"
# Get structured output for scripts and AI agents
rerun search "database migration" --app Terminal --since 2d --jsonYour AI agents can also access your memory directly — just read ~/rerun/today.md or pipe rerun search output. No MCP server needed (though one is planned).
- 100% local. Nothing ever leaves your Mac. No cloud, no accounts, no telemetry.
- No screenshots or video. Only text + metadata. ~50MB/day, not 14-20GB/month like Rewind.
- Agent-first. Readable Markdown files at
~/rerun/. Any AI agent can consume your memory by reading files. - Open source (AGPL-3.0). Inspect the code. Verify the privacy claims. Contribute.
- Everything local is free. Capture, search, semantic search, summarization — all free. Paid cloud features (sync, team sharing) come later.
Early development. Not yet ready for general use. Follow @joshpigford for build-in-public updates.
rerun/
├── app/ # Swift package (daemon + CLI + core library)
├── website/ # Marketing site + blog (Astro)
├── docs/ # Build docs (research, implementation plans)
└── research/ # Deep research documents
- macOS 26+ (Tahoe)
- Apple Silicon
# Build + test
cd app && swift build
swift test
# Run the CLI
swift run rerun --help
# Run the default/profile daemon directly
swift run rerun-daemon
# Run the marketing site
cd website && npm install && npm run devRerun now supports parallel app identities plus parallel runtime profiles.
| App | Bundle ID | Default profile | Markdown home | State path |
|---|---|---|---|---|
Rerun.app |
com.rerun.app |
default |
~/rerun |
~/Library/Application Support/Rerun |
RerunDev.app |
com.rerun.dev |
dev |
~/rerun-dev |
~/Library/Application Support/Rerun-dev |
Why this exists:
Rerun.appandRerunDev.appcan run side-by-side.- Dev no longer shares DB, pid file, pause file, or captures with prod.
- macOS permissions are separate per bundle ID, so
RerunDev.appgets its own Accessibility + Screen Recording grants.
CLI-only custom profiles also work:
cd app
RERUN_PROFILE=qa swift run rerun config --jsonThat creates isolated state like ~/rerun-qa and ~/Library/Application Support/Rerun-qa.
Use the dev wrapper. It defaults to the dev profile and local launch target.
cd app
./dev.sh start
./dev.sh status --json
./dev.sh stopSmoke test:
cd app
./dev-smoke.shThat validates:
- dev profile selected
- daemon starts
- status sees the correct pid
- daemon stops cleanly
Build both app variants:
cd app
./bundle.sh allOr build one variant:
./bundle.sh prod
./bundle.sh devOutputs:
app/build/Rerun.appapp/build/RerunDev.app
Release bundle builds also compile mlx.metallib, embed it in Contents/MacOS/, sign the metallib, and sign the app with hardened runtime.
Install both:
cp -R app/build/Rerun.app /Applications/
cp -R app/build/RerunDev.app /Applications/RerunDev.app defaults to the dev profile automatically when launched from Finder or open.
For prod-bundle verification without touching your real default-profile data:
cd app
./bundle.sh prod
./build/Rerun.app/Contents/MacOS/Rerun --profile qaThen trigger chat and confirm a visible response before treating bundle changes as done.
rerun start supports explicit launch targeting:
cd app
swift run rerun start --target auto
swift run rerun start --target local
swift run rerun start --target installedResolution order for --target auto:
- Local app variant for the current profile (
Rerun.apporRerunDev.app) - Local
rerun-daemon - Installed app in
/Applications
This means local development no longer accidentally boots the installed production app first.
AGPL-3.0-or-later. See LICENSE for details.
Everything that runs on your Mac is free. Cloud features (sync, team sharing, hosted AI models) will be a paid subscription.