Obsidian CLI Practical Guide: What Changed in 1.12 and How to Use It
A practical, update-focused guide to Obsidian CLI: what changed in recent 1.12 releases and how to apply the new commands in daily workflows.
Angle statement: this article is update-first. It focuses on what changed in Obsidian 1.12 CLI, then shows practical usage patterns you can apply immediately.
Short intro: Obsidian CLI moved from "interesting" to "usable" fast. The important part is not just that CLI exists, but that recent 1.12 updates added commands and quality-of-life fixes that make real automation practical.
What Changed Recently (Concrete Dates)
If you only remember one section, remember this timeline:
- February 10, 2026 (Desktop 1.12.0): Obsidian CLI introduced in the 1.12 line.
- February 10, 2026 (Desktop 1.12.1): fixes including stricter command behavior such as
vault=placement expectations. - February 18, 2026 (Desktop 1.12.2): added
help <command>,--help,daily:path,rename, and splitsearchfromsearch:context. - February 27, 2026 (Desktop 1.12.4 Public): 1.12 improvements were carried into the public release stream.
Why this matters: early CLI versions are often "demo-good." The 1.12.1 and 1.12.2 changes are where command ergonomics became stable enough for daily scripts.
5-Minute Setup That Avoids Common Failures
- Install an Obsidian build that includes CLI support (1.12 line).
- Enable CLI in
Settings → General → Command line interface. - Validate from terminal.
- Adopt one team rule: always put
vault=...first.
obsidian help
obsidian version
obsidian help daily
obsidian vault=Work help On Windows, the official docs call out the shell executable detail: use obsidian.com in command-line contexts where needed.
Feature Map: What You Can Actually Do with the CLI
The useful way to think about CLI features is by workflow group, not alphabetic command list.
1) Daily and Capture
obsidian vault=Work daily
obsidian vault=Work daily:path
obsidian vault=Work daily:append content="- [ ] Prepare standup notes" 2) Search and Retrieval
obsidian vault=Work search query="retro"
obsidian vault=Work search:context query="retro" Use search for quick hits and search:context for review drafts and incident archaeology.
3) File Lifecycle
obsidian vault=Work create name="Sprint 13 Plan" template=Planning
obsidian vault=Work read file="Sprint 13 Plan"
obsidian vault=Work append file="Sprint 13 Plan" content="\n## Risks\n- API rate limit"
obsidian vault=Work rename file="Sprint 13 Plan" name="Sprint 13 Execution"
obsidian vault=Work move file="Sprint 13 Execution" to="Projects/2026/Sprint 13 Execution.md" 4) Metadata and Organization
obsidian vault=Work property:set file="Projects/2026/Sprint 13 Execution.md" name=status value=in-progress type=text
obsidian vault=Work tags counts 5) Developer Commands
obsidian devtools
obsidian plugin:reload id=my-plugin
obsidian dev:screenshot path="artifacts/2026-03-02-ui-regression.png"
obsidian eval code="app.vault.getFiles().length" How to Use Recent Updates in Real Work
Pattern A: Daily System Bootstrap
Newer daily commands (especially daily:path) make it easier to script deterministic day-start flows.
#!/usr/bin/env bash
set -euo pipefail
obsidian vault=Work daily:append content="## Focus\n- [ ] Top 1 task"
obsidian vault=Work daily:append content="## Blockers\n- none"
obsidian vault=Work daily:path Pattern B: Weekly Review Assembly
The search / search:context split in 1.12.2 helps build cleaner review pipelines.
obsidian vault=Work search:context query="- [x] " > /tmp/done.txt
obsidian vault=Work search:context query="- [ ] " > /tmp/open.txt
obsidian vault=Work create path="Reviews/2026-W10.md" overwrite content="# Weekly Review W10"
obsidian vault=Work append path="Reviews/2026-W10.md" content="\n## Done\n$(cat /tmp/done.txt)"
obsidian vault=Work append path="Reviews/2026-W10.md" content="\n## Open\n$(cat /tmp/open.txt)" Pattern C: Safer Refactors with rename + move
The 1.12.2 rename command is small but high-impact. It removes manual title/path drift and helps standardize file naming conventions in large vaults.
Agent Workflows (Secondary, but Useful)
MCP is not required for the core value here. A simpler and often better first step is: Obsidian note as brief + CLI for retrieval/write-back + Claude/Codex for execution.
# 1) read brief
obsidian vault=Work read file="Projects/Rate-limit remediation"
# 2) after implementation, log outcome
obsidian vault=Work append file="Projects/Rate-limit remediation" content="\n## Completion Log (2026-03-02)\nWhat changed: ...\nValidation: npm run build pass" Keep this layer secondary: your first KPI is better note operations with the new CLI, not bigger AI architecture.
Common Mistakes After the Update
- Mixing machines on different 1.12 patch versions without documenting behavior differences.
- Omitting
vault=in scripts and writing into the wrong vault. - Using active-file assumptions instead of explicit
file=/path=. - Automating destructive operations before adding manual approval gates.
Primary References
- Obsidian Help: CLI (official)
- Obsidian Changelog: Desktop 1.12.0 (February 10, 2026)
- Obsidian Changelog: Desktop 1.12.1 (February 10, 2026)
- Obsidian Changelog: Desktop 1.12.2 (February 18, 2026)
- Obsidian Changelog: Desktop 1.12.4 (February 27, 2026)
If your command docs get too long, trim them with Text Counter. If you want a fixed adoption cadence for the first two weeks, use D-Day Calculator.