Skip to main content
want the fastest path? see the 5-minute quickstart →

desktop app or CLI?

chooseif you want
desktop appvisual timeline, pipes, connections, chat, settings, and guided permissions
CLIfree local recording, REST API access, and terminal-first workflows
download the desktop app and follow the installation instructions. works on macOS, Windows, and Linux. the app manages recording, settings, search, pipes, and AI connections — no terminal needed.

CLI

npx -y screenpipe@latest record
this starts the screenpipe daemon in the background and continuously records your screen. data is stored in ~/.screenpipe/ on your local machine.

troubleshooting: “npx -y screenpipe@latest record” not working

if the command fails, try these fixes in order: unsupported platform:
node -p "process.platform + '-' + process.arch"
if the output is not darwin-arm64, darwin-x64, linux-x64, or win32-x64, your platform is not supported. missing platform package (macOS/Windows/Linux):
npx -y screenpipe@latest --version
the CLI needs the platform-specific binary. re-running with npx -y screenpipe@latest pulls a fresh copy. macOS: binary blocked by Gatekeeper: if you see “app is damaged” or “permission denied”, run:
xattr -d com.apple.quarantine ~/.npm/_npx/*/node_modules/screenpipe*/bin/screenpipe
or use the desktop app instead — it handles permissions automatically. Linux: missing system libraries:
sudo apt install libasound2-dev ffmpeg  # ubuntu/debian
sudo dnf install alsa-lib ffmpeg         # fedora
Windows: .NET runtime missing: the screenpipe installer includes .NET, but if you’re using the CLI only, install .NET 8.0. port 3030 already in use: if screenpipe is already running, the CLI will fail to bind. check for existing processes:
lsof -i :3030     # macOS/Linux
netstat -ano | findstr :3030  # Windows
still stuck? ask in Discord.

suppress CLI reminders (optional)

when running npx -y screenpipe@latest record, the CLI prints a friendly reminder every 5 minutes to download the desktop app. if you prefer to run the CLI silently, disable the reminders:
SCREENPIPE_NO_REMINDERS=1 npx -y screenpipe@latest record
or set it once in your shell:
export SCREENPIPE_NO_REMINDERS=1
npx -y screenpipe@latest record

access your recorded timeline

after starting the CLI, you have three ways to access your screen history:
  1. Desktop app (easiest) — download the screenpipe app for a visual timeline and built-in search
  2. REST API — query recorded content directly via curl or code (see below)
  3. AI assistants — connect Claude, Cursor, or other tools via MCP

verify it’s running

once screenpipe starts, it serves an API on localhost:3030:
# check health
curl http://localhost:3030/health

# search your screen history
curl "http://localhost:3030/search"
if you’ve enabled API auth in settings, add -H "Authorization: Bearer <your-api-key>" to these requests. by default the local API needs no auth.

check and update your version

to ensure you’re running the latest version:
# check your current version
npx -y screenpipe@latest --version
to update to the latest version, just run with @latest — it always pulls the newest release:
npx -y screenpipe@latest record
the latest version is always available at npm. if you’re on an older version, you’ll see a warning when you run npx -y screenpipe@latest record.

API authentication (if enabled)

by default the local API on localhost:3030 needs no auth. if you’ve turned on API auth in settings, get your key by running:
npx -y screenpipe@latest auth token
then use it in curl:
curl "http://localhost:3030/search?q=example" \
  -H "Authorization: Bearer <your-api-key>"
or set it as an environment variable:
export SCREENPIPE_API_KEY=$(npx -y screenpipe@latest auth token)
curl "http://localhost:3030/search?q=example" \
  -H "Authorization: Bearer $SCREENPIPE_API_KEY"

connect to AI

screenpipe works with any AI that supports MCP or HTTP APIs. the fastest path is one command — it installs the screenpipe skills and registers the MCP server for your agent:
npx -y screenpipe@latest agent setup <target>
where <target> is one of openclaw, hermes, claude-code, claude-desktop, codex, cursor, or windsurf. add --api-url <URL> if screenpipe runs on another machine. prefer to wire it up manually? here’s where each tool plugs in:
integrationhow
claude desktopadd screenpipe as MCP server (guide)
cursoradd screenpipe MCP to your project (guide)
claude codeuse screenpipe MCP or curl the API (guide)
ollamaconfigure in app settings, use any local model

what’s next?

browse pipes

see all available automations — day recap, standup, time tracking, and more

connect your AI

add screenpipe to Claude, Cursor, ChatGPT, or any AI tool

connect your apps

link Calendar, Google Docs, Notion, Obsidian for richer context

what can I do?

explore use cases — loop closing, meeting notes, time tracking, and more

API recipes

copy-paste local API workflows for search, meetings, speakers, frames, and retention
download screenpipe →