If you use Obsidian on more than one machine, you have already solved the note problem. Obsidian Sync, iCloud, Syncthing, git — something copies your Markdown around, and when two devices edit the same note you get a conflicted copy sitting next to the original. It is annoying, it is obvious, and you fix it in a minute.
Plugin settings do not work like that.
The failure nobody warns you about#
Plugin configuration lives in .obsidian/plugins/<plugin-id>/data.json. That
file is rewritten in the background — whenever you change a setting, and often
when you did not, because plugins persist state as they go.
So two things are true at once:
- Your sync tool treats it as a file like any other, and resolves the clash by picking a winner.
- Nothing tells you it happened. There is no conflicted copy to notice, no prompt, no diff. One machine's version simply survives.
The result is a slow, confusing kind of loss. Weeks later you notice a setting you definitely changed is back to what it was, or half your configuration matches the laptop and half matches the desktop, and there is no way to reconstruct which write won or when.
This is also why a lot of sync guides tell you to exclude .obsidian entirely —
which works, and costs you every setting you wanted synced in the first place.
What InventExplorer does instead#
By default, InventExplorer does not keep your icon assignments in
.obsidian. It writes them to an ordinary file in your vault:
_config/inventexplorer.json
Settings → InventExplorer → Storage location controls it, and Inside vault (with notes) is the default. Switching between locations copies the current data across rather than starting empty.
That one change moves the problem into the category you already handle:
- The file syncs by the same route your notes do — whatever tool you are already using, with no extra setup.
- If two machines really do write it at once, you get a conflicted copy you can see, exactly as you would for a note.
- It survives reinstalling Obsidian, moving to a new machine, or clearing the plugin folder, because it was never in the plugin folder.
- You can read it. It is JSON in your own vault — greppable, diffable, and keepable in git alongside everything else.
There is a deliberate safety net too: on a device where the vault file has not
arrived yet, the plugin falls back to the copy mirrored in data.json rather
than starting with no icons. A new machine mid-sync shows your icons, not an
empty tree.
Choosing the other option#
Inside plugin folder is still there, and it is the right choice in one case: when you want the icons to be local to this machine — a work laptop with a different visual setup, or a vault you sync but whose appearance you want to keep separate.
That is a real preference, not a mistake. The point is that it should be a choice you made, rather than the only behaviour available.
The general rule#
This is not special to one plugin. If any plugin you use offers to keep its
configuration inside the vault rather than in .obsidian, turn that on. And if
you are excluding paths from sync, .obsidian/plugins/*/data.json and
workspace.json are the two that cause the most confusion for the least
benefit.