Track who unfollowed you on GitHub. Directly from your terminal.
npmjs.com/package/githate
npm install -g githateor if you prefer pnpm:
pnpm add -g githateThen just run:
githateThat's it. You get an interactive REPL shell. Type /help to see all commands.
GitHate fetches your current GitHub followers, compares them against your last saved list, and reveals:
- Who unfollowed you (the haters)
- Who started following you (the fans)
It stores everything locally on your machine. No server, no database, no third-party services.
Run githate and type /login. It uses GitHub OAuth Device Flow — open the link in your browser, enter the code, done. No tokens to copy-paste.
Type /scan to check for changes. On the first run it saves your current followers as a baseline. On every run after that, it diffs and shows you who left and who joined.
Type /haters to see every person who has ever unfollowed you, with dates. Repeat offenders are flagged.
GitHate works in two modes:
REPL mode (run githate with no arguments):
| Command | Description |
|---|---|
/scan |
Check for new unfollowers and followers |
/haters |
View the hall of shame (historical unfollowers) |
/followers |
List your current followers |
/following |
List who you are following |
/login |
Authenticate with GitHub |
/logout |
Remove stored credentials |
/start |
Start background auto-tracking service |
/stop |
Stop background service |
/status |
Check if background service is running |
/why |
The origin story |
/help |
Show all commands |
/quit |
Exit |
Direct CLI mode (single commands):
githate scan
githate login
githate haters
githate followers
githate following
githate follow <username>
githate unfollow <username>
githate start --interval 60
githate stop
githate status
githate clearcache
githate logoutStart a background service that polls GitHub on an interval and sends you a desktop notification when someone unfollows you.
githate startDefault interval is 720 minutes (12 hours). Change it with:
githate start --interval 60Check status or stop it:
githate status
githate stop- On first
/scan, GitHate fetches all your followers from the GitHub API and saves them locally. - On subsequent scans, it fetches again and diffs against the saved list.
- New followers and unfollowers are displayed. Unfollowers are saved to a persistent "hater history."
- The background service (
/start) does the same thing in a detached process and sends OS notifications.
Data is stored in your OS config directory:
- macOS:
~/Library/Preferences/githate-cli-nodejs/config.json - Linux:
~/.config/githate-cli-nodejs/config.json - Windows:
%APPDATA%/githate-cli-nodejs/config.json
You can use GitHate without logging in. Just run /scan and enter any public GitHub username. Guest mode is limited to 60 API requests per hour. Login to get 5,000 requests per hour.
ISC
