{"record":{"id":"2c655b78ab9fff0d","repo":"Devolutions/UniGetUI","slug":"the-manager-action-request-action-is-not-suppo","errorCode":null,"errorMessage":"The manager action \"{request.Action}\" is not supported.","messagePattern":"The manager action \"(.+?)\" is not supported\\.","errorType":"validation","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"src/UniGetUI.Interface.IpcApi/IpcManagerMaintenanceApi.cs","lineNumber":234,"sourceCode":"                    manager.Status.ExecutableCallArgs + \" cache rm --all\"\n                );\n                // Clear download cache (global scope, needs admin)\n                await RunWindowsProcessAsync(\n                    manager.Status.ExecutablePath,\n                    manager.Status.ExecutableCallArgs + \" cache rm --all --global\",\n                    runAsAdmin: true\n                );\n                await ReloadManagerAsync(manager);\n                return Success(\n                    \"run-manager-action\",\n                    manager,\n                    action,\n                    \"completed\",\n                    \"Scoop cleanup completed.\"\n                );\n\n            default:\n                throw new InvalidOperationException(\n                    $\"The manager action \\\"{request.Action}\\\" is not supported.\"\n                );\n        }\n    }\n\n    private static IpcManagerMaintenanceInfo ToMaintenanceInfo(IPackageManager manager)\n    {\n        string? configuredExecutablePath = Settings.GetDictionaryItem<string, string>(\n            Settings.K.ManagerPaths,\n            manager.Name\n        );\n\n        List<string> supportedActions =\n        [\n            \"reload\",\n        ];\n\n        if (manager.Name.Equals(\"WinGet\", StringComparison.OrdinalIgnoreCase))","sourceCodeStart":216,"sourceCodeEnd":252,"githubUrl":"https://github.com/Devolutions/UniGetUI/blob/9b1d7d0eab91620fc15c86b36676532095936ae3/src/UniGetUI.Interface.IpcApi/IpcManagerMaintenanceApi.cs#L216-L252","documentation":"Thrown by the default arm of RunActionAsync's switch when request.Action is non-null but, after trim/lowercase, matches none of the supported cases (repair-winget, install-scoop, uninstall-scoop, cleanup-scoop). Distinct from error 37 (null action). The message echoes the raw request.Action for diagnostics.","triggerScenarios":"POSTing an Action like 'cleanup', 'repair', 'reset-scoop', 'update-scoop', or a typo like 'clean-scoop'. The switch is case-insensitive but spelling/hyphenation must match exactly.","commonSituations":"Guessing an action name. Copying an action token from an older/newer API version. Mixing the action vocabulary with another endpoint (e.g. 'reload' belongs to the reload endpoint, not RunAction). Trailing whitespace is trimmed but internal differences are not.","solutions":["Use one of the exact supported actions: repair-winget, install-scoop, uninstall-scoop, cleanup-scoop.","Call GetMaintenanceInfo to read the supportedActions list for the target manager before submitting.","Check the action spelling and hyphenation character-for-character."],"exampleFix":"// before\n{ \"managerName\": \"scoop\", \"action\": \"clean-scoop\", \"confirm\": true }\n// after\n{ \"managerName\": \"scoop\", \"action\": \"cleanup-scoop\", \"confirm\": true }","handlingStrategy":"validation","validationCode":"static readonly HashSet<string> s_actions = new(StringComparer.OrdinalIgnoreCase)\n    { \"repair-winget\", \"install-scoop\", \"uninstall-scoop\", \"cleanup-scoop\" };\n\nstatic bool IsValidAction(string? a) =>\n    !string.IsNullOrWhiteSpace(a) && s_actions.Contains(a.Trim().ToLowerInvariant());","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Populate the action selector from GetMaintenanceInfo.supportedActions for the target manager.","Match action tokens exactly, including hyphenation."],"tags":["ipc","manager-maintenance","input-validation","enum"],"backgroundTag":null,"analyzedSha":"9b1d7d0eab91620fc15c86b36676532095936ae3","analyzedAt":"2026-08-13T12:19:18.278Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}