mvanhorn/last30days-skill · error

engine: subprocess exceeded %s timeout

Error message

engine: subprocess exceeded %s timeout

What it means

Error "engine: subprocess exceeded %s timeout" thrown in mvanhorn/last30days-skill.

Source

Thrown at mcp/internal/engine/run.go:109

	cmd.Stdout = &stdout
	cmd.Stderr = &stderr

	err = cmd.Run()
	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(

View on GitHub (pinned to c7460f6114)

Solutions

  1. Increase the subprocess timeout in the engine options for long research runs.
  2. Reduce the scope of the run (fewer sources, quicker depth) so it finishes within the timeout.
  3. Investigate whether the subprocess hung (network stall) by running last30days.py directly with the same arguments.

When it happens

Trigger: Fires when the spawned last30days.py subprocess runs longer than the configured timeout. Common for very broad research topics, slow networks, or unresponsive upstream sources.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of mvanhorn/last30days-skill@c7460f6114 (2026-08-15). Data as JSON: /api/errors/580c4260bf5de752. Report an issue: GitHub.