abiosoft/colima · warning
error at '%s': %w
Error message
error at '%s': %w
What it means
Emitted by ActiveCommandChain.Exec (cli/chain.go:134) for non-fatal errors: when a chain step returns an error wrapped in errNonFatal (created via cli.ErrNonFatal) and a stage label was previously set with Stage()/Stagef(), the error is logged as a warning 'error at \'<lastStage>\': <cause>' and the chain continues. It is diagnostics output, not a failure.
Source
Thrown at cli/chain.go:134
if f.s != "" {
a.log.Println(f.s, "...")
a.lastStage = f.s
}
continue
}
// success
err := f.f()
if err == nil {
continue
}
// warning
if _, ok := err.(errNonFatal); ok {
if a.lastStage == "" {
a.log.Warnln(err)
} else {
a.log.Warnln(fmt.Errorf("error at '%s': %w", a.lastStage, err))
}
continue
}
// error
if a.lastStage == "" {
return err
}
return fmt.Errorf("error at '%s': %w", a.lastStage, err)
}
return nil
}
// Retry retries `f` up to `count` times at interval.
// If after `count` attempts there is an error, the command chain is terminated with the final error.
// retryCount starts from 1.
func (a *ActiveCommandChain) Retry(stage string, interval time.Duration, count int, f func(retryCount int) error) {
a.Add(func() (err error) {View on GitHub (pinned to c3a5f9184d)
Solutions
- Read the cause after the colon — the chain continued, so it is safe to ignore unless the warned feature misbehaves
- Re-run with `colima start -v` (or -vv) for debug context around the named stage
- If the warned feature matters, run the equivalent explicit subcommand (e.g. `colima start -p <profile> --<flag>`) to surface the problem as a hard error
Defensive patterns
Strategy: try-catch
Type guard
// Best-effort guard: the non-fatal marker type is unexported in cli,
// so detect the wrapper's behaviour — chain continues and warns.
func isChainWarning(logLine string) bool {
return strings.HasPrefix(logLine, "error at '") && !strings.HasSuffix(logLine, "chain terminated")
} Try / catch
err := chain.Exec() // warnings were already logged, Exec returned nil
// Non-fatal steps never reach here as errors; when embedding colima,
// wrap your own optional steps with cli.ErrNonFatal so they degrade to warnings:
chain.Add(func() error {
if err := optionalStep(); err != nil {
return cli.ErrNonFatal(err) // logged as "error at '<stage>': ...", chain continues
}
return nil
}) Prevention
- Wrap only truly optional steps with cli.ErrNonFatal — anything required must return a bare error
- Run colima with -v when investigating warnings so stage context is visible
- Do not script failures on warning lines; check exit codes instead
When it happens
Trigger: Any command-chain function whose error is wrapped with cli.ErrNonFatal fails after at least one Stage() marker — typically optional provisioning/configuration steps during `colima start`/`colima stop` that colima deliberately treats as best-effort.
Common situations: Warnings during start such as optional network tweaks, rootless/rootful adjustments, or non-critical dependency steps failing; users see the warning line in `colima start` output but the command completes.
Related errors
- error retrieving current runtime: empty value
- error reading ssh config: %w
- cannot make dir: %w
- pid file not found: %w
- invalid pid: %v
AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15).
Data as JSON: /api/errors/d68d587352d4d5c3.
Report an issue: GitHub.