Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Local Linker

Zach HannumZach Hannum2 downloads

Link plugin folders on disk into the vault, and reload the plugins when they rebuild.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

Local Linker lets you develop an Obsidian plugin in its own folder, anywhere on your computer, and run it in a real vault. You link the folder one time. Each time your build writes new files, Local Linker reloads the plugin, so you see your change without a restart.

A link is a symlink (a pointer to your folder) in the plugins folder of your vault. Local Linker makes and removes it for you from the settings.

You can also link a folder over a plugin that you installed from the store or from BRAT. While the link is on, your folder replaces the installed version. When you turn off the link, the installed version comes back.

Local Linker works only on desktop.

Link a plugin folder

  1. Open Settings, then Local Linker.
  2. In Link plugin folder, type the path of your plugin folder, for example ~/git/my-plugin. The field suggests folders as you type.
  3. Select Link.
  4. In your plugin folder, run the watch build, for example npm run dev.

Local Linker turns on the plugin. When main.js, styles.css or manifest.json changes in the folder, Local Linker reloads the plugin.

Settings

Reload on change

If this setting is on, Local Linker reloads a linked plugin each time its files change. It is on by default. If you turn it off, reload the plugin with the reload button or the command.

Turn off BRAT while linked

If this setting is on, Local Linker turns off BRAT while a link overrides a plugin that BRAT installed. When no such link is on, Local Linker turns BRAT back on. It is off by default. See Plugins installed by BRAT for more information.

Linked plugins

The list shows each linked plugin and the path of its folder.

  • The toggle turns the link on or off.
  • The reload button reloads the plugin now.
  • The remove button turns off the link, then removes it from the list. Your folder stays on disk.

Commands

Reload linked plugins reloads each plugin that has its link on.

The installed version

You can link a folder for a plugin that is already in your vault. In that case, Local Linker moves the installed plugin folder to .obsidian/plugins/local-plugin-linker/stash/. Then it puts the symlink where the plugin was. When you turn off or remove the link, Local Linker removes the symlink and moves the installed version back. It never deletes a folder.

Before you uninstall Local Linker, turn off each link. If you uninstall it while a link is on, you lose the installed version that it saved.

Plugins installed by BRAT

Each time Obsidian starts, BRAT updates its plugins. If BRAT updates a plugin while its link is on, BRAT writes the release files into your folder, over your build. If this can occur, the list of linked plugins shows a warning.

To prevent this, do one of these:

  • Turn off the link before you restart Obsidian.
  • Turn on "Turn off BRAT while linked". While BRAT is off, none of its plugins update.

Local Linker finds a plugin that BRAT installed from the GitHub remote in the .git/config file of your folder.

Beta versions

To get pre-release versions of Local Linker, add zachhannum/obsidian-local-plugin-linker in BRAT.

Disclosures

This plugin uses Node's file system module, because the folders that you link are outside your vault.

It reads only these files and folders:

  • The folders that you type in Link plugin folder, to suggest folders.
  • The folders that you link, and their .git/config file.
  • The BRAT plugin list in your vault.

It writes only in your vault's plugins folder. It makes and removes a symlink for each link, and it moves an installed plugin into its own stash folder and back. It never changes a file in a folder that you link.

It also uses Obsidian's internal plugin API to turn plugins on, turn them off and reload them. A future Obsidian version can change that API.

Develop

Build and release steps are in CONTRIBUTING.md.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Link a local plugin folder into your vault and auto-reload the plugin whenever its files change. Override an installed BRAT/store plugin while the link is active and restore the original when you unlink. Be aware: desktop-only and reads only folders you link, which can affect BRAT updates.
DevelopersAutomationFiles
Details
Current version
0.4.0
Last updated
7 hours ago
Created
12 hours ago
Updates
3 releases
Downloads
2
Compatible with
Obsidian 1.13.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Zach HannumZach Hannumzachhannum
GitHubzachhannum
  1. Community
  2. Plugins
  3. Developers
  4. Local Linker

Related plugins

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

BRAT

Easily install a beta version of a plugin for testing.

Advanced URI

Control everything with URI.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

QuickAdd

Quickly add new notes or content to your vault.

Hot Reload

Automatically reload in-development plugins when their files are changed

Logstravaganza

A simple proxy for `console.*()` calls which copies log messages and uncaught exceptions to a note.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.