{"record":{"id":"49c19fe9e6d0f737","repo":"xai-org/grok-build","slug":"rate-limited-error-code-32003","errorCode":"RATE_LIMITED_ERROR_CODE (-32003)","errorMessage":"Rate limited","messagePattern":"Rate limited","errorType":"exception","errorClass":"acp::Error","httpStatus":429,"severity":"error","filePath":"crates/codegen/xai-grok-shell/src/sampling/error.rs","lineNumber":157,"sourceCode":"                    && crate::agent::auth_method::has_xai_api_key_env()\n                {\n                    format!(\n                        \"{message}\\n\\nYou have an API key set (XAI_API_KEY). \\\n                         Your cached OAuth session is being used instead. \\\n                         To use your API key, run `grok logout` or type /logout in the TUI.\"\n                    )\n                } else {\n                    message\n                };\n                // 403 is content-safety, never auth: on this setup path it stays\n                // `internal_error` → `server_error`.\n                acp::Error::internal_error().data(message)\n            }\n            StatusCode::BAD_REQUEST => acp::Error::invalid_params().data(message),\n            StatusCode::NOT_FOUND => acp::Error::resource_not_found(None).data(message),\n            StatusCode::PAYLOAD_TOO_LARGE => acp::Error::invalid_params().data(message),\n            StatusCode::TOO_MANY_REQUESTS => {\n                acp::Error::new(RATE_LIMITED_ERROR_CODE, \"Rate limited\".to_string()).data(message)\n            }\n            // Preserve the HTTP status in data so the classifier folds capacity\n            // errors (503/529) into `rate_limit`.\n            _ => acp::Error::internal_error()\n                .data(error_data_with_status(message, Some(status.as_u16()))),\n        },\n        SamplingError::EventStreamError(message) => acp::Error::internal_error().data(message),\n        SamplingError::StreamError {\n            error_type,\n            message,\n            ..\n        } => acp::Error::internal_error().data(format!(\"{error_type}: {message}\")),\n        SamplingError::EmptyResponse { context } => acp::Error::internal_error().data(format!(\n            \"empty response from model ({}): model={}, had_reasoning={}, finish_reason={}\",\n            context.reason,\n            context.model,\n            context.had_reasoning,\n            context.finish_reason_str(),","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/xai-org/grok-build/blob/bc7f02eddd3d84085849dc19ed216f11c23b0571/crates/codegen/xai-grok-shell/src/sampling/error.rs#L139-L175","documentation":"Error \"Rate limited\" thrown in xai-org/grok-build.","triggerScenarios":"Thrown at crates/codegen/xai-grok-shell/src/sampling/error.rs:157 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"}