Devolutions/UniGetUI · error · InvalidOperationException

No package managers are available.

Error message

No package managers are available.

What it means

Thrown by ResolveManagers when PEInterface.Managers is empty after filtering — specifically when managerName is null or whitespace, meaning no package managers are registered in the entire system. This indicates PEInterface.Managers was never populated or all managers failed initialization.

Source

Thrown at src/UniGetUI.Interface.IpcApi/IpcManagerSettingsApi.cs:340

            Message = operation.Status switch
            {
                OperationStatus.Succeeded => null,
                OperationStatus.Canceled => "The operation was canceled.",
                _ => operation.GetOutput().LastOrDefault().Item1,
            },
            Source = ToSourceInfo(source, isKnown: true, isConfigured: true),
        };
    }

    internal static IReadOnlyList<IPackageManager> ResolveManagers(string? managerName)
    {
        var managers = PEInterface.Managers
            .Where(manager => MatchesManagerId(manager, managerName))
            .ToArray();

        if (managers.Length == 0)
        {
            throw new InvalidOperationException(
                string.IsNullOrWhiteSpace(managerName)
                    ? "No package managers are available."
                    : $"No package manager matching \"{managerName}\" was found."
            );
        }

        return managers;
    }

    internal static IPackageManager ResolveManager(string managerName)
    {
        if (string.IsNullOrWhiteSpace(managerName))
        {
            throw new InvalidOperationException("The manager parameter is required.");
        }

        return ResolveManagers(managerName).First();
    }

View on GitHub (pinned to 9b1d7d0eab)

Solutions

  1. Ensure PEInterface.Managers is populated before any IPC call — check ListManagers() returns non-empty.
  2. Verify that not all managers are disabled in settings (Settings.K.DisabledManagers dictionary).
  3. Check application startup logs for manager initialization failures.

Example fix

// before
var sources = IpcManagerSettingsApi.ListSources(null);
// after
var managers = IpcManagerSettingsApi.ListManagers();
if (managers.Count == 0)
    throw new InvalidOperationException("No managers initialized.");
var sources = IpcManagerSettingsApi.ListSources(null);
Defensive patterns

Strategy: validation

Validate before calling

if (IpcManagerSettingsApi.ListManagers().Count == 0)
    throw new InvalidOperationException("No package managers are initialized.");

Prevention

When it happens

Trigger: Calling ListSources(null) or any API that calls ResolveManagers with a null/empty manager name, when PEInterface.Managers is empty. This is a system-level failure, not a query error.

Common situations: PEInterface not initialized before IPC calls (startup race condition). All managers disabled via DisabledManagers settings dictionary. Manager initialization failed for every single manager (e.g., running in an environment with no package manager CLIs installed and all managers erroring during Initialize).

Related errors


AI-assisted analysis of Devolutions/UniGetUI@9b1d7d0eab (2026-08-13). Data as JSON: /api/errors/eba0c07d68c3e3cb. Report an issue: GitHub.