{"record":{"id":"afbde4dc97ce2f8b","repo":"Hmbown/CodeWhale","slug":"failed-to-update-setting-unknown-setting-key","errorCode":null,"errorMessage":"Failed to update setting: unknown setting '{key}'.","messagePattern":"Failed to update setting: unknown setting '(.+?)'\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/tui/src/settings.rs","lineNumber":1495,"sourceCode":"            }\n            \"permission_posture\" | \"permissions\" => {\n                self.permission_posture = normalize_permission_posture(value);\n                if self.permission_posture.is_none() {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid permission posture '{value}'. Expected: ask, auto-review, or full-access.\"\n                    );\n                }\n            }\n            \"sandbox_mode\" | \"sandbox\" | \"filesystem_sandbox\" => {\n                self.sandbox_mode = normalize_sandbox_mode(value);\n                if self.sandbox_mode.is_none() {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid sandbox_mode '{value}'. Expected: read-only, workspace-write, danger-full-access, or external-sandbox.\"\n                    );\n                }\n            }\n            _ => {\n                anyhow::bail!(\"Failed to update setting: unknown setting '{key}'.\");\n            }\n        }\n        Ok(())\n    }\n\n    /// Apply a named settings preset (#3478).\n    ///\n    /// Presets are the first bundled-settings mechanism: a single name applies a\n    /// coherent group of presentation knobs. `calm` is the \"beautiful/calm\n    /// transcript\" preset — it quiets motion and verbose tool output while\n    /// **keeping evidence reachable**: thinking stays visible and tool runs stay\n    /// expandable (only their inline detail is collapsed), so maintainer/release\n    /// work is never blind to failures. Presentation only — no model, provider,\n    /// routing, or safety setting is touched. Reuses [`Settings::set`] so each\n    /// field goes through the same validation as a single-key set.\n    ///\n    /// Returns the keys changed, or an error for an unknown preset.\n    pub fn apply_preset(&mut self, name: &str) -> Result<Vec<&'static str>> {","sourceCodeStart":1477,"sourceCodeEnd":1513,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/settings.rs#L1477-L1513","documentation":"The generic settings-update setter fell through every known key arm: the requested setting name (with its aliases) does not exist. The key itself is echoed; this is the catch-all unknown-key error for the /set-style surface.","triggerScenarios":"Thrown at crates/tui/src/settings.rs:1495 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the setting name for typos","List available settings to see valid keys"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}