Command Line

The ewig CLI ships inside the Mac app.

Setup

The binary is at Ewig.app/Contents/Helpers/ewig. Add it to your PATH or symlink it:

$ ln -s /Applications/Ewig.app/Contents/Helpers/ewig /usr/local/bin/ewig

Commands

CommandWhat it does
ewig listList bookmarks. Filter with --folder <name>, --since and --until <date>.
ewig searchSearch titles, domains, URLs and notes. Same operators as ⌘K.
ewig show <id>Print a bookmark’s metadata.
ewig html <id>Snapshot HTML to stdout.
ewig screenshot <id>Save the full-page image, HEIC by default.
ewig open <id>Open the snapshot. --live for the original URL, --path to print the target.
ewig addSave URLs from arguments or stdin. --html, --pdf, --screenshot pick what to keep, none means cover only. --folder, --note, --title.
ewig update / delete / restoreBatch-edit bookmarks by id.
ewig import - < fileImport a browser export from stdin, format auto-detected. --dry-run to preview.
ewig exportExport to html (Netscape) or csv. Writes a file, or streams when piped.
ewig pairLaunch Ewig and check the local bridge.

Addressing bookmarks

Any command that takes an id accepts:

  • the full UUID,
  • the 8-character short id shown in the app, e.g. 1a2b3c4d,
  • or the bookmark’s URL.

JSON everywhere

--json on any command gives machine-readable output. With stdin, the CLI slots into pipelines and feeds scripts and local AI agents:

$ ewig search "swift concurrency" --json | jq '.[].title'
"Swift Concurrency Guide"
$ pbpaste | ewig add --html --pdf --folder Tech
9c8d7e6f  Why Links Rot
$ ewig list --folder Tech --since 2026-06-01 --json | jq length
42

Point a local LLM at ewig search --json and ewig html and it answers from pages you saved, offline.