Skip to content

8/17/2025

How It Works

How Obsidian Opens Vaults

Obsidian's vault information is stored in the %APPDATA%\obsidian\obsidian.json file, and vaults marked as "open": true will be opened.

  • path: Complete path to the folder
  • ts: Timestamp (milliseconds), recording vault creation or last access time
  • open: Boolean value, marking whether it's the currently open vault
json
{
  "vaults": {
    "1a2b3c4d5e6f7890": {
      "path": "C:\\Users\\Username\\Documents\\MyNotes",
      "ts": 1692000000000,
      "open": true
    },
    "0987654321abcdef": {
      "path": "C:\\Projects\\Documentation",
      "ts": 1691000000000
    }
  }
}

Windows Registry Context Menu

By modifying the registry to add "Open with Obsidian" option to folder context menus, there are two entry points:

  • Folder right-click: Right-click directly on a folder, calls the program and passes the folder path
  • Inside folder right-click: Right-click on empty space inside a folder, calls the program and passes the current directory path

Registry locations:

  • HKEY_CLASSES_ROOT\Directory\shell\OpenWithObsidian - Folder right-click
  • HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithObsidian - Inside folder right-click

Installer Working Principle

1. Detect Obsidian Path

  • Search for Obsidian installation path from registry uninstall information
  • Check common installation locations (Program Files, user directory, etc.)
  • If automatic detection fails, provide manual selection interface

2. Copy Main Program

Copy open_folder_with_obsidian.exe to the Obsidian installation directory

3. Generate Registry File

Create .reg file to configure context menu, including:

  • Menu item text and icon
  • Execute command and parameter format
  • Cleanup script for uninstallation

4. Apply Registry Configuration

Execute registry file with administrator privileges to complete context menu addition

Context Menu Execution Process

1. Receive Folder Path

Program starts and receives one parameter: the folder path to open

2. Read Obsidian Configuration

Read current vault configuration information from %APPDATA%\obsidian\obsidian.json

3. Generate Vault Configuration

  • Generate unique vault ID for folder path (using first 16 characters of MD5 hash)
  • Create new vault configuration entry with path, timestamp, and open flag
  • Clear open flags of other vaults to ensure only the new vault is activated

4. Update Configuration File

Write modified configuration back to obsidian.json file

5. Launch Obsidian

Find and start Obsidian application, which will automatically read the configuration and open the vault marked as open

Released under the GPL-3.0 license.