switchkit inspect exports a migration plan JSON you can review before committing to the switch.$ switchkit inspect --plex-db com.plexapp.plugins.library.db [INFO] switchkit v0.1.3 — migration readiness inspector [INFO] Plex DB: com.plexapp.plugins.library.db (v500000000001.231) [INFO] GUID formats: legacy: 5000, modern: 12000 [INFO] Found 3 libraries: Movies (2,184), TV Shows (18,421 episodes), Music (3,809 items) [INFO] Found 2 regular Plex users: admin, sarah [WARN] guest: Plex managed user — standard Jellyfin accounts can be created instead [INFO] Watch states: 12,902 with external ID — 199 without external ID [INFO] Collections: 38 found [INFO] Custom artwork references: 156 found [INFO] Inspect complete. Plex DB was read-only. [INFO] Report saved to migration-plan.json [WARN] This file contains viewing history — do not share unredacted.
# Docker docker run --rm \ -v /path/to/plex/db:/plex:ro \ -v $(pwd):/output \ ghcr.io/switchkit-app/switchkit:v0.1.3 \ inspect --plex-db /plex/com.plexapp.plugins.library.db --output /output/plan.json # pip pip install git+https://github.com/switchkit-app/switchkit.git switchkit inspect --plex-db /var/lib/plex/db/com.plexapp.plugins.library.db
| Feature | Status | Notes |
|---|---|---|
| Watch history | Inspected | Matched by TMDB/IMDB/TVDb ID. Modern plex:// GUIDs supported. |
| Resume position | Inspected | Plex view_offset exported for Jellyfin conversion. |
| Ratings | Inspected | User star ratings exported 1:1. |
| User accounts | Inspected | Local + external users listed. Managed users flagged. |
| Collections | Inspected | Collection names and item memberships listed in plan. |
| Custom artwork | Inspected | Custom poster/background references detected. |
| Jellyfin write mode | Planned | In development. Dry-run only for now. |
| Smart collections | Not supported | Dynamic rules can't be statically exported. |
| Skip intro / credits | Not supported | Plex-specific feature. |
✓ Plex DB opened read-only (mode=ro)
✓ If Plex is running, database is copied to temp first
✓ No network calls — runs fully offline
✓ No account or credentials required
✓ Docker container runs as non-root user
✓ Output contains viewing history — do not share unredacted
AGPL-3.0. Inspect your library. Review the source. No paywall.
View on GitHubv0.1.3 · 35 tests · 6-round audited by Claude Opus, Gemini & ChatGPT