Cli Anything Obsidian

by hkuds34f519533bc1No license51K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 2 weeks ago

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.

Instructions onlyProductivity & Workflow
AI-generated overview

Command-line interface for managing Obsidian notes, searching vaults, and running Obsidian commands via the Local REST API.

What it does
Provides a CLI for Obsidian that lists, reads, creates, updates, appends to, and deletes vault notes, and searches the vault with plain text, Dataview DQL, or JsonLogic queries. It can also read or open the active note, list and execute Obsidian command palette commands, and check server and session status. Output is human-readable by default or structured JSON with the --json flag, and an interactive REPL is available.
When to use it
Use it when an agent or power user needs to work with an Obsidian vault without the GUI, such as reading or writing notes, searching note content, or triggering Obsidian commands. It suits scripted or agent-driven knowledge management where JSON output and return codes matter.
Requirements
Requires Python 3.10+ and the cli-anything-obsidian package installed via pip. Obsidian must be installed and running with the Local REST API plugin enabled. An API key is supplied via the --api-key flag or the OBSIDIAN_API_KEY environment variable, and the host defaults to and is configurable with --host. Network access to the local REST API is needed. No scripts ship with the skill; it is instructions only.

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:

bash
pip install cli-anything-obsidian

Prerequisites:

Usage

Basic Commands

bash
# Show helpcli-anything-obsidian --help
# Start interactive REPL modecli-anything-obsidian
# List vault filescli-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:

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

Command Groups

Vault

Vault file management commands.

CommandDescription
listList files in the vault or a subdirectory
readRead the content of a note
createCreate a new note
updateOverwrite an existing note
deleteDelete a note from the vault
appendAppend content to an existing note

Search

Vault search commands.

CommandDescription
querySearch using Obsidian query syntax
simplePlain text search across the vault

Note

Active note commands.

CommandDescription
activeGet the currently active note in Obsidian
openOpen a note in the Obsidian editor

Command

Obsidian command palette commands.

CommandDescription
listList all available Obsidian commands
executeExecute a command by its ID

Server

Server status and info commands.

CommandDescription
statusCheck if the Obsidian Local REST API is running

Session

Session state commands.

CommandDescription
statusShow current session state

Examples

List and Read Notes

bash
# List all vault filescli-anything-obsidian vault list
# List files in a subdirectorycli-anything-obsidian vault list "Daily Notes"
# Read a notecli-anything-obsidian vault read "Projects/my-project.md"

Create and Update Notes

bash
# Create a new notecli-anything-obsidian vault create "Projects/new-project.md" --content "# New Project"
# Update (overwrite) a notecli-anything-obsidian vault update "Projects/new-project.md" --content "# Updated Content"
# Append to a notecli-anything-obsidian vault append "Projects/new-project.md" --content "\n## New Section"

Search

bash
# 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+txtcli-anything-obsidian search query 'TABLE file.link FROM "Projects"'
# JsonLogic query — application/vnd.olrapi.jsonlogic+jsoncli-anything-obsidian search query --type jsonlogic \  '{"==":[{"var":"frontmatter.status"},"active"]}'

Commands

bash
# List available commandscli-anything-obsidian command list
# Execute a command by IDcli-anything-obsidian command execute "editor:toggle-bold"

Interactive REPL Session

Start an interactive session for exploratory use.

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

API Key Configuration

bash
# Via flagcli-anything-obsidian --api-key YOUR_KEY vault list
# Via environment variable (recommended for agents)export OBSIDIAN_API_KEY=YOUR_KEYcli-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
bash
# Human outputcli-anything-obsidian vault list
# JSON output for agentscli-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

Source and attribution

Source:hkuds/cli-anythinginskills/cli-anything-obsidianat commit34f5195

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal