gmcli

Original🇺🇸 English
Translated

Gmail CLI for searching emails, reading threads, sending messages, managing drafts, and handling labels/attachments.

3installs
Added on

NPX Install

npx skill4agent add badlogic/pi-skills gmcli

Tags

Translated version includes tags in frontmatter

Gmail CLI

Command-line interface for Gmail operations.

Installation

bash
npm install -g @mariozechner/gmcli

Setup

Google Cloud Console (one-time)

  1. Create a new project (or select existing)
  2. Enable the Gmail API
  3. Set app name in OAuth branding
  4. Add test users (all Gmail addresses you want to use)
  5. Create OAuth client:
    • Click "Create Client"
    • Application type: "Desktop app"
    • Download the JSON file

Configure gmcli

First check if already configured:
bash
gmcli accounts list
If no accounts, guide the user through setup:
  1. Ask if they have a Google Cloud project with Gmail API enabled
  2. If not, walk them through the Google Cloud Console steps above
  3. Have them download the OAuth credentials JSON
  4. Run:
    gmcli accounts credentials ~/path/to/credentials.json
  5. Run:
    gmcli accounts add <email>
    (use
    --manual
    for browserless OAuth)

Usage

Run
gmcli --help
for full command reference.
Common operations:
  • gmcli <email> search "<query>"
    - Search emails using Gmail query syntax
  • gmcli <email> thread <threadId>
    - Read a thread with all messages
  • gmcli <email> send --to <emails> --subject <s> --body <b>
    - Send email
  • gmcli <email> labels list
    - List all labels
  • gmcli <email> drafts list
    - List drafts

Data Storage

  • ~/.gmcli/credentials.json
    - OAuth client credentials
  • ~/.gmcli/accounts.json
    - Account tokens
  • ~/.gmcli/attachments/
    - Downloaded attachments