Installing and removing mods

Install an archive

Pass the archive after the install command. The --path option can appear before or after install.

yarn dlx @sabinmarcu/foreverwinter install "/path/to/mod.zip"
sh
yarn dlx @sabinmarcu/foreverwinter --path "/path/to/~mods" install "/path/to/mod.7z"
sh

The archive must be a .zip, .7z, or .7zip file. The CLI finds complete triplets even when they are inside archive folders. A single, new triplet installs immediately. In other cases, it shows a selector. Use arrow keys or j and k to move, Space to select an eligible mod, a to select or clear all eligible mods, Enter to install, and q to quit.

The archive selector presents an older LootRebalance mod as selected for installation.

An existing mod is labelled installed when every archive timestamp matches the corresponding installed file. It remains visible but cannot be selected. A nonmatching installed mod is labelled update when at least one archive file is newer; otherwise it is labelled older.

The archive selector shows two installed mods that cannot be selected.

During an install, each destination file is first extracted to a temporary file. Existing complete triplets are backed up, and the installation is rolled back if a later write fails. The archive's file timestamps are preserved on the installed files.

Archives the CLI will not install

Documentation files such as README, INSTALL, LICENSE, .txt, .md, .nfo, and .rtf are allowed alongside triplets. Any other file type stops the installation, including incomplete triplets and duplicate mod names. The CLI lists the archive files and leaves them untouched so you can follow the author's instructions manually.

Remove a mod

There is no remove or uninstall command. The CLI does not delete mod files.

To remove a mod, close the game and delete its complete triplet from the mods directory: the matching .pak, .ucas, and .utoc files. For a disabled mod, delete the corresponding .pak.disabled, .ucas.disabled, and .utoc.disabled files. Do not delete only one member of a triplet; the manager ignores incomplete sets and cannot restore the missing files.

Built and maintained by Sabin Marcu

(2025 -2026)

Table of contents

Experiments