Minimal CLI to authenticate against the WHOOP API and inspect WHOOP data from the terminal.
- One-time OAuth login with browser callback on localhost
- Stores token + client credentials in your OS config directory
- Reuses and refreshes token automatically
- Fetches WHOOP data by command:
overview: profile + cycle history with per-cycle recovery/sleeprecovery: recovery historysleep: sleep historyuser: profile + body measurements
- Supports human-readable output and raw JSON (
--json)
- Node.js
18+(for npm installs) - Bun
1.3+(for development/publishing in this repo) - A WHOOP developer app in the WHOOP developer portal
- Redirect URI configured in your WHOOP app:
http://127.0.0.1:8123/callback
With npm:
npm i -g @luisgot/whooWith Bun:
bun add -g @luisgot/whooThen run:
whoo --version
whoo helpInstall dependencies:
bun installRun locally:
bun run src/index.ts helpBuild the Node CLI bundle used for publishing:
bun run build
node ./bin/whoo.js --versionwhoo helpwhoo loginwhoo login always prompts for client_id and client_secret interactively.
For SSH/headless setups where localhost callback is not reachable, use manual mode:
whoo login --manualwhoo overview
whoo overview --limit 7
whoo overview --json
whoo overview --limit 7 --jsonwhoo recovery
whoo recovery --limit 14whoo sleep
whoo sleep --limit 14whoo userwhoo statuswhoo logoutConfig is written to:
- Linux:
~/.config/whoo/config.json - macOS:
~/Library/Application Support/whoo/config.json - Windows:
%AppData%/whoo/config.json