CLI
Getting started
The GTM Tools CLI lets you call every tool directly from your terminal. Qualify accounts on buying signals, look up a company or a person on LinkedIn, verify an email, engage on Reddit, and manage the wallet, all without writing code.
Installation
Install with curl:
Install with npm:
Authentication
Sign in through the browser once and the CLI stores the key for you:
Credentials land in ~/.gtm-tools/config.json (chmod 600), so every later call picks them up automatically, and so does the browser extension through the native helper. No export needed. gtm-tools admin logout clears them.
To use a key you already have, set it as an environment variable instead:
Or pass it directly with the --api-key flag. Get a key with get_api_key, and on a box that cannot open a browser use the code flow: gtm-tools admin auth you@yourcompany.com, then the same command with --code 123456.
Usage
Commands follow the pattern:
Namespaces: admin, socials, reddit, email, signals, mcp, extension, update.
Some namespaces nest a subcommand:
Use --help on the CLI, a namespace, or any command for the full flag list.
Examples
Features
- One binary for the whole surface. LinkedIn, Reddit, email finding, signals, and billing, on the same auth as MCP and REST. (
get_coordinatesis the one tool without a CLI command; call it over HTTP instead, see the API Reference.) - Browser sign-in.
gtm-tools admin loginopens WorkOS in your browser and stores the key at~/.gtm-tools/config.json(chmod 600). Noexportneeded. - Shared credentials. The browser extension reads the same stored key through the native helper, so Connect works without a second sign-in.
- MCP config patching.
gtm-tools mcp add --client claude-desktopedits the client’s config file in place. - Self-updating.
gtm-tools updateswaps the binary in place; every command also runs a cached background version check. - Script-friendly. JSON on stdout, non-zero exit on failure.
Global flags
Available on every command:
Output formats
Control how results are displayed with the --format flag:
json: pretty-printed JSON (default)compact: single-line JSON, for piping and logstable: aligned columns, for responses that contain a list
table falls back to JSON when a response has nothing tabular in it. Everything goes to stdout, so any format pipes into jq; errors go to stderr with a non-zero exit code.
AI skill
The CLI is also available as an Agent Skills skill, allowing AI coding assistants to use it on your behalf. Install it with:
This works with any compatible tool, including OpenClaw, Claude Code, Cursor, and Codex. See the Agent Onboarding page for more details.