{"record":{"id":"2ddaa74cae25a80f","repo":"Devolutions/UniGetUI","slug":"no-secure-setting-matching-settingkey-was-foun","errorCode":null,"errorMessage":"No secure setting matching \"{settingKey}\" was found.","messagePattern":"No secure setting matching \"(.+?)\" was found\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":400,"severity":"error","filePath":"src/UniGetUI.Interface.IpcApi/IpcSecureSettingsApi.cs","lineNumber":98,"sourceCode":"        }\n\n        if (Enum.TryParse(settingKey, true, out SecureSettings.K enumKey) && enumKey != SecureSettings.K.Unset)\n        {\n            return enumKey;\n        }\n\n        foreach (var key in Enum.GetValues<SecureSettings.K>())\n        {\n            if (\n                key != SecureSettings.K.Unset\n                && SecureSettings.ResolveKey(key).Equals(settingKey, StringComparison.OrdinalIgnoreCase)\n            )\n            {\n                return key;\n            }\n        }\n\n        throw new InvalidOperationException($\"No secure setting matching \\\"{settingKey}\\\" was found.\");\n    }\n\n    private static string ResolveUserName(string? userName)\n    {\n        return string.IsNullOrWhiteSpace(userName) ? Environment.UserName : userName.Trim();\n    }\n}\n","sourceCodeStart":80,"sourceCodeEnd":106,"githubUrl":"https://github.com/Devolutions/UniGetUI/blob/9b1d7d0eab91620fc15c86b36676532095936ae3/src/UniGetUI.Interface.IpcApi/IpcSecureSettingsApi.cs#L80-L106","documentation":"ResolveSettingKey throws when SettingKey matches neither a SecureSettings.K enum name (case-insensitive) nor any SecureSettings.ResolveKey string. The supplied key is not a known secure-setting identifier.","triggerScenarios":"Passing a setting key spelling that is not a defined secure setting (e.g. a non-secure Settings.K name, a renamed key, or a typo).","commonSituations":"Using a plain setting name where a secure key is expected; renamed key across versions; typo.","solutions":["List valid keys via IpcSecureSettingsApi.ListSettings() and use a returned Key/Name","Match exactly one of the enum names or resolved key strings","Re-fetch the key list on version upgrade"],"exampleFix":"// before\nIpcSecureSettingsApi.GetSetting(\"DisableTelemetry\"); // wrong key\n// after\nvar key = IpcSecureSettingsApi.ListSettings()\n    .First(s => s.Name.Equals(want, StringComparison.OrdinalIgnoreCase)).Key;\nIpcSecureSettingsApi.GetSetting(key);","handlingStrategy":"validation","validationCode":"var validKeys = IpcSecureSettingsApi.ListSettings()\n    .Select(s => s.Key).ToHashSet(StringComparer.OrdinalIgnoreCase);\nif (!validKeys.Contains(settingKey))\n    throw new ArgumentException($\"Unknown secure key: {settingKey}\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Source keys from ListSettings, not from memory","Re-validate after upgrades"],"tags":["ipc","secure-settings","enum-validation"],"backgroundTag":null,"analyzedSha":"9b1d7d0eab91620fc15c86b36676532095936ae3","analyzedAt":"2026-08-13T12:19:18.278Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}