For the complete documentation index, see llms.txt. This page is also available as Markdown.

CW

Local backup adapter that stores watchlist/history/ratings on disk for rollback and restore.

CW adapter is a local backup provider. It stores watchlist, history, and ratings as JSON in your config folder.

Use it as a safety net:

  • Backup: Plex/Emby/Jellyfin/Trakt/SIMKL/MDBList/TMDb → CW

  • Restore: CW → any provider

Nothing runs “automatically”. CW adapter only does work when it’s used in a pair.

What it supports

  • Features: Watchlist, History, Ratings

  • Auth: none (local only)

  • Storage:

    • Current state: /config/.cw_provider/

    • Snapshots: /config/.cw_provider/snapshots/

  • Restore granularity: per feature (pick different snapshots per feature)

Storage layout

Current state files:

  • /config/.cw_provider/watchlist.json

  • /config/.cw_provider/history.json

  • /config/.cw_provider/ratings.json

Snapshots are timestamped:

  • YYYYMMDDThhmmssZ-watchlist.json

  • YYYYMMDDThhmmssZ-history.json

  • YYYYMMDDThhmmssZ-ratings.json

When snapshots are created

Snapshots are only created when CW needs to change its local data.

Typical case:

  • CW is the target in a run.

  • The run applies add/remove operations.

  • If Auto snapshot is enabled, CW snapshots the old state first.

Settings

Go to Settings → CrossWatch Tracker.

Basic behavior

  • Enabled: toggles the provider for use in pairs.

  • Retention (days): 0 keeps snapshots forever.

  • Auto snapshot: snapshots before writes.

  • Max snapshots per feature: 0 = unlimited.

Restore snapshots (per feature)

Pick one snapshot for each feature:

  • Watchlist snapshot

  • History snapshot

  • Ratings snapshot

Latest (default) uses the most recent snapshot for that feature.

What gets written to config

What “restore” means

Selecting a snapshot does not push changes to other providers.

It only changes what CW exposes as its current state:

  • The chosen snapshot is copied into the main JSON for that feature.

  • A restore happens only when you run a pair where CW is the source.

Common workflows

1

Undo a bad sync (restore ratings)

  1. Open Settings → CrossWatch Tracker.

  2. Set Ratings snapshot to a time before the bad run.

  3. Save.

  4. Run a pair: CW → target provider, enable Ratings only.

2

Roll back watchlist only

  1. Set Watchlist snapshot to an older file.

  2. Keep History/Ratings on Latest.

  3. Run a pair: CW → target provider, enable Watchlist only.

3

Migrate state to a new provider

  1. Pick snapshots you trust for the features you want.

  2. Run a pair: CW → new provider.

  3. Start one-way first. Use one feature. Then expand.

Tips and limitations

  • CW is local. Remove /config/.cw_provider/ and you lose backups.

  • Low retention + frequent runs will prune older snapshots quickly.

  • CW history does not preserve multiple watch entries for one item.

  • Trakt is currently the only provider with full multiple-play support.

  • This is intentional. Provider-neutral history matters more than Trakt-specific workarounds.

  • This is extra protection. It does not replace provider-side backups (if any).

Recommended baseline:

  • Enabled: On

  • Auto snapshot: On

  • Retention: 30–90 days

  • Max snapshots per feature: 64

  • Restore selection: Latest, until you need a rollback

Last updated

Was this helpful?