ipfs/kubo · error
failed to start subcommand: %s
Error message
failed to start subcommand: %s
What it means
The external subcommand binary was found, but exec.Cmd.Start failed before it could run (fork/exec error). %s is the underlying error, typically a missing interpreter, an execute-permission problem, or a binary format mismatch — not a command-not-found case.
Source
Thrown at core/commands/external.go:56
r, w := io.Pipe()
cmd := exec.Command(binname, req.Arguments...)
// TODO: make commands lib be able to pass stdin through daemon
// cmd.Stdin = req.Stdin()
cmd.Stdin = io.LimitReader(nil, 0)
cmd.Stdout = w
cmd.Stderr = w
// setup env of child program
osenv := os.Environ()
cmd.Env = osenv
err = cmd.Start()
if err != nil {
return fmt.Errorf("failed to start subcommand: %s", err)
}
errC := make(chan error)
go func() {
var err error
defer func() { errC <- err }()
err = cmd.Wait()
w.Close()
}()
err = res.Emit(r)
if err != nil {
return err
}
return <-errC
},View on GitHub (pinned to 329838acdf)
Solutions
- Verify the binary is executable (chmod +x) and matches the host architecture
- If it is a script, check its shebang interpreter exists
- Reinstall the external tool
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at core/commands/external.go:56 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/e27febd032351787.
Report an issue: GitHub.