Productivity March 2, 2026 11 min read

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:

  1. February 10, 2026 (Desktop 1.12.0): Obsidian CLI introduced in the 1.12 line.
  2. February 10, 2026 (Desktop 1.12.1): fixes including stricter command behavior such as vault= placement expectations.
  3. February 18, 2026 (Desktop 1.12.2): added help <command>, --help, daily:path, rename, and split search from search:context.
  4. 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

  1. Install an Obsidian build that includes CLI support (1.12 line).
  2. Enable CLI in Settings → General → Command line interface.
  3. Validate from terminal.
  4. 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

  1. Mixing machines on different 1.12 patch versions without documenting behavior differences.
  2. Omitting vault= in scripts and writing into the wrong vault.
  3. Using active-file assumptions instead of explicit file=/path=.
  4. Automating destructive operations before adding manual approval gates.

Primary References

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.

Use these tools to keep your Obsidian automation runbooks concise and time-bound.