6. Verify, update, repair

Two buttons sit next to the selection tools on the Install page:

  • Verify hashes the selected mods against the manifest recorded in .nimby, offline, and reports All selected mods verified. or N mod(s) need repair.
  • Status runs nimby status for the active folder: one line per mod with its name, mode (dir-link, overlay, copy, passthrough, or incomplete when the last run did not finish), whether the folder is a link or real files, and the checksum.

Update checks every configured repository, not only the active one:

nimby update --check
nimby update --check --deep
nimby update

--check only reports; without it Nimby reinstalls what it found out of date. The quick check compares repo.json with the tracking index — a size and modification time per file, no hashing — so it answers in milliseconds. --deep hashes everything, which catches content that changed without the metadata changing.

State Meaning Fix
up_to_dateNothing changed.—
outdatedThe repository ships a different mod checksum.nimby update
driftedThe repository is unchanged but files on disk no longer match the recorded size, time or hash.nimby repair
missingA manifest file is gone.nimby repair
untrackedInstalled before the tracking index existed.Reinstall from Nimby

Drift is normal. Steam updates a Workshop item that Nimby linked in, so the link now points at newer bytes; nimby update --check reports drifted and nimby repair reinstalls the affected files. Repair verifies every installed mod using the hash cache and needs the repository recorded in .nimby, so it repairs mods Nimby installed and leaves unknown folders alone.

Why it is fast: .nimby\tracking.json stores, per file, origin, location, checksum and a size-plus-mtime signature. The quick check is one stat per file plus one repo.json; a deep check reuses the hash cache; verify falls back to the manifest in .nimby even for a linked mod whose folder belongs to Steam.