webhist is a browser history CLI for syncing local browser databases into a searchable JSONL store, then querying that store from stdout for use with tools like jq, fzf, grep, and tail.
- Stream-first: the default interface is line-oriented output that works well in pipes and scripts.
- Local-first: sync once, query locally, and avoid reaching back into live browser databases for every read.
- Flexible output: use compact, full, human-readable, or JSONL views depending on the task.
If you already have a built executable, you can start with:
webhist --help
webhist syncTo build from source:
cmake -S . -B build
cmake --build buildOn Windows, SQLite via vcpkg is a common option:
vcpkg install sqlite3The README is organized into the most common places people look first:
Common commands:
webhist --since 2h
webhist -S 2h -d github.com
webhist --domain github.com
webhist --browser chrome --since 7d
webhist --full --browser chrome --since 7d
webhist --human-readable --domain github.com
webhist --json --limit 200 | jq
webhist syncThe default output is compact and abbreviates long fields with ...:
<timestamp> | <browser>:<profile> | <domain> | <url> | "<title>"
Example:
2026-05-22 14:32:00 | chrome:Default | github.com | https://github.com/westo/... | "Fixing LRU cache bug"
Use --full or -f to keep the same single-line layout without truncation. Use --human-readable or -h for a labeled multi-line record view.
--fullprints the single-line format without truncation.--human-readableprints a labeled multi-line record.--jsonemits JSONL for tooling and automation.
webhist stores synced data locally in JSONL files:
- Windows:
%USERPROFILE%\.webhist\history.jsonl - macOS/Linux:
~/.webhist/history.jsonl
Sync state is tracked separately at:
- Windows:
%USERPROFILE%\.webhist\state.jsonl - macOS/Linux:
~/.webhist/state.jsonl
webhist uses CMake and SQLite development headers and libraries.
cmakein PATH- A C compiler, such as MSVC on Windows or gcc/clang on Unix
- SQLite development headers and libraries
If needed, point CMake at the vcpkg toolchain file when configuring the project.
Tagged releases publish a prebuilt Windows x64 archive on GitHub Releases so you can try webhist without compiling it yourself.
Each release currently includes:
webhist-windows-x64.zipwebhist-windows-x64.sha256
Download the zip, verify the checksum if you want, and run the webhist.exe inside the archive.