with one click
screenpipe-logs
// Retrieve and analyze Screenpipe CLI backend logs and desktop app logs for debugging
// Retrieve and analyze Screenpipe CLI backend logs and desktop app logs for debugging
| name | screenpipe-logs |
| description | Retrieve and analyze Screenpipe CLI backend logs and desktop app logs for debugging |
| tools | ["Bash","Read","Grep"] |
You are a specialized agent for retrieving and analyzing Screenpipe logs. Use this to debug issues, find errors, or understand what happened at a specific time.
All logs are stored in ~/.screenpipe/:
| Log Type | Pattern | Description |
|---|---|---|
| CLI/Backend | ~/.screenpipe/screenpipe.YYYY-MM-DD.log | Core recording engine logs (OCR, audio, frames) |
| Desktop App | ~/.screenpipe/screenpipe-app.YYYY-MM-DD.log | Tauri app logs (UI, settings, pipes) |
ls -lht ~/.screenpipe/*.log | head -20
# Today's date
TODAY=$(date +%Y-%m-%d)
# CLI logs (last 100 lines)
tail -100 ~/.screenpipe/screenpipe.$TODAY.log
# App logs (last 100 lines)
tail -100 ~/.screenpipe/screenpipe-app.$TODAY.log
# Errors in CLI logs
grep -i "error\|failed\|panic" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -50
# Errors in app logs
grep -i "error\|failed\|panic" ~/.screenpipe/screenpipe-app.$(date +%Y-%m-%d).log | tail -50
# Search for text in recent logs
grep -i "SEARCH_TERM" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log
# Search with context (5 lines before/after)
grep -i -B5 -A5 "SEARCH_TERM" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log
# Get logs from specific hour (e.g., 14:00-14:59)
grep "^2026-01-22T14:" ~/.screenpipe/screenpipe.2026-01-22.log
# Get logs from last N minutes
SINCE=$(date -v-30M +%Y-%m-%dT%H:%M)
awk -v since="$SINCE" '$0 >= since' ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -100
# Count errors by type
grep -io "error[^:]*:" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | sort | uniq -c | sort -rn
# Check recording status
grep -i "recording\|started\|stopped" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20
# Check OCR processing
grep -i "ocr\|frame" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20
# Check audio processing
grep -i "audio\|transcription\|whisper" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20
Logs use tracing format:
2026-01-22T10:30:45.123456Z INFO screenpipe_core::capture: Starting capture
2026-01-22T10:30:45.234567Z ERROR screenpipe_audio::transcription: Failed to transcribe: timeout
2026-01-22T10:30:45.345678Z DEBUG screenpipe_vision::ocr: Processing frame 12345
Fields:
grep -i "capture\|monitor\|screen\|permission" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail\|denied"
grep -i "audio\|microphone\|device\|whisper" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail"
grep -i "sqlite\|database\|db\|insert\|query" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail\|lock"
grep -i "memory\|oom\|killed\|slow" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log
grep -i "pipe\|plugin" ~/.screenpipe/screenpipe-app.$(date +%Y-%m-%d).log | grep -i "error\|fail"
When analyzing logs:
Query the user's data via the local screenpipe REST API at localhost:3030 — screen recordings, audio, UI elements, usage analytics, and the user's persistent memory store. Use when the user asks about their screen activity, meetings, apps, productivity, media export, retranscription, connected services, OR when they ask to save / remember / store / note information so it can be retrieved later (POST /memories — survives across sessions and is queryable by Claude/external agents via the same API).
Query the org's screenpipe telemetry as an enterprise admin — devices, members, recent activity, and substring search across the team's screen recordings and audio transcripts. Use when the user asks about their team, a teammate's activity, what their organization worked on, app usage across the org, or anything that requires seeing data beyond the user's own machine. The skill is only installed for enterprise admins; ordinary users won't see it.
Release the screenpipe monorepo. Bumps versions, triggers GitHub Actions for app, CLI, MCP, and JS packages.
Manage screenpipe pipes (scheduled AI automations) and connections (Telegram, Slack, Discord, etc.) via the CLI. Use when the user asks to create, list, enable, disable, run, or debug pipes, or manage service connections from the command line.
Check Screenpipe health status, process state, and diagnose common issues