Multiple Obsidian vaults sharing one “brain” via symlinks – plugins not activating in cloned vaults

Hi,

I’m a macOS user experimenting with a deliberate, non-standard Obsidian architecture, and I’m looking for technical confirmation of what is and is not possible, not tag-based workarounds.

I fully understand tag trees, path filters, and workspaces.
Please consider this question strictly from a filesystem + Obsidian runtime architecture perspective.


Goal

I want to achieve:

  • ONE shared “BRAIN”

    • same community plugins

    • same hotkeys

    • same snippets

    • same templates

    • same UI / workflow

  • MULTIPLE VAULTS

    • each vault = a fully isolated project tree

    • separate:

      • tags

      • graph

      • backlinks

    • clean conceptual separation per project

In short:
same tools, different knowledge spaces


Proposed architecture (macOS symlinks)

Vault-Project-A/
└── .obsidian/  -> symlink to Vault-Brain/.obsidian

Vault-Project-B/
└── .obsidian/  -> symlink to Vault-Brain/.obsidian

Vault-Project-C/
└── .obsidian/  -> symlink to Vault-Brain/.obsidian

Example:

.obsidian/
├── app.json
├── appearance.json
├── backlink.json
├── bookmarks.json
├── canvas.json
├── community-plugins.json (symlink -> /VAULT-BRAIN/community-plugins.json)
├── core-plugins.json (symlink -> /VAULT-BRAIN/core-plugins.json)
├── daily-notes.json
├── global-search.json
├── graph.json
├── hotkeys.json (symlink -> /VAULT-BRAIN/hotkeys.json)
├── page-preview.json                   
├── plugins (symlink -> /VAULT-BRAIN//plugins)              
├── snippets  (symlink -> /VAULT-BRAIN/snippets)
├── templates.json
├── workspace.json
└── workspaces.json

Inside .obsidian, the following are shared via symlinks:

  • community-plugins.json

  • core-plugins.json

  • hotkeys.json

  • plugins/

  • snippets/

  • templates.json

  • other UI config files

At the filesystem level, this works correctly.


Observed result

  • UI is identical across all vaults

  • Hotkeys, snippets, templates are shared

  • Each vault has its own tags and graph

  • NO?! Community plugins are only enabled in the original “brain” vault

In cloned vaults:

  • plugins do not appear as enabled

  • Settings → Community plugins behaves as if plugins were disabled

  • despite community-plugins.json and plugins/ being present and shared


Key observation

It appears that Obsidian does not rely solely on .obsidian/ to determine plugin enablement.

Some additional runtime state seems to be stored outside the vault, most likely in:

~/Library/Application Support/Obsidian/

This likely includes:

  • vault identity

  • plugin enable/disable state

  • binding between plugins and a specific vault ID

This would explain why:

  • config files are shared successfully

  • but plugins do not “clone” across vaults


The actual question

  1. Is it technically possible to force Obsidian to:

    • run multiple vaults

    • while sharing a single plugin “brain”

    • without manually enabling plugins per vault?

  2. Has anyone on macOS:

    • used this symlink-based multi-vault model long-term?

    • encountered hard limitations or corruption risks?

  3. Is this behavior a fundamental architectural decision in Obsidian,
    rather than a limitation of symlinks or macOS?

I’m specifically interested in real-world experience and technical confirmation, not theoretical workarounds.



Thanks in advance for any deep technical insight.

There has been discussion about using the same configuration for multiple vaults. Searching the forum should find some. There may be relevant discussion/links in this feature request: Global Settings / Same settings, themes, and plugins across multiple vaults.