diff --git a/native/chat/chat.react.js b/native/chat/chat.react.js
--- a/native/chat/chat.react.js
+++ b/native/chat/chat.react.js
@@ -144,9 +144,11 @@
   initialRouteName,
   children,
   screenOptions,
+  id,
   ...rest
 }: ChatNavigatorProps) {
   const { state, descriptors, navigation } = useNavigationBuilder(ChatRouter, {
+    id,
     initialRouteName,
     children,
     screenOptions,
diff --git a/native/flow-typed/npm/@react-navigation/bottom-tabs_v5.x.x.js b/native/flow-typed/npm/@react-navigation/bottom-tabs_v5.x.x.js
--- a/native/flow-typed/npm/@react-navigation/bottom-tabs_v5.x.x.js
+++ b/native/flow-typed/npm/@react-navigation/bottom-tabs_v5.x.x.js
@@ -870,7 +870,8 @@
     +goBack: () => void,
     +isFocused: () => boolean,
     +canGoBack: () => boolean,
-    +getParent: <Parent: NavigationProp<ParamListBase>>() => ?Parent,
+    +getId: () => string | void,
+    +getParent: <Parent: NavigationProp<ParamListBase>>(id?: string) => ?Parent,
     +getState: () => NavigationState,
     +addListener: <EventName: $Keys<
       {| ...EventMap, ...EventMapCore<State> |},
@@ -1058,6 +1059,7 @@
   |};
   declare export type ExtraNavigatorPropsBase = {
     ...$Exact<DefaultRouterOptions>,
+    +id?: string,
     +children?: React$Node,
     ...
   };
@@ -1149,6 +1151,7 @@
       +children?: React$Node,
     |},
   ) => {|
+    +id?: string,
     +state: State,
     +descriptors: {| +[key: string]: Descriptor<NavHelpers, ScreenOptions> |},
     +navigation: NavHelpers,
diff --git a/native/flow-typed/npm/@react-navigation/devtools_v5.x.x.js b/native/flow-typed/npm/@react-navigation/devtools_v5.x.x.js
--- a/native/flow-typed/npm/@react-navigation/devtools_v5.x.x.js
+++ b/native/flow-typed/npm/@react-navigation/devtools_v5.x.x.js
@@ -870,7 +870,8 @@
     +goBack: () => void,
     +isFocused: () => boolean,
     +canGoBack: () => boolean,
-    +getParent: <Parent: NavigationProp<ParamListBase>>() => ?Parent,
+    +getId: () => string | void,
+    +getParent: <Parent: NavigationProp<ParamListBase>>(id?: string) => ?Parent,
     +getState: () => NavigationState,
     +addListener: <EventName: $Keys<
       {| ...EventMap, ...EventMapCore<State> |},
@@ -1058,6 +1059,7 @@
   |};
   declare export type ExtraNavigatorPropsBase = {
     ...$Exact<DefaultRouterOptions>,
+    +id?: string,
     +children?: React$Node,
     ...
   };
@@ -1149,6 +1151,7 @@
       +children?: React$Node,
     |},
   ) => {|
+    +id?: string,
     +state: State,
     +descriptors: {| +[key: string]: Descriptor<NavHelpers, ScreenOptions> |},
     +navigation: NavHelpers,
diff --git a/native/flow-typed/npm/@react-navigation/material-top-tabs_v5.x.x.js b/native/flow-typed/npm/@react-navigation/material-top-tabs_v5.x.x.js
--- a/native/flow-typed/npm/@react-navigation/material-top-tabs_v5.x.x.js
+++ b/native/flow-typed/npm/@react-navigation/material-top-tabs_v5.x.x.js
@@ -870,7 +870,8 @@
     +goBack: () => void,
     +isFocused: () => boolean,
     +canGoBack: () => boolean,
-    +getParent: <Parent: NavigationProp<ParamListBase>>() => ?Parent,
+    +getId: () => string | void,
+    +getParent: <Parent: NavigationProp<ParamListBase>>(id?: string) => ?Parent,
     +getState: () => NavigationState,
     +addListener: <EventName: $Keys<
       {| ...EventMap, ...EventMapCore<State> |},
@@ -1058,6 +1059,7 @@
   |};
   declare export type ExtraNavigatorPropsBase = {
     ...$Exact<DefaultRouterOptions>,
+    +id?: string,
     +children?: React$Node,
     ...
   };
@@ -1149,6 +1151,7 @@
       +children?: React$Node,
     |},
   ) => {|
+    +id?: string,
     +state: State,
     +descriptors: {| +[key: string]: Descriptor<NavHelpers, ScreenOptions> |},
     +navigation: NavHelpers,
diff --git a/native/flow-typed/npm/@react-navigation/native_v5.x.x.js b/native/flow-typed/npm/@react-navigation/native_v5.x.x.js
--- a/native/flow-typed/npm/@react-navigation/native_v5.x.x.js
+++ b/native/flow-typed/npm/@react-navigation/native_v5.x.x.js
@@ -870,7 +870,8 @@
     +goBack: () => void,
     +isFocused: () => boolean,
     +canGoBack: () => boolean,
-    +getParent: <Parent: NavigationProp<ParamListBase>>() => ?Parent,
+    +getId: () => string | void,
+    +getParent: <Parent: NavigationProp<ParamListBase>>(id?: string) => ?Parent,
     +getState: () => NavigationState,
     +addListener: <EventName: $Keys<
       {| ...EventMap, ...EventMapCore<State> |},
@@ -1058,6 +1059,7 @@
   |};
   declare export type ExtraNavigatorPropsBase = {
     ...$Exact<DefaultRouterOptions>,
+    +id?: string,
     +children?: React$Node,
     ...
   };
@@ -1149,6 +1151,7 @@
       +children?: React$Node,
     |},
   ) => {|
+    +id?: string,
     +state: State,
     +descriptors: {| +[key: string]: Descriptor<NavHelpers, ScreenOptions> |},
     +navigation: NavHelpers,
diff --git a/native/flow-typed/npm/@react-navigation/stack_v5.x.x.js b/native/flow-typed/npm/@react-navigation/stack_v5.x.x.js
--- a/native/flow-typed/npm/@react-navigation/stack_v5.x.x.js
+++ b/native/flow-typed/npm/@react-navigation/stack_v5.x.x.js
@@ -870,7 +870,8 @@
     +goBack: () => void,
     +isFocused: () => boolean,
     +canGoBack: () => boolean,
-    +getParent: <Parent: NavigationProp<ParamListBase>>() => ?Parent,
+    +getId: () => string | void,
+    +getParent: <Parent: NavigationProp<ParamListBase>>(id?: string) => ?Parent,
     +getState: () => NavigationState,
     +addListener: <EventName: $Keys<
       {| ...EventMap, ...EventMapCore<State> |},
@@ -1058,6 +1059,7 @@
   |};
   declare export type ExtraNavigatorPropsBase = {
     ...$Exact<DefaultRouterOptions>,
+    +id?: string,
     +children?: React$Node,
     ...
   };
@@ -1149,6 +1151,7 @@
       +children?: React$Node,
     |},
   ) => {|
+    +id?: string,
     +state: State,
     +descriptors: {| +[key: string]: Descriptor<NavHelpers, ScreenOptions> |},
     +navigation: NavHelpers,
diff --git a/native/navigation/root-navigator.react.js b/native/navigation/root-navigator.react.js
--- a/native/navigation/root-navigator.react.js
+++ b/native/navigation/root-navigator.react.js
@@ -58,9 +58,11 @@
   initialRouteName,
   children,
   screenOptions,
+  id,
   ...rest
 }: RootNavigatorProps) {
   const { state, descriptors, navigation } = useNavigationBuilder(RootRouter, {
+    id,
     initialRouteName,
     children,
     screenOptions,