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
- Ensure PEInterface.Managers is populated before any IPC call — check ListManagers() returns non-empty.
- Verify that not all managers are disabled in settings (Settings.K.DisabledManagers dictionary).
- 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
- Ensure PEInterface.Managers is populated during application startup before any IPC calls.
- Check that not all managers are disabled in the DisabledManagers settings dictionary.
- Review startup logs for manager initialization failures.
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
- {expectedName} maintenance actions can only run against the
- No package manager matching "{managerName}" was found.
- The manager parameter is required.
- Unsupported page \"{page}\". Supported pages: {string.Join("
- The cloud backup \"{key}\" was not found.
AI-assisted analysis of Devolutions/UniGetUI@9b1d7d0eab (2026-08-13).
Data as JSON: /api/errors/eba0c07d68c3e3cb.
Report an issue: GitHub.