Vault Shortcuts

approved

by Vincent La

Create desktop shortcuts to your vault and notes. - This plugin has not been manually reviewed by Obsidian staff.

23 downloadsUpdated 6d agoMIT

Vault Shortcuts

Create Desktop shortcuts to an Obsidian vault or file.

Windows also supports Start Menu shortcuts.

Usage

  • Vault: open Settings, select Vault Shortcuts in the Community plugins section, and click Create shortcut.
  • File: right-click a vault file (including Markdown, JPG or CSV) and select Create desktop shortcut. The shortcut targets the clicked file in the file menu, even when another note is open.
  • Windows Start Menu: click Create start menu shortcut in plugin settings for this vault, or select that action from a note's context menu. It creates a .url in your configured Start Menu Programs folder. Windows controls when it appears in All apps/search; pinning to Start is a separate manual Windows action.
  • Command palette: use Create shortcut to this vault or Create shortcut to current note as alternatives. No default hotkeys are assigned.
  • Other vaults: click Create shortcut to another vault in plugin settings. Known vaults load automatically into a selectable list. Select a vault, then click Create shortcut. Manual name/ID entry remains available. On Windows, you can also choose Start menu as the destination. Only this vault needs the plugin installed. This action never reads other notes.

Discovery uses the official Obsidian CLI. Enable it under Settings → General → Command line interface, follow the prompt to register it on PATH, and restart Obsidian so it sees the updated PATH. The CLI requires installer 1.12.7+; updating only the app may not update its installer. If discovery fails or returns nothing, the dialog explains the setup and still allows manual entry. Manual names must match a vault already known to Obsidian; they are not validated by opening another vault. Duplicate names remain ambiguous, so enter a vault ID when needed.

Files go to the system Desktop or the explicitly selected Windows Start Menu. Existing files are preserved; duplicates receive (2), (3), etc. A notice shows the created path or explains a failure. The plugin does not launch the shortcut automatically. Double-click it to open the vault or note in Obsidian.

Context menu options

In plugin settings, Context menu options provides separate Desktop shortcuts and Start menu shortcuts toggles. Both default to enabled; Start menu is shown only on Windows. Changes apply to newly opened file menus and persist in this vault. Settings-page actions and command-palette commands remain available.

Platforms

Requires Obsidian desktop 1.13.7 or newer. Mobile is not supported.

PlatformShortcutDesktop discovery
Windows.urlWindows configured Desktop, including normal Known Folder redirection
macOS (experimental).urlNative Desktop folder lookup
Linux (experimental).desktop linkXDG Desktop lookup

Mac .url shortcuts into Obsidian have been reported working by a Mac user. Linux support depends on the desktop environment: users may need to allow launching, and some environments do not display Desktop icons. This plugin does not change launcher trust settings or protocol registrations.

The plan is end-user testing and issue reports. Automated checks do not establish that a live Obsidian command or Desktop double-click works on every platform. Mac/Linux behavior has not been tested on those operating systems in this workspace.

Build and install

Use Node 22 or newer for development. Install the locked dependencies, then run:

npm ci --ignore-scripts
npm run lint
npm run build
npm test

Copy main.js, manifest.json and styles.css to the vault-shortcuts folder in your vault's configured plugins directory (normally <vault>/.obsidian/plugins/vault-shortcuts/). Reload Obsidian and enable Vault Shortcuts in Community plugins. The stylesheet sizes the vault list. The compiled JavaScript includes the plugin's runtime helpers.

No release or directory submission has been published as part of this implementation. Use a test vault when trying a development build.

Privacy and external file access

This plugin writes files outside your vault, on your Desktop, only when you invoke a creation action. It queries the system for that directory and uses Node filesystem APIs to create the shortcut. The Windows lookup invokes a hidden, noninteractive Windows PowerShell process; Mac/Linux use their system directory lookup commands. These use fixed code/arguments, never vault or note text as shell code, and have bounded execution time.

The Windows Start Menu action writes to your current user's Programs folder (usually %APPDATA%\Microsoft\Windows\Start Menu\Programs). PowerShell resolves the configured Programs folder; the shared writer creates a .url containing the Obsidian URI directly. No Explorer wrapper or temporary link generation is needed. It does not change Start pins or write to the all-users Start Menu.

Version 0.0.2 uses .url for both Windows destinations, following successful user testing of Start Menu pinning. Existing .lnk shortcuts remain untouched; recreate them if you want the new format.

Opening Create shortcut to another vault invokes the CLI with fixed vaults verbose arguments and parses name/path rows, ignoring recognized startup messages. On Windows it first checks beside the running app for Obsidian.com, then supports older Obsidian.exe installers; it also checks PATH. Child input is closed explicitly so discovery does not require pressing Enter. The call has a ten-second timeout, with distinct messages for missing CLI, timeout and unexpected output. It does not read Obsidian's internal registry, open other notes, or save the discovered list. Discovery runs when this dialog opens; manual entry remains available while it loads or if it fails.

The plugin does not read note contents, edit notes, overwrite existing shortcuts, make network requests, collect telemetry, or install/update anything. It does not require accounts or payment. System Desktop synchronization services may sync the created files; their names and URIs contain vault/note names and paths.

Disabling or uninstalling the plugin leaves created shortcuts in place. They use Obsidian's built-in URI handler and do not require this plugin to remain enabled.

Limitations and troubleshooting

File shortcuts preserve the complete extension and use Obsidian’s URI handler. How a file opens depends on Obsidian and any installed file-viewer plugins; creating a CSV shortcut does not add CSV viewing support. Folders are excluded.

  • Obsidian must be installed with a working obsidian:// association. If the file was created but does not open Obsidian, report a launch/association issue rather than a file-creation failure.
  • Vault names must identify the intended registered vault. Duplicate vault names are ambiguous. Renaming a vault or moving/renaming a note can break a shortcut; recreate it afterward. Shortcuts are not tracked or automatically repaired.
  • Note paths containing # are rejected because Obsidian interprets that character as a heading separator after decoding. No folder, heading or batch shortcuts.
  • Unavailable, disabled or unwritable Desktop folders produce an error; the plugin does not elevate permissions or create a replacement Desktop. System directory utilities must be installed and permitted.
  • Very long paths, disconnected redirected folders and filesystem failures are reported. Names are shortened and sanitized only for the shortcut file; the URI preserves the actual note path.
  • A disk failure during writing can leave an incomplete new shortcut. Remove that file manually before retrying if needed.

For an issue report, include OS/Obsidian/plugin versions, which action you used, the error notice, whether creation or launching failed, whether Obsidian was already running, and whether Desktop is redirected/synced. Include the default browser if it affects URI routing. Redact private names and paths from examples. A real issue-tracker link will be added when the repository is published.

Development

Read AGENTS.md for strict TypeScript and official Obsidian review rules, and PLAN.md for decisions and the creator interface. The runtime uses IShortcutCreator, a public ShortcutCreator factory/facade and one creator per OS. URI construction and safe file creation are shared.

Implementation lives in src/, with entry point src/main.ts and creators/helpers in src/shortcuts/. Tests and fixtures live in tests/. Build configuration and the generated main.js remain at the repository root, preserving installed symlinks.

Releases

GitHub Actions runs lint, tests and the build for pushes to master and pull requests. To release, update the version in manifest.json, package.json and package-lock.json (including its root package entry), commit the changes, and push a matching tag such as 0.0.2, without a v prefix. Push the version commit to master as well, so the Community directory sees the correct manifest on the default branch.

The Release workflow builds that tag and attaches main.js, manifest.json and styles.css to a GitHub release after all checks pass. Generated main.js stays out of source control. The workflow can also be run manually against an existing tag; a rerun replaces same-named release attachments. Do not move published tags; use a new version for changes. Linux CI skips the two native Windows integration tests; run npm test on Windows before a release to exercise those as well.

License

MIT. This is an independent community plugin, not an official Obsidian product.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.