{"record":{"id":"d4d92517030ab400","repo":"ipfs/kubo","slug":"status-q-is-not-valid","errorCode":null,"errorMessage":"status %q is not valid","messagePattern":"status %q is not valid","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/commands/pin/remotepin.go","lineNumber":367,"sourceCode":"\t\tvar parsedCIDs []cid.Cid\n\t\tfor _, rawCID := range cidsRawArr {\n\t\t\tparsedCID, err := cmdutils.CidFromArg(rawCID)\n\t\t\tif err != nil {\n\t\t\t\tclose(out)\n\t\t\t\treturn fmt.Errorf(\"CID %q cannot be parsed: %v\", rawCID, err)\n\t\t\t}\n\t\t\tparsedCIDs = append(parsedCIDs, parsedCID)\n\t\t}\n\t\topts = append(opts, pinclient.PinOpts.FilterCIDs(parsedCIDs...))\n\t}\n\tif statusRaw, statusFound := req.Options[pinStatusOptionName]; statusFound {\n\t\tstatusRawArr := statusRaw.([]string)\n\t\tvar parsedStatuses []pinclient.Status\n\t\tfor _, rawStatus := range statusRawArr {\n\t\t\ts := pinclient.Status(rawStatus)\n\t\t\tif s.String() == string(pinclient.StatusUnknown) {\n\t\t\t\tclose(out)\n\t\t\t\treturn fmt.Errorf(\"status %q is not valid\", rawStatus)\n\t\t\t}\n\t\t\tparsedStatuses = append(parsedStatuses, s)\n\t\t}\n\t\topts = append(opts, pinclient.PinOpts.FilterStatus(parsedStatuses...))\n\t}\n\n\treturn c.Ls(ctx, out, opts...)\n}\n\nvar rmRemotePinCmd = &cmds.Command{\n\tHelptext: cmds.HelpText{\n\t\tTagline:          \"Remove pins from remote pinning service.\",\n\t\tShortDescription: \"Removes the remote pin, allowing it to be garbage-collected if needed.\",\n\t\tLongDescription: `\nRemoves remote pins, allowing them to be garbage-collected if needed.\n\nThis command accepts the same search query parameters as 'ls', and it is good\npractice to execute 'ls' before 'rm' to confirm the list of pins to be removed.","sourceCodeStart":349,"sourceCodeEnd":385,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/commands/pin/remotepin.go#L349-L385","documentation":"A value passed to 'ipfs pin remote ls/rm --status' is not one of the pinning service statuses (queued, pinning, pinned, failed). The raw string is cast to pinclient.Status and compared against its canonical String() output.","triggerScenarios":"Thrown at core/commands/pin/remotepin.go:367 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use only queued, pinning, pinned or failed (comma-separated for multiple)","Check for typos or plurals like 'pins'"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}