Obsidian CLI
Control Obsidian from the terminal. Requires Obsidian 1.12+ running with CLI enabled.
Quick Usage
Single command: obsidian <command> [params] [flags]
Interactive TUI: obsidian (then type commands interactively)
Syntax Rules
- Parameters take values:
parameter=valueorparameter="value with spaces" - Flags are boolean switches:
silent,overwrite,total - Newlines in content: use
\nfor newlines,\tfor tabs - Vault targeting:
vault=<name>(defaults to current working directory vault) - File targeting:
file=<name>(wikilink resolution) orpath=<path>(exact path) - Copy output: append
--copyto any command
Core Commands
Files & Notes
# List, read, create, modify files
obsidian files # list all vault files
obsidian files folder=projects ext=md # filter by folder/extension
obsidian read file="My Note" # read file contents (wikilink)
obsidian read path="folder/note.md" # read file contents (exact path)
obsidian create name="New Note" content="# Title\nBody text"
obsidian create name="From Template" template="Meeting Notes"
obsidian create path="projects/idea.md" content="content" overwrite
obsidian open file="My Note" # open in Obsidian
obsidian open file="My Note" newtab # open in new tab
obsidian append file="My Note" content="\n- New item"
obsidian prepend file="My Note" content="Top content"
obsidian move file="Old Name" to="new/path.md"
obsidian delete file="My Note" # trash
obsidian delete file="My Note" permanent # permanent delete
obsidian file file="My Note" # show file info
Search
obsidian search query="search term"
obsidian search query="regex pattern" format=json matches
obsidian search query="keyword" path=projects limit=10 total
obsidian search:open query="open in UI"
Daily Notes
obsidian daily # open today's daily note
obsidian daily silent # create without opening
obsidian daily:read # read today's daily note
obsidian daily:append content="- Task done"
obsidian daily:prepend content="## Morning\nNotes here"
Tags
obsidian tags # list all tags
obsidian tags file="My Note" # tags in specific file
obsidian tags sort=count counts # sorted by frequency
obsidian tag name=project total verbose
Tasks
obsidian tasks # all tasks
obsidian tasks todo # uncompleted only
obsidian tasks done # completed only
obsidian tasks file="My Note" # tasks in specific file
obsidian tasks daily # tasks in daily note
obsidian task ref="path/note.md:15" toggle # toggle task on line 15
obsidian task file="My Note" line=15 done # mark done
Properties (Frontmatter)
obsidian properties # list all properties
obsidian properties file="My Note" format=yaml
obsidian property:read name=status file="My Note"
obsidian property:set name=status value=done file="My Note"
obsidian property:set name=tags value="[a,b]" type=list file="My Note"
obsidian property:remove name=draft file="My Note"
obsidian aliases all # list all aliases
Links & Graph
obsidian backlinks file="My Note" # what links to this
obsidian backlinks file="My Note" counts total
obsidian links file="My Note" # outgoing links
obsidian unresolved total counts # broken links
obsidian orphans # no backlinks
obsidian deadends # no outgoing links
Outline & Wordcount
obsidian outline file="My Note" # headings
obsidian outline file="My Note" format=tree
obsidian wordcount file="My Note"
obsidian wordcount file="My Note" words # words only
obsidian wordcount file="My Note" characters # chars only
Bookmarks
obsidian bookmarks # list bookmarks
obsidian bookmarks total verbose
obsidian bookmark file="My Note" # bookmark a file
obsidian bookmark file="My Note" subpath="Section"
obsidian bookmark search="query" title="Saved Search"
obsidian bookmark url="https://..." title="Web Link"
Templates
obsidian templates # list templates
obsidian template:read name="Meeting Notes"
obsidian template:read name="Meeting Notes" title="Q1 Review" resolve
obsidian template:insert name="Meeting Notes"
Plugins
obsidian plugins # all installed
obsidian plugins:enabled filter=community versions
obsidian plugin id=dataview # plugin info
obsidian plugin:enable id=dataview
obsidian plugin:disable id=dataview
obsidian plugin:install id=dataview enable # install + enable
obsidian plugin:uninstall id=dataview
obsidian plugin:reload id=my-plugin # dev reload
obsidian plugins:restrict on # restricted mode
Sync
obsidian sync:status # sync status + usage
obsidian sync on # resume sync
obsidian sync off # pause sync
obsidian sync:history file="My Note" # version history
obsidian sync:read file="My Note" version=2
obsidian sync:restore file="My Note" version=2
obsidian sync:deleted # list deleted files
Publish
obsidian publish:site # site info
obsidian publish:list total # published files
obsidian publish:status # pending changes
obsidian publish:add file="My Note" # publish file
obsidian publish:add changed # publish all changes
obsidian publish:remove file="My Note" # unpublish
obsidian publish:open file="My Note" # open on site
Vault & Workspace
obsidian vault # vault info
obsidian vault info=size # specific info
obsidian vaults # list all vaults
obsidian folders # list folders
obsidian folder path=projects info=size
obsidian workspaces # list workspaces
obsidian workspace:save name=coding
obsidian workspace:load name=coding
obsidian workspace:delete name=old
obsidian workspace # show workspace tree
obsidian tabs # list open tabs
obsidian recents # recent files
Bases (Database)
obsidian bases # list .base files
obsidian base:views file="My Base"
obsidian base:create name="New Item" content="data"
obsidian base:query file="My Base" format=json
obsidian base:query file="My Base" view="Table View" format=csv
File History (Local Recovery)
obsidian history file="My Note" # list versions
obsidian history:list # all files with history
obsidian history:read file="My Note" version=1
obsidian history:restore file="My Note" version=1
obsidian diff file="My Note" # compare versions
obsidian diff file="My Note" from=1 to=3
Themes & Snippets
obsidian themes versions
obsidian theme name="Minimal"
obsidian theme:set name="Minimal"
obsidian theme:install name="Minimal" enable
obsidian theme:uninstall name="Minimal"
obsidian snippets
obsidian snippet:enable name="custom"
obsidian snippet:disable name="custom"
Developer
obsidian eval code="app.vault.getFiles().length"
obsidian dev:console limit=20 level=error
obsidian dev:errors
obsidian dev:screenshot path="screenshot.png"
obsidian dev:dom selector=".workspace" text
obsidian dev:css selector=".nav-header" prop=background
obsidian devtools
Other
obsidian commands # list command palette commands
obsidian command id="editor:toggle-bold" # execute command
obsidian hotkeys # list hotkeys
obsidian random # open random note
obsidian random:read folder=journal # read random note
obsidian unique name="Zettel" # create unique note
obsidian web url="https://example.com" # open in web viewer
obsidian version
obsidian reload
obsidian restart
Guidelines
When using the Obsidian CLI on behalf of the user:
- Check vault context first: Run
obsidian vaultto confirm which vault is active if uncertain - Use
file=for note names (wikilink-style resolution) andpath=for exact file paths - Prefer non-destructive operations: Use
readbeforeappend/prependto understand existing content - Escape content properly: Use
\nfor newlines in content parameters, quote values with spaces - Use
silentflag when creating/modifying notes that don't need to be opened in the UI - Use
format=jsonfor search results when you need to parse the output programmatically - Batch operations: For multiple operations, consider the TUI mode or chain commands
For the full command reference with all parameters and flags, see reference.md.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.