{"record":{"id":"cf52a5620fd9fdf8","repo":"tinyhumansai/openhuman","slug":"no-channels-configured-configure-one-in-the-ui","errorCode":null,"errorMessage":"no channels configured - configure one in the UI","messagePattern":"no channels configured - configure one in the UI","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":342,"sourceCode":"    }\n\n    // Channel: at least one configured\n    let cc = &config.channels_config;\n    let has_channel = cc.telegram.is_some()\n        || cc.discord.is_some()\n        || cc.slack.is_some()\n        || cc.imessage.is_some()\n        || cc.matrix.is_some()\n        || cc.whatsapp.is_some()\n        || cc.email.is_some()\n        || cc.irc.is_some()\n        || cc.lark.is_some()\n        || cc.webhook.is_some();\n\n    if has_channel {\n        items.push(DiagnosticItem::ok(cat, \"at least one channel configured\"));\n    } else {\n        items.push(DiagnosticItem::warn(\n            cat,\n            \"no channels configured - configure one in the UI\",\n        ));\n    }\n\n    // Delegate agents\n    let mut agent_names: Vec<_> = config.agents.keys().collect();\n    agent_names.sort();\n    for name in agent_names {\n        let agent = config.agents.get(name).unwrap();\n        if agent.model.trim().is_empty() {\n            items.push(DiagnosticItem::warn(\n                cat,\n                format!(\"delegate agent \\\"{name}\\\" has empty model\"),\n            ));\n        }\n    }\n}","sourceCodeStart":324,"sourceCodeEnd":360,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L324-L360","documentation":"Doctor channel check: none of the optional channel blocks (telegram, discord, slack, imessage, matrix, whatsapp, email, irc, lark, webhook) is present in [channels] config. The app will still run, but it has no external messaging surface — inbound and proactive outbound messaging are both dead until at least one channel is configured.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:342 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Open Settings → Connections and connect a messaging channel (Telegram, Discord, Slack, WhatsApp, iMessage, email, …)","Or add the corresponding [channels.<name>] block with credentials to config.toml and restart","Ignore the warning if the instance is intentionally chat-UI-only"],"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-14T05:17:10.506Z"}