Vault Launcher
pendingby Jony
Open vault in VS Code, Cursor, or Antigravity.
Obsidian Vault Launcher
Open your Obsidian vault in VS Code, Cursor, Antigravity, or Zed with a single click
A macOS desktop plugin for Obsidian that adds a ribbon button to launch your vault (and optionally the active file) in your preferred code editor.
Highlights
- One-click launch from the ribbon
- Open current file option to jump directly to the active note
- Unified fallback app-open attempts use
open -afirst, thenopen -b - Path-safe handling for spaces and special characters
- Zero shell execution for security and reliability
Supported Editors
| Editor | Launch Order |
|---|---|
| Visual Studio Code | code CLI -> open -a "Visual Studio Code" -> open -b com.microsoft.VSCode |
| Cursor | open -a "Cursor" -> open -b com.todesktop.230313mzl4w4u92 |
| Antigravity | agy CLI -> open -a "Antigravity" -> open -b com.google.antigravity |
| Zed | open -a "Zed" -> open -b dev.zed.Zed |
CLI editors (VS Code, Antigravity) try CLI first, then app-open fallback (open -a, then open -b).
Installation
Community Plugins (Recommended)
- Open Settings > Community plugins in Obsidian
- Search for Vault Launcher
- Click Install, then Enable
Manual Installation
- Download
vault-launcher.zipfrom the latest release - Extract to
<vault>/.obsidian/plugins/ - Enable the plugin in Settings > Community plugins
Usage
- Click the rocket icon in the ribbon
- Select Quick launch editor in settings to change default editor
- Toggle Open current file to include active note
- Enable editors in Show in command palette to add commands
Configuration
Settings are persisted via Obsidian's loadData() / saveData():
| Setting | Type | Default | Description |
|---|---|---|---|
editorType | vscode | cursor | antigravity | zed | vscode | Default editor for ribbon icon |
openCurrentFile | boolean | false | Include active file in launch |
enabledEditors | Record<EditorType, boolean> | all false | Editors to show in command palette |
Development
Prerequisites
- macOS
- Bun runtime
- Obsidian 1.7.2+
Setup
# Clone to plugin directory
git clone https://github.com/SuperJony/vault-launcher \
<vault>/.obsidian/plugins/vault-launcher
# Install dependencies
bun install
# Build
bun run build
Watch Mode
bun run dev
Build
bun run build # includes type checking
Test
Unit tests:
bun run test
Integration tests (launches real applications):
INTEGRATION=1 \
INTEGRATION_VAULT_PATH=/path/to/vault \
INTEGRATION_FILE_PATH=/path/to/vault/note.md \
bun run test:integration
Lint & Format
bun run lint
bun run format
Release
bun run bump patch # or minor/major, updates package.json + manifest.json + versions.json
git push && git push --tags
GitHub Actions will:
- Build the plugin
- Verify tag matches
manifest.jsonversion - Create a draft release with
vault-launcher.zip,main.js, andmanifest.json
Then publish the draft release on GitHub.
Technical Notes
- Requires Obsidian 1.7.2+ (for
removeCommandAPI) - macOS desktop only
- Uses
spawnwithshell: falsefor secure path handling - Paths passed as separate arguments to preserve spaces and special characters
- 10-second timeout per launch attempt
- App-open fallback order is
open -a, thenopen -b; CLI editors try CLI first - CLI failure triggers fallback; timeout does not
Acknowledgments
Inspired by open-obsidian-to-ide by @maoxiaoke.
License
MIT
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.