Skip to content

Command Reference

GPC follows a consistent <domain> <action> [options] pattern for every command.

Common Workflows

Most users start with these:

bash
# Full picture — releases, vitals, and reviews in one command
gpc status

# End-to-end: validate, upload, release
gpc publish app.aab --track beta --notes "Bug fixes"

# Upload to a specific track
gpc releases upload app.aab --track internal

# Promote between tracks
gpc releases promote --from beta --to production --rollout 10

# Analyze bundle size
gpc bundle analyze app.aab --threshold 150

All Commands

Core Workflow

CommandDescription
statusReleases + vitals + reviews in one unified snapshot
publishEnd-to-end validate, upload, and release
validatePre-submission checks
releasesUpload, promote, rollout, release notes, diff
tracksTrack configuration and management
listingsStore listings, metadata, images

Monitoring

CommandDescription
reviewsUser reviews and ratings
vitalsCrash rates, ANR, startup, rendering, battery, memory

Monetization

CommandDescription
subscriptionsSubscriptions, base plans, offers
one-time-productsOne-time products and offers (alias: otp)
purchase-optionsPurchase option management for one-time products
iapIn-app products (legacy API)
purchasesPurchase verification, acknowledgment, refunds
pricingRegional price conversion

Reporting & Team

CommandDescription
reportsFinancial and stats report downloads
testersTester management by track
usersDeveloper account users and permissions

Distribution

CommandDescription
bundleLocal AAB/APK size analysis and comparison
internal-sharingReview-free QA distribution
generated-apksDevice-specific APK downloads
device-tiersDevice capability targeting

Compliance & Recovery

CommandDescription
data-safetyData safety declarations
recoveryApp recovery actions
external-transactionsExternal transactions (alternative billing)

System

CommandDescription
authAuthentication and profiles
appsApp info and configuration
configCLI configuration
pluginsPlugin management
migrateMigrate from Fastlane to GPC
doctor / docs / completionDiagnostics, documentation, shell completions
install-skillsInstall AI agent skills for GPC workflows

Global Flags

Every command accepts these flags:

FlagShortTypeDefaultDescription
--output-ostringautoOutput format: table, json, yaml, markdown
--quiet-qbooleanfalseSuppress non-essential output
--verbose-vbooleanfalseEnable debug logging
--profile-pstringUse a named auth profile
--app-astringApp package name (overrides config)
--no-colorbooleanfalseDisable colored output
--no-interactivebooleanfalseDisable interactive prompts
--dry-runbooleanfalsePreview changes without executing
--limitnumberMax results per page
--next-pagestringPagination token for next page
--retry-logstringLog retry attempts to file (JSONL)
--configstringPath to config file
--notifystringSend webhook on completion (slack, discord, custom)
--sortstringSort results by field (prefix with - for descending)
--version-VbooleanShow version
--help-hbooleanShow help

Output Behavior

GPC auto-detects the output environment:

ContextDefault FormatReason
TTY (interactive terminal)tableHuman-readable formatted output
Non-TTY (pipe, redirect)jsonMachine-parseable for scripting
CI environment (CI=true)jsonDeterministic for automation

The --output flag overrides auto-detection in all cases.

Output Formats

table

bash
gpc apps info com.example.app
Package Name   com.example.app
Title          My App
Default Lang   en-US

json

bash
gpc apps info com.example.app --output json
json
{
  "success": true,
  "data": {
    "packageName": "com.example.app",
    "title": "My App",
    "defaultLanguage": "en-US"
  },
  "metadata": {
    "command": "apps info",
    "timestamp": "2026-03-09T12:00:00Z",
    "duration_ms": 342
  }
}

yaml

bash
gpc apps info com.example.app --output yaml
yaml
success: true
data:
  packageName: com.example.app
  title: My App
  defaultLanguage: en-US
metadata:
  command: apps info
  timestamp: "2026-03-09T12:00:00Z"
  duration_ms: 342

markdown

bash
gpc releases status --output markdown >> "$GITHUB_STEP_SUMMARY"

Produces a Markdown table suitable for GitHub Actions step summaries.

Error Output

All errors follow a consistent JSON structure:

json
{
  "success": false,
  "error": {
    "code": "AUTH_EXPIRED",
    "message": "Access token has expired",
    "suggestion": "Run 'gpc auth login' to re-authenticate"
  }
}

Exit Codes

CodeMeaning
0Success
1General error
2Usage error (bad arguments)
3Authentication error
4API error (rate limit, permission denied)
5Network error
6Threshold breach (vitals CI alerting)
10Plugin error

Environment Variables

VariableDescriptionDefault
GPC_SERVICE_ACCOUNTService account JSON string or file path
GPC_APPDefault package name
GPC_PROFILEAuth profile name
GPC_OUTPUTDefault output formatauto
GPC_NO_COLORDisable color output
GPC_NO_INTERACTIVEDisable promptsAuto in CI
GPC_SKIP_KEYCHAINSkip OS keychain, use file storage
GPC_MAX_RETRIESMax retry attempts on transient errors3
GPC_TIMEOUTRequest timeout in milliseconds30000
GPC_BASE_DELAYBase retry delay in milliseconds1000
GPC_MAX_DELAYMax retry delay in milliseconds60000
GPC_RATE_LIMITRequests per second50
GPC_DEVELOPER_IDDeveloper account ID (for user management)
GPC_CA_CERTCustom CA certificate path
HTTPS_PROXYHTTP proxy URL

Released under the MIT License.