Files
skills/obsidian/references/cli-reference.md
2026-05-11 12:05:04 +01:00

128 lines
4.2 KiB
Markdown

# Obsidian CLI Reference
This is a compact agent-facing reference derived from the official Obsidian CLI docs. Use it when `SKILL.md` does not include enough command detail.
## Invocation Rules
- Run one command as `obsidian <command> key=value flag`.
- Use `vault=<name>` or `vault=<id>` as the first parameter to target a specific vault.
- If the current working directory is a vault, that vault is used; otherwise the active Obsidian vault is used.
- Use `path=<vault-relative/path.md>` for exact paths and `file=<name>` for wikilink-style name resolution.
- Use `\n` for multiline content and quote values containing spaces.
- Use `--copy` with any command to copy output to the clipboard.
## Discovery
```bash
obsidian help
obsidian version
obsidian vault
obsidian vaults verbose
obsidian files folder="Work/Popdog"
obsidian folders folder="Work"
obsidian search query="text" path="Work/Popdog"
obsidian search:context query="text" path="Work/Popdog"
```
## Files
```bash
obsidian read path="Work/Popdog/_Todo.md"
obsidian open path="Work/Popdog/_Todo.md" newtab
obsidian create path="Work/Popdog/New Note.md" content="# Title" open
obsidian append path="Work/Popdog/_Todo.md" content="- [ ] Task"
obsidian prepend path="Work/Popdog/_Todo.md" content="Intro"
obsidian move path="Old.md" to="Archive/Old.md"
obsidian rename path="Old.md" name="New"
obsidian delete path="Scratch.md"
```
Use `overwrite` with `create` only when intentionally replacing an existing note.
## Daily Notes
```bash
obsidian daily
obsidian daily:path
obsidian daily:read
obsidian daily:append content="- [x] Finished task (PR# - Repo)"
obsidian daily:prepend content="# Roundup"
```
Use daily commands for the active daily-note configuration. For Popdog roundup files with a known path, exact `path=` file commands are often safer.
## Tasks
```bash
obsidian tasks
obsidian tasks todo
obsidian tasks done
obsidian tasks path="Work/Popdog/_Todo.md" todo verbose
obsidian tasks daily total
obsidian task ref="Work/Popdog/_Todo.md:12" done
obsidian task path="Work/Popdog/_Todo.md" line=12 toggle
obsidian task path="Work/Popdog/_Todo.md" line=12 todo
obsidian task path="Work/Popdog/_Todo.md" line=12 status="-"
```
Use `verbose` when you need file paths and line numbers before updating tasks.
## Metadata And Organization
```bash
obsidian tags counts
obsidian tag name="#project" verbose
obsidian backlinks path="Work/Popdog/_Todo.md" counts
obsidian links path="Work/Popdog/_Todo.md"
obsidian unresolved counts verbose
obsidian outline path="Work/Popdog/_Todo.md" format=md
obsidian properties path="Work/Popdog/_Todo.md" format=yaml
obsidian property:set path="Note.md" name=status value=active type=text
obsidian property:read path="Note.md" name=status
obsidian property:remove path="Note.md" name=status
```
## Templates
```bash
obsidian templates
obsidian template:read name="Daily" resolve title="2026-05-11"
obsidian create path="Work/Popdog/2026-05-11.md" template="Daily" open
```
## History And Recovery
```bash
obsidian diff path="Work/Popdog/_Todo.md"
obsidian diff path="Work/Popdog/_Todo.md" from=2 to=1
obsidian history path="Work/Popdog/_Todo.md"
obsidian history:read path="Work/Popdog/_Todo.md" version=1
obsidian history:restore path="Work/Popdog/_Todo.md" version=1
obsidian sync:history path="Work/Popdog/_Todo.md" total
obsidian sync:read path="Work/Popdog/_Todo.md" version=1
```
Prefer reading or diffing history before restoring anything.
## Developer And UI Commands
```bash
obsidian commands filter="app:"
obsidian command id="command-id"
obsidian devtools
obsidian dev:errors
obsidian dev:console limit=100 level=error
obsidian dev:screenshot path="screenshot.png"
obsidian dev:dom selector=".workspace" text
obsidian eval code="app.vault.getFiles().length"
```
Use developer commands only when working on Obsidian plugins/themes or diagnosing the running app.
## Troubleshooting
- Obsidian CLI requires Obsidian 1.12.7+ and the CLI setting enabled in Settings -> General.
- Obsidian must be running; if not, the first command may launch it.
- On Linux, the CLI binary is normally copied to `~/.local/bin/obsidian`; ensure `~/.local/bin` is on `PATH`.
- If commands fail after registration, restart the terminal and verify `obsidian version`.