# Shell Commands plugin for Obsidian
Shell Commands, by Jarkko Linnanvirta (Taitava), lets you define operating system commands and scripts and execute them from inside [[Obsidian]]: from the command palette, via hotkeys, through Obsidian URI links, or automatically on events such as Obsidian starting or quitting, a file being created, modified, moved, renamed, or deleted, or on a scheduled interval.
Commands can include variables that are resolved at execution time: the current file name and path, note title, selected text, frontmatter values, clipboard content, date and time, user-prompted input, and more. Output handling is equally flexible — a command's stdout can be ignored, shown in a notification, copied to the clipboard, or inserted directly into the active note at the caret position, which makes round-trips from vault to script and back into the note possible.
This plugin is the bridge between the vault and the rest of the operating system. Anything a shell script can do — converting files with [[Pandoc]], committing the vault to [[Git]], calling APIs with curl, running Python data crunching — becomes callable from a hotkey with note context passed in as arguments. In an automated vault it complements in-app automation ([[Templater plugin for Obsidian|Templater]], [[QuickAdd plugin for Obsidian|QuickAdd]]) by handling everything that must happen outside Obsidian's sandbox.
## References
- Download: https://obsidian.md/plugins?id=obsidian-shellcommands
- Source code: https://github.com/Taitava/obsidian-shellcommands