← All tools

psacc/greentap

Popularity 75 Updated Development & Build

CLI for WhatsApp Web via Playwright aria snapshots

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

greentap

CLI for WhatsApp Web via Playwright aria snapshots. Reads chats, sends messages, searches contacts — all from the terminal.

Uses structural ARIA selectors and runtime locale detection, so it works with any WhatsApp UI language.

Disclaimer: This project is unofficial and not affiliated with, endorsed by, or connected to WhatsApp or Meta in any way. Using automation tools with WhatsApp may violate their Terms of Service. There is a risk of account suspension or ban. Use at your own risk, for personal use only, at low volume.

Prerequisites

  • Node.js (v18+)
  • Playwright — bundled Chromium installed via npx playwright install chromium (npm install runs this automatically)

Install

git clone https://github.com/psacc/greentap.git
cd greentap
npm install
npx playwright install chromium   # if not run automatically by your setup

v0.4.0+ note: greentap uses Playwright's bundled Chromium (was system Chrome in v0.3.x). If you upgraded from v0.3.1 or earlier, you will need to re-scan the QR code via node greentap.js login — browser profile data is not portable between Chrome and Chromium.

First run — scan the QR code to link your WhatsApp account:

node greentap.js login

This opens a headed Chromium window. Scan the QR code with your phone, then close the browser. Session data is stored in ~/.greentap/browser-data/.

Usage

# List all visible chats
node greentap.js chats
node greentap.js chats --json

# List only unread chats
node greentap.js unread --json

# Read messages from a chat (exact normalized name match)
# --json output includes a `links` array per message with full URLs
# recovered from the DOM (not just the truncated preview text).
node greentap.js read "Family" --json

node greentap.js read "Family" --scroll --json

Send a message

node greentap.js send "Family" "Hello from the terminal"

Download recent images from a chat to ~/.greentap/downloads/<chat-slug/