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.
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.
This CLI is installed as part of the cli-anything-obsidian package:
pip install cli-anything-obsidian
Prerequisites:
# 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
When invoked without a subcommand, the CLI enters an interactive REPL session:
cli-anything-obsidian
# Enter commands interactively with tab-completion and history
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 |
Vault search commands.
| Command | Description |
|---|---|
query | Search using Obsidian query syntax |
simple | Plain text search across the vault |
Active note commands.
| Command | Description |
|---|---|
active | Get the currently active note in Obsidian |
open | Open a note in the Obsidian editor |
Obsidian command palette commands.
| Command | Description |
|---|---|
list | List all available Obsidian commands |
execute | Execute a command by its ID |
Server status and info commands.
| Command | Description |
|---|---|
status | Check if the Obsidian Local REST API is running |
Session state commands.
| Command | Description |
|---|---|
status | Show current session state |
# 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 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"
# Plain text search
cli-anything-obsidian search simple "meeting notes"
# Obsidian query syntax search (tags, links, etc.)
cli-anything-obsidian search query "tag:#project"
# List available commands
cli-anything-obsidian command list
# Execute a command by ID
cli-anything-obsidian command execute "editor:toggle-bold"
Start an interactive session for exploratory use.
cli-anything-obsidian
# Enter commands interactively
# Use 'help' to see available commands
# 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
The CLI maintains lightweight session state:
--api-key or OBSIDIAN_API_KEY environment variablehttps://localhost:27124; configurable via --hostAll commands support dual output modes:
--json flag): Structured JSON for agent consumption# Human output
cli-anything-obsidian vault list
# JSON output for agents
cli-anything-obsidian --json vault list
When using this CLI programmatically:
--json flag for parseable outputOBSIDIAN_API_KEY environment variable to avoid passing --api-key on every callserver status before other commands1.0.0