This is the official CLI (ta-cli) for app distribution. Upload your Android (APK) and iOS (IPA) apps directly from this command line and notify your team members about the new releases if you enable it.

Try me 👇


macOS & Linux

curl -Ls | bash


Currently, we are not supporting ta-cli config for Windows.

Download the latest windows release and unzip it

ta-cli.exe publish --api_token=[Your API Token] --app_id=[Your AppID] --release=android --apk=C:/path/to/app.apk

OR using the config json:

Create the config file in $HOME/.ta-cli.json or any other place and add the following:

You can use vim if installed vim $HOME/.ta-cli.json

  "api_token": "Your API Token",
  "app_id": "Your App ID",
  "release": "android",
  "apk": "/user/path/to/android/app.apk",
  "ipa": "",
  "release_notes": "",
  "git_release_notes": true,
  "git_commit_id": false,
  "archive_latest_release": false,
  "notify": true

From your terminal, navigate to the extracted folder.

ta-cli.exe publish

Direct command

Navigate to the latest releases and download the zip file relative to your OS to run the command ./ta-cli or ./ta-cli.exe directly without adding it to the OS binary folder.


ta-cli config
Key Description Default
--config path to your ta-cli.json config file [Optional] $HOME/.ta-cli.json
--api_token You can get it from
--app_id You can get it from your app page at
--release It can be either both Android or iOS
--apk Path to the Android APK file
--ipa Path to the iOS IPA file
--release_notes Manually add the release notes to be displayed for the testers
--git_release_notes Collect release notes from the latest git commit message to be displayed for the testers true
--git_commit_id Include the last commit ID in the release notes (works with both release notes options) false
--notify Send notifications to your team members about this release false
--archive_latest_release Automatically archive the current latest release upon successful upload false

The default configuration file will be at $HOME/.ta-cli.json


ta-cli publish

To override any value in the config:

ta-cli publish --release=android --release_notes="my release notes" --git_release_notes=true --git_commit_id=true

Config path

Default directories are listed in the following order if they exist:

  1. input path from --config=
  2. .ta-cli.json
  3. $HOME/.ta-cli.json
ta-cli publish --config=ta-cli.json

For more information about the list of options:

ta-cli publish -h

Feedback & Support

Developers built to solve the pain of app distribution for mobile app development teams.

Join our community for feedback and support.

Happy releasing 🎉