Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use the Obsidian CLI to read, create, search, and manage vault content, or to develop and debug Obsidian plugins and themes from the command line.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -7% | 0% |
Use the obsidian CLI to interact with a running Obsidian instance. Requires Obsidian to be open.
Run obsidian help to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli
Parameters take a value with =. Quote values with spaces:
bashobsidian create name="My Note" content="Hello world"
Flags are boolean switches with no value:
bashobsidian create name="My Note" silent overwrite
For multiline content use \n for newline and \t for tab.
Many commands accept file or path to target a file. Without either, the active file is used.
file=<name> — resolves like a wikilink (name only, no path or extension needed)path=<path> — exact path from vault root, e.g. folder/note.mdCommands target the most recently focused vault by default. Use vault=<name> as the first parameter to target a specific vault:
bashobsidian vault="My Vault" search query="test"
bashobsidian read file="My Note" obsidian create name="New Note" content="# Hello" template="Template" silent obsidian append file="My Note" content="New line" obsidian search query="search term" limit=10 obsidian daily:read obsidian daily:append content="- [ ] New task" obsidian property:set name="status" value="done" file="My Note" obsidian tasks daily todo obsidian tags sort=count counts obsidian backlinks file="My Note"
Use --copy on any command to copy output to clipboard. Use silent to prevent files from opening. Use total on list commands to get a count.
After making code changes to a plugin or theme, follow this workflow:
bash obsidian plugin:reload id=my-plugin
bash obsidian dev:errors
bash obsidian dev:screenshot path=screenshot.png obsidian dev:dom selector=".workspace-leaf" text
bash obsidian dev:console level=error
Run JavaScript in the app context:
bashobsidian eval code="app.vault.getFiles().length"
Inspect CSS values:
bashobsidian dev:css selector=".workspace-leaf" prop=background-color
Toggle mobile emulation:
bashobsidian dev:mobile on
Run obsidian help to see additional developer commands including CDP and debugger controls.
Other measured skills in the registry, with their headline benchmark lift.