{"record":{"id":"17cf7400493451c7","repo":"Hmbown/CodeWhale","slug":"failed-to-update-setting-invalid-inline-diff-mode","errorCode":null,"errorMessage":"Failed to update setting: invalid inline diff mode '{value}'. Expected: full, summary, or off.","messagePattern":"Failed to update setting: invalid inline diff mode '(.+?)'\\. Expected: full, summary, or off\\.","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/settings.rs","lineNumber":1334,"sourceCode":"                self.thinking_preview_lines =\n                    parse_usize_setting(\"thinking_preview_lines\", value)?.min(40);\n            }\n            \"thinking_highlight\" | \"reasoning_highlight\" => {\n                self.thinking_highlight = parse_bool(value)?;\n            }\n            \"help_expand_groups\" | \"help_expanded\" => {\n                self.help_expand_groups = parse_bool(value)?;\n            }\n            \"pin_last_prompt\" | \"pin_prompt\" => {\n                self.pin_last_prompt = parse_bool(value)?;\n            }\n            \"show_tool_details\" | \"tool_details\" => {\n                self.show_tool_details = parse_bool(value)?;\n            }\n            \"inline_diffs\" | \"inline_diff\" | \"diffs\" => {\n                let normalized = value.trim().to_ascii_lowercase();\n                if !matches!(normalized.as_str(), \"full\" | \"summary\" | \"off\") {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid inline diff mode '{value}'. Expected: full, summary, or off.\"\n                    );\n                }\n                self.inline_diffs = normalized;\n            }\n            \"locale\" | \"language\" => {\n                let Some(locale) = normalize_configured_locale(value) else {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid locale '{value}'. Expected: {}.\",\n                        crate::localization::configured_locale_values(\", \")\n                    );\n                };\n                self.locale = locale.to_string();\n            }\n            \"theme\" => {\n                self.theme = normalize_theme_setting(value).map_err(anyhow::Error::msg)?;\n            }\n            \"ui_theme\" => {","sourceCodeStart":1316,"sourceCodeEnd":1352,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/settings.rs#L1316-L1352","documentation":"Settings update validation for the inline-diff key (inline_diffs/inline_diff/diffs): the normalized value is neither full, summary, nor off. Controls how diffs render in the transcript; invalid values are rejected rather than defaulted.","triggerScenarios":"Thrown at crates/tui/src/settings.rs:1334 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use full, summary, or off for the inline diff mode"],"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"}