A Jellyfin plugin that displays missing seasons in your library as grayed-out, non-interactive indicators using TMDB metadata. Instantly see which seasons you're missing for any series.
- Missing season detection — Scans TMDB data to find seasons you don't have in your library
- Grayed-out display — Missing seasons appear with grayscale filter and "Not available" badge
- Upcoming seasons — Future seasons already listed on TMDB appear with an "Upcoming" badge and their release date shown at the bottom-left of the card
- Episode count badge — Shows the number of episodes in each missing season (using Jellyfin's native badge styling)
- TMDB artwork — Displays official poster art from The Movie Database
- Adaptable display order — Configure whether missing seasons are interleaved in their natural position or grouped after all available seasons (via plugin settings page)
- Correct ordering — Inserts missing seasons in chronological order among existing seasons
- Non-interactive — Missing season cards are unclickable and can't be played
- Jellyfin 10.8+
- Series must have TMDB metadata (automatic with default metadata providers)
- FileTransformation plugin installed on server (for v1.0.2+)
- Open Jellyfin Dashboard → Plugins → Repositories
- Click + Add Repository
- Enter this URL:
https://raw.githubusercontent.com/richardwerkman/jellyfin-plugins/main/manifest.json - Click Save
- Go to Plugins → Catalog
- Find Missing Seasons and click it
- Click Install
- Jellyfin will download and extract the plugin
- Go to Dashboard → Settings (top right) → Restart
- Wait for the server to restart (30-60 seconds)
- Jellyfin will register the plugin with the FileTransformation service
After restart, do a hard refresh to clear the cached index.html:
- Windows/Linux:
Ctrl+Shift+R - macOS:
Cmd+Shift+R
- Detection — Plugin loads when you navigate to a series detail page
- Metadata lookup — Reads the TMDB ID from Jellyfin's series metadata
- TMDB query — Fetches season data from The Movie Database API
- Comparison — Compares TMDB seasons against your Jellyfin library
- Injection — Creates missing season cards with TMDB artwork and inserts them in correct order
- Styling — Uses Jellyfin's native
countIndicatorandindicatorclasses for episode badge (matching your theme)
- Client-side JS (
missing-seasons.js) — Handles DOM manipulation, TMDB API calls, and card injection - C# Plugin (
Jellyfin.Plugin.MissingSeasons) — Serves the JS and manages FileTransformation integration - FileTransformation Plugin — Dynamically injects the script tag into index.html at request time
- Cache-busting middleware — Strips conditional request headers to prevent 304 responses, ensuring the injected script is always delivered
- Go to Dashboard → Plugins
- Click the ⚙️ gear icon next to Missing Seasons
- Click Uninstall
- Restart Jellyfin
| Problem | Solution |
|---|---|
| No missing seasons appear | Check browser console (F12) for [MissingSeasons] log messages. Verify the series has TMDB metadata. |
| Script tag not in index.html | Ensure FileTransformation plugin is installed. Check Jellyfin logs for plugin startup errors. |
| Missing seasons appear but disappear on reload | Hard-refresh your browser (Ctrl+Shift+R) to clear cached index.html. |
| Wrong styling/colors | Hard-refresh browser. Missing seasons use Jellyfin's native indicator classes, so styling should match your theme automatically. |
| CORS errors in console | Verify you can access https://api.themoviedb.org from your network. Public TMDB API should be accessible. |
| Plugin says "Active" but nothing appears | Restart Jellyfin. FileTransformation plugin must fully initialize before the service is available. |
- ✅ Chrome / Chromium (latest)
- ✅ Firefox (latest)
- ✅ Safari (latest)
- ✅ Edge (latest)
- Minimal overhead — Only activated on series detail pages
- Network — One TMDB API call per series (cached in memory during session)
- Rendering — Card injection happens once when the seasons section loads
- MutationObserver — Watches for dynamic content changes, with debouncing to prevent excessive re-renders
Issues, suggestions, and pull requests are welcome! Please open an issue on GitHub.
MIT
- Jellyfin — Open-source media system
- TMDB — Movie and TV data
- FileTransformation Plugin — Dynamic script injection
