# Obsidian Cli

> Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from…

- **Type:** Skill
- **Install:** `agentstack add skill-adriangrantdotorg-obsidian-skills-obsidian-cli`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [adriangrantdotorg](https://agentstack.voostack.com/s/adriangrantdotorg)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [adriangrantdotorg](https://github.com/adriangrantdotorg)
- **Source:** https://github.com/adriangrantdotorg/Obsidian-Skills/tree/main/skills/obsidian-cli

## Install

```sh
agentstack add skill-adriangrantdotorg-obsidian-skills-obsidian-cli
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Obsidian CLI

Use the `obsidian` CLI to interact with a running Obsidian instance. Requires Obsidian to be open.

## Command reference

Run `obsidian help` to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli

## Syntax

**Linux Sandbox Note**: If you encounter a `Trace/breakpoint trap (core dumped)` error on newer Linux distributions (like Ubuntu 23.10+), run the command with `--no-sandbox`:

```bash
obsidian help --no-sandbox
```

**Snap Installation Note**: If the `obsidian` binary is a symlink to a Snap application, launching the CLI via `obsidian ` may incorrectly attempt to open a new GUI instance instead of connecting to the running app. Instead, you MUST invoke it using `snap run obsidian`:

```bash
snap run obsidian help
snap run obsidian plugin:reload id=
```

**Parameters** take a value with `=`. Quote values with spaces:

```bash
obsidian create name="My Note" content="Hello world"
```

**Flags** are boolean switches with no value:

```bash
obsidian create name="My Note" silent overwrite
```

For multiline content use `\n` for newline and `\t` for tab.

## File targeting

Many commands accept `file` or `path` to target a file. Without either, the active file is used.

- `file=` — resolves like a wikilink (name only, no path or extension needed)
- `path=` — exact path from vault root, e.g. `folder/note.md`

## Vault targeting

Commands target the most recently focused vault by default. Use `vault=` as the first parameter to target a specific vault:

```bash
obsidian vault="My Vault" search query="test"
```

## Common patterns

```bash
obsidian read file="My Note"
obsidian create name="New Note" content="# Hello" template="Template" silent
obsidian append file="My Note" content="New line"
obsidian search query="search term" limit=10
obsidian daily:read
obsidian daily:append content="- [ ] New task"
obsidian property:set name="status" value="done" file="My Note"
obsidian tasks daily todo
obsidian tags sort=count counts
obsidian backlinks file="My Note"
```

Use `--copy` on any command to copy output to clipboard. Use `silent` to prevent files from opening. Use `total` on list commands to get a count.

## Plugin development

### Develop/test cycle

After making code changes to a plugin or theme, follow this workflow:

1. **Build and auto-reload** — always chain `obsidian plugin:reload` after the build so Obsidian picks up changes immediately without any manual toggling:
   ```bash
   npm run build && obsidian plugin:reload id=
   ```
   For plugins that have this baked into their `package.json` build script, a plain `npm run build` is enough:
   ```bash
   npm run build
   ```
2. **Check for errors** — if errors appear, fix and repeat from step 1:
   ```bash
   obsidian dev:errors
   ```
3. **Verify visually** with a screenshot or DOM inspection:
   ```bash
   obsidian dev:screenshot path=screenshot.png
   obsidian dev:dom selector=".workspace-leaf" text
   ```
4. **Check console output** for warnings or unexpected logs:
   ```bash
   obsidian dev:console level=error
   ```

### Additional developer commands

Run JavaScript in the app context:

```bash
obsidian eval code="app.vault.getFiles().length"
```

Inspect CSS values:

```bash
obsidian dev:css selector=".workspace-leaf" prop=background-color
```

Toggle mobile emulation:

```bash
obsidian dev:mobile on
```

Run `obsidian help` to see additional developer commands including CDP and debugger controls.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [adriangrantdotorg](https://github.com/adriangrantdotorg)
- **Source:** [adriangrantdotorg/Obsidian-Skills](https://github.com/adriangrantdotorg/Obsidian-Skills)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-adriangrantdotorg-obsidian-skills-obsidian-cli
- Seller: https://agentstack.voostack.com/s/adriangrantdotorg
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
