# whoop-cli

> whoop-cli is an unofficial command-line tool for WHOOP, the fitness wearable. It logs in to your WHOOP account through an app you create in WHOOP's developer dashboard, and prints your recovery, sleep, cycle and activity data as JSON.

- Page: https://apps.andreaslar.com/whoop-cli/
- In short: Simple WHOOP command-line tool for humans and agents.
- Price: free.
- Licence: MIT.
- Published on npm as `@andreasnlarsen/whoop-cli`, with provenance from GitHub Actions.
- Requires: Node.js with npm. A WHOOP account. Runs on macOS, Linux and Windows.
- Source code: https://github.com/andreasnlarsen/whoop-cli

## Install

Node.js with npm (https://nodejs.org) must be installed first.

```sh
npm install -g @andreasnlarsen/whoop-cli
```

## More about what it does

- Commands include `whoop summary`, `whoop day-brief`, `whoop strain-plan`, `whoop health flags`, `whoop recovery latest`, `whoop sleep latest`, `whoop cycle latest`, `whoop activity list` and `whoop profile show`.
- Without `--json` a command prints its data as JSON. With `--json` the data is wrapped as `{data, error}`, and `--pretty` indents it.
- In the WHOOP app you create, set the redirect URI to `http://localhost:1234/callback` and include the scopes `read:recovery`, `read:cycles`, `read:workout`, `read:sleep`, `read:profile`, `read:body_measurement` and `offline`.
- During login you paste the full address the browser was sent to. No local server has to run.
- After login the tool renews its access token by itself before a request.
- The profile file `~/.whoop-cli/profiles/<name>.json` holds no secrets.

## The picture on the page

A terminal where the command “whoop summary --json --pretty” has printed today's recovery score, heart rate variability, resting heart rate, sleep performance, strain and number of recent activities as JSON.

What the action in the picture produces:

```
$ whoop summary --json --pretty
{
  "data": {
    "recoveryScore": 84,
    "hrv": 68.4,
    "restingHr": 52,
    "sleepPerformance": 91,
    "cycleStrain": 9.8,
    "recentActivities": 3,
    "recentStructuredActivities": 2,
    "recentGenericActivities": 1
  },
  "error": null
}
```

Its caption: “Example of a summary.”

## Questions

### How do I start it?

Create your own app at developer-dashboard.whoop.com (https://developer-dashboard.whoop.com/). Run `whoop auth login` and paste its client ID, client secret and redirect URI.

The README (https://github.com/andreasnlarsen/whoop-cli#readme) has every step.

### Is this made by WHOOP?

No. It's unofficial and not affiliated with Whoop, Inc. WHOOP is their trademark.

### Why do I need my own WHOOP app?

There's no shared login service. The tool talks only to WHOOP.

### What can it show?

Recovery, sleep, cycles, activities and your profile. `whoop summary` and `whoop day-brief` give you the day.

### How do agents use it?

Add `--json` to any command. The answer is always `{data, error}`.

`whoop skill install` adds a ready-made agent skill.

### Where are my tokens kept?

In Keychain on a Mac. In 1Password on Linux and Windows. A Linux server can opt into a local file.

### What does it need?

Node.js with npm. A WHOOP account. Runs on macOS, Linux and Windows.

### “whoop-cli: command not found”

The command is `whoop`.

### How do I update or remove it?

Update with `npm install -g @andreasnlarsen/whoop-cli@latest`.

Remove with `whoop auth logout`, then `npm uninstall -g @andreasnlarsen/whoop-cli`.

This is the plain-text copy of https://apps.andreaslar.com/whoop-cli/ for programs. Last updated 2026-11-12.
