Skip to content
CLI Tools
Skill

/cli-anything-obsidian

Command-line interface for Obsidian — Knowledge management and note-taking via Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vault, and execute commands without the GUI.

From plugin
cli-anything
59k71 skills9 commands

Claude Code

$ npx -y skills add HKUDS/CLI-Anything --skill cli-anything-obsidian --agent claude-code

SKILL.md

cli-anything-obsidian.SKILL.md
name: "cli-anything-obsidian"
description: >-
  Command-line interface for Obsidian — Knowledge management and note-taking via Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vault, and execute commands without the GUI.

cli-anything-obsidian

Knowledge management and note-taking via the Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vault, and execute commands without the GUI.

Installation

This CLI is installed as part of the cli-anything-obsidian package:

pip install cli-anything-obsidian

**Prerequisites:**

  • Python 3.10+
  • Obsidian must be installed and running with the [Local REST API plugin](https://github.com/coddingtonbear/obsidian-local-rest-api) enabled

Usage

Basic Commands

# Show help
cli-anything-obsidian --help

# Start interactive REPL mode
cli-anything-obsidian

# List vault files
cli-anything-obsidian vault list

# Run with JSON output (for agent consumption)
cli-anything-obsidian --json vault list

REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

cli-anything-obsidian
# Enter commands interactively with tab-completion and history

Command Groups

Vault

Vault file management commands.

| Command | Description | |---------|-------------| | `list` | List files in the vault or a subdirectory | | `read` | Read the content of a note | | `create` | Create a new note | | `update` | Overwrite an existing note | | `delete` | Delete a note from the vault | | `append` | Append content to an existing note |

Search

Vault search commands.

| Command | Description | |---------|-------------| | `query` | Search using Obsidian query syntax | | `simple` | Plain text search across the vault |

Note

Active note commands.

| Command | Description | |---------|-------------| | `active` | Get the currently active note in Obsidian | | `open` | Open a note in the Obsidian editor |

Command

Obsidian command palette commands.

| Command | Description | |---------|-------------| | `list` | List all available Obsidian commands | | `execute` | Execute a command by its ID |

Server

Server status and info commands.

| Command | Description | |---------|-------------| | `status` | Check if the Obsidian Local REST API is running |

Session

Session state commands.

| Command | Description | |---------|-------------| | `status` | Show current session state |

Examples

List and Read Notes

# List all vault files
cli-anything-obsidian vault list

# List files in a subdirectory
cli-anything-obsidian vault list "Daily Notes"

# Read a note
cli-anything-obsidian vault read "Projects/my-project.md"

Create and Update Notes

# Create a new note
cli-anything-obsidian vault create "Projects/new-project.md" --content "# New Project"

# Update (overwrite) a note
cli-anything-obsidian vault update "Projects/new-project.md" --content "# Updated Content"

# Append to a note
cli-anything-obsidian vault append "Projects/new-project.md" --content "\n## New Section"

Search

# Plain text search (GET /search/simple/)
cli-anything-obsidian search simple "meeting notes"

# Dataview DQL query — default --type dql, sent as
# application/vnd.olrapi.dataview.dql+txt
cli-anything-obsidian search query 'TABLE file.link FROM "Projects"'

# JsonLogic query — application/vnd.olrapi.jsonlogic+json
cli-anything-obsidian search query --type jsonlogic \
  '{"==":[{"var":"frontmatter.status"},"active"]}'

Commands

# List available commands
cli-anything-obsidian command list

# Execute a command by ID
cli-anything-obsidian command execute "editor:toggle-bold"

Interactive REPL Session

Start an interactive session for exploratory use.

cli-anything-obsidian
# Enter commands interactively
# Use 'help' to see available commands

API Key Configuration

# Via flag
cli-anything-obsidian --api-key YOUR_KEY vault list

# Via environment variable (recommended for agents)
export OBSIDIAN_API_KEY=YOUR_KEY
cli-anything-obsidian vault list

State Management

The CLI maintains lightweight session state:

  • **API key**: Configurable via `--api-key` or `OBSIDIAN_API_KEY` environment variable
  • **Host URL**: Defaults to `https://localhost:27124`; configurable via `--host`

Output Formats

All commands support dual output modes:

  • **Human-readable** (default): Tables, colors, formatted text
  • **Machine-readable** (`--json` flag): Structured JSON for agent consumption
# Human output
cli-anything-obsidian vault list

# JSON output for agents
cli-anything-obsidian --json vault list

For AI Agents

When using this CLI programmatically:

1. **Always use `--json` flag** for parseable output 2. **Check return codes** - 0 for success, non-zero for errors 3. **Parse stderr** for error messages on failure 4. **Set `OBSIDIAN_API_KEY`** environment variable to avoid passing `--api-key` on every call 5. **Verify Obsidian is running** with `server status` before other commands

More Information

  • Full documentation: See README.md in the package
  • Test coverage: See TEST.md in the package
  • Methodology: See HARNESS.md in the cli-anything-plugin

Version

1.1.0

Read more
@hkuds
Ships withcli-anything

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

Stars on GitHub

Momentum

stars in total
58.5k
Star history of HKUDS/CLI-Anything on GitHub, a chart by star-history.com

Other skills on cli-anything.

cli-anything-adguardhome

cli-anything-adguardho…

Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI…

@hkuds@hkudsInstall Skill
cli-anything-anygen

cli-anything-anygen

Command-line interface for Anygen - A stateful command-line interface for AnyGen OpenAPI — generate professional slides,…

@hkuds@hkudsInstall Skill
cli-anything-audacity

cli-anything-audacity

Command-line interface for Audacity - A stateful command-line interface for audio editing, following the same patterns as the…

@hkuds@hkudsInstall Skill

More skills from other plugins.

find-skills

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a…

skills3d39k
@vercel-labs-2@vercel-labs-2Install Skill
ohmyposh

ohmyposh

Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on…

@jandedobbeleer@jandedobbeleerInstall Skill
mgrep

mgrep

MANDATORY: Replaces ALL built-in search tools. You MUST invoke this skill BEFORE using WebSearch, Grep, or Glob. NEVER use the…

mgrep6mo4.4k
@mixedbread-ai@mixedbread-aiInstall Skill

Questions about cli-anything-obsidian.

Which coding agents can use cli-anything-obsidian?
cli-anything-obsidian installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.