ipfs/kubo · error
CID %q cannot be parsed: %v
Error message
CID %q cannot be parsed: %v
What it means
Fired by `ipfs pin remote ls` when a CID passed via the --cid option cannot be parsed by cmdutils.CidFromArg (malformed multihash/base, wrong encoding). It is a validation guard over user-supplied CID arguments; on failure the command aborts and closes the output channel before listing.
Source
Thrown at core/commands/pin/remotepin.go:354
opts := []pinclient.LsOption{}
if name, nameFound := req.Options[pinNameOptionName]; nameFound {
nameStr := name.(string)
// Validate name filter
if err := cmdutils.ValidatePinName(nameStr); err != nil {
close(out)
return err
}
opts = append(opts, pinclient.PinOpts.FilterName(nameStr))
}
if cidsRaw, cidsFound := req.Options[pinCIDsOptionName]; cidsFound {
cidsRawArr := cidsRaw.([]string)
var parsedCIDs []cid.Cid
for _, rawCID := range cidsRawArr {
parsedCID, err := cmdutils.CidFromArg(rawCID)
if err != nil {
close(out)
return fmt.Errorf("CID %q cannot be parsed: %v", rawCID, err)
}
parsedCIDs = append(parsedCIDs, parsedCID)
}
opts = append(opts, pinclient.PinOpts.FilterCIDs(parsedCIDs...))
}
if statusRaw, statusFound := req.Options[pinStatusOptionName]; statusFound {
statusRawArr := statusRaw.([]string)
var parsedStatuses []pinclient.Status
for _, rawStatus := range statusRawArr {
s := pinclient.Status(rawStatus)
if s.String() == string(pinclient.StatusUnknown) {
close(out)
return fmt.Errorf("status %q is not valid", rawStatus)
}
parsedStatuses = append(parsedStatuses, s)
}
opts = append(opts, pinclient.PinOpts.FilterStatus(parsedStatuses...))
}View on GitHub (pinned to 329838acdf)
Solutions
- Pass valid CIDs (CIDv0 or CIDv1), comma-separated for multiple filters
- Check for typos, stray whitespace, or paths/URLs being passed where a bare CID is expected
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/commands/pin/remotepin.go:354 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03).
Data as JSON: /api/errors/2dcbc08ff6ffe836.
Report an issue: GitHub.