libnyanpasu/clash-nyanpasu · error
failed to get latest version manifest: response status is {}
Error message
failed to get latest version manifest: response status is {}, expected 200 What it means
get_latest_version_manifest GETs the version manifest (manifest/version.json on the repo raw URL, honoring the selected mirror) and bails when the HTTP response status is not a success (2xx) code. It is an HTTP-status guard, not a parse error: the remote/mirror returned 404/403/5xx etc., so the latest-version manifest cannot be fetched and the update check cannot proceed.
Source
Thrown at backend/tauri/src/core/updater/mod.rs:176
async fn get_latest_version_manifest(&self, mirror: &str) -> Result<ManifestVersion> {
let url = parse_gh_url(
mirror,
"/libnyanpasu/clash-nyanpasu/raw/main/manifest/version.json",
)?;
log::debug!("{url}");
let res = self.client.get(url).send().await?;
let status_code = res.status();
if !status_code.is_success() {
anyhow::bail!(
"failed to get latest version manifest: response status is {}, expected 200",
status_code
);
}
Ok(res.json::<ManifestVersion>().await?)
}View on GitHub (pinned to f7dbce2997)
Solutions
- Retry the update check later; transient 5xx from GitHub raw or the mirror usually resolves on its own.
- Switch or re-run the mirror speed test so a broken mirror is replaced with a working one.
- Check network connectivity and any proxy/firewall blocking the manifest URL.
- Verify the manifest URL still exists upstream (404 means the branch/file moved) and update the pinned path if the repo layout changed.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at backend/tauri/src/core/updater/mod.rs:176 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of libnyanpasu/clash-nyanpasu@f7dbce2997 (2026-09-08).
Data as JSON: /api/errors/438f1e6957c5bf6d.
Report an issue: GitHub.