Skip to content

Obsidian doesn’t natively execute external scripts from links, but you can create clickable links that run Windows commands using Advanced URI + Shell Commands plugins. This guide creates a link to run: uv run d:\FSS\Software\Utils\PythonUtils\generate_folder_structure.py 3.12

  • Obsidian installed on Windows
  • uv command available in your PATH (test first in PowerShell)
  • Vault name noted (replace “YourVaultName” below)
Settings → Community Plugins → Browse
- Install "Advanced URI"
- Install "Shell Commands"
- Enable both plugins

Open PowerShell/Command Prompt:

Terminal window
uv run d:\FSS\Software\Utils\PythonUtils\generate_folder_structure.py 3

✅ If it works → proceed ❌ If it fails → fix uv PATH first

1. Settings → Shell Commands → Add New Command
2. Command Name: "Generate Folder Structure"
3. Command: `uv run d:\FSS\Software\Utils\PythonUtils\generate_folder_structure.py 3`
4. Shell: `cmd` (Windows default)
5. Working Directory: `d:\FSS\Software\Utils\PythonUtils` (or vault root)
6. Save
1. Open Command Palette (Ctrl+P)
2. Type "Generate Folder Structure"
3. Right-click the command → "Developer: Reload without compiling"
OR check plugin settings for "Copy Command ID"
4. Note the ID (looks like: `obsidian-shellcommands:shell-command-123`)

Replace YourVaultName and YOUR_COMMAND_ID:

[🔄 Generate Folder Structure](obsidian://advanced-uri?vault=YourVaultName&commandid=YOUR_COMMAND_ID)

Example with real values:

[🔄 Generate Folder Structure](obsidian://advanced-uri?vault="My Knowledge Vault"&commandid=obsidian-shellcommands%3Ashell-command-99)
  1. Paste link into any Obsidian note
  2. Click it while Obsidian is open
  3. Script should execute automatically
IssueSolution
uv: command not foundUse full path: "C:\Users\YourName\.cargo\bin\uv.exe" run ...
Nothing happens on clickCheck command ID is URL-encoded (:%3A, /%2F)
Script fails silentlyEnable “Show in terminal” in Shell Commands settings
Path with spacesWrap entire path in quotes: uv run "d:\path with spaces\script.py" 3
  • Links execute code on your machine
  • Only use in trusted vaults
  • Review commands before clicking
  • Disable plugins when sharing vaults

Shell Commands plugin often provides its own URI format:

obsidian://shellcommands/execute?command=Generate%20Folder%20Structure

Check plugin settings for “Copy URI” button.

Pass dynamic arguments: Some command plugins support ${file}, ${selection} variables Multiple scripts: Create separate commands for each script Keyboard shortcut: Bind command to hotkey via Command Palette


Created: March 31, 2026 | Compatible with Obsidian v1.6+ and latest plugins 213

Save this as obsidian-executable-link-setup.md for your Obsidian vault!

  1. https://vinzent03.github.io/obsidian-advanced-uri/actions/commands 2

  2. https://publish.obsidian.md/shellcommands/Basic+usage/Shell+commands+URI 2

  3. https://publish.obsidian.md/advanced-uri-doc/Actions/Commands