{"id":"9e238ce417234574","repo":"docker/cli","slug":"error-retrieving-signers-for-s-w","errorCode":null,"errorMessage":"error retrieving signers for %s: %w","messagePattern":"error retrieving signers for (.+?): %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/docker-trust/trust/signer_remove.go","lineNumber":109,"sourceCode":"// removeSingleSigner attempts to remove a single signer and returns whether signer removal happened.\n// The signer not being removed doesn't necessarily raise an error e.g. user choosing \"No\" when prompted for confirmation.\nfunc removeSingleSigner(ctx context.Context, dockerCLI command.Cli, repoName, signerName string, forceYes bool) (bool, error) {\n\timgRefAndAuth, err := trust.GetImageReferencesAndAuth(ctx, authResolver(dockerCLI), repoName)\n\tif err != nil {\n\t\treturn false, err\n\t}\n\n\tsignerDelegation := data.RoleName(\"targets/\" + signerName)\n\tif signerDelegation == releasesRoleTUFName {\n\t\treturn false, errors.New(\"releases is a reserved keyword and cannot be removed\")\n\t}\n\tnotaryRepo, err := newNotaryClient(dockerCLI, imgRefAndAuth, trust.ActionsPushAndPull)\n\tif err != nil {\n\t\treturn false, trust.NotaryError(imgRefAndAuth.Reference().Name(), err)\n\t}\n\tdelegationRoles, err := notaryRepo.GetDelegationRoles()\n\tif err != nil {\n\t\treturn false, fmt.Errorf(\"error retrieving signers for %s: %w\", repoName, err)\n\t}\n\tvar role data.Role\n\tfor _, delRole := range delegationRoles {\n\t\tif delRole.Name == signerDelegation {\n\t\t\trole = delRole\n\t\t\tbreak\n\t\t}\n\t}\n\tif role.Name == \"\" {\n\t\treturn false, fmt.Errorf(\"no signer %s for repository %s\", signerName, repoName)\n\t}\n\tallRoles, err := notaryRepo.ListRoles()\n\tif err != nil {\n\t\treturn false, err\n\t}\n\n\tisLastSigner, err := isLastSignerForReleases(role, allRoles)\n\tif err != nil {","sourceCodeStart":91,"sourceCodeEnd":127,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cmd/docker-trust/trust/signer_remove.go#L91-L127","documentation":"Error \"error retrieving signers for %s: %w\" thrown in docker/cli.","triggerScenarios":"Thrown at cmd/docker-trust/trust/signer_remove.go:109 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}