Track AI coding tool token usage and costs from the command line.
Requirements:
- Node.js >= 20
Install from npm:
npm i -g howvibe@latest
howvibe --versionInstall from source (local dev):
npm ci
npm run build
npm link
howvibe --versionShow today usage:
howvibe todayShow grouped daily usage in a date range:
howvibe daily --since 2026-03-01 --until 2026-03-07Show grouped monthly usage:
howvibe monthlyMachine-readable output:
howvibe today --json
howvibe monthly --plainEnable cross-machine sync (GitHub Gist):
howvibe sync enableDisable sync:
howvibe sync disableCheck sync state and remote machine coverage:
howvibe sync statusAudit synced data in GitHub:
# first get gist id from "howvibe sync status"
gh gist view <gist-id>
# or open in browser:
https://gist.github.com/<gist-id>Non-interactive mode (no prompts/login flow):
howvibe --no-input sync enableNotes:
sync enablemay open GitHub login ifgh auth tokenis unavailable.- In
--no-inputmode, you must already have a valid GitHub token fromgh auth login --web --scopes gist. ghCLI is required for sync.- Sync storage uses only your private GitHub Gist plus local cache under
~/.howvibe/sync(no third-party sync backend). - Uploaded snapshots contain daily provider/model token and cost aggregates only.
- Prompts, responses, and source files are never uploaded by sync.
- Query commands (
today,daily,monthly) always print a sync status line in human-readable output. --jsonand--plainincludesync_metafor scripting.
howvibe [options] [command]
Commands:
today
daily
monthly
sync enable
sync disable
sync statusGlobal options:
--json: JSON output--plain: line-based plain text output (TSV)-q, --quiet: suppress non-essential output--no-input: disable prompts/login flow--no-color: disable colored output--provider <name>:claude-code,codex,cursor,openrouter--source <source>:auto,web,cli,oauth--since <YYYY-MM-DD>--until <YYYY-MM-DD>
Version update reminder:
- howvibe checks npm latest version periodically and prints a reminder when a newer version is available.
- install update with
npm i -g howvibe@latest
Supported source matrix:
claude-code:clicodex:clicursor:web,oauthopenrouter:web,oauth
Use --source auto (default) to let howvibe choose all compatible providers.
HOWVIBE_SOURCECURSOR_SESSION_TOKENOPENROUTER_MANAGEMENT_KEYCLAUDE_ORGANIZATION_UUIDCLAUDE_CONFIG_DIRCODEX_HOME
See release guide: