A free, native RimWorld mod manager that stays live: what changes on disk shows up by itself, with nothing to refresh. It reads the mods' compiled code instead of trusting whatever rules their authors wrote down.
Download Read the guide View on GitHub
Same machine, same install (1,853 mods, 101 active), launch to mod list on screen. RimSort is the average of three runs. Native, not a script. Run both on your own install.
You never press Refresh. While the window is open, RimStack looks at your mods, saves and the game every two seconds and updates what it shows by itself, without moving the list you are working on.
Subscribe, unsubscribe or let Steam update a mod: it appears, goes, or shows its new version in the lists.
A folder copied into Mods, an About.xml edited, a Git checkout pulled: read again at once.
If the game or another tool rewrites ModsConfig.xml, RimStack offers that list. It never takes it over yours on its own.
A new save appears in Saves. When the game stops, its log is read and its errors grouped in Logs.
Play turns into Running while RimWorld is open, and comes back when it closes.
Theme, language, text size, font, your own colours and translations apply the moment you change them.
Most managers sort with the rules mod authors wrote down. Plenty of mods never wrote any, so you sort by hand and guess. RimStack opens the compiled DLLs and reads them. It never runs anything. It sees which game methods each mod patches with Harmony (prefix, postfix, transpiler, finalizer) and uses that to find load order rules nobody declared. Every move Sort makes comes with its reason, and nothing is applied until you say so.
Harmony patches and XML patches become load order rules, shown as "Detected from files".
Loaders, game and DLC, libraries, content, patches, textures, interface, performance. From what is in the mod, never its name. Override any of them.
The one file it writes is your mod list, and the old one is kept beside it. It does not touch the game.
Missing requirements, clashes, wrong game version, duplicates, with the fix next to it.
Two mods ship the same texture? Compare them side by side and pick one.
No extra tool. Every file it makes is recorded, and only those are ever removed.
Switches half your mods off, you play, and it narrows down to the one. Your list comes back after.
Groups them and names the mod from the stack trace.
See which mods a save was made with, which are missing, and open it with that list.
Workshop mods that are behind, and a heads up when a new RimStack is out, stable or nightly.
It imports your rules, tags and notes on first run.
Native, not a script. Built with 2,000 mods in mind.
Every part of the window, what it does, and what it writes. Nothing here needs reading before you start: RimStack explains itself as you go.
RimStack manages one thing, the order and choice of your RimWorld mods, and explains every step. This guide walks through each part of the window.
RimStack finds RimWorld, your config folder and your Workshop mods through Steam. If it can't, it asks for the folder. The first run is one short page in five steps: what was found, the community data to fetch, how Sort should work, the look, and Start. Your current mod list is kept as it is.

If you used RimSort before, the first run offers to import your own rules, tags and notes. RimSort's files are only read.

Nothing reaches the game before Save. Moving, activating, sorting and loading a list all change the list in RimStack only, and each step can be undone.
Save writes one file, the game's ModsConfig.xml. The file as it was is copied beside it first, as .rimstack-backup. The very first time, it is also copied as .rimstack-original, and Settings can bring that list back.
Three other things write, and only when you ask:
.dds beside each .png. Every file is recorded, and only those are ever removed. See Textures.Ctrl K opens one box for everything: type part of a mod's name, a command such as Sort, Find the broken mod or Copy the load order as text, or the name of a setting. Commands that do nothing right now are left out.
Inside the Mods screen, Ctrl F filters the load order instead. See filters.

Press ? anywhere for this sheet. The ones worth learning first:
| Ctrl S | Save the load order |
| Ctrl Z · Ctrl Shift Z | Undo · Redo |
| Enter | Activate or deactivate the selected mod |
| Alt Up · Alt Down | Move the mod one place |
| T · N | Type the mod's tags · its note |
| Esc | Close, cancel, clear the selection |

RimStack looks at your mod folders, saves, the game's log and its ModsConfig.xml every two seconds while the window is open. A mod Steam just downloaded or updated shows up by itself, a new save appears in Saves, and the log of a game that just closed is read in Logs. If something outside RimStack rewrites the game's mod list, you are offered it, never forced.
English, Deutsch, Español, Français, Italiano, Polski and Português. A language, theme, text size or font chosen in Settings applies at once, with the window open.
Your load order, the mods you are not using, and what RimStack knows about each one.
Inactive holds every installed mod you are not using. Active is the load order, top to bottom, under category headings. Click a heading to fold it.
The View menu chooses the columns. Settings has row sizes: Compact, Roomy, and With pictures, which shows each mod's preview.
RimStack files every mod under one category from what is inside it, never from its name: loaders, game and DLC, libraries, content, patches, textures, interface, performance. Categories load in a fixed order, which is a large part of a sensible load order with no rules at all. Choose another one for any mod under Filed under in its About tab, and your choice stands over RimStack's.
Every change happens in RimStack first. Save (Ctrl S) lights up when the list differs from the game's file, and writes it. Ctrl Z and Ctrl Shift Z undo and redo every list change. If the game's file changes outside RimStack, you are offered its list instead of having it taken for you.
Sort never changes the list by itself. It shows the order your rules ask for, with every move and the rule behind it, and you choose Apply or Discard.

The rules come from four places, strongest first:
About.xml. A required mod is also loaded first, which the game itself doesn't insist on.Among the orders that keep every rule, Sort picks the one closest to your current list, so nothing moves without a reason. When rules contradict each other, the weakest one is dropped and named.
The count above the load order covers errors (the game will trip on them) and warnings (it runs, but something may not work). The arrows beside it step from one mod with a problem to the next, and All problems opens the whole list, grouped by kind.
RimStack checks for:
Any warning can be ignored from the mod's menu or its details. "Made for another game version" can be ignored for every mod at once, until the game updates.

Select a mod to see its picture, author, source, version and size, with Deactivate, Open folder and its Workshop page. Three tabs:
With nothing selected, this side shows the whole list: whether it is playable, what is worth reviewing, and what is kept.

Right-click a row (or press the Menu key) for the mod's menu: copy its name or package id, open its pages, add a tag, ignore a warning, copy a Workshop mod to the game's own Mods folder to freeze it, unsubscribe, or move it to the bin.
Ctrl F filters both lists. Type part of a name, or one of these. The box suggests them as you type:
| Filter | Shows the mods |
|---|---|
is:error · is:warning | with a problem |
is:conflict | sharing textures with another |
is:changed | moved or activated since the last save |
is:new | installed since the game was last started |
is:recent | updated by Steam in the last week |
is:updated | with a newer version, after checking for updates |
is:local | not from the Workshop |
is:duplicate | installed more than once |
is:notinsave | active, and not in the newest save |
has:code | that ship compiled code |
patches: | that patch this method of the game |
tag: · author: | with this tag · by this author |
When two active mods ship the same texture, the one lower in the load order wins all of them. To choose texture by texture, open Compare from either mod's About tab.

.rimstack-hidden inside its folder, so the game skips it. Nothing is deleted. History and the mod's Files tab bring it back.
Press T to type tags for the selected mod, and N for a note. A mod's first tag groups it: inside a category, mods with the same first tag stay side by side under its name. Group in the mod's menu, or in the bar for several mods, sets that first tag.
The Lists menu at the top keeps named copies of your load order. Use one to bring it back, or Update it with the current list. Copy the load order puts it on the clipboard as text, one mod a line. Use the copied list turns a list someone pasted to you, as names or Workshop links, into your load order. Nothing is written before Save.
History, in the status bar, lists what RimStack changed: the load order as it was before each change, and textures it hid. Each can be brought back, and a load order brought back is written only on Save.
When something breaks and you don't know which mod causes it, RimStack can halve the list until one mod is left:
Adding mods, keeping them current, and seeing what changed.

Paste Workshop links, a collection link, mod ids or Git links into Add mods, several at once, and press Look up. Each one found is listed with its name, and you choose how to get it:
Check now asks Steam for the current version of each installed Workshop mod. Only their Workshop ids are sent. It also asks Git for new commits on each mod kept as a Git checkout. What it finds shows under Newer versions. Update in Steam has Steam download them right away; left alone, Steam does it the next time it starts.
A Git checkout has its own Update, which moves it forward to the remote and stops if the folder has changes of its own.
Mods the load order needs and that are not installed, each with its fix. These are the same requirements the Mods screen counts as errors.
Valve's own downloader, for getting a mod without subscribing. Install fetches it from Valve into RimStack's data folder. It runs with a home folder of its own, so it can't touch Steam's settings.
Every mod Steam updated or installed since your last launch, newest first, for active mods, inactive ones or all. Fetch change notes brings in what each author wrote about the update. The button beside a mod opens its notes on the Workshop. If the game breaks after an update, this is the list to read first.
The game loads a DDS texture faster than a PNG, and with less memory. RimStack converts them for you, with no extra tool.

The top line counts how many of your active mods' textures already have a DDS, and what converting costs and saves on disk. Convert remaining writes a .dds beside every .png that has none, inside each mod's own folder. The PNG files are not changed. Each row can also be converted on its own, or skipped.
Only what RimStack made. Every file it writes is recorded. Remove converted deletes only those files, and only if they haven't changed since. A DDS the mod author shipped is never touched.
Reads the header of every DDS file of your installed mods, including the author's own, and finds the ones the game would refuse: not really a DDS, cut short, a format the game has no reader for, or compressed at a size that isn't a multiple of four. Each one it finds can be renamed to .dds.rimstack-bad, so the game loads the PNG beside it instead.
Choosing between two mods that ship the same texture is done on the Mods screen. See texture conflicts.
Every save, compared with your load order before you load it.

Each save shows when it was played, the game version, how many mods it used, and short marks for how it differs from your load order now: mods not active, another game version, mods added, a different order. Marks that can break a save are coloured. Mods added or moved are not.
When you press Play, the newest save is copied to RimStack's own folder first. The last five are kept. Open the backups folder, on this screen, shows them.
The game's log can run to thousands of lines. RimStack groups it into the errors that matter and names the mod behind each one.


The game keeps the logs of its last two launches. RimStack also records each launch it starts: its load order and how it went. Settings decides how many logs to keep. For a recorded launch you can see whether its load order is the same as now, and Use its list to make it your load order again.
Since the last clean launch lists what changed between the last launch without errors and now.
Some errors name no mod, and no active mod's code is in their stack trace. For those, Find the broken mod halves your list until one mod is left. See how it works.
Every setting applies as soon as you change it, without a restart. Find a setting at the top of the list searches them all.

theme.json.
Grab the file for your system from the Releases page. RimStack finds RimWorld through Steam, and asks for the folder if it can't.
| System | File |
|---|---|
| Windows | Installer (-setup.exe) or zip |
| macOS | dmg, Apple silicon only |
| Linux | AppImage |
| Arch (AUR) | Coming soon |
Signing costs money, so for now Windows and macOS will warn you. The files are fine, here is how to get past it once.
SmartScreen says "Windows protected your PC". Click More info, then Run anyway. For the zip, right-click it, choose Properties, tick Unblock, then extract. If Smart App Control is on (Windows 11), it blocks unsigned programs with no way past it except turning Smart App Control off.
Drag RimStack to Applications and open it once. Then open System Settings, Privacy & Security, scroll down and click Open Anyway next to RimStack. If macOS says the app is damaged, run this in Terminal: xattr -dr com.apple.quarantine /Applications/RimStack.app
Make the AppImage executable and run it: chmod +x RimStack-*.AppImage.