Best Plex recommendation tools in 2026, compared
Last checked: against each project’s repository. Corrections welcome.
What each tool actually does, and which ones give every Plex user their own private recommendations.
Short answer
As of- ShortlistFor private per-user rows: each person gets their own rows (Picked for You, Because you watched, seasonal and more) on their Plex Home, hidden from every other account.
- ImmaculaterrFor the richest set of automatic collections, reacting in real time, when it doesn’t matter who sees whose row.
- CuratarrFor per-user collections without Docker: standalone binaries for Windows, macOS and Linux.
- SuggestArrFor getting new content: it requests titles like what you watched through Seerr.
- KometaFor organising the library you already have: rule-built collections, artwork and metadata.
- DiskovarrFor a separate discovery app your users sign into, on Plex or Jellyfin, with requests built in.
- ConjurrFor AI suggestions per user from Tautulli history, on a web page or in a newsletter. Needs a Google Gemini key.
- NexttFor a what-to-watch dashboard built from your star ratings, on Plex or Jellyfin, with no AI.
Disclosure: Shortlist is my project, so read its row with that in mind. I’ve tried to be accurate about everything else and to say plainly where another tool is the better pick.
There are a lot of these now, they overlap confusingly, and the READMEs all say “personalized recommendations”. The real split is between tools that add content, tools that organise it, dashboards you open to choose, and tools that put a different row on each person’s Plex Home. Only the last group can be private, and that is where they differ most.
The comparison
| Tool | Per-user rows | Private (hidden from other users) | Promotes to Home | AI optional | Maintained (last release) | Pick it if |
|---|---|---|---|---|---|---|
| Shortlist | Yes | Yeshidden by sharing filters before the row is shown | Yesonly after the hiding is in place | Yesbuilt-in picker needs no key | Yesv1.12.2, 21 Oct 2026 | each person should get rows nobody else can see |
| Immaculaterr | Yes | Nonot claimed | Yespins rows where that viewer can see them | YesGoogle and OpenAI are optional helpers | Yesv1.7.10, 4 Sep 2026 | you want the most automatic collections and don’t mind who sees them |
| Curatarr | Yes | Partiallabel restrictions; its FAQ calls this UI-level, not access control | Unknownnot stated in its README | Yesscoring, no AI | Yesv2.22.0, 21 Aug 2026 | you want per-user collections without running Docker |
| Diskovarr | Partialper-user carousels inside its own app | Nonot claimed for its Plex collections | Yesits list collections, set per collection | Yesscoring, no AI | Yesv3.3.5, 24 Sep 2026 | your users will sign into a separate discovery app |
| Conjurr | Partialper-user lists on its own web page, not Plex rows | Nouser mode asks only for a Plex email or username | Nowrites nothing to Plex | Noneeds a Google Gemini key | Yesv4.1.0, 2 Oct 2025; commits since | you run Tautulli and want AI picks per user, or for a newsletter |
| Nextt | Noone profile per install | No | Noa dashboard; writes nothing to Plex | Yesno AI at all | Nono releases; last commit Aug 2025 | you want a dashboard of picks from your ratings, Plex or Jellyfin |
| SeekAndWatch | Noone taste profile for the server | No | YesHome, Recommended and Friends toggles per collection | Yesno AI | Yesv1.6.8, 11 Apr 2026 | your household can’t choose, or you want a Kometa config builder |
| Kometa | Nolibrary-wide collections | No | Yesper collection, for everyone | Yesno AI | Yesv2.5.1, 24 Sep 2026 | you want to organise the library you already have |
| SuggestArr | Noit adds files, not rows | No | No | YesAI ranking is an optional beta | Yesv2.15.0, 15 Sep 2026 | you want new content added automatically |
| TV-Show-Recommendations-for-Plex | Partialvia labels | No | Nolabels only | Yesno AI | Nov2.2, 19 Mar 2025 | you want a small script to run from cron and approve picks by hand |
| plex-recommendations-ai | Noone shared collection | No | No | NoOpenAI required | Nono releases; last commit May 2023 | listed only because it still ranks in search |
Yes, No and Partial mean the same in every column, and a Partial says why in the cell. Unknown means the project’s README does not say.
Tool by tool
Shortlist
Per-user rows (Picked for You, Because you watched, Watch it again, seasonal picks, a “Your requests”
row and a shared Popular on this server row, from eleven templates) built from each person’s own watch
history, made private with Plex’s label restrictions. Every other account’s share filter gets label!=shortlist_<user> merged into it,
so each personal row is hidden from other supported accounts. The
server owner and some restriction profiles
are exceptions. Rows are delivered unpromoted, exclusions merged, and only then promoted onto Home.
Share filters are snapshotted before the first write. The in-app uninstall flow previews restoring
them and reports any accounts it cannot restore; removing the container alone does not clean up Plex.
Sharing filters are merged rather than rebuilt, and the owner is skipped. Everything supports
--dry-run. AI is optional; the built-in picker needs no keys.
Plex-only, and it will stay that way: the privacy model depends on Plex’s label-based share filters, which Jellyfin and Emby don’t have. Needs Plex Media Server 1.43.2.10687+ and a Plex Pass on the admin account. MIT.
Pick this if each person on your server should get their own rows, and nobody else should see them.
Immaculaterr
ohmzi/Immaculaterr. The most feature-dense of these. Event-driven rather than purely scheduled: when someone finishes a film or an episode it can build their rows straight away, alongside scheduled refreshes, discovery and library cleanup. Builds a lot of named collections (“Based on your recently watched”, “Change of Taste”, “Fresh Out Of The Oven”), supports profiles with their own users, media types and filters, and integrates with Radarr and Sonarr. Ships on both GHCR and Docker Hub.
Gives each monitored viewer separate rows and separate history, and pins rows to the Plex surfaces that viewer can see, but it doesn’t claim per-user privacy, which is a different thing from per-user content. Licensed under its own terms rather than a standard open-source licence.
Pick this if you want the richest set of automatic collections and a tool that reacts in real time, and you’re relaxed about other users seeing each other’s rows.
Curatarr
OrchestratedChaos/curatarr. Analyses each user’s watch history and scores unwatched library content by keyword, genre, cast and director similarity, creating per-user collections that update automatically. Also generates external watchlists so you know what to acquire next, and groups picks by streaming availability.
By default it hides each user’s collection from other users with Plex label restrictions. Its own FAQ calls this UI-level separation rather than access control: the server owner sees every collection, and someone who knows a collection’s ID can still fetch it through the Plex API.
Distributed as standalone binaries for Windows, macOS (Apple Silicon) and Linux, as a container image, and from source. The binaries need no Docker, which is genuinely the easiest install here. Licensed AGPL-3.0 since version 2.17.0 (MIT before that).
Pick this if you want per-user recommendations without running Docker, and care about what to acquire next as much as what to watch.
Diskovarr
Lebbitheplow/diskovarr. A different shape: a separate discovery app your users sign into, for Plex and Jellyfin, rather than rows on Plex Home. Personalised carousels with reason tags, watchlist sync, a request queue that routes to Overseerr, Radarr and Sonarr, reviews and a yearly “Wrapped”. Its feature surface is much broader than Shortlist’s.
It does write Plex collections from its lists, with a promotion setting per collection, but it makes no claim to hide them from other accounts, so they are not private per user. Node and SQLite. The README says MIT; the repository has no licence file.
Pick this if you want a full discovery and request portal your users open themselves, or you run Jellyfin as well as Plex.
Conjurr
yungsnuzzy/conjurr. Reads Plex watch history through Tautulli and asks Google Gemini what each person should watch next. The results appear on its own web page: an admin view with a user picker, and a user mode where someone enters their Plex email or username. Overseerr supplies availability and request links. newsletterr can pull its picks into the email it sends each user.
It writes nothing to Plex. No licence file in the repository.
Pick this if you already run Tautulli, are happy to use Gemini, and want per-user suggestions on a web page or in an email rather than on Plex Home.
Nextt
WhiskeyCoder/Nextt. A self-hosted what-to-watch dashboard for Plex or Jellyfin. It reads your 4–5 star ratings, or recent watch history if you don’t rate, fetches matching titles from TMDB, and sends requests to Overseerr or Jellyseerr. No AI. Ships as a Docker image.
One profile per install: a single Plex token or Jellyfin user. MIT.
Pick this if you want a dashboard to browse suggestions and request what’s missing, with no AI and no changes to your Plex library.
SeekAndWatch
softerfish/seekandwatch. A “what should we watch?” dashboard first. Connects Plex, Tautulli, TMDB, Radarr and Sonarr in one place, with Smart Discovery from your watch history, a Kometa config builder that saves you writing YAML, and Tautulli trending. It also builds preset collections, each with its own Home, Recommended and Friends visibility. There’s a hosted Cloud beta so friends can request without access to your apps.
Pick this if the real problem is your household staring at the library unable to choose, or you want a Kometa config builder; that feature has little competition.
Kometa
kometa.wiki. Formerly Plex Meta Manager. A metadata and collection builder: it creates collections from rules you write in YAML (by genre, by decade, by Trakt list, by almost anything) and manages artwork and metadata beautifully. It is not a recommender. It doesn’t read anyone’s watch history to decide what to suggest, and its collections are library-wide. Shortlist is built to run alongside it.
Pick this if you want to shape and organise the library you already have.
SuggestArr
giuseppe99barchetta/SuggestArr. Watches what you recently played and requests similar content through Seerr, so your library keeps growing with things you’ll probably like. Works with Plex, Jellyfin and Emby. It’s about acquisition, not presentation: its output is new files on your disk, not a row on anyone’s home screen.
Pick this if your complaint is “my library never has anything new”.
TV-Show-Recommendations-for-Plex
netplexflix/TV-Show-Recommendations-for-Plex. A well-documented Python script rather than a service. Builds a taste profile from watch history, scores unwatched shows, and can label them in Plex or push new titles to Sonarr via Trakt. Reads other users’ history through Tautulli. A companion Movie Recommendations script covers films. Last updated March 2025, and no licence file.
Pick this if you want something small you can read end to end and drive from cron, and you like approving picks by hand.
plex-recommendations-ai
rocstack/plex-recommendations-ai. Creates a single collection of recommendations using OpenAI over your watch history. One of the earliest tools in this space; not per-user, and unchanged since May 2023. Listed because it still ranks well in search results. No licence file.
A note on Recommendarr: there are several unrelated repositories under that name and near-spellings, so check what you’re installing. Like SuggestArr, it is oriented toward what to add, not toward per-user rows.
The three questions that actually narrow the list
1. Do you want content acquired, or content surfaced? SuggestArr and Recommendarr add files to your library. Kometa organises the files you have. Neither changes what any individual sees on their home screen.
2. Do you need rows to be private, or just personal? Personal means the titles are chosen for one person. Private means nobody else can see the row. Most tools do the first. Doing the second requires Plex’s label restrictions on share filters, a minimum server version, a Plex Pass, and careful write ordering.
3. Does it need to coexist with what you already run? Check that whatever you pick scopes its writes to its own collections, and if you run Kometa, that the two won’t overwrite each other.
Related
- How to improve Plex recommendations, before installing anything
- AI recommendations for Plex: which tools need an API key and why
- Per-user collections: the privacy mechanism, and how to do it by hand
- Getting started: installing Shortlist