This guide will help you migrate from obsidian-cli (v0.2.3 and earlier) to notesmd-cli (v0.3.0+).
With the release of the Official Obsidian CLI, this project has been renamed from "Obsidian CLI" to "NotesMD CLI" to avoid confusion.
Key difference: NotesMD CLI works without requiring Obsidian to be running, making it perfect for scripting, automation, and terminal-only environments.
- Binary name:
obsidian-cli→notesmd-cli - Package names: Updated in Homebrew, Scoop, and AUR
- Config directory:
~/.config/obsidian-cli→~/.config/notesmd-cli - Go module path:
github.com/Yakitrak/obsidian-cli→github.com/Yakitrak/notesmd-cli
Choose the method that matches how you installed obsidian-cli:
scoop uninstall obsidian-clibrew uninstall obsidian-cli# Using yay
yay -R obsidian-cli-bin
# Using paru
paru -R obsidian-cli-binIf you installed manually, remove the binary:
# Find where it's installed
which obsidian-cli
# Remove it (common locations)
sudo rm /usr/local/bin/obsidian-cli
# or
rm ~/bin/obsidian-cliFollow the installation instructions in the main README:
scoop bucket add scoop-yakitrak https://github.com/yakitrak/scoop-yakitrak.git
scoop install notesmd-clibrew tap yakitrak/yakitrak
brew install yakitrak/yakitrak/notesmd-cli# Using yay
yay -S notesmd-cli-bin
# Using paru
paru -S notesmd-cli-binYour default vault settings and preferences are stored in a config file. You have two options:
Linux/Mac:
# Create new config directory
mkdir -p ~/.config/notesmd-cli
# Copy your old config
cp ~/.config/obsidian-cli/preferences.json ~/.config/notesmd-cli/preferences.jsonMac (Alternative Location): If your config was in your home directory:
# Create new config directory
mkdir -p ~/.notesmd-cli
# Copy your old config
cp ~/.obsidian-cli/preferences.json ~/.notesmd-cli/preferences.jsonWindows:
# Create new config directory
New-Item -ItemType Directory -Force -Path "$env:APPDATA\notesmd-cli"
# Copy your old config
Copy-Item "$env:APPDATA\obsidian-cli\preferences.json" "$env:APPDATA\notesmd-cli\preferences.json"If you only had a default vault configured, simply set it again:
notesmd-cli set-default "{vault-name}"Check that notesmd-cli is working:
# Check version
notesmd-cli --version
# Verify your default vault
notesmd-cli print-defaultIf you have any shell scripts, aliases, or automation that references obsidian-cli, update them to use notesmd-cli:
# Example: Update a shell alias in ~/.zshrc or ~/.bashrc
# Old: alias obs='obsidian-cli'
# New: alias obs='notesmd-cli'After confirming everything works, you can remove the old config:
Linux/Mac:
rm -rf ~/.config/obsidian-cli
# or
rm -rf ~/.obsidian-cliWindows:
Remove-Item -Recurse -Force "$env:APPDATA\obsidian-cli"Make sure you've installed notesmd-cli and that it's in your PATH. Try:
# Reload your shell
exec $SHELL
# Or check if it's installed but not in PATH
which notesmd-cliIf your settings aren't being recognized:
- Check the config file exists:
notesmd-cli print-default - Verify the config directory location for your OS
- Try setting your default vault again:
notesmd-cli set-default "{vault-name}"
Open an issue on GitHub if you encounter any problems during migration.
If you've been using obsidian-cli in your Go projects:
# Update go.mod
go get github.com/Yakitrak/notesmd-cli@latest
# Update imports in your code
# Old: import "github.com/Yakitrak/obsidian-cli/pkg/..."
# New: import "github.com/Yakitrak/notesmd-cli/pkg/..."Welcome to NotesMD CLI! 🎉 If you have any questions or feedback about the migration, please open an issue.