| name | obsidian-cli |
| description | Skill for the official Obsidian CLI (v1.12+). Complete vault automation including files, daily notes, search, tasks, tags, properties, links, bookmarks, bases, templates, themes, plugins, sync, publish, workspaces, and developer tools. |
Obsidian CLI (Official, v1.12+)
The official Obsidian CLI connects to a running Obsidian instance via IPC.
Requires Obsidian 1.12+ with CLI enabled in Settings > General.
Prerequisites
- Obsidian 1.12+ installed and running
- CLI enabled: Settings > General > Enable CLI
- The
obsidian binary must be in your PATH
Important: Obsidian must be running for CLI commands to work. The CLI communicates
with the running instance via IPC.
Platform Notes
- macOS/Windows: The Obsidian installer typically places the CLI binary in PATH automatically.
- Linux: You may need a wrapper script to avoid Electron flag injection that breaks CLI arg parsing. Ensure your wrapper is in PATH before the system
obsidian binary. If running as a service, ensure PrivateTmp=false for IPC to work.
Complete Command Reference
Basics
obsidian version
obsidian help
obsidian vault
obsidian vault info=name
obsidian vault info=path
obsidian reload
obsidian restart
Daily Notes
obsidian daily
obsidian daily silent
obsidian daily:read
obsidian daily:append content="- [ ] Task"
obsidian daily:prepend content="# Header"
obsidian daily paneType=tab
Files
obsidian read file=Recipe
obsidian read path="Work/notes.md"
obsidian file file=Recipe
obsidian create name=Note content="Hello"
obsidian create name=Note template=Travel
obsidian create path="Work/note.md" content="text"
obsidian create name=Note overwrite
obsidian create name=Note silent newtab
obsidian open file=Recipe
obsidian open file=Recipe newtab
obsidian delete file=Old
obsidian delete file=Old permanent
obsidian move file=Old to="Archive/Old.md"
obsidian append file=Log content="Entry"
obsidian append file=Log content="text" inline
obsidian prepend file=Log content="Header"
obsidian unique name="Meeting" content="notes"
obsidian wordcount file=Note
obsidian wordcount file=Note words
obsidian wordcount file=Note characters
obsidian random
obsidian random:read
obsidian random folder=
obsidian recents
obsidian recents total
Search
obsidian search query="meeting notes"
obsidian search query="TODO" matches
obsidian search query="project" path="Work" limit=10
obsidian search query="test" format=json
obsidian search query="Bug" case
obsidian search query="error" total
obsidian search:open query="TODO"
Tasks
obsidian tasks daily
obsidian tasks daily todo
obsidian tasks daily done
obsidian tasks all todo
obsidian tasks file=Recipe done
obsidian tasks verbose
obsidian tasks total
obsidian tasks status="/"
obsidian task daily line=3 toggle
obsidian task daily line=3 done
obsidian task daily line=3 todo
obsidian task ref="Work/todo.md:5" toggle
obsidian task daily line=3 status="/"
Tags & Properties
obsidian tags all counts
obsidian tags all counts sort=count
obsidian tags file=Note
obsidian tags total
obsidian tag name=project verbose
obsidian tag name=project total
obsidian properties all counts
obsidian properties all counts sort=count
obsidian properties file=Note
obsidian properties name=status
obsidian properties format=yaml
obsidian properties format=tsv
obsidian property:read name=status file=Note
obsidian property:set name=status value=done file=Note
obsidian property:set name=due value="2026-03-01" type=date file=Note
obsidian property:remove name=status file=Note
obsidian aliases
obsidian aliases all
obsidian aliases file=Note
obsidian aliases total
obsidian aliases verbose
Links & Structure
obsidian backlinks file=Note
obsidian backlinks file=Note counts
obsidian backlinks file=Note total
obsidian links file=Note
obsidian links file=Note total
obsidian orphans
obsidian orphans total
obsidian orphans all
obsidian deadends
obsidian deadends total
obsidian unresolved
obsidian unresolved total
obsidian unresolved counts
obsidian unresolved verbose
obsidian outline file=Note
obsidian outline file=Note format=md
obsidian outline file=Note total
Vault Info
obsidian files total
obsidian files folder="Work" ext=md
obsidian folders
obsidian folders total
obsidian folders folder="Work"
obsidian folder path="Work" info=size
obsidian folder path="Work" info=files
obsidian folder path="Work" info=folders
Bookmarks
obsidian bookmarks
obsidian bookmarks total
obsidian bookmarks verbose
obsidian bookmark file="Work/note.md"
obsidian bookmark file="note.md" subpath="#heading"
obsidian bookmark folder="Work"
obsidian bookmark search="TODO"
obsidian bookmark url="https://example.com" title="Example"
Bases (Database Views)
obsidian bases
obsidian base:views
obsidian base:query file=MyBase
obsidian base:query file=MyBase format=json
obsidian base:query file=MyBase format=csv
obsidian base:query file=MyBase format=tsv
obsidian base:query file=MyBase format=md
obsidian base:query file=MyBase format=paths
obsidian base:query file=MyBase view="View Name"
obsidian base:create name="New Item"
obsidian base:create content="text" silent
Templates
obsidian templates
obsidian templates total
obsidian template:read name=Daily
obsidian template:read name=Daily resolve
obsidian template:read name=Daily resolve title="My Note"
obsidian template:insert name=Daily
Commands & Hotkeys
obsidian commands
obsidian commands filter="editor"
obsidian command id=app:open-settings
obsidian hotkeys
obsidian hotkeys all
obsidian hotkeys total
obsidian hotkeys verbose
obsidian hotkey id=app:open-settings
obsidian hotkey id=app:open-settings verbose
Tabs & Workspaces
obsidian tabs
obsidian tabs ids
obsidian tab:open
obsidian tab:open file="Work/note.md"
obsidian tab:open group=2
obsidian workspaces
obsidian workspaces total
obsidian workspace
obsidian workspace ids
obsidian workspace:save name="coding"
obsidian workspace:load name="coding"
obsidian workspace:delete name="old"
History & Diff (File Recovery)
obsidian history file=Note
obsidian history:list
obsidian history:read file=Note
obsidian history:read file=Note version=3
obsidian history:restore file=Note version=3
obsidian history:open file=Note
obsidian diff file=Note
obsidian diff file=Note from=1 to=3
obsidian diff file=Note filter=local
obsidian diff file=Note filter=sync
Sync (Obsidian Sync)
obsidian sync:status
obsidian sync on
obsidian sync off
obsidian sync:history file=Note
obsidian sync:history file=Note total
obsidian sync:read file=Note version=2
obsidian sync:restore file=Note version=2
obsidian sync:deleted
obsidian sync:deleted total
obsidian sync:open file=Note
Publish (Obsidian Publish)
obsidian publish:site
obsidian publish:status
obsidian publish:status new
obsidian publish:status changed
obsidian publish:status deleted
obsidian publish:status total
obsidian publish:list
obsidian publish:list total
obsidian publish:add file=Note
obsidian publish:add changed
obsidian publish:remove file=Note
obsidian publish:open file=Note
Themes & CSS Snippets
obsidian theme
obsidian theme name="Minimal"
obsidian themes
obsidian themes versions
obsidian theme:set name="Minimal"
obsidian theme:install name="Minimal"
obsidian theme:install name="Minimal" enable
obsidian theme:uninstall name="Minimal"
obsidian snippets
obsidian snippets:enabled
obsidian snippet:enable name="custom"
obsidian snippet:disable name="custom"
Plugins
obsidian plugins
obsidian plugins filter=core
obsidian plugins filter=community
obsidian plugins versions
obsidian plugins:enabled
obsidian plugins:enabled filter=community versions
obsidian plugins:restrict
obsidian plugins:restrict on
obsidian plugins:restrict off
obsidian plugin id=dataview
obsidian plugin:enable id=dataview
obsidian plugin:disable id=dataview
obsidian plugin:install id=dataview
obsidian plugin:install id=dataview enable
obsidian plugin:uninstall id=dataview
obsidian plugin:reload id=my-plugin
Web Viewer
obsidian web url="https://example.com"
obsidian web url="https://example.com" newtab
Developer Tools
obsidian eval code="app.vault.getFiles().length"
obsidian dev:screenshot
obsidian dev:screenshot path=screenshot.png
obsidian devtools
obsidian dev:debug on
obsidian dev:debug off
obsidian dev:console
obsidian dev:console limit=10
obsidian dev:console level=error
obsidian dev:console clear
obsidian dev:errors
obsidian dev:errors clear
obsidian dev:dom selector=".workspace"
obsidian dev:dom selector=".nav-file" total
obsidian dev:dom selector=".nav-file" text
obsidian dev:dom selector=".nav-file" inner
obsidian dev:dom selector=".nav-file" all
obsidian dev:dom selector="h1" attr=class
obsidian dev:dom selector="h1" css=color
obsidian dev:css selector=".workspace"
obsidian dev:css selector= prop=background
obsidian dev:cdp method=
obsidian dev:cdp method= params=
obsidian dev:mobile on
obsidian dev:mobile off
Multi-Vault
obsidian vaults
obsidian vaults verbose
obsidian vaults total
obsidian vault=Notes daily
obsidian vault=Notes search query="test"
Parameter Syntax
param=value for parameters (quote spaces: content="Hello world")
- Bare words for flags:
obsidian tasks daily todo verbose
- Multiline: use
\n for newline, \t for tab
file=<name> resolves like wikilinks (name only, no path/extension needed)
path=<path> requires exact path from vault root
vault=<name> must be the FIRST parameter to target a specific vault
Targeting Vaults
- If CWD is inside a vault, that vault is used
- Otherwise, the active vault is used
- Use
vault=<name> as FIRST parameter to target a specific vault
Troubleshooting
- "Cannot connect": Ensure Obsidian is running and CLI is enabled in Settings > General.
- "Command not found": Ensure the
obsidian binary is in your PATH.
- Linux IPC issues: If running headless or as a service, ensure the IPC socket is accessible (no
PrivateTmp, correct user context).
- Electron flag conflicts (Linux): Use a wrapper script that omits electron-flags.conf for CLI invocations.
Notes
- CLI connects to running Obsidian via IPC singleton lock
- For non-interactive use (scripts/cron), ensure Obsidian is running first
move requires the full target path including .md extension
folders can be slow on large vaults (19k+ files)
dev:console requires dev:debug on to be run first