Skip to main content

The documentation here is for an unreleased version of Recyclarr.

Visit the documentation site for the Current Version instead.

Custom Format Groups

Custom format groups bundle related custom formats with guide-recommended scores. Instead of listing dozens of individual custom formats, groups give you curated sets that work together.

Auto-Sync with Guide-Backed Profiles

When you use a guide-backed quality profile (one with a trash_id), Recyclarr automatically syncs CF groups that are marked as defaults for that profile. This means most users need no custom_format_groups configuration at all.

For example, if you configure:

radarr:
movies:
quality_profiles:
- trash_id: 64fb5f9858489bdac2af690e27c8f42f # UHD Bluray + WEB

Recyclarr automatically syncs default groups like Audio Formats, HDR Formats, and Golden Rule UHD because the TRaSH Guide marks these as defaults for the UHD Bluray + WEB profile.

Use custom_format_groups only when you need to customize this behavior:

  • skip — Opt-out of groups you don't want
  • add — Opt-in to non-default groups, or customize which CFs sync with select, select_all, and exclude

When to Use Groups vs Individual CFs

Groups handle curated sets of related custom formats:

  • Audio codec formats (TrueHD, DTS-HD, Atmos, etc.)
  • HDR formats (DV, HDR10+, HDR10, etc.)
  • Streaming service identification
  • Unwanted release types (LQ, scene, etc.)

Use custom_formats instead when you need fine-grained control or want to override individual scores.

How CF Selection Works

Which custom formats sync from a group depends on flags set in the TRaSH Guide JSON:

Flag in GuideBehavior
required: trueAlways synced. Cannot be excluded or deselected.
default: trueSynced automatically. Can be removed with exclude.
No flagNot synced unless listed in select or included via select_all.

The formula for which CFs are included is: required CFs, plus default CFs minus exclude, plus select (or all non-required CFs when select_all is true). Most groups work without any of these properties; you get all required and default CFs automatically.

Usage Patterns

Opting Out of a Default Group

If an auto-synced group doesn't fit your needs, use skip to exclude it:

custom_format_groups:
skip:
- 9d5acd8f1da78dfbae788182f7605200 # Audio Formats

The group won't sync even though your quality profile would normally include it.

Adding a Non-Default Group

Some groups aren't marked as defaults but you may want them. Use add to opt-in:

custom_format_groups:
add:
- trash_id: f737e18b5824d6ebb2d57b957ae2fd6c # Streaming Services (UK)

All required and default CFs from that group sync automatically.

Excluding Default CFs

Use exclude to remove specific default CFs from a group:

custom_format_groups:
add:
- trash_id: ff204bbcecdd487d1cefcefdbf0c278d # Golden Rule UHD
exclude:
- dc98083864ea246d05a42df0d05f81cc # x265 (HD)

All other defaults (and required CFs) still sync. Required CFs cannot be excluded.

Adding Non-Default CFs

Use select to include CFs that aren't part of the group's defaults:

custom_format_groups:
add:
- trash_id: 9337080378236ce4c0b183e35790d2a7 # Miscellaneous
select:
- 7357cf5161efbf8c4d5d0c30b4815ee2 # Obfuscated
- f537cf427b64c38c8e36298f657e4828 # Scene

The selected CFs are added alongside required and default CFs.

Combining Select and Exclude

select and exclude compose together. For groups with mutually exclusive alternatives where the guide picks one as the default, use both to swap them:

custom_format_groups:
add:
- trash_id: ff204bbcecdd487d1cefcefdbf0c278d # Golden Rule UHD
exclude:
- dc98083864ea246d05a42df0d05f81cc # x265 (HD)
select:
- 839bea857ed2c0a8e084f3cbdbd65ecb # x265 (no HDR/DV)

A CF cannot appear in both select and exclude.

Selecting All CFs in a Group

Some groups contain only optional CFs with no defaults (like "[Optional] Miscellaneous" or "[Optional] Movie Versions"). Adding these groups without any configuration syncs nothing because there are no defaults to include. Rather than listing every CF individually in select, use select_all to include all non-required CFs at once:

custom_format_groups:
add:
- trash_id: f4a0410a1df109a66d6e47dcadcce014 # [Optional] Miscellaneous
select_all: true
exclude:
- c9eafd50846d299b862ca9bb6ea91950 # x265
- cddfb4e32db826151d97352b8e37c648 # x264

When the guide adds new CFs to this group, they are automatically included without config changes. Use exclude to subtract any you do not want. select_all is mutually exclusive with select; specifying both produces a validation error.

Assigning Scores to Custom Profiles

Auto-sync only targets guide-backed profiles. To assign group scores to a user-defined profile (one with only a name), use assign_scores_to with the profile name:

custom_format_groups:
add:
- trash_id: f737e18b5824d6ebb2d57b957ae2fd6c # Streaming Services (UK)
assign_scores_to:
- name: HD-1080p

You can mix guide-backed and custom profiles in the same list:

custom_format_groups:
add:
- trash_id: f737e18b5824d6ebb2d57b957ae2fd6c # Streaming Services (UK)
assign_scores_to:
- trash_id: 64fb5f9858489bdac2af690e27c8f42f # UHD Bluray + WEB
- name: HD-1080p

The custom profile must exist in your quality_profiles configuration.

Targeting a Specific Variant

When multiple profiles share the same trash_id (profile variants), default CF groups automatically apply to all of them. To assign a group to only one variant, use assign_scores_to with the variant's name:

quality_profiles:
- trash_id: d1498e7d189fbe6c7110ceaabb7473e6
name: WEB-2160p
- trash_id: d1498e7d189fbe6c7110ceaabb7473e6
name: WEB-2160p (AMZN DV)

custom_format_groups:
add:
- trash_id: e9a1944a254e6f8a9da63083f7ae15cb # Audio Formats
assign_scores_to:
- name: WEB-2160p (AMZN DV)

Here, the Audio Formats group syncs only to the AMZN DV variant. Meanwhile, default groups that include WEB-2160p in their compatibility list still apply to both variants automatically.

With profile variants, you must use name in assign_scores_to to target a specific variant. See trash_id for variant naming rules.

Finding Group IDs

Use the list custom-format-groups command to discover available groups and their trash IDs:

recyclarr list custom-format-groups radarr

Each group is displayed as a panel showing its custom formats (with required/default flags) and associated quality profiles. Use --filter to narrow results by group name:

recyclarr list custom-format-groups radarr --filter audio