You’re clicking through App Store Connect’s web dashboard for the hundredth time — uploading builds, managing TestFlight groups, submitting for review — and wondering why this isn’t scripted yet. One indie developer built an open-source CLI that automates the entire workflow, and 2,800 GitHub stars later, it’s becoming the standard tool for iOS release automation. Here’s how to start using it today.
- App Store Connect CLI (
asc) is a free, open-source command-line tool that wraps Apple’s entire App Store Connect API - It replaces manual browser clicks with scriptable commands for builds, TestFlight, submissions, certificates, analytics, and more
- Install it with
brew install ascand start automating your iOS release pipeline in minutes
What Is App Store Connect CLI?
Rudrank Riyam was tired of the same routine. Every release cycle meant logging into App Store Connect, navigating through nested menus, uploading builds, adding testers to TestFlight groups, and babysitting the review submission process. So he did what any frustrated developer would do — he built a tool to make it stop.
App Store Connect CLI is a free, open-source command-line tool that wraps Apple’s entire App Store Connect REST API into simple, scriptable terminal commands. Instead of clicking through a web dashboard, you type a command. Instead of manually checking build statuses, you pipe the output into your CI/CD pipeline.
The tool is written in Go, runs on macOS and Linux, and outputs JSON by default — which means it plays nicely with every automation tool you’re already using. When you run it interactively in a terminal, it switches to human-readable table or markdown output automatically.
Here’s the thing: this isn’t a thin wrapper around one or two API endpoints. The CLI covers the entire App Store Connect API surface — from TestFlight beta distribution to certificate management, from app analytics to subscription configuration, from screenshot uploads to Xcode Cloud workflow triggers.
And the best part? It’s completely free, MIT-licensed, and doesn’t require any third-party services.
Why Should You Care About Automating App Store Connect?
If you’ve shipped an iOS app, you know the pain. The App Store Connect web interface is functional but slow, repetitive, and impossible to script. Every release involves the same manual steps, and every manual step is a chance for human error.
Teams waste hours every release cycle on tasks that should be automated. Adding external testers to beta groups, updating app metadata across 40 localizations, checking whether a build finished processing — none of these require human judgment, yet most teams do them by hand.
The App Store Connect CLI eliminates that entire class of busywork. You write your release workflow once as a script, and every subsequent release is a single command.
But here’s where it gets interesting — the tool isn’t just for CI/CD pipelines. It’s also useful for quick, ad-hoc queries that would take 5 clicks in the web UI:
- Check your latest build status — one command instead of navigating to Activity → Builds → selecting the app
- List all TestFlight testers — instantly, instead of clicking through each beta group
- Download crash logs — piped directly to your terminal for analysis
- Pull analytics data — in JSON format, ready for your own dashboards
Now, here’s where most people stop — but you shouldn’t. The real power is in what the CLI enables that the web interface simply cannot do.
App Store Connect CLI vs. the Web Dashboard
Most developers assume the web dashboard and a CLI do the same thing, just with a different interface. They’re wrong — and that misconception limits how they think about their release process.
| Capability | Web Dashboard | App Store Connect CLI |
|---|---|---|
| Submit a build for review | 5-10 clicks, manual | One command |
| Batch add TestFlight testers | One at a time | Script with a CSV or loop |
| Update metadata for 40 locales | Edit each locale manually | Script with JSON files |
| CI/CD integration | Not possible | Built-in (JSON output, exit codes) |
| Export analytics to custom dashboards | Limited CSV export | JSON output, pipe anywhere |
| Manage certificates and profiles | Manual download/upload | Automated provisioning |
| Trigger Xcode Cloud workflows | Click the button | Script and schedule |
| Dry-run before submission | Not available | Preview any operation before executing |
The CLI doesn’t just move the same buttons to a terminal — it unlocks workflows that are structurally impossible in a point-and-click interface. You can’t loop through 200 testers in a browser. You can’t pipe build status into a Slack notification from a web page. You can’t trigger a release from a GitHub Actions workflow without a CLI.
What Can You Automate?
The App Store Connect CLI covers a surprisingly broad surface area. Here’s what you can control from your terminal:
Builds and TestFlight
- List, filter, and inspect builds
- Distribute builds to internal and external TestFlight groups
- Manage beta testers — add, remove, list by group
- Retrieve TestFlight feedback and crash logs
App Store Submissions
- Create and manage app store versions
- Attach builds to versions
- Submit for review with a single command
- Check review status programmatically
Metadata and Screenshots
- Update app descriptions, keywords, and what’s new text
- Upload and manage screenshots and app previews
- Handle localization across all supported languages
Signing and Certificates
- List and manage certificates
- Create and download provisioning profiles
- Register devices for development and ad hoc distribution
Analytics and Reporting
- Pull app analytics data in JSON format
- Access sales and financial reports
- Download subscription and in-app purchase data
Xcode Cloud
- Trigger Xcode Cloud workflows from the terminal
- Monitor build progress
- Retrieve artifacts and logs
How to Install and Get Started
Getting started takes about two minutes. You need two things: the CLI binary and an API key from App Store Connect.
Step 1: Install the CLI
The fastest way is Homebrew:
brew install asc
If you’re on Linux or prefer a direct install:
curl -fsSL https://asccli.sh/install | bash
Step 2: Generate an App Store Connect API Key
Go to App Store Connect → Users and Access → Integrations → App Store Connect API and generate a new key. You’ll get three things:
- A Key ID (a short alphanumeric string)
- An Issuer ID (a UUID)
- A private key file (.p8) — download this immediately, Apple only lets you download it once
Step 3: Configure authentication
asc auth login --key-id YOUR_KEY_ID --issuer-id YOUR_ISSUER_ID --private-key /path/to/AuthKey.p8
Step 4: Verify it works
# List your apps
asc apps list
# Check your latest builds
asc builds list --app-id com.yourcompany.yourapp
If you see your apps and builds, you’re ready to automate.
Think about it this way: the time you just spent setting up the CLI is less than the time you spend on one manual TestFlight distribution. Every subsequent use is pure time savings.
Fast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more. JSON-first, no interactive prompts
CI/CD Integration: Where the CLI Really Shines
The App Store Connect CLI was designed for automation from the ground up. JSON-first output means every command’s response can be parsed by scripts, piped to jq, or consumed by CI/CD systems.
Here’s a realistic GitHub Actions workflow that builds, uploads, and distributes to TestFlight automatically:
name: Release to TestFlight
on:
push:
tags: ['v*']
jobs:
distribute:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install ASC CLI
run: brew install asc
- name: Authenticate
run: |
asc auth login \
--key-id ${{ secrets.ASC_KEY_ID }} \
--issuer-id ${{ secrets.ASC_ISSUER_ID }} \
--private-key ${{ secrets.ASC_PRIVATE_KEY }}
- name: Build and Archive
run: |
xcodebuild archive \
-scheme MyApp \
-archivePath MyApp.xcarchive
- name: Distribute to TestFlight
run: |
asc builds list --app-id com.mycompany.myapp --limit 1 --json | \
jq -r '.[0].id' | \
xargs asc testflight distribute --build-id
The CLI also integrates with GitLab CI, Bitrise, and CircleCI. The documentation includes specific integration guides for each platform.
Agent Skills: AI-Powered Release Automation
Here’s where things get genuinely futuristic. Rudrank built a companion repository called App Store Connect CLI Skills — a set of pre-built agent skills designed for AI coding assistants like Claude Code and Cursor.
These skills give your AI assistant the context and commands needed to automate release workflows conversationally. Instead of remembering the exact CLI syntax, you tell your AI assistant “distribute the latest build to external testers” and it runs the right sequence of asc commands.
“I can finally feel the sparkle in my eyes again. This App Store Connect CLI is way more powerful than I thought it is.” — Rudrank Riyam, creator
The skills repository covers the full release flow: builds, TestFlight distribution, metadata sync, app store submissions, and code signing — all packaged as structured skill definitions that AI agents can pick up and execute.
This is a glimpse of where developer tooling is headed: CLI tools that are both human-scriptable and AI-agent-friendly.
Who Built This and Where Is It Going?
Rudrank Riyam is an indie developer and Apple platform specialist who built the App Store Connect CLI as an open-source project. The tool is written in Go, uses the official Apple App Store Connect REST API, and is actively maintained with over 2,200 commits.
The project hasn’t hit version 1.0 yet — and that’s by design. Rudrank is iterating rapidly, with recent releases covering the entire app review workflow end-to-end under a single asc review command.
Key project stats:
- Language: Go (1.26+)
- License: MIT (completely free, even for commercial use)
- GitHub stars: ~2,800
- Commits: 2,278+
- Platforms: macOS, Linux
- Supported Apple platforms: iOS, macOS, tvOS, visionOS
The community is active, contributions are welcome, and the project accepts GitHub Sponsors for those who want to support continued development.
- SWE-Agent: Fix GitHub Bugs Automatically AI Engineering
- What Is Cursor AI? Code Faster with AI AI Engineering
- Open Interpreter: Run Code with Plain English Open Source
What to Do Next
Open your terminal, run brew install asc, generate an API key from App Store Connect, and automate the one release task that eats the most of your time. Start with listing your builds (asc builds list) — once you see how fast it is compared to clicking through the web dashboard, you won’t go back.
Frequently Asked Questions
Is App Store Connect CLI an official Apple tool?
No. App Store Connect CLI is an independent, open-source project created by Rudrank Riyam. It is not affiliated with or endorsed by Apple Inc. It uses Apple’s official public REST API.
Is App Store Connect CLI free?
Yes. The tool is completely free and open-source under the MIT license. You can use it for personal projects, commercial apps, and enterprise deployments without paying anything.
Does the CLI replace Xcode for building apps?
No. The CLI automates App Store Connect workflows — the web portal side of app distribution. You still use Xcode (or xcodebuild) to compile and archive your app. The CLI handles everything that happens after the build.
Can I use App Store Connect CLI in my CI/CD pipeline?
Yes. The CLI was designed for automation. It outputs JSON by default when piped, uses standard exit codes, and includes integration guides for GitHub Actions, GitLab CI, Bitrise, and CircleCI.
What platforms does the CLI support?
The CLI runs on macOS and Linux. It can manage apps for iOS, macOS, tvOS, and visionOS — any platform supported by App Store Connect.
How do I authenticate with the CLI?
You use an App Store Connect API key, which consists of a Key ID, Issuer ID, and a private key file (.p8). Generate these from the Users and Access section of App Store Connect.