Skip to main content

Overview

screenpipe is available as:
  1. Desktop app (recommended) - One-time purchase with auto-updates
  2. Build from source - For developers and contributors
The CLI package (npx screenpipe) has been discontinued. Use the desktop app instead.

System Requirements

Before installing, make sure your system meets these requirements:
PlatformMinimum Requirements
macOSmacOS 11+ (Big Sur or later), 8 GB RAM, ~10 GB disk space
WindowsWindows 10/11, 8 GB RAM, ~10 GB disk space
LinuxUbuntu 20.04+ or equivalent, 8 GB RAM, ~10 GB disk space
screenpipe uses ~5-10 GB disk space per month. Event-driven capture only stores frames when something changes, reducing storage by ~90% compared to continuous recording.

Desktop App Installation

1

Download

Visit screenpi.pe/onboarding and download the .dmg installer.Both Apple Silicon and Intel Macs are fully supported.
2

Install

  1. Open the downloaded .dmg file
  2. Drag screenpipe to your Applications folder
  3. Eject the disk image
3

Launch

  1. Open screenpipe from Applications
  2. If you see “screenpipe cannot be opened because it is from an unidentified developer”:
    • Go to System Settings > Privacy & Security
    • Scroll down to find “screenpipe was blocked from use”
    • Click “Open Anyway”
    • Confirm by clicking “Open”
4

Grant Permissions

screenpipe requires the following permissions:Screen Recording (Required)
  1. screenpipe will prompt for Screen Recording access
  2. Click “Open System Settings”
  3. Enable the toggle next to screenpipe
  4. Restart screenpipe
Accessibility (Required)
  1. Go to System Settings > Privacy & Security > Accessibility
  2. Click the + button and select screenpipe
  3. Enable the toggle next to screenpipe
Microphone (Optional)
  • Only needed if you want audio transcription
  • screenpipe will prompt when you enable audio capture
These permissions are required for screenpipe to function. Without Screen Recording and Accessibility access, the app cannot capture your screen or extract text.
5

Verify Installation

After granting permissions:
  1. Click the screenpipe icon in the menu bar
  2. Select “Start Recording”
  3. Use your computer for a minute
  4. Open the timeline view to see your captured activity

macOS-Specific Notes

  • Dev builds: If you’re building from source, dev builds are signed with a developer certificate for consistent permissions. Other devs without the cert will see permission issues—the onboarding has a “continue anyway” button after 5s.
  • Data location: All data is stored in ~/.screenpipe/
  • Uninstall: Drag screenpipe from Applications to Trash, then delete ~/.screenpipe/ to remove all data

Build from Source

For developers and contributors who want to build screenpipe from source:
1

Install dependencies

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install system dependencies via Homebrew
brew install pkg-config ffmpeg jq cmake wget git-lfs
Install Xcode (required):
  • Download from the App Store
  • Accept the license and run first launch:
sudo xcodebuild -license
xcodebuild -runFirstLaunch
Xcode command line tools alone are insufficient. You need the full Xcode app.
2

Install Bun

curl -fsSL https://bun.sh/install | bash
screenpipe uses Bun (not npm or pnpm) for JavaScript/TypeScript development.
3

Clone and build

# Clone the repository
git clone https://github.com/screenpipe/screenpipe
cd screenpipe

# Build the core engine
cargo build --release --features metal,apple-intelligence

# Run the engine
./target/release/screenpipe
The metal feature enables GPU acceleration on Apple Silicon, and apple-intelligence enables on-device AI processing.
4

Build the desktop app (optional)

cd apps/screenpipe-app-tauri
bun install
bun tauri build --features metal,apple-intelligence
The built app will be in apps/screenpipe-app-tauri/src-tauri/target/release/bundle/.

Running from Source

After building from source:
# Run with default settings
./target/release/screenpipe

# Run on a different port
./target/release/screenpipe --port 3035

# Use a different data directory (useful for testing)
./target/release/screenpipe --data-dir /tmp/sp
When running dev builds alongside production, use --port and --data-dir flags to avoid conflicts.

Data Storage

screenpipe stores all data locally in these locations:
PlatformLocation
macOS~/.screenpipe/
Windows%APPDATA%\screenpipe\
Linux~/.screenpipe/
The data directory contains:
~/.screenpipe/
├── db.sqlite              # SQLite database (metadata, text, audio)
├── data/                  # Screenshot snapshots
│   ├── 2026-03-08/       # Organized by date
│   │   ├── 1709884800000_m0.jpg
│   │   ├── 1709884803000_m0.jpg
│   │   └── ...
│   └── 2026-03-09/
└── pipes/                 # Pipe configurations (AI agents)
To back up your data, simply copy the entire .screenpipe directory. To reset, delete it and restart the app.

Verification

After installation, verify screenpipe is working:
1

Check the health endpoint

Open your browser and visit:
http://localhost:3030/health
You should see:
{
  "status": "ok",
  "version": "1.x.x"
}
2

Start recording and test search

  1. Start recording in the app
  2. Use your computer for a few minutes
  3. Try a search query:
curl "http://localhost:3030/search?q=test&limit=5"
3

Check resource usage

  • CPU: Should be 5-10% during active use
  • RAM: Should be 0.5-3 GB
  • Disk: Check ~/.screenpipe/data/ for snapshots

Troubleshooting

If recording isn’t working:
  1. Go to System Settings > Privacy & Security > Screen Recording
  2. Remove screenpipe from the list
  3. Quit and restart screenpipe
  4. Grant permissions again when prompted
Dev builds require the developer certificate for consistent permissions. If you’re building from source without the cert, you may need to grant permissions after each rebuild.
If the API isn’t accessible:
  1. Open Windows Security > Firewall & network protection
  2. Click “Allow an app through firewall”
  3. Find screenpipe and ensure both Private and Public are checked
  4. Restart screenpipe
If you get build errors:
# Check for missing packages
pkg-config --list-all | grep -E 'tesseract|pipewire|sdl2'

# Install any missing dependencies
sudo apt-get install -y libtesseract-dev libpipewire-0.3-dev libsdl2-dev
If you encounter migration errors when building from source:
# Remove problematic migration
sqlite3 ~/.screenpipe/db.sqlite "DELETE FROM _sqlx_migrations WHERE version = XXXXXXXXXX;"

# Or reset completely (backup first!)
mv ~/.screenpipe/db.sqlite ~/.screenpipe/db.sqlite.backup
If storage is growing too fast:
  • Lower capture sensitivity in settings (Low uses ~5 GB/month)
  • Reduce the number of monitors being captured
  • Set up automatic cleanup (Settings > Storage > Auto-delete after X days)

Uninstalling

  1. Quit screenpipe (right-click menu bar icon > Quit)
  2. Drag screenpipe from Applications to Trash
  3. Delete data directory:
rm -rf ~/.screenpipe
  1. Revoke permissions (optional):
    • System Settings > Privacy & Security > Screen Recording > Remove screenpipe
    • System Settings > Privacy & Security > Accessibility > Remove screenpipe

Next Steps

Quickstart

Learn how to use screenpipe in 5 minutes

Architecture

Understand how screenpipe works

API Reference

Explore the REST API

Join Discord

Get help from the community

Build docs developers (and LLMs) love