Installation
Standalone binaries — no Node.js or runtime required. The installer detects your platform automatically.
Linux & macOS
curl -fsSL https://gitlogpretty.com/install.sh | bash
Installs to /usr/local/bin (or ~/.local/bin if that's
not writable). Supports x64 and ARM64 on both Linux and macOS.
Windows
irm https://gitlogpretty.com/install.ps1 | iex Installs to %LOCALAPPDATA%\Programs\gitlogpretty and adds it to your user PATH.
Manual download
Prefer to download yourself? Grab the binary for your platform from the
latest release,
place it on your PATH, and rename it to gitlogpretty-cli.
| Platform | Binary |
|---|---|
| Linux x64 | gitlogpretty-linux-x64 |
| Linux ARM64 | gitlogpretty-linux-arm64 |
| macOS Intel | gitlogpretty-macos-x64 |
| macOS Apple Silicon | gitlogpretty-macos-arm64 |
| Windows x64 | gitlogpretty-windows-x64.exe |
Verify the install
gitlogpretty-cli --version Quick start
You need two things: a downloaded binary and an API token.
- Download the binary for your platform from the
releases page
and place it on your
PATHasgitlogpretty-cli. - Sign in at gitlogpretty.com/app and open the API Tokens section.
- Click Create token, give it a label (e.g. GitHub Actions), and copy the token — it's shown only once.
-
Store it as an environment variable or CI secret named
GITLOGPRETTY_TOKEN. -
Run the CLI from the root of any GitHub repository:
The repo URL is detected automatically from
gitlogpretty-cli --output CHANGELOG.mdgit remote get-url origin. No arguments needed.
Authentication
The CLI authenticates using an API token tied to your GitLogPretty account. Each generation deducts one credit from your account balance.
Creating a token
- Go to gitlogpretty.com/app and sign in with GitHub.
- Scroll to the API Tokens section.
- Enter a label and click Create token.
- Copy the
glp_...value immediately — it won't be shown again.
You can create as many tokens as you need (one per project or per environment) and revoke them individually at any time.
Providing the token
There are two ways to pass your token to the CLI:
Environment variable (recommended) — set once in your shell profile or CI secrets:
export GITLOGPRETTY_TOKEN=glp_... Flag — pass it directly (useful for testing):
npx gitlogpretty-cli --token glp_... https://github.com/owner/repo Usage
gitlogpretty-cli [options] [github-repo-url] Repo URL is optional. If omitted, the CLI runs
git remote get-url origin in the current directory and normalises
the result — whether it's an HTTPS or SSH remote.
Output to a file
gitlogpretty-cli --output CHANGELOG.md Output to stdout
gitlogpretty-cli Progress messages are printed to stderr so they don't pollute a piped stdout stream.
Suppress progress messages
gitlogpretty-cli --quiet --output CHANGELOG.md Explicit repo URL
gitlogpretty-cli https://github.com/owner/repo Options
| Flag | Short | Description |
|---|---|---|
--token <token> | -t | API token. Defaults to $GITLOGPRETTY_TOKEN. |
--output <file> | -o | Write changelog to a file instead of stdout. |
--quiet | -q | Suppress progress messages (only changelog is output). |
--help | -h | Print help and exit. |
--version | -v | Print version and exit. |
CI / CD integration
Store your token as a CI secret and call the CLI in your release workflow. The CLI exits with a non-zero code on any error, so failed runs will correctly fail the job.
GitHub Actions
name: Release
on:
push:
tags:
- 'v*'
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install gitlogpretty-cli
run: curl -fsSL https://gitlogpretty.com/install.sh | bash
- name: Generate changelog
run: gitlogpretty-cli --output CHANGELOG.md
env:
GITLOGPRETTY_TOKEN: ${{ secrets.GITLOGPRETTY_TOKEN }}
- name: Commit changelog
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add CHANGELOG.md
git commit -m "chore: update changelog" || echo "No changes to commit"
git push GitLab CI
changelog:
stage: release
script:
- curl -fsSL https://gitlogpretty.com/install.sh | bash
- gitlogpretty-cli --output CHANGELOG.md
variables:
GITLOGPRETTY_TOKEN: $GITLOGPRETTY_TOKEN # set in CI/CD settings
artifacts:
paths:
- CHANGELOG.md npm release script
"scripts": {
"changelog": "gitlogpretty-cli --output CHANGELOG.md",
"release": "npm run changelog && npm version patch && git push --follow-tags"
} FAQ
- Does it work with private repositories?
- Yes. The CLI uses your linked GitHub account's OAuth token to fetch commits. Private repo access requires at least one credit purchase — free credits cover public repos only.
- What if my remote isn't named
origin? -
Pass the URL explicitly:
npx gitlogpretty-cli https://github.com/owner/repo - Can I use SSH remotes?
-
Yes.
git@github.com:owner/repo.gitis automatically normalised to the HTTPS equivalent. - How many commits does it analyse?
- The most recent 20 commits. This keeps output focused on your latest release and controls AI token costs.
- Does it require Node.js?
- No. The standalone binary bundles its own runtime — download it, make it executable, and run it anywhere.
- How do I check my credit balance?
- Sign in at gitlogpretty.com/app. Credits are shown in the header. Each successful CLI run deducts one credit.