ipfs/kubo · error

failed to read file contents: %w

Error message

failed to read file contents: %w

What it means

Failure in `ipfs multibase encode` after the input was opened: io.ReadAll failed while reading the file/stdin bytes (I/O error, read failure on a special file). The encoder was resolved fine; the raw data could not be retrieved.

Source

Thrown at core/commands/multibase.go:71

		cmds.StringOption(mbaseOptionName, "multibase encoding").WithDefault("base64url"),
	},
	Run: func(req *cmds.Request, resp cmds.ResponseEmitter, env cmds.Environment) error {
		if err := req.ParseBodyArgs(); err != nil {
			return err
		}
		encoderName, _ := req.Options[mbaseOptionName].(string)
		encoder, err := mbase.EncoderByName(encoderName)
		if err != nil {
			return err
		}
		files := req.Files.Entries()
		file, err := cmdenv.GetFileArg(files)
		if err != nil {
			return fmt.Errorf("failed to access file: %w", err)
		}
		buf, err := io.ReadAll(file)
		if err != nil {
			return fmt.Errorf("failed to read file contents: %w", err)
		}
		encoded := encoder.Encode(buf)
		reader := strings.NewReader(encoded)
		return resp.Emit(reader)
	},
}

var mbaseDecodeCmd = &cmds.Command{
	Helptext: cmds.HelpText{
		Tagline: "Decode multibase string",
		LongDescription: `
This command expects multibase inside of a file or via stdin:

  > echo -n hello | ipfs multibase encode -b base16 > file
  > cat file
  f68656c6c6f

  > ipfs multibase decode file

View on GitHub (pinned to 329838acdf)

Solutions

  1. Retry the command — a transient I/O error may not recur
  2. Copy the data to a regular file and encode that
  3. Check disk/device health if reading from unusual media
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at core/commands/multibase.go:71 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/5fe9bf631baacd0d. Report an issue: GitHub.