wrec docs
The most efficient screen recorder for mac.
Wrec records displays or windows with a native ScreenCaptureKit pipeline,
writes hardware-encoded .mov files, and gives you both a small GPUI
app and a JSON-friendly wrec CLI built for scripts and coding agents.
Automating wrec? The agent docs are the operating contract. Curious how it works? See architecture and configuration.
The flow
-
Pick a target —
wrec targets --jsonlists displays and windows. The app shows the same list. - Submit a job — the app or CLI sends the recording job to a local daemon over a Unix socket. One job records at a time; extras queue.
-
Capture — the daemon spawns a native capture engine (ScreenCaptureKit
→ AVAssetWriter) that writes a hardware-encoded
.mov. - Control the job — pause, resume, stop, or cancel from either client. Every state change streams as a JSON job event.
-
Collect the file — recordings land in
~/Movies/<app name>. History and metrics go to SQLite, kept separate from the media files.
Install
The CLI for terminals, scripts, and agents installs with:
curl -fsSL https://wrec.app/install | shThe app is downloadable from GitHub Releases. Release builds are not notarized yet, so macOS blocks the first launch of the app. Clear the quarantine recursively and reopen:
xattr -dr com.apple.quarantine /Applications/Wrec.appRequirements
- macOS 15+ — Apple Silicon is the primary target.
- Screen Recording permission — for the app, or for the terminal running the CLI.
- Audio Recording permission — only when system audio capture is enabled.
- Microphone permission — only when microphone capture is enabled.
Run it from source
cargo build -p daemon --bin daemon # optional, makes first start faster
cargo run -p app # the GPUI app
cargo run -p cli -- targets --json # the CLIRequires full Xcode (for GPUI shader compilation and the Swift capture engine). See CONTRIBUTING.md for the full development setup.