{"record":{"id":"dff884147f9a0315","repo":"expo/expo","slug":"no-valid-guid-for-expo-go-on-platform-platform","errorCode":null,"errorMessage":"No valid GUID for Expo Go on platform: ${Platform.OS}. Supported native platforms are currently: ${Object.keys(managedMap).join(', ')}","messagePattern":"No valid GUID for Expo Go on platform: (.+?)\\. Supported native platforms are currently: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"apps/native-component-list/src/api/guid.ts","lineNumber":30,"sourceCode":"  android: {\n    // bare-expo\n    'dev.expo.payments': '29635966244-knmlpr1upnv6rs4bumqea7hpit4o7kg2',\n    // NCL standalone\n    'host.exp.nclexp': '29635966244-lbejmv84iurcge3hn7fo6aapu953oivs',\n  },\n};\nconst BARE_GUIDs = Platform.select<Record<string, string>>(bareMap);\n\nconst managedMap = {\n  ios: '29635966244-td9jmh1m5trn8uuqa0je1mansia76cln',\n  android: '29635966244-knmlpr1upnv6rs4bumqea7hpit4o7kg2',\n};\nconst GUID = Platform.select<string>(managedMap);\n\nexport function getGUID(): string {\n  if (['storeClient', 'standalone'].includes(Constants.executionEnvironment)) {\n    if (!GUID)\n      throw new Error(\n        `No valid GUID for Expo Go on platform: ${\n          Platform.OS\n        }. Supported native platforms are currently: ${Object.keys(managedMap).join(', ')}`\n      );\n    return GUID;\n  } else if (Constants.executionEnvironment === 'bare') {\n    if (!BARE_GUIDs) {\n      throw new Error(\n        `No valid GUID for bare projects on platform: ${\n          Platform.OS\n        }. Supported native platforms are currently: ${Object.keys(bareMap).join(', ')}`\n      );\n    }\n\n    if (!Application.applicationId) {\n      throw new Error('Cannot get GUID with null `Application.applicationId`');\n    }\n    if (!(Application.applicationId in BARE_GUIDs)) {","sourceCodeStart":12,"sourceCodeEnd":48,"githubUrl":"https://github.com/expo/expo/blob/b09195aac27c9e4a63daaf12dcb6f00b6b2e08ee/apps/native-component-list/src/api/guid.ts#L12-L48","documentation":"Thrown by `getGUID()` in native-component-list when the app runs as `storeClient` or `standalone` (Expo Go / standalone build) but `Platform.select(managedMap)` returned undefined — i.e. the current platform has no entry in `managedMap`. The managedMap only contains `ios` and `android` keys, so running on any other platform (web, macos, windows) in a managed context fails here.","triggerScenarios":"Calling `getGUID()` while `Constants.executionEnvironment` is `storeClient` or `standalone` and `Platform.OS` is not `ios` or `android` (e.g. `web`, `macos`, `windows`).","commonSituations":"Running native-component-list on web or a community platform in Expo Go; adding a new platform without registering a GUID; testing on a platform the managed map does not cover.","solutions":["Run the app on ios or android where managedMap has a GUID.","If you need a new platform, add it to `managedMap` in guid.ts with a real Google API project client ID.","Guard callers of getGUID so they only invoke it on supported platforms."],"exampleFix":"// before\nconst guid = getGUID(); // throws on web\n\n// after\nconst guid = ['ios', 'android'].includes(Platform.OS) ? getGUID() : null;","handlingStrategy":"validation","validationCode":"import { Platform } from 'react-native';\nconst SUPPORTED_MANAGED = ['ios', 'android'];\nfunction canGetManagedGUID(): boolean {\n  return SUPPORTED_MANAGED.includes(Platform.OS);\n}","typeGuard":"function isManagedSupportedPlatform(os: string): boolean {\n  return os === 'ios' || os === 'android';\n}","tryCatchPattern":null,"preventionTips":["Only call getGUID on ios/android in managed/standalone contexts.","Extend managedMap before adding support for a new platform.","Guard callers so unsupported platforms skip GUID-dependent features."],"tags":["expo","guid","platform","native-component-list","google-signin","config"],"backgroundTag":null,"analyzedSha":"b09195aac27c9e4a63daaf12dcb6f00b6b2e08ee","analyzedAt":"2026-08-12T15:59:58.304Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}