Bookmark management CLI for searching, organizing, and syncing bookmarks with tagging, import/export, and browser integration...
Buku is a powerful command-line bookmark manager that lets you search, organize, import, and export bookmarks with full-text search, tagging, and browser integration.
Load this skill when:
Buku is designed for safe bookmark management with built-in protections:
Database Locking: If you encounter "Database is locked" errors, close
your browser and retry. See
references/troubleshooting.md#error-database-is-locked for detailed
recovery steps.
Import Safety: Duplicate detection prevents accidental overwrites on
re-import. New bookmarks are always added safely. See
references/troubleshooting.md#error-bookmark-already-exists for import
strategies.
Bulk Operations: Always backup before performing large tag updates or
deletions. Use scripts/backup-bookmarks.sh for automated backups.
See references/troubleshooting.md#prevention-tips for best practices.
Set your editor (for bookmark editing):
export EDITOR=vim # or nano, gedit, macvim, etc.
Create your first bookmark:
buku -a https://example.com "Example Site" "useful" "reference"
Search your bookmarks:
buku -s example
View all bookmarks:
buku -p
Troubleshoot if EDITOR won't open:
If running buku -w BOOKMARK_ID fails with "EDITOR not set", quickly fix:
export EDITOR=vim # or nano, gedit, code --wait
buku -w 1 # Now should open in editor
For detailed editor setup and other troubleshooting:
See references/troubleshooting.md
When using buku in scripts, automation, or from AI agents, use the --nostdin
flag to prevent stdin-related warnings and ensure clean, non-interactive
execution.
--nostdin--nostdinAdd a bookmark:
buku --nostdin --add https://example.com --tag "dev,tools" --title "Example"
Update bookmark tags:
buku --nostdin --update 5 --tag ">>important"
Import bookmarks:
buku --nostdin --import bookmarks.html
Export bookmarks:
buku --nostdin --export backup.html --format html
Search and list:
buku --nostdin --sany python
buku --nostdin --print
--nostdin MattersWithout --nostdin, buku may display warnings like:
buku: waiting for input (unexpected? try --nostdin)
These warnings don't prevent operation but create noise in logs and output.
Using --nostdin ensures clean, predictable behavior in automated contexts.
For interactive usage (manual command-line work), omit --nostdin to allow
normal stdin behavior. See references/daily-workflows.md for more examples.
Choose the reference that matches your need:
references/getting-started.md - First time with buku? Start here for
installation verification, EDITOR setup, and your first bookmark.
references/daily-workflows.md - Common daily tasks: adding bookmarks,
searching, updating, deleting, opening in browser, copying URLs.
references/organize-bookmarks.md - Tagging strategies, tag operators,
tag search, renaming tags, and organization best practices.
references/migrate-bookmarks.md - Importing from browsers, manual imports,
exporting to different formats, backups, and merging bookmarks.
references/troubleshooting.md - Common errors, EDITOR issues, database
locking, and recovery strategies.
Pre-built scripts for common workflows:
scripts/bulk-update-tags.sh - Update tags on multiple bookmarksscripts/backup-bookmarks.sh - Automated backups with multiple formatsscripts/browser-import-workflow.sh - Safe browser import with checks~/.local/share/buku/bookmarks.db or
$XDG_DATA_HOME/buku/bookmarks.db