atuinsh/atuin · error

Rate limited; please wait before doing that again

Error message

Rate limited; please wait before doing that again

What it means

Sentinel guard in handle_resp_error: raised when the sync API responds with HTTP 429 TOO_MANY_REQUESTS, meaning the server-side rate limiter rejected a request from register, login, latest_version, page, me, or delete_store. This is client back-pressure, not a code defect — too many requests were issued in a short window.

Source

Thrown at crates/atuin-client/src/api_client.rs:242

        return Ok(false);
    }

    Ok(true)
}

#[instrument(level = "trace", skip_all, err)]
async fn handle_resp_error(resp: Response) -> Result<Response> {
    let status = resp.status();
    let url = resp.url().to_string();

    if status == StatusCode::SERVICE_UNAVAILABLE {
        bail!(
            "Service unavailable: check https://status.atuin.sh (or get in touch with your host)"
        );
    }

    if status == StatusCode::TOO_MANY_REQUESTS {
        bail!("Rate limited; please wait before doing that again");
    }

    if !status.is_success() {
        let body = resp.text().await.unwrap_or_default();

        if let Ok(error) = serde_json::from_str::<ErrorResponse>(&body) {
            let reason = error.reason;

            if status.is_client_error() {
                bail!("Invalid request to the service at {url}, {status} - {reason}.");
            }

            bail!(
                "There was an error with the atuin sync service at {url}, server error {status}: \
                 {reason}.\nIf the problem persists, contact the host"
            );
        }

View on GitHub (pinned to c0c717ab04)

Solutions

  1. Wait before retrying; honor the Retry-After header if the server supplies one
  2. Reduce request frequency or batch operations instead of issuing many small requests
  3. Check for retry loops in your setup that could hammer the API
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at crates/atuin-client/src/api_client.rs:242 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of atuinsh/atuin@c0c717ab04 (2026-09-12). Data as JSON: /api/errors/6eb8677225a83ff6. Report an issue: GitHub.