Screenpipe screenpipe-logs
Retrieve and analyze Screenpipe CLI backend logs and desktop app logs for debugging
install
source · Clone the upstream repo
git clone https://github.com/screenpipe/screenpipe
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/screenpipe/screenpipe "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/screenpipe-logs" ~/.claude/skills/screenpipe-screenpipe-screenpipe-logs && rm -rf "$T"
manifest:
.claude/skills/screenpipe-logs/SKILL.mdsource content
Screenpipe Logs Agent
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.
Log Locations
All logs are stored in
~/.screenpipe/:
| Log Type | Pattern | Description |
|---|---|---|
| CLI/Backend | | Core recording engine logs (OCR, audio, frames) |
| Desktop App | | Tauri app logs (UI, settings, pipes) |
Common Commands
List Available Logs
ls -lht ~/.screenpipe/*.log | head -20
Get Today's Logs
# 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
Find Errors
# 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 Specific Issues
# 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
Filter by Time
# 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
Log Analysis
# 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
Log Format
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:
- Timestamp (ISO 8601 with microseconds)
- Level: TRACE, DEBUG, INFO, WARN, ERROR
- Target: module path
- Message
Common Issues to Look For
Recording Issues
grep -i "capture\|monitor\|screen\|permission" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail\|denied"
Audio Issues
grep -i "audio\|microphone\|device\|whisper" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail"
Database Issues
grep -i "sqlite\|database\|db\|insert\|query" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail\|lock"
Memory/Performance
grep -i "memory\|oom\|killed\|slow" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log
Pipe Issues
grep -i "pipe\|plugin" ~/.screenpipe/screenpipe-app.$(date +%Y-%m-%d).log | grep -i "error\|fail"
Response Guidelines
When analyzing logs:
- Start with the most recent errors/warnings
- Provide timestamp and context for issues found
- Suggest potential causes and fixes
- If logs are large, summarize patterns rather than dumping everything
- Note if screenpipe service appears to be running or stopped