xai-org/grok-build · error · acp::Error

RATE_LIMITED_ERROR_CODE (-32003)

RATE_LIMITED_ERROR_CODE (-32003)

Error message

Rate limited

What it means

Error "Rate limited" thrown in xai-org/grok-build.

Source

Thrown at crates/codegen/xai-grok-shell/src/sampling/error.rs:157

                    && crate::agent::auth_method::has_xai_api_key_env()
                {
                    format!(
                        "{message}\n\nYou have an API key set (XAI_API_KEY). \
                         Your cached OAuth session is being used instead. \
                         To use your API key, run `grok logout` or type /logout in the TUI."
                    )
                } else {
                    message
                };
                // 403 is content-safety, never auth: on this setup path it stays
                // `internal_error` → `server_error`.
                acp::Error::internal_error().data(message)
            }
            StatusCode::BAD_REQUEST => acp::Error::invalid_params().data(message),
            StatusCode::NOT_FOUND => acp::Error::resource_not_found(None).data(message),
            StatusCode::PAYLOAD_TOO_LARGE => acp::Error::invalid_params().data(message),
            StatusCode::TOO_MANY_REQUESTS => {
                acp::Error::new(RATE_LIMITED_ERROR_CODE, "Rate limited".to_string()).data(message)
            }
            // Preserve the HTTP status in data so the classifier folds capacity
            // errors (503/529) into `rate_limit`.
            _ => acp::Error::internal_error()
                .data(error_data_with_status(message, Some(status.as_u16()))),
        },
        SamplingError::EventStreamError(message) => acp::Error::internal_error().data(message),
        SamplingError::StreamError {
            error_type,
            message,
            ..
        } => acp::Error::internal_error().data(format!("{error_type}: {message}")),
        SamplingError::EmptyResponse { context } => acp::Error::internal_error().data(format!(
            "empty response from model ({}): model={}, had_reasoning={}, finish_reason={}",
            context.reason,
            context.model,
            context.had_reasoning,
            context.finish_reason_str(),

View on GitHub (pinned to bc7f02eddd)

When it happens

Trigger: Thrown at crates/codegen/xai-grok-shell/src/sampling/error.rs:157 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of xai-org/grok-build@bc7f02eddd (2026-08-31). Data as JSON: /api/errors/49c19fe9e6d0f737. Report an issue: GitHub.