Hmbown/CodeWhale · error
Full Access cannot override {}; change that controlling sour
Error message
Full Access cannot override {}; change that controlling source first What it means
Raised in apply_setup_runtime_preset when selecting the Full Access (HighTrustLocal) preset while runtime_preset_blocker reports a controlling config source that would be overridden. Full Access raises the trust level, so an explicitly configured lower-trust controlling source must be changed first rather than being silently overridden.
Source
Thrown at crates/tui/src/tui/ui/apply.rs:2272
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")?;
let settings_snapshot = RuntimePresetFileSnapshot::capture(settings_path)?;
// The preset's settings read, its config-document write, and its settings
// write are one durable transaction with file-snapshot rollback. Hold the
// settings transaction lock across all of it so a concurrent writer (a queued
// mode/thinking drain, the Shift+Tab posture write) can neither be lost by
// this save nor be reverted by the rollback.
// Every durable write happens inside this closure, so the settings lock is
// released before live state moves below.
crate::settings::with_settings_transaction(|settings_transaction| {
let mut settings = settings_transaction
.load()View on GitHub (pinned to 0c42157ee5)
Solutions
- Change or remove the controlling approval/trust source named in the error
- Re-run the Full Access preset after the explicit setting is cleared
- If the controlling source must stay, configure Full Access equivalents in that source directly
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/tui/ui/apply.rs:2272 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/ed90cd856b5f2c6b.
Report an issue: GitHub.