Hmbown/CodeWhale · error

Runtime presets cannot override {source}; change that contro

Error message

Runtime presets cannot override {source}; change that controlling source first

What it means

Raised in apply_setup_runtime_preset when config.runtime_preset_blocker reports a controlling config source (CLI flag, env var, or explicit file setting) that would be overridden by applying the runtime preset. The message names that source via {source}; presets refuse to silently clobber an explicitly set controlling value.

Source

Thrown at crates/tui/src/tui/ui/apply.rs:2261

            engine_handle.cancel();
            mark_active_turn_cancelled_locally(app);
            app.status_message = Some(parent_stop_status(app, "Request cancelled"));
        }
    }
}

pub(crate) fn apply_setup_runtime_preset(
    app: &mut App,
    config: &mut Config,
    preset: crate::tui::setup::SetupRuntimePreset,
    state: codewhale_config::SetupState,
) -> Result<String> {
    if let Some(source) = config.runtime_preset_blocker(
        app.config_path.as_deref(),
        app.config_profile.as_deref(),
        &app.workspace,
    ) {
        anyhow::bail!(
            "Runtime presets cannot override {source}; change that controlling source first"
        );
    }
    if preset == crate::tui::setup::SetupRuntimePreset::HighTrustLocal {
        let approval = config.approval_policy_control(
            app.config_path.as_deref(),
            app.config_profile.as_deref(),
            &app.workspace,
        );
        if !approval.editable_root() {
            anyhow::bail!(
                "Full Access cannot override {}; change that controlling source first",
                approval.label()
            );
        }
    }

    let settings_path = Settings::path().context("failed to resolve settings path")?;

View on GitHub (pinned to 0c42157ee5)

Solutions

  1. Change or remove the controlling source named in the error (env var, CLI flag, or config file entry)
  2. Apply the preset only after the explicit setting is cleared
  3. Set the desired value directly in the controlling source instead of using the preset
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/tui/src/tui/ui/apply.rs:2261 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20). Data as JSON: /api/errors/6aef89b5caac9f0b. Report an issue: GitHub.