๐Ÿค– Set it and forget it

Never manually mark
a show as watched again

Plex Auto-Watched connects to your Plex server and automatically marks new episodes as watched the moment they're added to your library โ€” for every show on your list.

Get Started How it works

Requires Plex Pass for webhook support


Three steps, then it runs itself

Set up takes a few minutes. After that, every new episode on your list is handled automatically.

๐Ÿ”‘

Log in with Plex

Authenticate using your existing Plex account via OAuth. No account creation or passwords to manage.

๐Ÿ“บ

Build your watchlist

Search your Plex libraries and add the shows you want automatically marked as watched when new episodes arrive.

๐Ÿช

Point your Plex webhook here

Add this app's URL as a webhook in your Plex server settings. From then on, every matching new episode is marked instantly.

โœ…

Episodes marked automatically

When Plex fires a "new episode" event, this app checks your watchlist and calls the Plex API to mark it as watched on your behalf.

Everything you need, nothing you don't

๐Ÿค–

Fully automatic

Plex fires a webhook when a new episode is added. This app catches it and marks the episode watched โ€” no polling, no delay, no manual steps.

๐Ÿ‘ฅ

Per-user watchlists

Multiple Plex users on the same server can each maintain their own independent watchlist. Adding a show for yourself has no effect on anyone else.

๐Ÿ“‹

Watch history

Every auto-marked episode is logged with a timestamp and source. Filter by show or date range to see exactly what was marked and when.

๐Ÿ“Š

Activity log

A full audit trail of every action โ€” shows added, removed, episodes auto-watched, and searches performed.

โœ‹

Manual mark-as-watched

Want to catch up on a show instantly? Mark all existing episodes as watched with one click from the watchlist page.

๐Ÿ”

Plex OAuth login

Sign in with your existing Plex account โ€” no separate credentials. Your Plex token is stored securely and never exposed in the UI.

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ

Built for shared Plex servers

If you share your Plex server with family or friends, everyone can log in with their own Plex account and maintain a completely separate auto-watch list. When a new episode arrives, each user who has that show in their list gets it marked โ€” using their own account, so their Plex watch status stays accurate.


What you'll need

This app runs alongside your Plex server and communicates with it via the Plex API.

๐ŸŽฌ

Plex Media Server Required

An existing Plex server that you have admin access to. Any self-hosted Plex installation works.

โญ

Plex Pass Required

Plex webhooks โ€” the mechanism this app relies on โ€” are a Plex Pass exclusive feature. The server owner needs Plex Pass; individual users do not.

๐ŸŸข

Node.js v18+ Required

The app is a Node.js server. It runs on the same machine as your Plex server or anywhere else on your network reachable by Plex.

๐Ÿ”„

PM2 Optional

Recommended for keeping the app running in the background and auto-starting after reboots. Install globally with npm install -g pm2.

Up and running in minutes

Full setup instructions are in the README. Here's the short version.

1

Clone and install

Clone the repository and run npm install to pull in dependencies.

2

Configure .env

Copy env.example to .env and fill in your PLEX_SERVER_URL, PLEX_CLIENT_ID, and a random SESSION_SECRET.

3

Build and start

Run npm run build then npm start (or npm run pm2:start to run as a background service).

4

Add the webhook in Plex

In Plex Settings โ†’ Webhooks, add http://your-server:3000/api/webhook/event. This URL must be reachable by your Plex server.

5

Log in and add shows

Sign in with your Plex account, search your libraries, and add the shows you want auto-marked. You're done.

Ready to stop marking things manually?

Sign in with your Plex account to get started.

Sign In with Plex