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 native SwiftUI
menu-bar 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, incrementally recoverable
.mov. - Control the job — pause, resume, stop, or cancel from either client. Stopping from macOS's purple sharing control follows the same safe finalization path. 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.
Clean stops finalize at the last written sample. The writer also commits ten-second movie fragments, so an abrupt process or machine failure preserves playable media through the last completed fragment.
Install
The native menu-bar app installs with:
curl -fsSL https://wrec.app/install-app | shThe CLI for terminals, scripts, and agents installs with:
curl -fsSL https://wrec.app/install | sh
Nightly is the optimized early-access channel for testing work from main. It is isolated from stable and installs as Wrec Nightly with the
wrec-nightly CLI:
curl -fsSL https://wrec.app/install-app | WREC_CHANNEL=nightly sh
curl -fsSL https://wrec.app/install | WREC_CHANNEL=nightly shThe app is also downloadable from GitHub Releases. Browser-downloaded release builds are not notarized yet, so macOS blocks their first launch. The install script is not affected; for a manually downloaded app, clear the quarantine recursively and reopen:
xattr -dr com.apple.quarantine /Applications/Wrec.appRequirements
- macOS 15+ on Apple Silicon — Intel Macs are not supported yet.
- Screen Recording permission — for Wrec, Wrec Nightly, or Wrec Dev. The matching CLI launches its app rather than asking for helper permission.
- Audio Recording permission — only when system audio capture is enabled.
- Microphone permission — only when microphone capture is enabled.
Run it from source
cargo dev # package and launch the SwiftUI menu-bar app
cargo run -p cli -- targets --json # run the agent-friendly CLIRequires full Xcode for the Swift app and capture engine. See CONTRIBUTING.md for the full development setup.