{"record":{"id":"7297fb6f28de038d","repo":"tinyhumansai/openhuman","slug":"no-default-model-configured","errorCode":null,"errorMessage":"no default_model configured","messagePattern":"no default_model configured","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":231,"sourceCode":"        Err(err) => {\n            items.push(DiagnosticItem::error(\n                cat,\n                format!(\"failed to read app session JWT: {err}\"),\n            ));\n        }\n    }\n\n    // Model configured\n    if config.default_model.is_some() {\n        items.push(DiagnosticItem::ok(\n            cat,\n            format!(\n                \"default model: {}\",\n                config.default_model.as_deref().unwrap_or(\"?\")\n            ),\n        ));\n    } else {\n        items.push(DiagnosticItem::warn(cat, \"no default_model configured\"));\n    }\n\n    // Temperature range\n    if config.default_temperature >= 0.0 && config.default_temperature <= 2.0 {\n        items.push(DiagnosticItem::ok(\n            cat,\n            format!(\n                \"temperature {:.1} (valid range 0.0-2.0)\",\n                config.default_temperature\n            ),\n        ));\n    } else {\n        items.push(DiagnosticItem::error(\n            cat,\n            format!(\n                \"temperature {:.1} is out of range (expected 0.0-2.0)\",\n                config.default_temperature\n            ),","sourceCodeStart":213,"sourceCodeEnd":249,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L213-L249","documentation":"Doctor diagnostic: config.default_model is not set, so there is no fallback model for threads/turns that don't match a specific model route. Warn-level: chat still works when an explicit model or matching route is chosen per turn, but any path that expects the default (new threads, fallback routing) will fail or prompt for a model choice.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:231 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set a default model in Settings (model/provider selection) or config.toml's default_model","Verify at least one inference provider is configured and reachable first","Re-run 'openhuman doctor' to confirm the item reports the configured model","If routing should cover all cases, add model routes with matching hints instead of relying on the default"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}