Skip to content

Exclusions

Exclusions protect media from deletion. If any exclusion rule matches an item, that item is skipped entirely -- exclusions use OR logic, so a single match is enough to protect it.

Quick Reference

Category Exclusion Types
Metadata titles, genres, collections, actors, directors, writers, producers, studios, plex_labels, release_years
Radarr tags, quality_profiles, paths, monitored
Sonarr status, tags, quality_profiles, paths, monitored
Integrations trakt, mdblist, justwatch, seerr

All exclusions are configured under the exclude key inside a library block:

libraries:
  - name: "Movies"
    radarr: "Radarr"
    action_mode: "delete"
    exclude:
      # Your exclusion rules here

Metadata Exclusions

Titles

Exact title match (case-insensitive):

exclude:
  titles:
    - "Forrest Gump"
    - "The Godfather"

Genres

Match against Plex genre tags (case-insensitive):

exclude:
  genres:
    - "documentary"
    - "horror"

Collections

Match against Plex collection names (case-insensitive):

exclude:
  collections:
    - "Marvel Cinematic Universe"
    - "Star Wars Collection"

Actors

Match against Plex actor credits (case-insensitive):

exclude:
  actors:
    - "Tom Hanks"
    - "Brad Pitt"

Directors

exclude:
  directors:
    - "Christopher Nolan"
    - "Denis Villeneuve"

Writers

exclude:
  writers:
    - "Aaron Sorkin"

Producers

exclude:
  producers:
    - "Steven Spielberg"

Studios

exclude:
  studios:
    - "Studio Ghibli"
    - "A24"

Plex Labels

Protect items you've manually labeled in Plex:

exclude:
  plex_labels:
    - "favorite"
    - "keep"
    - "classic"

Manual Override

plex_labels is the easiest way to protect individual items. Add a "keep" label to any item in Plex and exclude that label in your config.

Release Years

Protect media released within the last X years:

exclude:
  release_years: 2  # Keep anything released in the last 2 years

Radarr Exclusions

These apply only to movie libraries backed by Radarr.

exclude:
  radarr:
    tags: ["4K", "keep", "favorite"]         # Case-insensitive tag match
    quality_profiles: ["Remux-2160p"]         # Exact profile name match
    paths: ["/data/media/4k"]                 # Substring match against movie path
    monitored: true                           # true = exclude monitored, false = exclude unmonitored

Sonarr Exclusions

These apply only to TV show libraries backed by Sonarr.

exclude:
  sonarr:
    status: ["continuing", "upcoming"]        # Series status: continuing, ended, upcoming, deleted
    tags: ["4K", "keep"]                      # Case-insensitive tag match
    quality_profiles: ["Bluray-2160p"]        # Exact profile name match
    paths: ["/data/media/4k"]                 # Substring match against series path
    monitored: true                           # true = exclude monitored, false = exclude unmonitored

Integration Exclusions

Deleterr integrates with external services for more advanced exclusion logic:

Integration What It Does API Key Required?
Trakt Protect media on Trakt lists (trending, popular, user lists) Yes
MDBList Protect media on MDBList lists (aggregates IMDB, TMDB, Trakt, etc.) Yes
JustWatch Protect based on streaming availability No
Seerr / Overseerr Protect or target media based on user requests Yes

See each integration page for setup details and configuration options.


Tips

  • OR logic: Any single exclusion match protects the item. You don't need an item to match all rules.
  • Debug logging: Set LOG_LEVEL: DEBUG to see exactly which exclusion rule is protecting each item.
  • Plex labels as manual override: The simplest way to protect a specific item is to add a label in Plex and exclude that label.
  • Combine exclusions freely: Metadata, Radarr/Sonarr, and integration exclusions all work together.

See Configuration Reference for the full list of exclusion fields and their types. For ready-to-use patterns, see the Common Exclusion Patterns section in Templates.