Devolutions/UniGetUI · error · InvalidOperationException
The secure setting key parameter is required.
Error message
The secure setting key parameter is required.
What it means
ResolveSettingKey throws when SettingKey is null, empty, or whitespace. A concrete key is required to address any secure setting.
Source
Thrown at src/UniGetUI.Interface.IpcApi/IpcSecureSettingsApi.cs:79
SecureSettings.K key,
string userName
)
{
return new IpcSecureSettingInfo
{
Key = key.ToString(),
Name = SecureSettings.ResolveKey(key),
UserName = userName,
IsCurrentUser = userName.Equals(Environment.UserName, StringComparison.OrdinalIgnoreCase),
Enabled = SecureSettings.GetForUser(userName, key),
};
}
private static SecureSettings.K ResolveSettingKey(string settingKey)
{
if (string.IsNullOrWhiteSpace(settingKey))
{
throw new InvalidOperationException("The secure setting key parameter is required.");
}
if (Enum.TryParse(settingKey, true, out SecureSettings.K enumKey) && enumKey != SecureSettings.K.Unset)
{
return enumKey;
}
foreach (var key in Enum.GetValues<SecureSettings.K>())
{
if (
key != SecureSettings.K.Unset
&& SecureSettings.ResolveKey(key).Equals(settingKey, StringComparison.OrdinalIgnoreCase)
)
{
return key;
}
}
View on GitHub (pinned to 9b1d7d0eab)
Solutions
- Always send a non-empty SettingKey (enum name or resolved key string)
- Validate non-empty client-side before the request
- Make settingKey required in the request schema
Example fix
// before
await IpcSecureSettingsApi.SetSettingAsync(
new IpcSecureSettingRequest { Enabled = true });
// after
await IpcSecureSettingsApi.SetSettingAsync(
new IpcSecureSettingRequest { SettingKey = "TelemetryEnabled", Enabled = true }); Defensive patterns
Strategy: validation
Validate before calling
if (string.IsNullOrWhiteSpace(request.SettingKey))
throw new ArgumentException("SettingKey is required"); Prevention
- Mark SettingKey [Required] in the DTO
- Validate at the API boundary
When it happens
Trigger: Calling get/set secure-setting with the settingKey field omitted from the request body.
Common situations: Client JSON omitted the field; serializer defaulted SettingKey to ""; UI submitted an empty form.
Related errors
- Unsupported page \"{page}\". Supported pages: {string.Join("
- The cloud backup \"{key}\" was not found.
- The backup key is required.
- Exactly one of content or path must be supplied when importi
- Custom manager paths are disabled by secure settings.
AI-assisted analysis of Devolutions/UniGetUI@9b1d7d0eab (2026-08-13).
Data as JSON: /api/errors/30daa24c51c5e77a.
Report an issue: GitHub.