Skip to content
Productivity
Skill

/obsidian-cli

Use this skill whenever the user wants Claude to directly interact with their Obsidian vault — reading a note or daily note, writing or appending content, searching vault contents, counting or listing notes, managing tasks, moving or renaming files, finding orphaned notes or

BOOST
From plugin
obsidian-cli
4531 skill
Install
$ npx -y skills add pablo-mano/Obsidian-CLI-skill --skill obsidian-cli --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/obsidian-cli

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use this skill whenever the user wants Claude to directly interact with their Obsidian vault — reading a note or daily note, writing or appending content, searching vault contents, counting or listing notes, managing tasks, moving or renaming files, finding orphaned notes or

SKILL.md

obsidian-cli.SKILL.md
name: obsidian-cli
version: "1.3.0"
description: >
  Use this skill whenever the user wants Claude to directly interact with their
  Obsidian vault — reading a note or daily note, writing or appending content,
  searching vault contents, counting or listing notes, managing tasks, moving or
  renaming files, finding orphaned notes or broken links. Without this skill, Claude
  has no way to access vault data or execute vault operations. Treat any request that
  implies "go into my vault and do X" as a trigger — the user is asking Claude to act,
  not to explain. Also trigger for vault automation, CLI scripting, or cron-based
  workflows involving Obsidian, managing sync history, querying Bases, restoring file
  versions via history, managing bookmarks, or running JavaScript against the Obsidian
  API. Skip for pure conceptual questions: how Obsidian's GUI works, navigating settings
  menus, theme or plugin installation via the UI, iCloud/third-party sync conflicts,
  general Dataview query syntax, keyboard shortcuts, or parsing vault files with external
  scripts — anything where the user needs an explanation rather than Claude performing a
  vault operation.
triggers:
  - "obsidian"
  - "vault"
  - "daily note"
  - "obsidian cli"
  - "note"
  - "append to"
  - "prepend to"
  - "search my vault"
  - "create a note"
  - "read note"
  - "move note"
  - "rename note"
  - "delete note"
  - "tasks in obsidian"
  - "open tasks"
  - "backlinks"
  - "orphaned notes"
  - "broken links"
  - "frontmatter"
  - "properties"
  - "sync history"
  - "obsidian bases"
  - "file history"

Obsidian CLI

The official Obsidian CLI (released in v1.12, February 2026) lets you control every aspect of Obsidian from the terminal. It communicates with a running Obsidian desktop instance via IPC.

> Read `references/command-reference.md` when you need specific flags, output formats, or > subcommands for any command group. It covers all 130+ commands with full parameter tables > and has a table of contents at the top.

Prerequisites

| Requirement | Details | |---|---| | Obsidian Desktop | **v1.12.0+** | | CLI enabled | Settings → Command line interface → Toggle ON | | Obsidian running | The desktop app **must be running** for CLI to work (IPC) |

Platform Notes

  • **macOS / Linux**: The `obsidian` binary is registered in PATH automatically when you enable CLI in settings.
  • **Windows**: Requires an `Obsidian.com` redirector file placed alongside `Obsidian.exe`. **Must run with normal user privileges** — admin terminals produce silent failures.
  • If colon subcommands (`property:set`, `daily:append`, etc.) with parameters return exit 127, check that `Obsidian.com` exists alongside `Obsidian.exe`. If missing, you have an outdated installer — download the latest from [obsidian.md/download](https://obsidian.md/download) and reinstall.
  • **Git Bash / MSYS2 users**: Bash resolves `obsidian` to `Obsidian.exe` (GUI) instead of `Obsidian.com` (CLI), causing colon+params to fail with exit 127 even when `Obsidian.com` is present. Create a wrapper script — see Troubleshooting.
  • **Headless Linux**: Use the `.deb` package (not snap). Run under `xvfb`. Prefix commands with `DISPLAY=:5` (or your xvfb display number). Ensure `PrivateTmp=false` if running as a service.

Syntax

All parameters use **`key=value`** syntax. Quote values containing spaces.

obsidian <command> [subcommand] [key=value ...] [flags]

Multi-Vault

Target a specific vault by making it the **first argument**:

obsidian "My Vault" daily:read
obsidian "Work Notes" search query="meeting"

If omitted, the CLI targets the most recently active vault.

Command Overview

The CLI provides **130+ commands** across these groups:

| Group | Key Commands | Purpose | |---|---|---| | **files** | `read`, `create`, `append`, `prepend`, `move`, `rename`, `delete`, `files`, `folders`, `file`, `random` | Note CRUD and file discovery | | **daily** | `daily`, `daily:read`, `daily:append`, `daily:prepend`, `daily:path` | Daily note operations | | **search** | `search`, `search:context` | Full-text search; `search:context` returns matching lines | | **properties** | `properties`, `property:read`, `property:set`, `property:remove`, `aliases` | Frontmatter/metadata management | | **tags** | `tags`, `tag` | Tag listing, counts, and filtering | | **tasks** | `tasks`, `task` | Task querying, filtering, and toggling | | **links** | `backlinks`, `links`, `unresolved`, `orphans`, `deadends` | Graph and link analysis | | **bookmarks** | `bookmarks`, `bookmark` | List and add bookmarks | | **templates** | `templates`, `template:read`, `template:insert` | Template listing, rendering, insertion | | **plugins** | `plugins`, `plugin`, `plugin:enable`, `plugin:disable`, `plugin:install`, `plugin:uninstall`, `plugins:restrict` | Plugin management | | **sync** | `sync`, `sync:status`, `sync:history`, `sync:read`, `sync:restore`, `sync:deleted` | Obsidian Sync operations | | **themes** | `themes`, `theme`, `theme:set`, `theme:install`, `theme:uninstall` | Theme management | | **snippets** | `snippets`, `snippets:enabled`, `snippet:enable`, `snippet:disable` | CSS snippet management | | **commands** | `commands`, `command`, `hotkeys`, `hotkey` | Execute Obsidian commands by ID; inspect hotkeys | | **bases** | `bases`, `base:query`, `base:views`, `base:create` | Obsidian Bases (v1.12+ database feature) | | **history** | `history`, `history:list`, `history:read`, `history:restore` | File version recovery (File Recovery plugin) | | **workspace** | `workspace`, `tabs`, `tab:open` | Workspace layout and tab management | | **diff** | `diff` | Compare local vs sync file versions | | **dev** | `eval`, `dev:screenshot`, `dev:debug`, `dev:console`, `dev:errors`, `dev:css`, `dev:dom`, `devtools` | Developer/debugging tools | | **vault** | `vault`, `vaults`, `version`, `reload`, `restart` | Vault info and app control | | **other** | `outline`, `wordcount`, `recent

Read more
Ships withobsidian-cli

A skill for AI coding agents that enables full control of Obsidian vaults from the terminal using the official Obsidian CLI (v1.12+).

Get the whole plugin
Stats
453
Stars
85
Forks
Quiet
Maintenance
HTML
Language
7mo ago
Last commit
7mo ago
Created
3d ago
Added

Repo: pablo-mano/Obsidian-CLI-skill