{"record":{"id":"9effb5c6a4b6f23a","repo":"Devolutions/UniGetUI","slug":"no-package-matching-id-packageid-was-found","errorCode":null,"errorMessage":"No package matching id \"{PackageId}\" was found.","messagePattern":"No package matching id \"(.+?)\" was found\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":400,"severity":"warning","filePath":"src/UniGetUI.Interface.IpcApi/IpcPackageApi.cs","lineNumber":605,"sourceCode":"            OutputPath = outputPath,\n            Output = operation.GetOutput().Select(line => line.Item1).ToArray(),\n        };\n    }\n\n    private static IPackage FindSearchResult(IpcPackageActionRequest request)\n    {\n        foreach (var manager in GetManagers(request.ManagerName))\n        {\n            var package = manager.FindPackages(request.PackageId).FirstOrDefault(candidate =>\n                MatchesIdentity(candidate, request)\n            );\n            if (package is not null)\n            {\n                return package;\n            }\n        }\n\n        throw new InvalidOperationException(\n            $\"No package matching id \\\"{request.PackageId}\\\" was found.\"\n        );\n    }\n\n    private static IPackage FindAnyPackage(IpcPackageActionRequest request)\n    {\n        return TryFindPackageForStateMutation(request)\n            ?? FindSearchResult(request);\n    }\n\n    private static IPackage FindInstalledPackage(IpcPackageActionRequest request)\n    {\n        var package = GetInstalledPackagesSnapshot(request.ManagerName).FirstOrDefault(candidate =>\n            MatchesIdentity(candidate, request)\n        );\n        if (package is not null)\n        {\n            return package;","sourceCodeStart":587,"sourceCodeEnd":623,"githubUrl":"https://github.com/Devolutions/UniGetUI/blob/9b1d7d0eab91620fc15c86b36676532095936ae3/src/UniGetUI.Interface.IpcApi/IpcPackageApi.cs#L587-L623","documentation":"FindSearchResult throws when no package across the ready, managerName-matching managers matches the requested id via live FindPackages search. Used by download and as the fallback for state mutation.","triggerScenarios":"Calling download on a package id no manager can find via search; misspelled id; package absent from all configured sources.","commonSituations":"Wrong/missing source configured; id casing or source mismatch in MatchesIdentity; sources offline.","solutions":["Verify the package id with a search call first and use the returned id/source","Ensure the relevant managers and their sources are enabled and ready","Check that MatchesIdentity expectations (id + optional source) are satisfied"],"exampleFix":"// before\nawait IpcPackageApi.DownloadPackageAsync(\n    new IpcPackageActionRequest { PackageId = \"gitt\" });\n// after\nvar hit = manager.FindPackages(\"git\").FirstOrDefault();\nif (hit is null) return Result.NotFound();\nawait IpcPackageApi.DownloadPackageAsync(\n    new IpcPackageActionRequest { PackageId = hit.Id, SourceName = hit.Source.Name });","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try\n{\n    return FindSearchResult(request);\n}\ncatch (InvalidOperationException) when (IsPackageNotFound(ex))\n{\n    return Result.NotFound($\"Package {request.PackageId} not found\");\n}","preventionTips":["Run a search to confirm existence before download","Surface source/casing requirements to the caller"],"tags":["ipc","package-lookup","search"],"backgroundTag":null,"analyzedSha":"9b1d7d0eab91620fc15c86b36676532095936ae3","analyzedAt":"2026-08-13T12:19:18.278Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}