tonhowtf/omniget · error
Torrent was added in list-only mode
Error message
Torrent was added in list-only mode
What it means
librqbit's add_torrent can return AddTorrentResponse::ListOnly when the torrent was added with list_only mode, meaning only metadata listing was requested — no download handle is produced. This downloader requires a real added/managed torrent, so a ListOnly response is treated as an invariant violation and bails.
Solutions
- Ensure the AddTorrentOptions used in download() has list_only set to false/0
- If you need metadata listing, use a separate add_torrent call with list_only and a different session/options for downloading
- Audit shared option-constructing helpers for a hardcoded list_only flag
Example fix
// before
let mut add_torrent = AddTorrentOptions { list_only: true, ..Default::default() };
// after
let add_torrent = AddTorrentOptions { list_only: false, ..Default::default() }; Defensive patterns
Strategy: validation
Validate before calling
assert!(!add_torrent.list_only, "download path must not use list_only options");
Try / catch
match session.add_torrent(at, opts).await? {
librqbit::AddTorrentResponse::ListOnly(_) => bail!("misconfigured options: list_only"),
resp => ok(resp),
} Prevention
- Keep metadata-probing and download option builders separate
- Add a debug assertion that list_only is false in the download path
When it happens
Trigger: The AddTorrentOptions passed to session.add_torrent has list_only=true (or equivalent), causing librqbit to parse the magnet/metadata but not start the torrent.
Common situations: Reusing torrent options intended for a metadata-probing step (fetching file lists) in the actual download path; a code refactor copying options from a 'list files' flow.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- Torrent was added in list-only mode
- Failed to add torrent
- Failed to add torrent
- Torrent download failed
- No URL found in MediaInfo
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/db36c993a35371f3.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/src/platforms/magnet/mod.rs:213
Some(list)
} else {
None
};
let torrent_opts = AddTorrentOptions {
overwrite: true,
only_files,
trackers,
..Default::default()
};
tracing::info!("[magnet] adding torrent, output: {}", output_dir.display());
let (torrent_id, managed_torrent) =
match session.add_torrent(add_torrent, Some(torrent_opts)).await {
Ok(resp) => match resp {
librqbit::AddTorrentResponse::Added(id, handle) => (id, handle),
librqbit::AddTorrentResponse::AlreadyManaged(id, handle) => (id, handle),
librqbit::AddTorrentResponse::ListOnly(_) => {
anyhow::bail!("Torrent was added in list-only mode");
}
},
Err(e) => anyhow::bail!("Failed to add torrent: {}", e),
};
tracing::info!(
"[magnet] torrent added (id={}), waiting for download...",
torrent_id
);
if let Some(slot) = &opts.torrent_id_slot {
*slot.lock().await = Some(torrent_id);
}
let completion = managed_torrent.wait_until_completed();
tokio::pin!(completion);
let cancel_rx = opts.cancel_token.clone();View on GitHub (pinned to 8600b91f42)