How to trace an update ID back to the Expo Dashboard

Edit this page

Learn how to trace an update ID back to the Expo Dashboard when using EAS Update and expo-updates library.


When working with EAS Updates, you might encounter a scenario where you need to trace an updateId back to the Expo dashboard. This can be challenging because Updates.updateId always returns an ID, regardless of whether Updates.isEmbeddedLaunch is true or false. However, if the app is running an embedded update, attempting to look up the updateId in the Expo dashboard will result in an error. This happens because embedded updates are not tracked in the dashboard.

Determine if the update is embedded or downloaded

To avoid this issue, you can use the Updates.isEmbeddedLaunch property to determine whether the app is running an embedded update or one downloaded from the server. If Updates.isEmbeddedLaunch is true, the currently running update is embedded in the build, which means it won't be available in the Expo dashboard.

Here's an example of how you can display whether the update is embedded or downloaded:

UpdateStatus.tsx
import * as Updates from 'expo-updates';
import { Text } from 'react-native';

export default function UpdateStatus() {
  return (
    <Text>
      {Updates.isEmbeddedLaunch
        ? '(Embedded) ❌ You cannot trace this update in the Expo dashboard.'
        : '(Downloaded) ✅ You can trace this update in the Expo dashboard.'}
    </Text>
  );
}

When you navigate to an update group in the Expo dashboard (open your project, select Updates, and click a specific update), the URL displays as:

https://expo.dev/accounts/[accountName]/projects/[projectName]/updates/[updateGroupId]

You can replace updateGroupId with the Updates.updateId to navigate directly to a specific platform update:

https://expo.dev/accounts/[accountName]/projects/[projectName]/updates/[updateId]

This opens the corresponding update group for the platform-specific update.