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

  1. Pass valid CIDs (CIDv0 or CIDv1), comma-separated for multiple filters
  2. 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.