App-Store-Connect-CLI

(★ 6,023)

Fast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more

File Explorer

  • .gitignore
  • .golangci.yml
  • .mintignore
  • AGENTS.md
  • authentication.mdx
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • docs.json
  • docs_github_actions_examples_test.go
  • go.mod
  • go.sum
  • index.mdx
  • install.sh
  • install_script_test.go
  • installation.mdx
  • introduction.mdx
  • LICENSE
  • main.go
  • main_test.go
  • Makefile
  • makefile_test.go
  • migrate-to-4-0.mdx
  • quickstart.mdx
  • README.md
  • release_rehearsal_workflow_test.go
  • release_workflow_test.go
  • SECURITY.md
  • SUPPORT.md

# Installation Guide

go
Prerequisites

Setup Steps

brew install asc

Install asc CLI via Homebrew (or using curl install script).

asc version

Verify the installed CLI version.

asc auth login --name "MyApp" --key-id "KEY_ID" --issuer-id "ISSUER_ID" --private-key "/path/to/AuthKey.p8" --network

Authenticate with App Store Connect API credentials.

asc auth doctor

Diagnose authentication status and configuration.

asc apps list --output table

List apps to verify working connectivity.

Key Commands

asc auth login --name "MyKey" --key-id "ABC123" --issuer-id "DEF456" --private-key "/path/to/AuthKey.p8"

Authenticate and register App Store Connect API credentials.

asc auth doctor

Check authentication profiles and keychain configuration for issues.

asc apps list --output table

Fetch the list of applications configured in App Store Connect.

asc builds upload --app "123456789" --ipa "/path/to/MyApp.ipa"

Upload a build binary (.ipa or .pkg) to App Store Connect.

asc testflight feedback list --app "123456789" --paginate

Retrieve feedback submissions from TestFlight beta testers.

asc system-status --service "App Store Connect"

Check current Apple Developer and App Store Connect service status.

asc install-skills

Install the Agent Skills pack globally for automating workflows.

In CI or headless environments without Keychain access, use `asc auth login --bypass-keychain` or set `ASC_BYPASS_KEYCHAIN=1`.

# Use via CDN

jsDelivr

jsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.

Command Glossary

Commands referenced in this DOCs, explained below.

🔍

brew install

View Details ▼

Install a Homebrew formula or cask.

brew install {{formula|cask}}

Install a formula/cask:

brew install {{[-s|--build-from-source]}} {{formula}}

Build and install a formula from source (dependencies will still be installed from bottles):

brew install {{[-n|--dry-run]}} {{formula|cask}}

Download the manifest, print what would be installed but don't actually install anything:

🔍

brew update

View Details ▼

Fetch the newest version of Homebrew and all formulae from GitHub using `git` and perform any necessary migrations.
To upgrade all installed formulae, use `brew upgrade`.

brew {{[up|update]}}

Fetch the newest version of Homebrew and all formulae:

🔍

git

View Details ▼

Distributed version control system.
Some subcommands such as `commit`, `add`, `branch`, `switch`, `push`, etc. have their own usage documentation.

git init

Create an empty Git repository:

git clone {{https://example.com/repo.git}}

Clone a remote Git repository from the internet:

git status

View the status of the local repository:

🔍

npx

View Details ▼

This command is an alias of `npm exec`.

tldr npm exec

View documentation for the original command:

🔍

winget

View Details ▼

Windows Package Manager.

winget {{[add|install]}} {{package}}

Install a package (use `--source` when package is available from multiple sources):

winget {{[rm|uninstall]}} {{package}}

Remove a package (Note: `remove` can also be used instead of `uninstall`):

winget show {{package}}

Display information about a package:

// repository documentation