Skip to main content

CF Score

The CF Score pipeline finds monitored files where the custom format score is below the quality profile cutoff and tells your Arrs to search for a better-scored release.


What it does

Cutoff Unmet handles quality tier upgrades — moving from 720p to 1080p, for example. CF Score handles a different problem: you already have the right quality tier, but the specific release does not score well against your custom format rules.

For example, a movie might be grabbed as a 1080p Blu-ray which satisfies the quality cutoff, but your custom formats prefer a specific audio codec or release group that the grabbed file does not have. Radarr and Sonarr never surface this through their normal wanted system — as far as they are concerned, the item is done. CF Score Scan finds these files directly from the quality profile scoring and brings them back into the search pipeline.

Both Radarr and Sonarr are supported.


Enabling CF Score

CF Score is off by default. To enable it:

  1. Open the Pipelines panel in the sidebar
  2. Toggle CF Score Scan to on
  3. CF Score settings appear in the Pipelines panel; the Library panel gains a CF Score view
  4. Open the Library panel, switch to the CF Score view, and click Scan Library to build the initial index
  5. Save your CF Score Max settings in the Pipelines panel

The pipeline remains dormant until it is explicitly enabled. No background activity runs while it is off.


How the index is built

CF Score uses a two-job architecture:

The syncer runs on its own schedule (default: every 24 hours) and also immediately when you click Scan Library. It:

  1. Fetches all quality profiles from each instance once to read cutoffFormatScore per profile
  2. For Radarr: fetches all monitored movies that have a file, then batch-fetches their custom format scores in groups of 100
  3. For Sonarr: fetches all monitored series, then per series fetches episode files (custom format scores are present directly on episode file objects)
  4. Writes an entry for any file where current_score < cutoffFormatScore and current_score >= minFormatScore
  5. Prunes entries for items that no longer qualify (deleted, unmonitored, score improved naturally)

The sweep pipeline reads from this index during each sweep, applies cooldown and exclusion filters, and tells the Arr to search for the chosen items.

The syncer and sweep never run simultaneously — the syncer defers if a sweep is in progress.


Sonarr requirement

For Sonarr, CF Score only indexes episodes where the quality profile has a non-zero cutoffFormatScore. If you have not set a custom format score cutoff in your Sonarr quality profiles, the syncer will find zero eligible episodes regardless of what custom formats are configured. This is not a bug — without a cutoff score there is no threshold to search toward.

To use CF Score with Sonarr, open Sonarr, go to Settings > Profiles, edit each quality profile you want covered, and set a minimum custom format score cutoff value.


Settings

CF Score settings live in the Pipelines panel, not in the Settings panel.

SettingDefaultDescription
Radarr CF Score Max (Per Instance)1Maximum CF Score items to nudge per Radarr instance per sweep. Minimum value is 1 — there is no all-eligible mode for CF Score.
Sonarr CF Score Max (Per Instance)1Maximum CF Score items to nudge per Sonarr instance per sweep. Minimum value is 1.
Sync Schedule (Cron)0 0 * * *Standard 5-field cron expression controlling when the syncer automatically rebuilds the index. Default is midnight daily.

The Scan Library button triggers an immediate full re-sync on all instances. Use this after initial setup or after making significant changes to your custom format rules or quality profiles.

The Reset CF Index button clears the entire index. The next sync or Scan Library will rebuild it from scratch.


The CF Score view

The CF Score view is accessed from the Library panel via the view switcher at the top. It shows the current state of the index and the results of the most recent CF Score sweeps.

Coverage section

One row per configured instance showing:

  • Instance name and app badge
  • Sync progress percentage during an active scan
  • Items indexed (total files in the index for this instance)
  • Items below cutoff (eligible for searching this sweep)

The Last Synced indicator shows when the most recent sync completed. A grey dot means the index has never been synced for that instance.

Table

A sortable table of all items currently in the index, ordered worst gap first by default (largest difference between current score and cutoff score at the top). Columns:

ColumnDescription
TitleClick to open the item in Radarr or Sonarr
InstanceWhich instance this item belongs to
ProfileQuality profile name
ScoreCurrent custom format score
CutoffThe profile's cutoffFormatScore threshold
GapDifference between cutoff and current score

You can filter by instance using the dropdown, search by title, and change the page size.


Filters and CF Score

If you have tag or profile filters configured for an instance in the Filters panel, those same filters apply to the CF Score index. Items with excluded tags or profiles are never written to the index and will not be searched by the CF Score pipeline.

If you change your filters, a popup appears asking whether you want to re-sync the index immediately so the filter changes take effect. You can also click Scan Library manually at any time.


Relationship to Cutoff Unmet

CF Score and Cutoff Unmet are independent pipelines that can both be active for the same item simultaneously. An item that is both below quality cutoff and below CF score cutoff will appear in both the Cutoff Unmet wanted list and the CF Score index. The Cutoff Unmet pipeline takes priority in a sweep — if a Cutoff Unmet search succeeds and the file is upgraded to a higher quality tier, the CF Score entry will be pruned on the next sync if the new file now meets the score cutoff.


Import history

When a CF Score search leads to a confirmed import, it appears in the Library panel Imports view with a CF Score type badge (amber). The Passes column tooltip shows the quality the item was replaced from, the same as Cutoff Unmet upgrades.


Per-app and per-instance controls

CF Score can be toggled independently for Radarr and Sonarr without disabling the pipeline entirely.

Per-app toggles live in the Pipelines panel under the CF Score section. Turning off Radarr CF Score disables all CF Score syncing and searching for every Radarr instance while leaving Sonarr CF Score active (and vice versa). The per-app toggle takes precedence over the master CF Score toggle — both must be on for a given app's instances to participate.

Per-instance overrides are available in the Overrides panel when Per-Instance Overrides is enabled. Each instance card has a CF Score section with a toggle to enable or disable CF Score for that specific instance. An instance-level disable removes that instance from CF Score syncing and sweeps while all other instances continue normally.

The effective enablement hierarchy is: master CF Score enabled → per-app toggle → per-instance override. All three levels must allow CF Score for an instance to participate.

When an instance transitions from enabled to disabled (via any level of the hierarchy), its rows in the CF Score index are pruned automatically on the next config save.