Creates a virtual stereo input device that captures all system audio output, making it available to macOS screen recording — no Audio Server Plugin installation required.
macOS screen recording captures from input devices, not output devices. loopback bridges that gap by tapping all system audio output and re-presenting it as a named stereo input device.
- macOS 14.2+
- Rust toolchain
Install with make install, then run by name:
loopback
Or run directly from the project without installing:
cargo run
The device becomes available system-wide while the process is running. Ctrl+C
removes it. The default device name is loopback. Run with --help to print
help message.
- Start loopback
- Open the screen recording picker (Cmd+Shift+5)
- Select the device name from "Use audio from"
- Record — audio will be a stereo mix of all system audio output
Uses two macOS APIs:
AudioHardwareCreateProcessTap(macOS 14.2+) — global stereo tap that captures all process audio system-wide, regardless of which output device or channel each process usesAudioHardwareCreateAggregateDevice— wraps the tap in a public aggregate device so screen recording can enumerate and select it by name
The tap is CATapUnmuted, so the source audio continues playing normally.