I'm excited to share JellyNext, a plugin that brings Trakt-powered content discovery directly into Jellyfin with per-user virtual libraries and seamless Radarr/Sonarr integration.
What is JellyNext?
JellyNext creates dedicated virtual libraries for each user showing personalized recommendations and next season notifications from Trakt. When you click "Play" on any virtual library item, it
automatically triggers a download via Radarr/Sonarr—making content discovery and acquisition a true one-click experience.
Key Features
🎯 Per-User Trakt Integration
- OAuth 2.0 device flow - each Jellyfin user links their own Trakt account
- Automatic token refresh with 75% safety buffer
- Per-user settings for granular control (what to sync, filters, limits)
- Configurable recommendation limits (1-100 items per user)
📚 Three Virtual Libraries Per User
- Trakt Movie Recommendations: Personalized movie suggestions
- Trakt Show Recommendations: TV show suggestions (configurable: season 1 only or all seasons)
- Trakt Next Seasons: Smart notifications for the immediate next unwatched season of shows you're following
⬇️ Intelligent Download System
- One-click downloads: Click "Play" on any virtual item to trigger Radarr/Sonarr
- Per-season TV downloads (only downloads the specific season you want)
- Automatic anime detection (via Trakt genres) routes to separate Sonarr anime folder
- Works on all Jellyfin clients (Web, iOS, Android, TV apps)
- Prevents marking virtual items as "watched"
🎨 Native Jellyfin Integration
- Uses Jellyfin's built-in TMDB/TVDB metadata providers
- Virtual content appears seamlessly with full metadata and artwork
⚡ Performance & Caching
- Smart caching system reduces API calls
- Ended shows cache (7 day default) for shows that won't get new seasons
- Configurable sync intervals (default: 6 hours)
- Optional "season 1 only" mode for faster library scans
Requirements
- Jellyfin 10.11.0+ (required for API compatibility)
- .NET 9.0 Runtime (included with Jellyfin 10.11+)
- Free Trakt account (https://trakt.tv)
- (Optional) Radarr/Sonarr for automatic downloads
Installation
Option 1: From Repository (Recommended)
1. Dashboard → Plugins → Repositories → Add repository:
https://raw.githubusercontent.com/luall0...ifest.json
2. Dashboard → Plugins → Catalog → Install "JellyNext"
3. Restart Jellyfin
Option 2: Manual Installation
Download latest release from GitHub and extract to your Jellyfin plugins directory.
Quick Start
1. Link Trakt: Dashboard → Plugins → JellyNext → Authorize user via device code
2. Add Libraries: Create 3 Jellyfin libraries pointing to:
- /jellyfin/data/jellynext-virtual/[user-id]/movies-recommendations/
- /jellyfin/data/jellynext-virtual/[user-id]/shows-recommendations/
- /jellyfin/data/jellynext-virtual/[user-id]/next-seasons/
3. Sync: Wait for automatic sync or trigger manually via Scheduled Tasks
4. (Optional) Configure Radarr/Sonarr: Add API keys and select quality profiles/root folders
How It Works
User clicks Play on virtual item
↓
Plugin detects playback attempt
↓
Extracts content IDs and metadata
↓
Routes to Radarr (movies) or Sonarr (TV/anime)
↓
Adds to download queue
↓
Stops playback & prevents "watched" status
↓
Real media appears in main library when download completes
Compatibility with Official Trakt Plugin
JellyNext works alongside the official Jellyfin Trakt plugin. Important: You must exclude JellyNext's virtual libraries (Trakt Movie Recommendations, Trakt Show Recommendations, Trakt Next Seasons) from the official plugin to prevent unwanted scrobbling.
Links
- GitHub Repository: https://github.com/luall0/jellynext
- Installation Guide: https://github.com/luall0/jellynext#installation
- Full Documentation: https://github.com/luall0/jellynext#readme
- Plugin Repository: https://raw.githubusercontent.com/luall0...ifest.json
- Issues/Support: https://github.com/luall0/jellynext/issues
Current Version
v1.0.3 - Stable release with per-user recommendation limits, configurable dummy video, and ended shows caching
What is JellyNext?
JellyNext creates dedicated virtual libraries for each user showing personalized recommendations and next season notifications from Trakt. When you click "Play" on any virtual library item, it
automatically triggers a download via Radarr/Sonarr—making content discovery and acquisition a true one-click experience.
Key Features
🎯 Per-User Trakt Integration
- OAuth 2.0 device flow - each Jellyfin user links their own Trakt account
- Automatic token refresh with 75% safety buffer
- Per-user settings for granular control (what to sync, filters, limits)
- Configurable recommendation limits (1-100 items per user)
📚 Three Virtual Libraries Per User
- Trakt Movie Recommendations: Personalized movie suggestions
- Trakt Show Recommendations: TV show suggestions (configurable: season 1 only or all seasons)
- Trakt Next Seasons: Smart notifications for the immediate next unwatched season of shows you're following
⬇️ Intelligent Download System
- One-click downloads: Click "Play" on any virtual item to trigger Radarr/Sonarr
- Per-season TV downloads (only downloads the specific season you want)
- Automatic anime detection (via Trakt genres) routes to separate Sonarr anime folder
- Works on all Jellyfin clients (Web, iOS, Android, TV apps)
- Prevents marking virtual items as "watched"
🎨 Native Jellyfin Integration
- Uses Jellyfin's built-in TMDB/TVDB metadata providers
- Virtual content appears seamlessly with full metadata and artwork
⚡ Performance & Caching
- Smart caching system reduces API calls
- Ended shows cache (7 day default) for shows that won't get new seasons
- Configurable sync intervals (default: 6 hours)
- Optional "season 1 only" mode for faster library scans
Requirements
- Jellyfin 10.11.0+ (required for API compatibility)
- .NET 9.0 Runtime (included with Jellyfin 10.11+)
- Free Trakt account (https://trakt.tv)
- (Optional) Radarr/Sonarr for automatic downloads
Installation
Option 1: From Repository (Recommended)
1. Dashboard → Plugins → Repositories → Add repository:
https://raw.githubusercontent.com/luall0...ifest.json
2. Dashboard → Plugins → Catalog → Install "JellyNext"
3. Restart Jellyfin
Option 2: Manual Installation
Download latest release from GitHub and extract to your Jellyfin plugins directory.
Quick Start
1. Link Trakt: Dashboard → Plugins → JellyNext → Authorize user via device code
2. Add Libraries: Create 3 Jellyfin libraries pointing to:
- /jellyfin/data/jellynext-virtual/[user-id]/movies-recommendations/
- /jellyfin/data/jellynext-virtual/[user-id]/shows-recommendations/
- /jellyfin/data/jellynext-virtual/[user-id]/next-seasons/
3. Sync: Wait for automatic sync or trigger manually via Scheduled Tasks
4. (Optional) Configure Radarr/Sonarr: Add API keys and select quality profiles/root folders
How It Works
User clicks Play on virtual item
↓
Plugin detects playback attempt
↓
Extracts content IDs and metadata
↓
Routes to Radarr (movies) or Sonarr (TV/anime)
↓
Adds to download queue
↓
Stops playback & prevents "watched" status
↓
Real media appears in main library when download completes
Compatibility with Official Trakt Plugin
JellyNext works alongside the official Jellyfin Trakt plugin. Important: You must exclude JellyNext's virtual libraries (Trakt Movie Recommendations, Trakt Show Recommendations, Trakt Next Seasons) from the official plugin to prevent unwanted scrobbling.
Links
- GitHub Repository: https://github.com/luall0/jellynext
- Installation Guide: https://github.com/luall0/jellynext#installation
- Full Documentation: https://github.com/luall0/jellynext#readme
- Plugin Repository: https://raw.githubusercontent.com/luall0...ifest.json
- Issues/Support: https://github.com/luall0/jellynext/issues
Current Version
v1.0.3 - Stable release with per-user recommendation limits, configurable dummy video, and ended shows caching

