03 · Plugin execution: Obsidian CLI + headless
The assignment
Section titled “The assignment”The vault vision identified “creating an engine where community plugins can run on multiple platforms” as the hardest unsolved problem. Since then, Obsidian has released an official CLI + headless runtime.
Your job: test whether this actually solves the problem. Don’t assume it does — try it with real plugins on a real vault and report what works, what breaks, and what’s missing.
What to investigate
Section titled “What to investigate”-
Does the CLI load community plugins? Install Obsidian CLI (requires Obsidian 1.12, Early Access / Catalyst license). Test with a vault that has these plugins enabled: Dataview, Linter, Tag Wrangler, Folder Note, Templater. Which load? Which execute? Which crash?
-
Can it run in CI (GitHub Actions)? Install the CLI on a GitHub Actions runner (Ubuntu latest). Does it require a display server (Xvfb)? Does it require an Obsidian account / Catalyst license in CI? What’s the container story — can obsidianless make it work on headless Linux? GitHub issue #8 discusses Docker support.
-
What’s the sandbox/permission model? Does the CLI sandbox plugins? Can a malicious plugin access the filesystem, network, or other vaults? How does this compare to EmDash’s isolated worker model?
-
Performance on a real vault. Run the CLI on a 100-page, 500-page, and 1000-page vault. Measure: startup time, Dataview query execution time, Linter pass time. Is it fast enough for CI (under 60 seconds for a typical vault)?
-
The licensing question. Obsidian CLI requires Catalyst for Early Access (1.12+). Is Catalyst required for production use in CI? What’s the licensing model for headless/server deployments? If Catalyst is required per-machine, that’s a scaling constraint.
-
What the headless runtime DOESN’T cover. The headless client is specifically for Sync and Publish. The CLI is for scripting. Are these the same runtime? Can the headless sync client also execute plugins, or is that CLI-only?
Context to read first
Section titled “Context to read first”- Vault vision mining — “the hardest layer” section
- Roadmap: plugin execution — the research task
- Obsidian CLI docs · Obsidian Headless docs
- obsidianless — community headless Linux tool
- HN discussion on headless sync
What success looks like
Section titled “What success looks like”- Plugin compatibility matrix: table with plugin name, loads in CLI (Y/N), executes correctly (Y/N), known issues, workaround
- CI feasibility report: can/can’t run in GitHub Actions, with steps to reproduce
- Performance benchmarks: startup + plugin execution time at 3 vault sizes
- Licensing summary: what’s required for CI/server use
- Recommendation: “Plugin execution via CLI is viable for v1” OR “Plugin execution via CLI is NOT viable; here’s the alternative path”
- Validity: this holds until Obsidian CLI exits Early Access (currently in 1.12 EA)