Connect your Obsidian vaults together. Link to files and embed content from other vaults as if they were part of your current vault.
If you keep your notes in more than one Obsidian vault, you've probably run into this: you write a link to a note in another vault, but it doesn't work. It just shows up as an unresolved link—useless.
The issue: Your vaults are separate. Links between them don't function because Obsidian only looks for files inside the current vault.
It lets you link to notes in your other vaults and actually make them work.
[[Other Vault/Note]]— click it, and that note opens in its own vault![[Other Vault/Note]]— embed content from another vault right in your note- Also works with block references (
#^block-id) and headings (#Heading Name)
- Multiple vault users: You split your notes into different vaults (diary, work, Zettelkasten, projects, etc.)
- Cross-referencers: You want to reference notes from one vault in another without copy-pasting
- Separate but connected: You like keeping vaults separate but still need them to link together
Vault Linker indexes all files in your connected vaults (stored locally in .obsidian/plugins/vault-linker/index.json). When you open a note, it looks at any unresolved links—if the target exists in another vault, it marks that link as cross-vault. When you click, it uses the obsidian://open URI to launch the file in the correct vault.
Setup is simple:
- Install Vault Linker in each vault you want to connect
- In settings, connect your vaults (scan a parent folder or add paths manually)
- Write normal links—the plugin handles the rest automatically
- Desktop Only: Requires file system access to read indices from other vaults
- Storage: Each vault stores its index at
.obsidian/plugins/vault-linker/index.json - Performance: Uses multiple caches (negative cache, lookup cache, normalization cache) for fast lookups
- Automatic Updates: Indices regenerate on file create/delete/rename (debounced 5 seconds)
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Place them in
<Vault>/.obsidian/plugins/vault-linker/ - Reload Obsidian and enable the plugin in Settings → Community plugins → Vault Linker
Open Settings → Vault Linker and set your connections:
Option A: Auto-Discover Multiple Vaults
- Set "Parent folder for vaults" to the folder containing your vaults
- Click Scan for Vaults to find all vaults in that folder
- Toggle on the vaults you want to connect
Option B: Add Vaults Individually
- Click Browse & Add under "Add specific vault"
- Select a vault folder that has an
.obsidianfolder
- Set Link color for cross-vault links (default: green)
- Set Embed background color for remote embeds (default: light purple)
Just write a link normally. If the file exists in a connected vault, Vault Linker makes it work:
See [[Project A/Research]] for more details.Click the link—the note opens in the "Project A" vault.
Bring content from another vault into your note:
// Entire note
![[Project A/Research]]
// Specific section by heading
![[Project A/Research#Methodology]]
// Specific block by ID
![[Project A/Research#^my-block-id]]The embedded content renders with full markdown. Click it to open the source file in its vault.
If you create or rename many files in other vaults, manually refresh:
- Use the command palette: Refresh Cross-Vault Indices
- Or reload the current vault to trigger an index rebuild
- Desktop Only: Requires file system access to read indices from other vaults
- Storage: Each vault stores its index at
.obsidian/plugins/vault-linker/index.json - Performance: Uses multiple caches (negative cache, lookup cache, normalization cache) for fast lookups
- Automatic Updates: Indices regenerate on file create/delete/rename (debounced 5 seconds)
- Obsidian 1.7.7 or later
- Desktop app (not mobile)
- Other vaults must have Vault Linker installed and enabled
- Links to images in other vaults are not yet supported (use
obsidian://openURIs manually) - Only markdown files are indexed
- All vaults must be on the same local filesystem
Links aren't resolving to other vaults:
- Verify Vault Linker is installed and enabled in all target vaults
- Check Settings → Vault Linker → Vault Connections to ensure vaults are connected (toggle = on)
- Run Refresh Cross-Vault Indices from the command palette
Embed shows no content:
- Ensure the target file exists in a connected vault
- Check console for errors (Developer Tools → Console)
- Verify the file path is correct (case-sensitive on some systems)
Can't find other vaults:
- Set the correct parent folder path in settings
- Click Scan for Vaults to rediscover
- Use Browse & Add to manually add vault paths
This plugin is open source. Issues and pull requests are welcome on GitHub.
If you find Vault Linker useful, consider supporting the project.
MIT
