{"record":{"id":"5d6ac946fb24df45","repo":"tinyhumansai/openhuman","slug":"ollama-cloud-is-temporarily-unavailable-ollama-re","errorCode":null,"errorMessage":"Ollama cloud is temporarily unavailable (Ollama returned HTTP {code}); the hosted model failed on Ollama's side — retry shortly or switch models.","messagePattern":"Ollama cloud is temporarily unavailable \\(Ollama returned HTTP (.+?)\\); the hosted model failed on Ollama's side — retry shortly or switch models\\.","errorType":"http","errorClass":null,"httpStatus":500,"severity":"error","filePath":"src/openhuman/inference/provider/ops/http_error.rs","lineNumber":1131,"sourceCode":"    } else if is_moderation_rejection {\n        log_provider_moderation_rejection(\"api_error\", provider, None, status);\n    } else if should_report_provider_http_failure(status) {\n        crate::core::observability::report_error(\n            message.as_str(),\n            \"llm_provider\",\n            \"api_error\",\n            &[\n                (\"provider\", provider),\n                (\"status\", status_str.as_str()),\n                (\"failure\", \"non_2xx\"),\n            ],\n        );\n    }\n    // Replace the opaque `Internal Server Error (ref: <uuid>)` body with\n    // actionable guidance; the prefix anchors the higher-layer re-report\n    // demotion (`is_ollama_cloud_internal_500_message`).\n    if is_ollama_cloud_internal_500 {\n        return anyhow::anyhow!(ollama_cloud_internal_500_user_message(None, status));\n    }\n    // Replace the raw `No models loaded` body with actionable guidance so the\n    // surfaced chat error tells the user how to recover (TAURI-RUST-DMQ).\n    if is_local_provider_no_model_loaded {\n        return anyhow::anyhow!(local_provider_no_model_loaded_user_message());\n    }\n    anyhow::anyhow!(message)\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use reqwest::StatusCode;\n\n    /// Verbatim TAURI-RUST-DMQ LM Studio body — the local server is running but\n    /// has no model loaded. The matcher keys on this prose, so coupling the test\n    /// to the exact string makes a wording drift fail CI rather than silently\n    /// leak events back to Sentry.","sourceCodeStart":1113,"sourceCodeEnd":1149,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/inference/provider/ops/http_error.rs#L1113-L1149","documentation":"User-facing rewrite of Ollama cloud's opaque HTTP 500 'Internal Server Error (ref: <uuid>)' body: the hosted Ollama model failed on Ollama's side. The message prefix anchors is_ollama_cloud_internal_500_message so higher-layer re-reporting is demoted instead of double-reported.","triggerScenarios":"Thrown at src/openhuman/inference/provider/ops/http_error.rs:1131 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the request after a short wait — the failure is server-side and usually transient","Switch to a different model if the failure persists","Check Ollama's status page for an ongoing incident"],"exampleFix":null,"handlingStrategy":"retry","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"}