Skip to main content
The App Store Connect CLI can be configured using environment variables. These variables provide defaults and override certain behaviors.

Authentication variables

These variables configure API authentication credentials.
ASC_KEY_ID
string
Your App Store Connect API key ID
ASC_ISSUER_ID
string
Your App Store Connect API issuer ID
ASC_PRIVATE_KEY_PATH
string
Path to your private key (.p8) file
ASC_PRIVATE_KEY
string
Raw private key content (PEM format)
ASC_PRIVATE_KEY_B64
string
Base64-encoded private key content (useful for CI/CD)
ASC_BYPASS_KEYCHAIN
boolean
Ignore keychain and use config/env auth onlySet to true, 1, yes, y, or on to bypass keychain lookup.
ASC_STRICT_AUTH
boolean
Fail when credentials resolve from multiple sourcesSet to true, 1, yes, y, or on to enable strict mode.
ASC_PROFILE
string
Use a named authentication profile from config or keychain

Operational variables

These variables configure default values for apps, vendors, and other resources.
ASC_APP_ID
string
Default app ID for commands that accept --app
ASC_VENDOR_NUMBER
string
Vendor number for sales and financial reports

Timeout variables

Configure request and upload timeouts.
ASC_TIMEOUT
string
Request timeout (e.g., 90s, 2m, 120s)Default: 90s
ASC_TIMEOUT_SECONDS
number
Request timeout in seconds (alternative to ASC_TIMEOUT)Example: 120 for 2 minutes
ASC_UPLOAD_TIMEOUT
string
Upload timeout for large files (e.g., 60s, 5m)Default: 60s
ASC_UPLOAD_TIMEOUT_SECONDS
number
Upload timeout in seconds (alternative to ASC_UPLOAD_TIMEOUT)

Retry and debugging variables

Configure retry behavior and debug logging.
ASC_MAX_RETRIES
number
Maximum number of retry attempts for transient errorsDefault: 3
ASC_BASE_DELAY
string
Base delay for exponential backoff (e.g., 1s, 500ms)Default: 1s
ASC_MAX_DELAY
string
Maximum delay between retries (e.g., 30s, 1m)Default: 30s
ASC_RETRY_LOG
boolean
Enable retry logging to stderrSet to true, 1, yes, y, or on to enable.
ASC_DEBUG
string
Enable debug logging
  • Set to true for general debug logging
  • Set to api for HTTP request/response logging (redacts sensitive values)

Output variables

Configure default output formats.
ASC_DEFAULT_OUTPUT
string
Default output format: json, table, markdown, or mdWhen unset, output is TTY-aware:
  • Interactive terminals: table
  • Pipes/files/CI: json (minified)
Explicit --output flags always override this variable.

Configuration path

ASC_CONFIG_PATH
string
Path to the configuration fileMust be an absolute path. When set, overrides the default config resolution order.

Variable precedence

Environment variables are resolved in this order:
  1. Command-line flags (highest priority)
  2. Environment variables
  3. Config file (~/.asc/config.json or .asc/config.json)
  4. Keychain (for credentials only)
  5. Built-in defaults (lowest priority)
When ASC_STRICT_AUTH=true, the CLI will fail if credentials are found in multiple sources (e.g., both environment variables and keychain).

Examples

Basic authentication

export ASC_KEY_ID="ABC123"
export ASC_ISSUER_ID="DEF456"
export ASC_PRIVATE_KEY_PATH="$HOME/.asc/AuthKey_ABC123.p8"

asc apps list

CI/CD authentication with base64-encoded key

export ASC_KEY_ID="ABC123"
export ASC_ISSUER_ID="DEF456"
export ASC_PRIVATE_KEY_B64="LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0t..."
export ASC_BYPASS_KEYCHAIN="true"

asc builds upload --app 123456789 --file MyApp.ipa

Debug HTTP requests

export ASC_DEBUG="api"

asc apps list

Custom timeout for slow networks

export ASC_TIMEOUT="3m"
export ASC_UPLOAD_TIMEOUT="10m"

asc builds upload --app 123456789 --file LargeApp.ipa

Force JSON output in all environments

export ASC_DEFAULT_OUTPUT="json"

asc apps list  # Always outputs JSON, even in interactive terminals

Authentication

Learn about authentication methods

Profiles

Use named authentication profiles