How do I create a modpack with packwiz?

Updated

packwiz is a command-line tool for creating Minecraft modpacks that stores your pack as TOML metadata files instead of managing JAR files directly. To create a modpack, you run packwiz init to generate the metadata, add mods with packwiz curseforge add or packwiz modrinth add, and keep the index current with packwiz refresh. This workflow suits pack authors who want version-controllable packs, private server packs, or packs published to CurseForge and Modrinth. It is not intended for managing already-downloaded mod files or for users who want a graphical interface.

Prerequisites

  • packwiz installed and available on your command line (see the Installation section of the packwiz documentation).
  • A pack directory you can run commands in — packwiz writes its metadata files there.
  • For mods pulled from CurseForge or Modrinth, you need the relevant mod identifiers (slugs or project IDs) that those platforms use.

Initialize the pack

Run packwiz init inside your pack folder. This creates the pack metadata, including pack.toml, which describes the pack itself. From this point the pack is defined by TOML files rather than by a folder of JARs, which is what makes it easy to version-control and share with git.

Add mods

Add mods from either platform:

  • packwiz curseforge add — add a mod from CurseForge.
  • packwiz modrinth add — add a mod from Modrinth.

Each added mod gets its own metadata file (the pack format documents mod.pw.toml for individual mods), so additions and removals show up cleanly in version control.

Refresh the index and check your work

After adding or changing mods, run packwiz refresh. This updates the index (index.toml) so it reflects the current set of mod metadata files. Use packwiz list to see what has been added to the pack.

Version-control with Git

Because packwiz stores metadata as TOML, you can commit pack.toml, index.toml, and the per-mod .pw.toml files to git and share the pack that way. The packwiz documentation explicitly frames the tool as git-friendly and points to an example pack for reference.

Distributing the pack

Once the pack is built, you have two main distribution paths:

Goal Approach
Publish to a platform Export to a CurseForge or Modrinth modpack
Auto-updating client/server instance Use packwiz-installer (works with MultiMC and ATLauncher)

packwiz also supports distributing packs over HTTP servers, with a built-in local server (packwiz serve) for testing, and it can export remote file metadata from JAR files for CurseForge mods.

Common sticking points

  • Forgetting to refresh. Adding mods without running packwiz refresh leaves the index out of date.
  • Expecting JAR management. packwiz is not designed for managing downloaded mod files — use CurseForge, GDLauncher, or another CLI for that.
  • Wanting a GUI. packwiz is command-line first; the documentation notes some third-party GUI efforts exist but does not present them as the primary path.

For command-by-command details, the packwiz Commands reference covers init, curseforge, modrinth, refresh, list, serve, and the rest of the available subcommands.