Skip to main content
Global flags are available on all asc commands and control cross-cutting concerns like authentication, logging, and CI reporting.

Authentication Flags

--profile

Use a named authentication profile stored in your keychain or config file.
asc apps list --profile production
asc builds upload --app "123456789" --profile staging
Environment variable: ASC_PROFILE See also: Authentication Guide

--strict-auth

Fail when credentials are resolved from multiple sources (e.g., both environment variables and keychain).
asc apps list --strict-auth
Default: false Environment variable: ASC_STRICT_AUTH (accepts true/false, 1/0, yes/no, y/n, on/off) This flag helps catch configuration issues where credentials might be coming from unexpected sources.

Debug and Logging Flags

--debug

Enable debug logging to stderr for troubleshooting CLI behavior.
asc apps list --debug
Environment variable: ASC_DEBUG=true Outputs detailed information about:
  • Command parsing and execution
  • Authentication resolution
  • API request preparation
  • Response processing

--api-debug

Enable HTTP debug logging to stderr, showing full request and response details.
asc apps list --api-debug
Environment variable: ASC_DEBUG=api Outputs:
  • HTTP request method, URL, headers, and body
  • HTTP response status, headers, and body
  • Sensitive values are automatically redacted (API keys, tokens, etc.)
Useful for:
  • Debugging API integration issues
  • Understanding rate limiting
  • Inspecting response payloads
  • Troubleshooting authentication failures

--retry-log

Enable retry logging to stderr to see when the CLI automatically retries failed requests.
asc apps list --retry-log
Environment variable: ASC_RETRY_LOG=true Outputs information about:
  • Retry attempts and backoff delays
  • Transient error conditions
  • Rate limit handling
Note: This flag overrides ASC_RETRY_LOG and config file settings when explicitly set.

CI and Reporting Flags

--report

Report format for CI output. Currently supports junit for JUnit XML test reports.
asc validate --app "123456789" --report junit --report-file results.xml
Valid values: junit Required: --report-file must be specified when using --report Use this in CI pipelines to generate test reports that integrate with CI platforms like Jenkins, GitHub Actions, or GitLab CI.

--report-file

Path to write CI report file (used with --report).
asc validate --app "123456789" --report junit --report-file /tmp/validation-results.xml
Required: --report must be specified when using --report-file

Version Flag

--version

Print version information and exit.
asc --version
Default: false Outputs the current CLI version. Useful for:
  • Verifying installation
  • Troubleshooting compatibility issues
  • Including version info in bug reports

Flag Behavior

Flag Placement

Global flags can appear before or after subcommands:
# Both work identically
asc --profile production apps list
asc apps list --profile production

Flag Priority

When the same setting is configured in multiple places, the CLI uses this priority order (highest to lowest):
  1. Explicit command-line flags
  2. Environment variables
  3. Profile-specific config file settings
  4. Global config file settings
  5. Built-in defaults

Boolean Flags

Boolean global flags (--debug, --api-debug, --retry-log, --strict-auth, --version) can be used without values:
# All of these work
asc --debug apps list
asc --debug=true apps list
asc --debug=false apps list

Environment Variables

All global flags have corresponding environment variables for easier configuration in CI or development environments:
FlagEnvironment VariableValues
--profileASC_PROFILEProfile name
--strict-authASC_STRICT_AUTHtrue/false, 1/0, yes/no, y/n, on/off
--debugASC_DEBUGtrue/false
--api-debugASC_DEBUGapi
--retry-logASC_RETRY_LOGtrue/false

Additional Environment Variables

These environment variables don’t have corresponding flags but control global behavior:
VariablePurposeExample
ASC_DEFAULT_OUTPUTDefault output formatjson, table, markdown, md
ASC_TIMEOUTRequest timeout90s, 2m
ASC_TIMEOUT_SECONDSTimeout in seconds120
ASC_UPLOAD_TIMEOUTUpload timeout60s, 5m
ASC_UPLOAD_TIMEOUT_SECONDSUpload timeout in seconds300
ASC_APP_IDDefault app IDApp Store Connect app ID
ASC_VENDOR_NUMBERVendor number for reportsSales/finance vendor number
ASC_BYPASS_KEYCHAINIgnore keychain, use config/envtrue/false, 1/0

Examples

Development Workflow

# Use a staging profile with debug logging
asc --profile staging --debug apps list

# Test with strict auth to catch credential conflicts
asc --profile production --strict-auth validate --app "123456789"

CI Pipeline

# Run validation with JUnit report
asc validate \
  --app "$APP_ID" \
  --version "$VERSION" \
  --report junit \
  --report-file validation-results.xml

# Set environment for all commands in CI
export ASC_PROFILE=ci
export ASC_STRICT_AUTH=true
export ASC_DEFAULT_OUTPUT=json

asc apps list
asc builds list --app "$APP_ID"

Debugging

# Enable full HTTP debugging
asc --api-debug apps get --app "123456789"

# Combine debug flags to see everything
asc --debug --api-debug --retry-log builds upload --app "123456789"

See Also