obsidian-cli
SKILL.md
Obsidian CLI
Official Obsidian CLI for terminal vault operations. Requires Obsidian running (headless via xvfb works) with CLI enabled and insider/early access mode.
All parameters use key=value syntax: obsidian read path="folder/note.md". On headless Linux, prefix with DISPLAY=:5 (or whatever your xvfb display is).
Core Commands
Daily Notes
obsidian daily # Open today's daily note
obsidian daily:read # Print today's note content
obsidian daily:append content="text" # Append to today's note
obsidian daily:prepend content="text" # Prepend to today's note
Reading and Writing Files
obsidian read path="folder/note.md" # Read note
obsidian create path="folder/note" content="# Title" # Create note (path without .md)
obsidian create path="folder/note" template="templatename" # Create from template
obsidian append path="folder/note.md" content="text" # Append to note
obsidian prepend path="folder/note.md" content="text" # Prepend to note
obsidian move path="old/note.md" name="new-name" # Move/rename
obsidian delete path="folder/note.md" # Delete (to trash)
obsidian delete path="folder/note.md" permanent # Permanent delete
File Discovery
obsidian files # List all files
obsidian files ext=md # Only markdown files
obsidian files folder="subfolder" # Files in specific folder
obsidian files total # Just the count
obsidian folders # List all folders
obsidian file path="folder/note.md" # File info (size, dates)
Search
obsidian search query="search text" # Search vault
obsidian search query="text" path="folder" limit=10 # Scoped search
obsidian search query="text" format=json # JSON output
obsidian search query="text" matches # Show match context
obsidian search query="text" case # Case-sensitive
Links and Graph
obsidian backlinks path="note.md" # Backlinks to a note
obsidian backlinks path="note.md" counts # With link counts
obsidian links path="note.md" # Outgoing links (requires plugin)
obsidian unresolved # Unresolved [[links]]
obsidian orphans # Notes with no links in or out
obsidian deadends # Notes with no outgoing links
Properties (Frontmatter)
obsidian properties path="note.md" # All properties
obsidian property:read path="note.md" name="status" # Read one property
obsidian property:set path="note.md" name="status" value="draft" # Set property
obsidian property:remove path="note.md" name="status" # Remove property
obsidian aliases path="note.md" # List aliases
Tags
obsidian tags # All tags
obsidian tags counts sort=count # Tags sorted by frequency
obsidian tags path="note.md" # Tags in specific file
obsidian tag name="tagname" # Notes with specific tag
Tasks
obsidian tasks # All incomplete tasks
obsidian tasks all # All tasks (done + todo)
obsidian tasks done # Only completed tasks
obsidian tasks path="note.md" # Tasks in specific file
obsidian tasks daily # Tasks in today's daily note
obsidian task path="note.md" line=5 toggle # Toggle task status
Sync
obsidian sync # Show sync status
obsidian sync on # Resume sync
obsidian sync off # Pause sync
obsidian sync:status # Detailed status
obsidian sync:history path="note.md" # Version history
obsidian sync:read path="note.md" version=3 # Read specific version
obsidian sync:restore path="note.md" version=3 # Restore version
obsidian sync:deleted # Deleted files in sync
Templates
obsidian templates # List templates
obsidian template:read name="weekly-review" # Read template content
obsidian template:read name="weekly-review" resolve title="My Note" # Render with variables
obsidian template:insert name="weekly-review" # Insert into active file
Other Useful Commands
obsidian vault # Vault info (name, path, file count, size)
obsidian vaults # List all known vaults
obsidian outline path="note.md" # Heading structure
obsidian wordcount path="note.md" # Word/character count
obsidian recents # Recently opened files
obsidian version # Obsidian version
obsidian reload # Reload vault
Plugins
obsidian plugins # List all plugins
obsidian plugins:enabled # List enabled plugins
obsidian plugin:enable id="canvas" # Enable plugin
obsidian plugin:disable id="canvas" # Disable plugin
obsidian plugin:install id="name" # Install from community
obsidian plugin:reload id="name" # Reload plugin
Developer Commands
obsidian dev:screenshot path="screenshot.png" # Screenshot
obsidian eval code="app.vault.getFiles().length" # Run JS in Obsidian
obsidian dev:console limit=20 # Recent console output
obsidian dev:errors # Recent errors
Common Agent Patterns
Append to Daily Note with Linking
obsidian daily:append content="
## Reports
- [[reports/2026-02-10-morning|Morning Report]]
"
Create Note and Cross-Link
obsidian create path="reports/morning-report" content="# Morning Report"
obsidian daily:append content="- [[reports/morning-report|Morning Report]]"
Set Properties Programmatically
obsidian property:set path="note.md" name="status" value="draft"
obsidian property:set path="note.md" name="date" value="2026-02-10"
Setup
Requirements
- Obsidian desktop app installed and running (v1.12.0+ with insider/early access)
- CLI enabled: Settings > General > CLI toggle
insiderandcliset totruein global config (~/.config/obsidian/obsidian.jsonon Linux,~/Library/Application Support/obsidian/obsidian.jsonon macOS)
Headless Linux
Use deb package (not snap - snap confinement breaks CLI IPC). Run under xvfb. See references/headless-setup.md for config transfer details.
Multi-Vault
Use vault="Vault Name" parameter: obsidian vault="Notes" daily:read
Tips
- Parameter syntax: Always
key=value, not positional. Quote values with spaces:content="hello world" - Pipe-friendly: Plain text output, works with grep/awk/jq
- JSON output:
format=jsonon search and other commands - Headless prefix:
DISPLAY=:5 obsidian <command>on headless Linux - Paths are vault-relative, not filesystem-relative
- Stderr noise: GPU errors on headless are harmless, filter with
2>/dev/nullor grep
Weekly Installs
7
Repository
letta-ai/skillsFirst Seen
9 days ago
Security Audits
Installed on
opencode5
github-copilot5
codex5
openclaw5
gemini-cli5
claude-code4