A private screen history with search for macOS.
Download the latest Screenlogger
macOS 14 or later. Universal, Developer ID signed, and notarized by Apple.
Screenlogger captures screens at an interval that you choose. It recognizes visible text on this Mac. Library search and Timeline navigation let you return to a captured moment. Capture and search stay on your Mac.
- Search recognized text, applications, websites, and dates.
- Find screens by appearance with optional local image search on Apple silicon.
- Capture every connected display as one synchronized moment.
- Transcribe microphone and computer audio on this Mac with macOS 26 or later.
- Open Library results in Timeline to see nearby activity.
- Select a session once to see its details and preview. Open Timeline when you need more context.
- Pause capture at any time.
- Exclude applications or websites from capture.
- Manage Library storage with retention, compression, backup, and restore.
- Search from Terminal with the
screenlogcommand. - Send a reviewed search request to Claude Code, Codex, Cursor, Grok Build, or OpenClaw.
- Install signed updates from the app. Automatic update checks are off by default.
Screenshots use sample activity generated by the UI test fixture.
Screenlogger requires macOS 14 or later.
- Download the latest DMG.
- Open the DMG.
- Drag Screenlogger into Applications.
- Open Screenlogger from Applications.
- Follow Setup to allow Screen Recording and Accessibility. Screenlogger requires both permissions for capture and exclusions.
- Choose Start Capture.
See Installation for detailed first-run and removal instructions.
Meaning search is off by default and requires Apple silicon. Choose Images, Text, or Images and text in Settings under Search. Approve the model download before you enable it. Use Meaning in Library search to find captured content by description. Words search still works without a model. Use it for names, commands, and error codes. Meaning requires a description and at least one indexed source; it returns to Words when its models or index become unavailable. Screens searches enabled image and screen-text sources; Transcripts requires Text or Images and text. Changing enabled sources invalidates earlier Meaning requests and refreshes results for the active search mode. App, website, and date filters can be chosen before typing and remain in place as you edit the description. Search settings also contains indexing progress, pause/resume, and model or index removal. Storage settings remains the place for retention, backups, and disk-space reclamation.
Search and Sessions retain separate selections. Show in Sessions opens the result's containing session without clearing the search; a delayed session lookup never replaces a newer navigation choice. Back to Library returns to Sessions after opening one of its sampled moments; only an explicit Find command switches to Search for text entry.
Screenlogger owns the native encoder code. It uses Apple MLX and Hugging Face Tokenizers, not a model wrapper or llama.cpp. Model processing stays on this Mac. See Performance for storage costs and measurement limits.
Screenlogger stores the Library here:
~/Library/Application Support/dev.screenlog/
Screen capture, text recognition, indexing, search, and optional audio transcription run on this Mac. Audio transcription is off by default. It requires macOS 26 or later. Screenlogger stores final transcript text but does not keep audio.
Website icon downloads are off by default. Keep Screenlogger Offline also disables these downloads. A search request to an assistant contains only the search words and visible filters. The selected assistant may send retrieved content to its AI provider.
Read Privacy for permission, storage, exclusion, network, and assistant boundaries.
Install the Terminal command from Screenlogger Settings. Keep the app open when you use these commands:
screenlog doctor
screenlog search "design review"
screenlog digest --since 30d --json
screenlog recent --limit 20
screenlog --helpThe app controls database access. The CLI uses a local connection with data limits. It never opens the Library database directly. See CLI and Assistant integrations.
Full Xcode with Swift 6.3 or later and the Metal toolchain is required.
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
Scripts/xcodegen.sh generate
swift test
Scripts/build.shXcodeGen generates the included Xcode project from project.yml.
CI checks that the generated project matches this file.
- Installation
- Privacy
- CLI
- Assistant integrations
- Architecture
- Development
- Performance
- Backup and restore
- Troubleshooting
- Release process
- Interface style
Read CONTRIBUTING.md before you submit a change. Report security issues as SECURITY.md specifies.
Screenlogger is available under the MIT License. See LICENSE and THIRD_PARTY_NOTICES.md.


