NewiPhone Duo, live in your browser. Try it →
Vibeview
Pricing
Store Submission · TestFlight testers

Add TestFlight testers from the command line

Rokas Kašinskas — Co-founder, VibeViewPublished 2026-10-25Updated 2026-10-25

Inviting testers in App Store Connect means opening the app, the TestFlight tab, the group and a dialog per batch. When the list lives in a spreadsheet, a CRM export or a pull request, it is quicker to send it from a terminal. VibeView uses the App Store Connect key you already stored for uploads. The same commands work for iPhone, iPad and Apple TV apps.

Internal and external testers

TestFlight has two kinds of testers, and they are added in different ways:

VibeView adds external testers by email. To add someone to an internal group, add them in App Store Connect first (Users and Access), then open TestFlight → the internal group → + next to Testers. Asking add-testers for an internal group is refused with that path.

Apple’s limits are Apple’s: VibeView doesn’t raise them. Apple also notes that you need an internal group before you can create an external one.

Before you start

  • CLI 0.57.0 or later, logged in or with VIBEVIEW_API_TOKEN set to a full-access token. A CI-only token can read groups but can’t create groups or add testers.
  • The Developer or Admin role in VibeView.
  • An App Store Connect key with the App Manager or Admin role, stored in Builds → Stores. It is the same key VibeView uploads with.
  • The app linked in vibeview.json, or pass --app <id>. With several App Store Connect keys, pass --asc-key <name> or set ascKey in the app’s submit settings.

Add testers, step by step

  1. List the app’s groups. The command uses the app linked in vibeview.json; pass --app <id> for another.

    vibeview testflight groups

    Each group is marked internal or external.

  2. Create an external group, if you need one. Replace Beta testers with your group’s name, 1 to 50 characters.

    vibeview testflight create-group --name "Beta testers" --external

    --internal creates an internal group instead, which takes App Store Connect users only.

  3. Add testers by email. Use your group’s name and repeat --email for each person:

    vibeview testflight add-testers --group "Beta testers" \
      --email ana@example.com --email ben@example.com

    The group is matched by its name in any case, or by its id.

  4. Or add them from a file. One tester per line, as email or email, first name, last name. Blank lines are skipped:

    ana@example.com, Ana, Silva
    ben@example.com
    chen@example.com, Chen, Wei
    vibeview testflight add-testers --group "Beta testers" --testers-file testers.txt

Up to 100 testers go in one command, sent ten at a time. An email given twice is sent once. Pass --email or --testers-file, not both.

What each result means

Every person gets one line:

ResultMeaning
addedAlready a TestFlight tester in your App Store Connect account, now in the group
invitedNew to your account. Apple emails them once a build is available to the group
already inAlready in this group. Nothing changed
refusedNot added, with the reason, for example an address that isn’t valid
may have been addedApp Store Connect didn’t answer in time. Sending it again is safe
not sentApp Store Connect was slow, so VibeView stopped there. Send these again

The command exits 0 when every person was added, invited or already in the group, and 1 otherwise, so a script can tell. With --json, it prints one line with every result and the counts added and invited.

An invited tester gets nothing until a build reaches the group. For an external group, that is after a build passes Beta App Review and is added to the group. vibeview submit --group "Beta testers" does both for you.

In the dashboard

The same tools are in Builds → Stores → your iOS or Apple TV app → TestFlight details. From the Submit dialog, open TestFlight details under Testers, or Create a group when the app has none.

Under Groups, New group creates an external or internal group. Under an external group, type the testers one per line, in the same format as the file, and choose Add testers. Results appear as they come in, one per person. When the send ends, people who were added, invited or already in the group leave the box. Every other line stays in it, ready to correct or send again. Developers and admins can add testers; everyone in the organization can open TestFlight details.

Then send a build to the group

Adding testers and sending builds are separate. To send the next build to the group, use your group’s name and notes:

vibeview submit --platform ios --latest --group "Beta testers" \
  --what-to-test "Try the new checkout" --wait-distribution

External groups need What to Test notes, beta test information and a Beta App Review contact. vibeview testflight info shows what is still missing, each with the command that fixes it. To send every build to the group without the flag, put it in vibeview.json: "submit": { "groups": ["Beta testers"] }. Upload to TestFlight without a Mac covers the whole flow.

What stays in App Store Connect

These stay in App Store Connect: removing testers, renaming or deleting a group, adding internal testers, creating a public link, and seeing tester counts or who installed a build. Done in the store’s console has the path for each. For people who only need to try the app, not install it, a public app link opens a simulator build of it in the browser.

Next: run vibeview testflight groups for your app, then add your first testers with --testers-file.

Frequently asked questions

Can I add internal testers from the command line?

No. Internal testers must be App Store Connect users, so add the person in Users and Access, then add them to the internal group in App Store Connect.

Is it safe to run the same list twice?

Yes. People already in the group come back as already in, and nobody is added twice.

Can a CI job add testers?

Not with a CI-only token. Adding testers and creating groups need a full-access token, from your own login or a full-access API token.

Can I remove testers from the command line?

No. Removing testers, and renaming or deleting groups, stay in App Store Connect.

When does an invited tester get an email?

Apple emails them once a build is available to the group. For an external group, that is after the build passes Beta App Review.

Apple’s pages referenced here were checked on 25 October 2026.

In the documentation

Try it yourself

Open a live iOS simulator, Android emulator, Apple TV, Android TV or Roku in your browser.

Start free