Radarr/Radarr · error · DownloadClientException
Unable to connect to SABnzbd, {0}
Error message
Unable to connect to SABnzbd, {0} What it means
Thrown by the SABnzbd proxy's ProcessRequest when _httpClient.Execute raises an HttpException — SABnzbd returned an HTTP error status (4xx/5xx). Wrapped as DownloadClientException (treated as a hard failure, not transient), with the original message interpolated.
Source
Thrown at src/NzbDrone.Core/Download/Clients/Sabnzbd/SabnzbdProxy.cs:201
return requestBuilder;
}
private string ProcessRequest(HttpRequestBuilder requestBuilder, SabnzbdSettings settings)
{
var httpRequest = requestBuilder.Build();
HttpResponse response;
_logger.Debug("Url: {0}", httpRequest.Url);
try
{
response = _httpClient.Execute(httpRequest);
}
catch (HttpException ex)
{
throw new DownloadClientException("Unable to connect to SABnzbd, {0}", ex, ex.Message);
}
catch (HttpRequestException ex)
{
throw new DownloadClientUnavailableException("Unable to connect to SABnzbd, {0}", ex, ex.Message);
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.TrustFailure)
{
throw new DownloadClientUnavailableException("Unable to connect to SABnzbd, certificate validation failed.", ex);
}
throw new DownloadClientUnavailableException("Unable to connect to SABnzbd, {0}", ex, ex.Message);
}
CheckForError(response);
return response.Content;View on GitHub (pinned to ca451608dc)
Solutions
- Confirm the full SABnzbd URL (including any /sabnzbd prefix) in settings.
- Verify the API key is correct and the SABnzbd API is enabled.
- curl the SABnzbd API endpoint with the key to reproduce the status code.
- Check SABnzbd's own logs for the 5xx cause.
Defensive patterns
Strategy: try-catch
Validate before calling
if (!Uri.TryCreate(settings.Url, UriKind.Absolute, out var uri) || string.IsNullOrEmpty(settings.ApiKey))
{
throw new InvalidOperationException("SABnzbd URL and API key are required.");
} Try / catch
try { _proxy.SomeCall(settings); }
catch (DownloadClientException ex) { _logger.Warn(ex, "SABnzbd returned an HTTP error: {0}", ex.Message); } Prevention
- Use the full SABnzbd URL including any /sabnzbd prefix.
- Keep the API key current and the API enabled.
- Test the connection after SABnzbd URL/key changes.
When it happens
Trigger: Any SABnzbd API call returns a failing HTTP status. Typical: 404 (wrong URL prefix, e.g. missing /sabnzbd/), 401/403 (bad API key), 500 (SAB internal error). The {0} placeholder carries ex.Message.
Common situations: Wrong URL or URL prefix in settings (missing /sabnzbd/api path); API key incorrect; SABnzbd returning 500 due to a corrupt config or full disk; reverse proxy returning 502.
Related errors
- Unable to connect to SABnzbd, certificate validation failed.
- Unable to reach Freebox API. Verify 'Host', 'Port' or 'Use S
- Unable to connect to Freebox API, please check your settings
- Unable to connect to Freebox, please check your settings.
- Unable to connect to Hadouken, please check your settings
AI-assisted analysis of Radarr/Radarr@ca451608dc (2026-08-13).
Data as JSON: /api/errors/cc7c6c788205e932.
Report an issue: GitHub.