Skip to main content

Frequently Asked Questions

Common questions about the App Store Connect CLI
The App Store Connect CLI (asc) is an unofficial, fast, lightweight, and scriptable command-line tool for the App Store Connect API. It allows you to automate iOS, macOS, tvOS, and visionOS release workflows from your terminal, IDE, or CI/CD pipeline.Built in Go using ffcli, it provides a comprehensive interface to manage apps, builds, TestFlight, reviews, analytics, signing, and more.
No. This is an independent, unofficial tool and is not affiliated with, endorsed by, or sponsored by Apple Inc. It uses the public App Store Connect API that Apple provides for developers.App Store Connect, TestFlight, Xcode Cloud, and Apple are trademarks of Apple Inc., registered in the U.S. and other countries.
The recommended installation method is via Homebrew:
Alternatively, use the install script:
For source builds and contributor setup, see the Contributing Guide.
You need an App Store Connect API key. Generate one at: https://appstoreconnect.apple.com/access/integrations/apiThen authenticate using:
Credentials are stored securely in the system keychain (macOS) or config file (~/.asc/config.json) with restricted permissions.
Yes. The CLI supports multiple authentication methods:
To bypass keychain entirely:
Priority order: Environment variables > Config file > Keychain
Permissions depend on what operations you want to perform:
  • App Manager: Most operations (builds, TestFlight, metadata, screenshots)
  • Admin: Full access including user management
  • Developer: Read-only access to most resources
  • Sales: Access to sales and analytics reports
  • Finance: Access to financial reports
  • Customer Support: Access to customer reviews and feedback
Generate keys with the minimum required permissions for your use case.
Use the built-in help system:
The CLI is self-documenting. Always check --help for the current interface before running commands.
The CLI supports multiple output formats:
  • json - Machine-readable JSON
  • table - Human-readable table (default in terminals)
  • markdown or md - Markdown tables
Output defaults are TTY-aware:
  • Interactive terminal: table
  • Pipes/files/CI: json
Set a global default:
Or use explicit flags (always takes precedence):
Use the --paginate flag to automatically fetch all pages:
Without --paginate, only the first page (default limit) is returned. This is especially important for:
  • Analytics reports with large datasets
  • Complete feedback/crash lists
  • Comprehensive build history
Yes! The CLI is designed for automation and supports:See the CI/CD guide for detailed examples.
Upload IPA or PKG files using:
For large files, increase timeout:
Then check processing status:
Fetch feedback:
Fetch recent crashes:
For detailed crash information, filter by build:
Yes. View app information:
List localizations:
Update metadata using PATCH operations:
List certificates:
List provisioning profiles:
List bundle IDs:
Create new resources or revoke existing ones using the respective create and delete subcommands.
Workflows allow you to automate complex multi-step processes. Define workflows in JSON:
Run the workflow:
Enable debug mode to see detailed HTTP request/response logs:
This shows:
  • Request URLs and headers
  • Response status codes and bodies
  • Retry attempts and timing
Useful for troubleshooting API issues or reporting bugs.
The CLI automatically retries GET/HEAD requests on 429/503 responses. Configure retry behavior:
Note: POST/PATCH/DELETE requests are NOT automatically retried to prevent duplicate operations.For long-running operations, increase timeouts:
  • Sales reports: Daily/weekly/monthly sales data, units sold, proceeds
  • Finance reports: Apple fiscal month reports, payments, regions
Sales reports use calendar dates:
Finance reports use Apple fiscal months (YYYY-MM):
See API Notes for detailed quirks.
Yes. List sandbox testers:
View a specific tester:
Update an existing tester:
The current CLI supports list, view, update, and clear-history for sandbox testers. Territory uses 3-letter codes such as USA and JPN.
Game Center operations require a Game Center detail ID. First, check if Game Center is enabled:
Then manage achievements, leaderboards, and releases. Note:
  • Releases are required to make resources live
  • Image uploads follow a three-step flow (reserve → upload → commit)
  • Some relationships are replace-only (PATCH)
See API Notes for Game Center quirks.
Prefer the sosumi.ai mirror over developer.apple.com:Replace:
With:
For offline reference, check the OpenAPI snapshot:
Contributions are welcome! See the Contributing Guide for:
  • Development setup
  • Testing requirements
  • PR guidelines
  • Local validation checklist
All PRs must pass formatting, linting, and tests:
Do NOT open public GitHub issues for security vulnerabilities.Report privately using GitHub Security Advisories: https://github.com/rorkai/App-Store-Connect-CLI/security/advisories/newInclude:
  • Clear vulnerability description and impact
  • Steps to reproduce
  • Affected versions and platforms
asc skills are agent-based automation workflows for common CLI operations including:
  • Build uploads and distribution
  • TestFlight management
  • Metadata synchronization
  • App submissions
  • Signing and provisioning
Learn more: https://github.com/rorkai/app-store-connect-cli-skills
Yes! The CLI supports both macOS and Linux.On Linux:
  • Keychain features fall back to config file storage
  • Ensure Go 1.26+ is installed
  • All core functionality works identically
Install using the install script:
If installed via Homebrew:
If installed via install script, re-run:
Check current version:
View releases: https://github.com/rorkai/App-Store-Connect-CLI/releases
The CLI is TTY-aware and adapts output based on context:
  • Interactive terminal (TTY): Defaults to table for readability
  • Pipes/files/CI (non-TTY): Defaults to json for machine parsing
This ensures:
  • Human-friendly output when exploring interactively
  • Machine-parseable output in automation
Override with --output flag or ASC_DEFAULT_OUTPUT environment variable.
Multiple resources are available:
  1. Built-in help: asc --help and asc <command> --help
  2. Documentation: Full command reference and guides
  3. GitHub Issues: Report bugs or request features
  4. Troubleshooting: See Troubleshooting Guide
  5. API Notes: Check API Notes for quirks
For issues: https://github.com/rorkai/App-Store-Connect-CLI/issues