Skip to content

Environment Variables

All GPC_* environment variables and external variables that GPC respects.

Authentication

VariableTypeDescriptionDefault
GPC_SERVICE_ACCOUNTstringService account JSON string or file path. Accepts inline JSON ({"type":"service_account",...}) or a path to a .json file.
GPC_PROFILEstringNamed auth profile to use. Profiles are created via gpc auth login --profile <name>.
GPC_SKIP_KEYCHAINbooleanSkip OS keychain storage and use file-based token cache instead.false

App & Project

VariableTypeDescriptionDefault
GPC_APPstringDefault package name (e.g., com.example.myapp). Used when --app flag is not provided.
GPC_DEVELOPER_IDstringDeveloper account ID. Required for gpc users and gpc testers commands.

Output

VariableTypeDescriptionDefault
GPC_OUTPUTtable | json | yaml | markdownDefault output format. Overridden by --output flag.table (TTY) / json (pipe)
GPC_NO_COLORbooleanDisable colored output. Also respected: NO_COLOR (standard).false
GPC_NO_INTERACTIVEbooleanDisable interactive prompts. Auto-set when CI=true is detected.Auto in CI

Network & Retry

VariableTypeDescriptionDefault
GPC_MAX_RETRIESintegerMaximum retry attempts on transient errors (429, 5xx).3
GPC_TIMEOUTintegerRequest timeout in milliseconds.30000
GPC_BASE_DELAYintegerBase retry delay in milliseconds (exponential backoff).1000
GPC_MAX_DELAYintegerMaximum retry delay in milliseconds.60000
GPC_RATE_LIMITintegerClient-side requests per second.50
GPC_CA_CERTstringPath to custom CA certificate file (PEM format). For corporate proxies.
HTTPS_PROXYstringHTTP proxy URL (e.g., https://proxy.corp:8080). Also respected: https_proxy.
NO_PROXYstringComma-separated list of hosts to bypass proxy.

Debug & Logging

VariableTypeDescriptionDefault
GPC_DEBUGbooleanEnable debug logging. Prints internal state, request/response details, and timing info to stderr.false
GPC_VERBOSEbooleanEnable verbose output. Shows additional context such as full API URLs, retry attempts, and rate-limit headers.false
bash
# Diagnose auth issues
GPC_DEBUG=true gpc auth status

# Verbose upload with retry visibility
GPC_VERBOSE=true gpc releases upload app.aab --track internal

Plugins

VariableTypeDescriptionDefault
GPC_PLUGIN_DIRstringCustom directory for plugin discovery. GPC scans this path for installed plugins at startup.~/.config/gpc/plugins
GPC_AUDIT_LOGstringFile path for the audit log. When set, GPC appends a JSON line for each command invocation.
bash
# Use a project-local plugin directory
export GPC_PLUGIN_DIR="./my-plugins"

# Enable audit logging for compliance
export GPC_AUDIT_LOG="/var/log/gpc-audit.jsonl"
gpc releases list

CI Provider Detection

GPC auto-detects CI environments. These variables are read but not set by GPC:

VariableProviderPurpose
CIGenericEnables CI mode (non-interactive, JSON output)
GITHUB_ACTIONSGitHub ActionsEnables step summary output
GITHUB_STEP_SUMMARYGitHub ActionsFile path for markdown summary
GITLAB_CIGitLab CICI detection
CIRCLECICircleCICI detection
BITRISE_IOBitriseCI detection
JENKINS_URLJenkinsCI detection

Precedence Order

When the same setting is configured in multiple places, GPC uses this precedence (highest to lowest):

  1. CLI flag--app com.example.app
  2. Environment variableGPC_APP=com.example.app
  3. Project config.gpcrc.json in current or parent directory
  4. User config~/.config/gpc/config.json
  5. Default value

Example: CI Environment

bash
export GPC_SERVICE_ACCOUNT="${SERVICE_ACCOUNT_JSON}"
export GPC_APP="com.example.myapp"
export GPC_OUTPUT="json"
export GPC_MAX_RETRIES="5"
export GPC_TIMEOUT="60000"

gpc releases upload app.aab --track internal

Released under the MIT License.