atuinsh/atuin · error

There was an error with the atuin sync service at {url}, Sta

Error message

There was an error with the atuin sync service at {url}, Status {status:?}.
Response body: {body}
If the problem persists, contact the host

What it means

Final fallback in handle_resp_error: a non-success response from any sync API call that is neither 503, 429, nor a 4xx/5xx with a parseable ErrorResponse JSON (e.g. an HTML error page from a reverse proxy, or a server returning an unexpected content type). Only the raw status code and full response body are available for diagnosis.

Source

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

    }

    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"
            );
        }

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

    Ok(resp)
}

/// Build the capability reader for a sync server.
#[instrument(level = "trace", skip_all, err)]
pub fn caps_client(settings: &Settings) -> Result<Arc<CapClient>> {
    let auth_settings = Arc::new(settings.clone());

    let auth = AuthHeaderProvider::new(move || {
        let settings = auth_settings.clone();
        Box::pin(async move { settings.sync_auth_token().await.ok().map(|t| t.to_header_value()) })
    });

View on GitHub (pinned to c0c717ab04)

Solutions

  1. Inspect the {body} in the message to see what the intermediary or server actually returned
  2. If the body is HTML, a proxy/CDN likely intercepted the request — check endpoint configuration
  3. Retry later and contact the host if the status persists
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at crates/atuin-client/src/api_client.rs:261 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/c6897a027b157c49. Report an issue: GitHub.