Tools contains focused maintenance actions. Create and verify a backup before any action that can change or delete local state.
Reopen Onboarding
Use Reopen Onboarding in the Tools page header to return to the resumable first-run configuration flow. Restore-from-backup is a separate Settings → Restore page so recovery scope stays visible on its own.
Database Repairs

Database Repairs contains confirmed tools for repairing derived or duplicate data:
- Repair History Rows fills missing media types and resolvable poster data.
- Audit Phantom Watches finds suspicious duplicate or malformed imported episode rows.
- Remove Duplicate Watches removes extra current watch dates after you review the count.
- Restore Missing Episode Names checks episode records and fills a missing name when provider metadata supplies one.
- Watch-State Aliases lists episode watch states the automatic repair could not tie to their show, including title-only entries and newer entries that conflict with a show’s watch state. See Watch-State Aliases.
- Repair Split Episode Shows moves Emby or Jellyfin watches stored under an episode’s own IDs back onto their show. See Repair Split Episode Shows.
The episode-name audit distinguishes resolved rows, retryable metadata failures, and episodes verified by the metadata source as No title provided. Repairs can change the rows used by History, TV progress, and Stats. Check those views and destination telemetry afterward.
Watch-State Aliases
Duplicate episode watch states are matched to their show automatically through TMDB, TVDB, and the show’s own IMDb or TVDB id. Select Check Watch-State Aliases to list the ones no lookup could place, grouped by show with the reason for each. The list can also include entries stored by title alone and a newer entry whose watched/unwatched state conflicts with the show’s row. Review the reason and available show identity before choosing an action:
- Belongs to this show moves the entries into the selected show, keeping the newest watch state.
- Different show leaves the entries unchanged and stops them being listed or moved again. They appear in Dismissed; choose Restore for review to return them to the active list.
Only Plekt’s own watch state changes; nothing is sent to connected platforms.
Repair Split Episode Shows
Use this for Emby or Jellyfin only, when watches landed on an episode’s own IDs instead of its show.
- Select Check Split Shows. This is read-only. It lists the rows it can prove against a watched server episode and skips the rest with a reason.
- Tick the shows to repair, then select Repair Ticked Shows.
- Plekt re-checks those shows and takes a full backup. If the backup fails, it stops.
A repair changes only watch history and resume positions in Plekt, and never merges into a watch the show already has. Those episodes are skipped for Fix Match. Nothing is sent to other apps; watches already sent elsewhere under the wrong IDs are flagged for you to check by hand. Each run is listed with Undo this repair.
Library Rebuilds and Backfills

Library Rebuilds and Backfills contains library-wide enrichment actions:
- Rematch All TV Shows resolves show titles against TMDB and TheTVDB and updates episode identities when automatic matching selected the wrong series.
- Backfill Trakt Imports fetches missing posters for imported Trakt events.
These actions can be expensive on a large archive. Keep Logs open while they run.
Wipe Data

Wipe Data is destructive and requires two confirmation steps. Its scopes are:
- Watch History: local watch history, playstate, resume markers, and live sessions.
- Personal Watchlist: the canonical local watchlist, provider observations, queued work, sync runs, activity, and Plekt-owned playlist identifiers.
- Sync History & Logs: synchronization history, watch audit, and diagnostic logs.
- Everything Tracked: both tracked watch state and sync history/logs.
- Wipe All / Fresh Start: all of the above plus settings, connections, API keys, cached artwork, and the administrator login.
Before a wipe, create and verify a backup, read the preview, and confirm the scope intentionally. For one incorrect title or destination, use Fix Match, Edit watch date, or a targeted Sync Activity retry instead.
