App Store Connect CLI: Script Your Entire iOS Release Pipeline

By Jonathon Byrdziak · · 10 min read · 1919 words

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.

TL;DR:
  • 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 asc and 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.

Pro tip: The biggest time savings aren’t in individual commands — they’re in chaining commands together. A single shell script can create a build, wait for processing, distribute to TestFlight, and submit for review without you touching App Store Connect once.

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
Common mistake: Don’t try to automate everything on day one. Start with the one workflow that wastes the most time — usually TestFlight distribution — and expand from there. The CLI is modular, so each command works independently.

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.

rudrankriyam rudrankriyam / App-Store-Connect-CLI

Fast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more. JSON-first, no interactive prompts

app-store-connect apple automation cicd cli
Go 3.5k 268 MIT

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.

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.

Search
At a Glance
Read time 10 min
Words 1,919
Views 16
Published Mar 13, 2026
Status Recent
Author
Jonathon Byrdziak
Jonathon Byrdziak
43 articles
Related Articles
Uncategorized

The 2026 Guide to AI Cybersecurity Skills: 611+ Battle-Tested Skills for Claude Code, Copilot & Beyond

# The 2026 Guide to AI Cybersecurity Skills: 611+ Battle-Tested Skills for Claude Code, Copilot & Beyond **By Sulla | March 16, 2026** --- ##...

Mar 29, 2026 8 min
AI Engineering

What Is Superpowers? Give Claude Code a Senior Dev Workflow

You've been using Claude Code to write software, but every session feels like rolling the dice — sometimes it nails the architecture, sometimes it skips...

Mar 13, 2026 12 min
AI Engineering

What Is QMD? Search All Your Docs Locally Without Cloud APIs

Your AI agents are burning through tokens just to remember what's in your own files. Every time you feed a full knowledge base into a...

Mar 13, 2026 10 min
Keep Reading
← Previous
12 Best ElevenLabs Alternatives in 2026 (Free & Local)
AI Engineering · There are dozens of AI voice generators competing with ElevenLabs — but most comparison articles...
Next →
What Is QMD? Search All Your Docs Locally Without Cloud APIs
AI Engineering · Your AI agents are burning through tokens just to remember what's in your own files....
Jonathon Byrdziak
About the Author

Jonathon Byrdziak

Author at MERCHANT PROTOCOL. Writing about engineering, infrastructure, and building enterprise systems.

View all posts by Jonathon Byrdziak →