Skip to main content

CLI reference

upbrr [options] <input path>...
upbrr serve [options]
upbrr api-token <create|list|revoke> [options]

On Windows, examples use upbrr.exe. Put options before input paths.

Use executable help as the exact reference for your installed version:

.\upbrr.exe --help
.\upbrr.exe serve --help
.\upbrr.exe api-token create --help

Common operations

Prepare one release:

.\upbrr.exe "D:\releases\Example.Release.2026.1080p-GRP"

Prepare without tracker submission or client injection:

.\upbrr.exe --debug --no-seed "D:\releases\Example.Release.2026.1080p-GRP"

Run duplicate and site checks without uploading:

.\upbrr.exe --site-check --trackers BLU,OE "D:\releases\Example.Release.2026.1080p-GRP"

Process at most five entries from a queue folder:

.\upbrr.exe --queue "D:\upload-queue" --limit-queue 5

Interaction and safety

OptionBehavior
--debugRuns end-to-end preparation and payload preview without tracker submission. Client injection remains enabled unless --no-seed is set.
--log-level debugChanges logging verbosity only. It does not enable debug/non-submitting behavior.
--unattendedNever prompts. Unsafe global ambiguity returns an error; tracker-specific manual prerequisites can block only that tracker.
--unattended_confirmUses unattended defaults but permits required confirmation or manual-input prompts.
--no-seedDisables torrent-client injection.
Destructive maintenance

--cleanup deletes all stored release content from the active database. --delete-tmp deletes stored database content for each supplied input before processing it. Back up state and verify the active config/database before using either option.

Config and application

OptionAliasesPurpose
--config <path>-configUse a config file path.
--export-config <path>-export-configExport SQLite config to YAML and exit.
--export-config-plaintext-export-config-plaintextInclude plaintext secrets; requires --export-config.
--import-config <path>-import-configImport .py, .yaml, .yml, or .json config and exit.
--create-auth-create-authCreate web-auth.json beside the active database and exit.
--version-versionPrint version and exit.
--cleanup-cleanupDelete all stored release content and exit.

Execution

OptionAliasesPurpose
--queue <path>-queueProcess an entire folder queue.
--limit-queue <count>-limit-queue, -lqLimit queued items processed.
--site-check-site-check, -scSearch/check sites without uploading.
--site-upload <tracker>-site-upload, -suProcess one tracker upload flow.
--debug-debugEnable non-submitting debug mode.
--log-level <level>-log-levelSet error, warn, info, debug, or trace.
--upload-only-upload-onlyUpload using prepared metadata cache only.
--delete-tmp-delete-tmp, -dtmpDelete stored content for each input before processing.
--unattended-unattended, -uaRun without prompts.
--unattended_confirm-unattended_confirm, -uacRun unattended defaults with prompts allowed.

Tracker selection and IDs

OptionAliasesPurpose
--trackers <list>-trackers, -tkUse comma-separated trackers.
--trackers-remove <list>-trackers-remove, -rtkRemove comma-separated trackers.
--ptp <id-or-url>-ptpSupply a PTP torrent ID or URL.
--blu <id-or-url>-bluSupply a BLU torrent ID or URL.
--aither <id-or-url>-aitherSupply an Aither torrent ID or URL.
--lst <id-or-url>-lstSupply an LST torrent ID or URL.
--oe <id-or-url>-oeSupply an OE torrent ID or URL.
--hdb <id-or-url>-hdbSupply an HDB torrent ID or URL.
--btn <id-or-url>-btnSupply a BTN torrent ID or URL.
--bhd <id-or-url>-bhdSupply a BHD torrent ID or URL.
--ulcx <id-or-url>-ulcxSupply a ULCX torrent ID or URL.

Release overrides

OptionAliasesPurpose
--category <value>-category, -cOverride category.
--type <value>-type, -tOverride release type.
--source <value>-sourceOverride source.
--resolution <value>-resolution, -resOverride resolution.
--tag <value>-tag, -gOverride group tag.
--service <value>-service, -servOverride streaming service.
--distributor <value>-distributor, -distOverride distributor.
--original-language <value>-original-language, -olOverride original language.
--edition <value>-edition, -repackOverride edition text.
--season <value>-seasonOverride one season token, such as 5 or S05.
--episode <value>-episodeOverride one episode token, such as 5 or E05.
--episode-title <value>-episode-title, -manual-episode-title, -metOverride episode title.
--manual-year <year>-manual-year, -yearOverride release year.
--daily <YYYY-MM-DD>-dailySet daily episode air date.
--region <value>-region, -regOverride disc region.
--no-season-no-seasonRemove season and episode from name.
--no-year-no-yearRemove year from name.
--no-aka-no-akaRemove AKA from name.
--no-tag-no-tagRemove group tag from name.
--no-episode-title-no-episode-title, -netRemove episode title from name.
--no-distributor-no-distributor, -ndistRemove distributor.
--no-edition-no-edition, -neRemove edition from name.
--no-dub-no-dubRemove dubbed tag from audio name.
--no-dual-no-dualRemove dual-audio tag from audio name.
--dual-audio-dual-audioAdd dual-audio tag to audio name.

Metadata IDs

OptionAliasesPurpose
--tmdb <id>-tmdbOverride TMDB ID.
--imdb <id>-imdbOverride IMDb ID.
--mal <id>-malOverride MAL ID.
--tvdb <id>-tvdbOverride TVDB ID.
--tvmaze <id>-tvmazeOverride TVmaze ID.

Tracker overrides

OptionAliasesPurpose
--skip-dupe-check-skip-dupe-check, -sdcSkip duplicate checking.
--skip-dupe-asking-skip-dupe-asking, -sdaSkip duplicate asking.
--double-dupe-check-double-dupe-check, -ddcRun a double duplicate check.
--foreign-foreignMark a TIK release as foreign.
--opera-operaMark a TIK release as opera or musical.
--asian-asianMark a TIK release as Asian.
--disctype <value>-disctypeOverride TIK disc type.
--commentary-commentary, -mcMark release as containing commentary.
--personalrelease-personalrelease, -prMark release as personal.
--stream-stream, -stMark release as stream optimized.
--webdv-webdvMark release as WEB-DV.
--not-anime-not-animeForce release to be treated as not anime.
--anon-anon, -aUpload anonymously.
--draft-draft, -drSend to drafts where supported.
--modq-modq, -mqOpt into mod queue where supported.
--channel <value>-channel, -chOverride SPD channel.

Screenshots, images, and descriptions

OptionAliasesPurpose
--screens <count>-screens, -sSet screenshot count.
--manual_frames <list>-manual_frames, -mfUse comma-separated frame numbers.
--comparison <paths>-comparison, -compsSet one comparison folder or comma-separated folders.
--comparison_index <index>-comparison_index, -comps_indexSelect the primary comparison index.
--menu-images <path>-menu-imagesImport manually captured disc-menu screenshots.
--get-dvd-menus-get-dvd-menusCapture distinct menus from extracted DVD VIDEO_TS.
--imghost <name>-imghost, -ihOverride image host.
--skip-imagehost-upload-skip-imagehost-upload, -siuSkip automatic image-host uploads.
--descfile <path>-descfile, -dfUse a custom description file.
--desclink <url>-desclink, -pbUse a custom description link.

Client and torrent

OptionAliasesPurpose
--client <name>-clientOverride torrent client.
--qbit-tag <value>-qbit-tag, -qbtOverride qBittorrent tag.
--qbit-cat <value>-qbit-cat, -qbcOverride qBittorrent category.
--force-recheck-force-recheck, -frcForce recheck of matched qBittorrent torrents before validation.
--no-seed-no-seed, -nsDo not inject into torrent clients.
--skip_auto_torrent-skip_auto_torrent, -satSkip automated torrent-client searching.
--keep-folder-keep-folder, -kfKeep a supplied folder instead of selecting its video file.
--onlyID-onlyIDOnly retrieve tracker metadata IDs.
--infohash <hash>-infohash, -th, -torrenthashOverride the v1 info hash.
--max-piece-size <MiB>-max-piece-size, -mpsSet maximum torrent piece size in MiB.
--nohash-nohash, -nhReuse existing torrents only; do not generate a new torrent.
--rehash-rehash, -rhForce generation of a fresh torrent.

serve

upbrr serve [options]
OptionPurpose
--config <path>Use a config file path.
--addr <host:port>Set the complete listen address.
--host <host>Set the listen host.
--port <port>Set the listen port.
--base-url <url-or-path>Set the external Web UI URL or path prefix.
--persist-listenPersist listen host and port to web-config.json.
--persist-web-configPersist supplied Web UI serve settings.
--dev-no-authDisable Web auth for local development on loopback only.

See Web server and reverse proxy for precedence and proxy examples.

api-token

Create a persistent bearer token:

.\upbrr.exe api-token create --name "Release automation" --owner "automation" --scopes workflow:read,workflow:write

--scopes accepts workflow:read, workflow:write, and workflow:execute. Omitting it grants all supported scopes. The plaintext token is returned only when created; store it in a secret manager.

List safe token metadata:

.\upbrr.exe api-token list

Revoke by token ID:

.\upbrr.exe api-token revoke tok_example

Create options also include --config, --name, --owner, and --scopes. List and revoke accept --config.

See the API reference before granting workflow:execute.