how do I "publish" a project at an "organization" level?

We’re just getting started with Expo in a small team and have setup an organization. We have set the “owner” attribute in app.json and are able to create builds at the organization level after having done this using “eas build”.

When we use “expo publish” though, it seems to only be tied to the user doing the publish. Is there a way to tie this to the organization, or are publishes always user associated?

From what I can see, this can only be done using a ‘robot’ user.

  1. Create a robot user on and generate a token.

  2. On the command line, logout of your Expo account if you’re logged in.

  3. Set the EXPO_TOKEN environment variable, e.g. $env:EXPO_TOKEN="…"

  4. Verify you’re able to run as the robot using expo whoami

  5. Run your expo or eas command, e.g. eas build --profile=staging --non-interactive --platform android

the owner field is respected everywhere, if you are publishing using expo-cli or building using eas-cli it will publish/build for account you have specified as the owner field. Is there a reason you are assuming it does not work this way?


I just ran this series of commands:

  • expo login
  • expo publish

And it did seem to respect the “owner” attribute. I don’t know if earlier I had something misconfigured, or if there was a cache value somewhere that I needed to clear out, or if I didn’t have it set how I thought I did, but “owner” does seem to be respected in my current setup.

1 Like