Everything you can automate with gplay
Every card is a real command. The full surface is in thecommand reference — auto-generated from the CLI, so it never drifts.
Releases and staged rollouts
Upload an AAB, assign a track, and commit in one command. Expand, halt, resume, or complete rollouts as vitals come in.
gplay release --track production --bundle app.aab --rollout 0.1Subscriptions, base plans, offers
Create and manage the full subscription model — base plans, promotional offers, regional prices — without touching the console.
gplay subscriptions create --json @subscription.jsonPurchase verification
Verify purchase tokens server-side, acknowledge purchases, refund orders, and decode RTDN webhooks.
gplay purchases subscriptionsv2 get --token <TOKEN>Store listings and screenshots
Manage listing text, images, and metadata across every locale. Sync from a local directory or Fastlane structure.
gplay listings update --locale en-US --json @listing.jsonCrashes, ANRs, and vitals
Query crash clusters, error reports, and performance metrics — startup, rendering, battery — straight from Play vitals.
gplay vitals crashes query --from 2026-06-01 --to 2026-07-01Reviews: read and reply
List, filter, and reply to user reviews. Automate responses to common issues from scripts or agents.
gplay reviews reply --review-id <ID> --text "Fixed in 2.1!"Financial and statistics reports
Download earnings, sales, and installs reports from Google Cloud Storage without the console export dance.
gplay reports financial download --month 2026-06Testers and closed tracks
Create closed testing tracks, assign testers by email or Google Group, and promote builds through the funnel.
gplay testers update --track alpha --emails "[email protected]"Users and permission grants
Manage developer-account users and per-app permission grants — onboarding and offboarding, scripted.
gplay users create --email [email protected] --json @perms.jsonManaged Google Play
Publish private (custom) apps to specific organizations, straight from the terminal.
gplay custom-apps create --developer <ID> --apk app.apkCompliance checks
Run Google Checks compliance and AI-safety analysis against your builds before you submit.
gplay checks analyze --binary app.aabOne-time products and pricing
In-app products, one-time purchase options and offers, and regional purchasing-power price conversion.
gplay pricing convert --price 4.99 --currency USDAI Agent Skills for Google Play
16 ready-made skills teach Claude Code, Cursor, and other agents the real workflows — release flow, rollout management, IAP setup, purchase verification, vitals monitoring, and more.
npx skills add tamtom/gplay-cli-skillsThen ask your agent: “release this AAB to internal” ·“create monthly + yearly subscriptions with a 7-day trial” ·“summarize this week’s crash clusters”
How gplay compares
| Capability | gplay | Fastlane supply | gradle-play-publisher |
|---|---|---|---|
| Upload, tracks, rollouts, listings | ✅ | ✅ | ✅ |
| Subscriptions, base plans, offers | ✅ Full | ❌ | ⚠️ Basic |
| Purchase verification, orders, refunds | ✅ | ❌ | ❌ |
| Vitals: crashes, ANRs, performance | ✅ | ❌ | ❌ |
| Reviews: read + reply | ✅ | ❌ | ❌ |
| Financial & statistics reports | ✅ | ❌ | ❌ |
| Users & permission grants | ✅ | ❌ | ❌ |
| Managed Google Play (private apps) | ✅ | ❌ | ❌ |
| AI-agent-friendly output | ✅ JSON default | ❌ Human logs | ❌ Gradle logs |
| Runtime | Single Go binary | Ruby + gems | JVM + Gradle |
Frequently asked questions
How is gplay different from Fastlane supply?
Fastlane supply covers uploads, tracks, and listings. gplay covers those plus subscriptions and IAP, purchase verification, vitals, reviews, reports, user management, and Managed Google Play — around 98% of the Google Play Developer API. It is also a single Go binary, so there is no Ruby environment to maintain.
Do I need a service account?
Yes — Google requires a service account for the Play Developer API. gplay setup --auto creates one for you end-to-end via gcloud, including enabling the API and downloading the key. The one manual step Google enforces is granting the account access in Play Console.
Does it work in CI?
Yes. Configuration works entirely through environment variables (GPLAY_SERVICE_ACCOUNT, GPLAY_PACKAGE), output is machine-readable JSON, nothing ever prompts interactively, and the binary installs with one curl command on any runner.
Can AI agents use it?
gplay is designed agent-first: explicit flags, discoverable --help, JSON output, and --dry-run on every write. Ready-made Agent Skills for Claude Code, Cursor, and other agents are one command away: npx skills add tamtom/gplay-cli-skills.
Is it free?
Yes — open source under the MIT license. No paid tiers, no telemetry.
Which platforms are supported?
macOS (Intel and Apple Silicon), Linux (amd64 and arm64), and Windows. Prebuilt binaries ship with every release, plus Homebrew and install scripts.
Install the Google Play Console CLI
One static binary — no Node.js, no Python, no JVM. Pick your platform:
Homebrew macOS · Linux
Recommended if you use Homebrew — updates come through brew upgrade too.
brew install tamtom/tap/gplayInstall script macOS · Linux
Detects your OS and architecture, verifies the download, installs to your PATH. Ideal for CI runners.
curl -fsSL https://raw.githubusercontent.com/tamtom/play-console-cli/main/install.sh | bashPowerShell Windows
Native Windows install — no WSL required.
irm https://raw.githubusercontent.com/tamtom/play-console-cli/main/install.ps1 | iexManual download All platforms
Prebuilt binaries for macOS (Intel/Apple Silicon), Linux (amd64/arm64), and Windows — with checksums.txt for verification.
Verify with gplay version · update any time with gplay update · then authenticate in one command.