Morganamilo/paru · warning · Status
1
1
Error message
Status: {} What it means
Status is paru's top-level exit-code error type; Status::err(n) wraps an integer exit code in a Result::Err whose Display renders 'Status: {}'. This is the canonical constructor: any code path that needs to abort paru with a specific nonzero exit code flows through here. It is not a crash — paru exits with that code after printing the message.
Solutions
- Read the exit code and surrounding output to identify the underlying failed step (pacman, review prompt, build).
- Re-run and accept the interactive prompt if you declined it.
- Fix the underlying pacman error (conflicts, missing repo, locked db) before retrying.
Defensive patterns
Strategy: try-catch
Try / catch
run paru; capture exit code; treat nonzero as the failing step's status and inspect stderr for the root cause
Prevention
- Read the output above the Status line — it names the real failure
- Map exit codes to steps (pacman failure vs declined prompt)
- Use --noconfirm in scripts to avoid prompt-driven aborts
When it happens
Trigger: Any internal code path calling Status::err(code) — e.g. after pacman subprocess failures, user declining prompts, or build failures — bubbling up to main and terminating the process with that exit status.
Common situations: Pacman returning nonzero during a transaction; user answering 'no' to a proceed prompt; scripts wrapping paru and inspecting its exit code.
Related errors
- Status
- no local repo named
- no local repos configured, add one to your pacman.conf: …
- can not find local repo
- value can not be empty for key
AI-assisted analysis of Morganamilo/paru@9ac3578807 (2026-09-12).
Data as JSON: /api/errors/622a2bd299525423.
Report an issue: GitHub.
Appendix: source
Thrown at src/install.rs:51
use aur_depends::{Actions, Base, Conflict, DepMissing, RepoPackage};
use log::debug;
use raur::Cache;
use srcinfo::{ArchVecs, Srcinfo};
use tr::tr;
#[derive(Copy, Clone, Debug)]
pub struct Status(pub i32);
impl std::fmt::Display for Status {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Status: {}", self.0)
}
}
impl std::error::Error for Status {}
impl Status {
pub fn err(n: i32) -> Result<()> {
bail!(Status(n))
}
}
struct Installer {
refresh: usize,
sysupgrade: usize,
install_targets: bool,
done_something: bool,
ran_pacman: bool,
upgrades: Upgrades,
srcinfos: HashMap<String, Srcinfo>,
remove_make: Vec<String>,
conflicts: HashSet<String>,
failed: Vec<Base>,
chroot: Chroot,
deps: Vec<String>,
exp: Vec<String>,View on GitHub (pinned to 9ac3578807)