mvanhorn/last30days-skill · error
engine: subprocess failed to start: %w
Error message
engine: subprocess failed to start: %w
What it means
Error "engine: subprocess failed to start: %w" thrown in mvanhorn/last30days-skill.
Source
Thrown at mcp/internal/engine/run.go:113
res := &RunResult{
Stdout: stdout.Bytes(),
Stderr: stderr.Bytes(),
ExitCode: 0,
TimedOut: errors.Is(subCtx.Err(), context.DeadlineExceeded),
}
if err == nil {
return res, nil
}
var exitErr *exec.ExitError
if errors.As(err, &exitErr) {
res.ExitCode = exitErr.ExitCode()
if res.TimedOut {
return res, fmt.Errorf("engine: subprocess exceeded %s timeout", timeout)
}
return res, fmt.Errorf("engine: subprocess exited with code %d", res.ExitCode)
}
return res, fmt.Errorf("engine: subprocess failed to start: %w", err)
}
// resolvePython returns an absolute path to the interpreter or an error
// naming the install URL. If the caller supplied a path we trust it - tests
// rely on this to inject a stub. Otherwise we look up python3 on PATH.
func resolvePython(override string) (string, error) {
if override != "" {
return override, nil
}
path, err := exec.LookPath(DefaultPythonBinary)
if err == nil {
return path, nil
}
return "", fmt.Errorf(
"engine: %s not found on PATH (need Python %s+, install from %s; current GOOS=%s)",
DefaultPythonBinary, MinPythonVersion, PythonInstallURL, runtime.GOOS,
)
}View on GitHub (pinned to c7460f6114)
Solutions
- Verify the Python interpreter path exists and is executable (resolvePython found it earlier, but it may have been removed mid-run).
- Check system resources (fork/exec limits, memory) if exec fails intermittently.
- Ensure the cache script path contains no characters rejected by exec on this OS.
When it happens
Trigger: Fires when the engine cannot start the last30days.py subprocess at all, usually because the Python interpreter is missing, the script path is wrong, or the OS denied process creation (resource limits).
Common situations: See trigger scenarios.
AI-assisted analysis of mvanhorn/last30days-skill@c7460f6114 (2026-08-15).
Data as JSON: /api/errors/c35af162f53bbc82.
Report an issue: GitHub.