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

  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 .mov.
  4. Control the job — pause, resume, stop, or cancel from either client. 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.

Install

The CLI for terminals, scripts, and agents installs with:

curl -fsSL https://wrec.app/install | sh

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

Requirements

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 CLI

Requires full Xcode (for GPUI shader compilation and the Swift capture engine). See CONTRIBUTING.md for the full development setup.