{"record":{"id":"2bba12d33bd1ffa6","repo":"xai-org/grok-build","slug":"model-is-temporarily-overloaded-try-again-in-a-mo","errorCode":null,"errorMessage":"Model is temporarily overloaded. Try again in a moment.","messagePattern":"Model is temporarily overloaded\\. Try again in a moment\\.","errorType":"exception","errorClass":"acp::Error","httpStatus":null,"severity":"error","filePath":"crates/codegen/xai-grok-shell/src/sampling/error.rs","lineNumber":115,"sourceCode":"/// personal SuperGrok plan.\nfn pushes_consumer_subscription_upsell(detail: &str) -> bool {\n    let d = detail.to_ascii_lowercase();\n    d.contains(\"grok.com/supergrok\") || d.contains(\"upgrade to a grok subscription\")\n}\n\n/// User-facing copy for capacity/overload failures (stream `overloaded_error`,\n/// HTTP 529, proxy-wrapped 5xx). See [`SamplingError::is_overloaded`].\npub const OVERLOADED_USER_MESSAGE: &str = \"Model is temporarily overloaded. Try again in a moment.\";\n\n/// Map a `SamplingError` to an ACP `Error` for client-facing responses.\n/// This stays in xai-grok-shell because it depends on `agent_client_protocol::Error`.\npub(crate) fn map_sampling_err_to_acp(err: SamplingError) -> acp::Error {\n    use reqwest::StatusCode;\n    // Capacity/overload gets the same short copy on every surface. Message\n    // only, `data` deliberately unset: `Display` appends JSON-encoded `data`,\n    // and this string is meant for direct display.\n    if err.is_overloaded() {\n        return acp::Error::new(\n            acp::ErrorCode::InternalError.into(),\n            OVERLOADED_USER_MESSAGE,\n        );\n    }\n    match err {\n        SamplingError::Auth { message, .. } => acp::Error::auth_required().data(message),\n        SamplingError::InvalidConfiguration(msg) => acp::Error::invalid_params().data(msg),\n        SamplingError::Http(e) => {\n            acp::Error::internal_error().data(format!(\"http client init failed: {e}\"))\n        }\n        SamplingError::Serialization(_) => acp::Error::invalid_params().data(err.to_string()),\n        SamplingError::Api {\n            status, message, ..\n        } => match status {\n            StatusCode::UNAUTHORIZED => acp::Error::auth_required().data(message),\n            // 403 Forbidden is NOT an auth error — the request was\n            // authenticated, but the action is not permitted (content-safety\n            // blocks, ZDR-gated operations, remote-settings-blocked users).","sourceCodeStart":97,"sourceCodeEnd":133,"githubUrl":"https://github.com/xai-org/grok-build/blob/bc7f02eddd3d84085849dc19ed216f11c23b0571/crates/codegen/xai-grok-shell/src/sampling/error.rs#L97-L133","documentation":"Error \"Model is temporarily overloaded. Try again in a moment.\" thrown in xai-org/grok-build.","triggerScenarios":"Thrown at crates/codegen/xai-grok-shell/src/sampling/error.rs:115 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bc7f02eddd3d84085849dc19ed216f11c23b0571","analyzedAt":"2026-08-31T04:59:42.031Z","schemaVersion":2},"datasetVersion":"2026-08-31T09:17:48.483Z"}