obsidian-cli

Official Obsidian CLI for terminal vault operations. Requires Obsidian running (headless via xvfb works) with CLI enabled and insider/early access mode.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "obsidian-cli" with this command: npx skills add letta-ai/skills/letta-ai-skills-obsidian-cli

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

  • insider and cli set to true in global config (~/.config/obsidian/obsidian.json on Linux, ~/Library/Application Support/obsidian/obsidian.json on 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=json on 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/null or grep

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-from-image

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

letta-api-client

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

letta-development-guide

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

pytorch-model-cli

No summary provided by upstream source.

Repository SourceNeeds Review