Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Plex Watch History Sync

Small Python CLI for copying watched and in-progress state from one Plex user to another on the same Plex server. In-progress items are the same items Plex surfaces in Continue Playing.

What it does

  • Copies watched state from a source user to a target user.
  • Optionally copies resume progress for in-progress movies and episodes from Continue Playing.
  • Supports a dry-run mode so you can inspect planned changes before applying them.

What it does not do

  • It does not remove watch history from the target user.
  • It does not recreate exact playback history entries, timestamps, or repeated play events.
  • It does not sync music or photo libraries.

Plex exposes watched state and progress updates, but marking something watched does not recreate the original per-play history entries.

Configuration

The tool reads values from .env in the current directory and lets command-line flags override them.

Supported .env variables:

  • PLEX_BASEURL
  • PLEX_TOKEN
  • FROM_USER
  • TO_USER
  • DRYRUN
  • DEBUG_LEVEL

Usage

Dry run using values from .env:

python watch_history_sync.py

Apply changes:

python watch_history_sync.py --apply

Override users on the command line:

python watch_history_sync.py --from-user "Managed User" --to-user "Other User"

Only sync specific sections:

python watch_history_sync.py --sections "Movies,TV Shows"

Skip resume progress and only copy watched items:

python watch_history_sync.py --skip-partial

If you leave --skip-partial off, the tool will also sync the items that appear in Plex's Continue Playing area.

Output

The tool reports:

  • how many changes would be made
  • which items are already synced
  • which items are inaccessible to the target user
  • the specific actions that would be applied

In dry-run mode nothing is changed on the server.

Dependency

This script uses PlexAPI.

If you need to install dependencies manually:

pip install -r requirements.txt

About

A quick AI slop script to sync watch history from one user to another. Useful for copying a managed user's history into a full user

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages