atuinsh/atuin · error
Service unavailable: check https://status.atuin.sh (or get i
Error message
Service unavailable: check https://status.atuin.sh (or get in touch with your host)
What it means
Sentinel guard inside handle_resp_error: fires when any sync API response (from register, login, latest_version, page, me, delete_store) returns HTTP 503 SERVICE_UNAVAILABLE. It converts the bare status code into a user-facing pointer to the service status page; the sync server is reachable but reporting it cannot serve requests.
Source
Thrown at crates/atuin-client/src/api_client.rs:236
"Atuin version mismatch! In order to successfully sync, the server needs to run a \
newer version of Atuin"
);
println!("Client: {ATUIN_CARGO_VERSION}");
println!("Server: {version}");
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}.");
}
View on GitHub (pinned to c0c717ab04)
Solutions
- Check https://status.atuin.sh for an outage and wait until the service recovers
- Retry the sync operation after a delay; 503 is typically transient
- If self-hosting, inspect the server's logs and process health — the host is responsible for the unavailable backend
- If the problem persists, contact the host or Atuin support
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/atuin-client/src/api_client.rs:236 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- HTTP status errors: handling 4xx and 5xx responses — how to handle 4xx and 5xx responses properly.
AI-assisted analysis of atuinsh/atuin@c0c717ab04 (2026-09-12).
Data as JSON: /api/errors/62be0f755c5c482f.
Report an issue: GitHub.