abiosoft/colima · info
setup cancelled
Error message
setup cancelled
What it means
ramalamaRunner.EnsureProvisioned asks the user to consent to the one-time ramalama setup via cli.Prompt; declining (answering no, or EOF on a closed stdin) returns this error. It is a deliberate cancellation sentinel, not a malfunction — a constant message with no %w wrapping.
Source
Thrown at model/runner.go:331
}
func (r *ramalamaRunner) DisplayName() string {
return "Ramalama"
}
func (r *ramalamaRunner) ValidatePrerequisites(a app.App) error {
return validateCommonPrerequisites(a)
}
func (r *ramalamaRunner) EnsureProvisioned() error {
s, _ := store.Load()
if s.RamalamaProvisioned {
return nil
}
prompt := fmt.Sprintf("%s requires initial setup (this may take a few minutes depending on internet connection speed). Continue", r.DisplayName())
if !cli.Prompt(prompt) {
return fmt.Errorf("setup cancelled")
}
separator := "────────────────────────────────────────"
header := fmt.Sprintf("Colima - %s Setup\n%s", r.DisplayName(), separator)
return terminal.WithAltScreen(ProvisionRamalama, header)
}
func (r *ramalamaRunner) BuildArgs(args []string) ([]string, error) {
return r.buildRamalamaArgs(args), nil
}
// EnsureModel ensures a ramalama model is available, pulling if necessary.
func (r *ramalamaRunner) EnsureModel(modelName string) (string, error) {
if err := EnsureRamalamaModel(modelName); err != nil {
return "", err
}
return modelName, nilView on GitHub (pinned to c3a5f9184d)
Solutions
- Re-run the command interactively and accept the prompt to proceed with setup
- In automation, pre-provision the runner once in an interactive session, or feed an affirmative answer to stdin
- Treat the error as a graceful cancel (exit quietly) rather than a failure when scripting around it
Example fix
// before
return fmt.Errorf("setup cancelled")
// after (constant error; also silences govet's non-constant format string check)
return errors.New("setup cancelled") Defensive patterns
Strategy: try-catch
Try / catch
if err := runner.EnsureProvisioned(); err != nil {
if err.Error() == "setup cancelled" {
// user declined: exit 0 quietly instead of printing an error
fmt.Fprintln(os.Stderr, "setup declined; aborting")
os.Exit(0)
}
return err
} Prevention
- Never run first-time interactive setup from non-interactive shells; provision beforehand
- Distinguish user-cancel sentinels from real errors in wrapper scripts
When it happens
Trigger: Answering 'n' to the '<runner> requires initial setup ... Continue' prompt, or running from a non-interactive context (pipe, CI) where the prompt reads EOF and is treated as refusal.
Common situations: CI jobs or scripts invoking colima model for the first time with stdin redirected; users backing out when warned setup takes minutes.
Related errors
- no editor found in $PATH, kindly set $EDITOR environment var
- unknown runner type: %s (valid options: docker, ramalama)
- %s is not running
- dependency check failed for VM: %w
- error retrieving current runtime: empty value
AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15).
Data as JSON: /api/errors/48d95400bfd3ef8e.
Report an issue: GitHub.