App Store Connect CLI: App Store Connect CLI automation
App Store Connect CLI replaces manual App Store Connect browser work with scriptable commands. JSON-first output plays nicely in pipelines, TTY detection is a nice touch, and optional telemetry plus stability labels help in CI. The catch: it is unofficial, so Apple API changes can bite. Worth it once you need CI-driven releases or any repetitive App Store task. Skip it if a manual upload is all you ever do.
What is App Store Connect CLI?
App Store Connect CLI is a command-line interface for the App Store Connect API. It automates iOS, macOS, tvOS, and visionOS releases from any terminal or CI pipeline. Commands cover the full release lifecycle: uploading builds, managing TestFlight groups, submitting to the App Store, syncing metadata and screenshots, reviewing certificate and provisioning profile status, and more. Output defaults to JSON for scripting and tables for interactive use.
Key Automation Capabilities
- βJSON-first command output designed for piping into other tools, with `--output` flags for table, JSON, or markdown
- βTTY detection switches between table output in terminals and JSON in pipelines automatically
- βFull authentication via App Store Connect API keys with keychain and file-backed options for CI environments
- βCommands for builds, TestFlight, app submissions, metadata, screenshots, certificates, profiles, and bundle IDs
- βApple Ads campaign management and StoreKit Retention Messaging on their own credential systems
- βXcode Cloud integration for triggering and monitoring workflows from pull requests
- βasc skills command installs 23 reviewed agent skills for Claude Code and similar AI assistants
- βStability labels mark commands as stable, experimental, or deprecated so CI scripts know what to expect
Common Automation Workflows
- β’Upload an IPA or PKG build to TestFlight and add it to a beta group from a GitHub Actions job
- β’Submit an app to the App Store with metadata copied from the previous version
- β’Audit keyword metadata across all locales for an app before publishing
- β’Trigger an Xcode Cloud workflow from a pull request and poll for the build result
- β’Automate screenshot uploads for multiple device types and locales in one pass
- β’Manage App Store Connect API certificates and provisioning profiles from scripts
Installing the CLI Tool
Install via Homebrew on macOS/Linux with `brew install asc`, use the install script at `https://asccli.sh/install`, or download binaries directly from GitHub releases. Windows users can install via WinGet once the package is approved. Released binaries are self-contained and do not require a Go toolchain. Source builds require following the CONTRIBUTING.md guide and the declared Go version from go.mod.
Getting Started with Commands
Authenticate once with `asc auth login` using your App Store Connect API key ID, issuer ID, and private key path. Then run commands like `asc apps list`, `asc builds upload --app APP_ID --ipa ./build.ipa`, or `asc testflight feedback list`. Output flags control format: `--output json`, `--output table`, or `--output markdown`. Use `--pretty` for readable JSON in terminals. Run `asc --help` for the full command tree or `asc <command> --help` for a specific subcommand. Chain commands with workflows using `asc workflow run testflight_beta VERSION:1.2.3`. Preview any workflow with `--dry-run` before executing.
Strengths
- βWraps the entire App Store Connect API surface into one installable binaryβno additional runtime dependencies
- βJSON output by default in non-interactive contexts makes CI/CD integration straightforward
- βSupports a wide range of domains beyond builds: screenshots, metadata, certificates, Apple Ads, StoreKit Retention Messaging
- βAgent skills install adds 23 reviewed skills for AI coding assistants to work with the CLI
- βTelemetry is opt-out and clearly documented, covering only anonymized command-level metadata
Considerations and Limitations
- β³This is an unofficial, community-maintained tool with no guarantee of API stability from Apple
- β³Apple can change the underlying API at any time, potentially breaking workflows without warning
- β³The CLI covers a broad surface area, which means a steeper learning curve when first getting started
- β³Bulk operations require multiple API calls with no built-in batching or caching layer
- β³Teams relying on it in production need to manage App Store Connect API key credentials as secrets
- β³Support comes from GitHub Discussions and Issues, not from Apple or a dedicated support team
Alternatives to App Store Connect CLI
Frequently Asked Questions
Yes, it sends pseudonymous command-level telemetry by default. This includes CLI version, OS, architecture, command path, duration, and HTTP status on failuresβbut never raw arguments, credentials, Apple account IDs, or file paths. Disable it with `asc telemetry disable` or the `ASC_TELEMETRY_DISABLED=1` environment variable.
Use `asc auth login` with `--bypass-keychain` and your App Store Connect API key ID, issuer ID, and private key path. Store the key file as a secret in your CI system. For repo-local credentials, add `--local` to write to `.asc/config.json`.
Yes. Set `ASC_DEFAULT_OUTPUT` to your preferred format, or use `--output json`, `--output table`, or `--output markdown` on any command. Explicit flags always override the default.
Community support through GitHub Discussions for setup help and workflow questions. GitHub Issues handles reproducible bugs and feature requests. There is no paid or official Apple support channel.
No. It is an independent, community-maintained tool not affiliated with or endorsed by Apple. Apple Inc. holds the trademarks for App Store Connect, TestFlight, Xcode Cloud, and Apple.
MIT License. You can use it freely in commercial and personal projects, modify it, and distribute it subject to the license terms.
The problem it solves
Publishing iOS and macOS apps requires navigating App Store Connect in a browser for builds, TestFlight distribution, app submissions, metadata updates, and screenshot uploads. These tasks are slow, error-prone when done by hand, and block automation in CI/CD pipelines.
Who should try it β and who should skip
Reach for App Store Connect CLI when you need CI-driven releases, repetitive TestFlight uploads, or scriptable metadata management. It suits teams already using App Store Connect API keys and developers who want a lightweight alternative to fastlane. Skip it if you only upload builds manually, lack API key management infrastructure, or prefer the web interface for occasional tasks. Teams with existing fastlane setups should weigh the switching cost carefully before migrating.
Related repositories
Curious whether App-Store-Connect-CLI is right for you?
Let ChatGPT, Claude, or Perplexity look into it β click below and see what AI actually says about App-Store-Connect-CLI.
