libnyanpasu/clash-nyanpasu · error

failed to update service, exit code

Error message

failed to update service, exit code: {}, signal: {:?}

What it means

update_service ran the elevated service updater (RunasCommand on Windows, sudo on macOS) and the child process terminated unsuccessfully. This means the `nyanpasu-service update` step failed at the OS privilege level — commonly because the elevation prompt was dismissed or the updater binary rejected the operation — and the service was not updated.

Solutions

  1. Retry the update and accept the UAC/sudo elevation prompt.
  2. Inspect the reported exit code; run the service binary manually with the `update` argument as administrator to capture its detailed error output.
  3. Ensure the service binary is present, unblocked, and not locked by a running process (stop the service first if needed).
  4. Reinstall the service (install_service) if the update step keeps failing.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at backend/tauri/src/core/service/control.rs:123 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/c0e3e9a2ead05b8f. Report an issue: GitHub.

Appendix: source

Thrown at backend/tauri/src/core/service/control.rs:123

    })
    .await??;
    if !child.success() {
        anyhow::bail!(
            "failed to update service, exit code: {}, signal: {:?}",
            child.code().unwrap_or(-1),
            {
                #[cfg(unix)]
                {
                    child.signal().unwrap_or(0)
                }
                #[cfg(not(unix))]
                {
                    0
                }
            }
        );
    }
    Ok(())
}

View on GitHub (pinned to f7dbce2997)