{"id":"8ca52da4439d91f5","repo":"docker/cli","slug":"cannot-use-a-digest-reference-for-image-tag","errorCode":null,"errorMessage":"cannot use a digest reference for IMAGE:TAG","messagePattern":"cannot use a digest reference for IMAGE:TAG","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/docker-trust/trust/revoke.go","lineNumber":44,"sourceCode":"\t\tArgs:  cli.ExactArgs(1),\n\t\tRunE: func(cmd *cobra.Command, args []string) error {\n\t\t\treturn revokeTrust(cmd.Context(), dockerCLI, args[0], options)\n\t\t},\n\t\tDisableFlagsInUseLine: true,\n\t}\n\tflags := cmd.Flags()\n\tflags.BoolVarP(&options.forceYes, \"yes\", \"y\", false, \"Do not prompt for confirmation\")\n\treturn cmd\n}\n\nfunc revokeTrust(ctx context.Context, dockerCLI command.Cli, remote string, options revokeOptions) error {\n\timgRefAndAuth, err := trust.GetImageReferencesAndAuth(ctx, authResolver(dockerCLI), remote)\n\tif err != nil {\n\t\treturn err\n\t}\n\ttag := imgRefAndAuth.Tag()\n\tif imgRefAndAuth.Tag() == \"\" && imgRefAndAuth.Digest() != \"\" {\n\t\treturn errors.New(\"cannot use a digest reference for IMAGE:TAG\")\n\t}\n\tif imgRefAndAuth.Tag() == \"\" && !options.forceYes {\n\t\tdeleteRemote, err := prompt.Confirm(ctx, dockerCLI.In(), dockerCLI.Out(), fmt.Sprintf(\"Confirm you would like to delete all signature data for %s?\", remote))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !deleteRemote {\n\t\t\treturn cancelledErr{errors.New(\"trust revoke has been cancelled\")}\n\t\t}\n\t}\n\n\tnotaryRepo, err := newNotaryClient(dockerCLI, imgRefAndAuth, trust.ActionsPushAndPull)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err = clearChangeList(notaryRepo); err != nil {\n\t\treturn err","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cmd/docker-trust/trust/revoke.go#L26-L62","documentation":"Error \"cannot use a digest reference for IMAGE:TAG\" thrown in docker/cli.","triggerScenarios":"Thrown at cmd/docker-trust/trust/revoke.go:44 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}