{"id":"2a1c06269baeccb0","repo":"docker/cli","slug":"releases-is-a-reserved-keyword-and-cannot-be-remov","errorCode":null,"errorMessage":"releases is a reserved keyword and cannot be removed","messagePattern":"releases is a reserved keyword and cannot be removed","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/docker-trust/trust/signer_remove.go","lineNumber":101,"sourceCode":"\t\t\t\"Are you sure you want to continue?\",\n\t\t\tsignerName, repoName, repoName,\n\t\t)\n\t\treturn prompt.Confirm(ctx, dockerCLI.In(), dockerCLI.Out(), message)\n\t}\n\treturn false, nil\n}\n\n// 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)","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cmd/docker-trust/trust/signer_remove.go#L83-L119","documentation":"Error \"releases is a reserved keyword and cannot be removed\" thrown in docker/cli.","triggerScenarios":"Thrown at cmd/docker-trust/trust/signer_remove.go:101 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}