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

  1. Pick a targetwrec targets --json lists displays and windows. The app shows the same list.
  2. 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.
  3. Capture — the daemon spawns a native capture engine (ScreenCaptureKit → AVAssetWriter) that writes a hardware-encoded, incrementally recoverable .mov.
  4. 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.
  5. 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 | sh

The 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 sh

The 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.app

Requirements

Run it from source

cargo dev # package and launch the SwiftUI menu-bar app cargo run -p cli -- targets --json # run the agent-friendly CLI

Requires full Xcode for the Swift app and capture engine. See CONTRIBUTING.md for the full development setup.