diff --git a/Mobile-Expensify b/Mobile-Expensify
index 3423f3d4f8b2..3d59449689a8 160000
--- a/Mobile-Expensify
+++ b/Mobile-Expensify
@@ -1 +1 @@
-Subproject commit 3423f3d4f8b2cc115e1fb9c0684d4518ea6647e0
+Subproject commit 3d59449689a8162b1ab48380a328d229bc67f478
diff --git a/android/app/build.gradle b/android/app/build.gradle
index ed8e3c3ac444..d31e6b9f7f75 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -114,8 +114,8 @@ android {
         minSdkVersion rootProject.ext.minSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
         multiDexEnabled rootProject.ext.multiDexEnabled
-        versionCode 1009027513
-        versionName "9.2.75-13"
+        versionCode 1009027601
+        versionName "9.2.76-1"
         // Supported language variants must be declared here to avoid from being removed during the compilation.
         // This also helps us to not include unnecessary language variants in the APK.
         resConfigs "en", "es"
diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist
index e7c4ee2cf128..ead75a33300b 100644
--- a/ios/NewExpensify/Info.plist
+++ b/ios/NewExpensify/Info.plist
@@ -44,7 +44,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>9.2.75.13</string>
+	<string>9.2.76.1</string>
 	<key>FullStory</key>
 	<dict>
 		<key>OrgId</key>
diff --git a/ios/NotificationServiceExtension/Info.plist b/ios/NotificationServiceExtension/Info.plist
index 948abc6968dc..8cc86e9f6ebe 100644
--- a/ios/NotificationServiceExtension/Info.plist
+++ b/ios/NotificationServiceExtension/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundleShortVersionString</key>
 	<string>9.2.75</string>
 	<key>CFBundleVersion</key>
-	<string>9.2.75.13</string>
+	<string>9.2.76.1</string>
 	<key>NSExtension</key>
 	<dict>
 		<key>NSExtensionPointIdentifier</key>
diff --git a/ios/ShareViewController/Info.plist b/ios/ShareViewController/Info.plist
index 7878cb359562..5f1d7c1d4147 100644
--- a/ios/ShareViewController/Info.plist
+++ b/ios/ShareViewController/Info.plist
@@ -13,7 +13,7 @@
 	<key>CFBundleShortVersionString</key>
 	<string>9.2.75</string>
 	<key>CFBundleVersion</key>
-	<string>9.2.75.13</string>
+	<string>9.2.76.1</string>
 	<key>NSExtension</key>
 	<dict>
 		<key>NSExtensionAttributes</key>
diff --git a/package-lock.json b/package-lock.json
index 8dca560b4093..268a200d04ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "new.expensify",
-  "version": "9.2.75-13",
+  "version": "9.2.76-1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "new.expensify",
-      "version": "9.2.75-13",
+      "version": "9.2.76-1",
       "hasInstallScript": true,
       "license": "MIT",
       "dependencies": {
diff --git a/package.json b/package.json
index b651f0aa2ae4..fa8c9efdeb83 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "new.expensify",
-  "version": "9.2.75-13",
+  "version": "9.2.76-1",
   "author": "Expensify, Inc.",
   "homepage": "https://new.expensify.com",
   "description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
diff --git a/src/CONST/index.ts b/src/CONST/index.ts
index 31c980eb026c..71bc94516c13 100755
--- a/src/CONST/index.ts
+++ b/src/CONST/index.ts
@@ -6637,7 +6637,6 @@ const CONST = {
             VIEW: 'view',
             SUBMIT: 'submit',
             APPROVE: 'approve',
-            CHANGE_APPROVER: 'changeApprover',
             PAY: 'pay',
             DONE: 'done',
             EXPORT_TO_ACCOUNTING: 'exportToAccounting',
@@ -6653,7 +6652,6 @@ const CONST = {
         BULK_ACTION_TYPES: {
             EXPORT: 'export',
             APPROVE: 'approve',
-            CHANGE_APPROVER: 'changeApprover',
             PAY: 'pay',
             SUBMIT: 'submit',
             HOLD: 'hold',
diff --git a/src/ROUTES.ts b/src/ROUTES.ts
index dbb3e460b6c2..d116674854c9 100644
--- a/src/ROUTES.ts
+++ b/src/ROUTES.ts
@@ -114,8 +114,6 @@ const ROUTES = {
     TRANSACTION_HOLD_REASON_RHP: 'search/hold',
     SEARCH_REJECT_REASON_RHP: 'search/reject',
     MOVE_TRANSACTIONS_SEARCH_RHP: 'search/move-transactions',
-    CHANGE_APPROVER_SEARCH_RHP: 'search/change-approver',
-    CHANGE_APPROVER_ADD_APPROVER_SEARCH_RHP: 'search/change-approver/add',
 
     // This is a utility route used to go to the user's concierge chat, or the sign-in page if the user's not authenticated
     CONCIERGE: 'concierge',
diff --git a/src/SCREENS.ts b/src/SCREENS.ts
index 64a4207cebfb..0bc692bc0eaa 100644
--- a/src/SCREENS.ts
+++ b/src/SCREENS.ts
@@ -94,10 +94,6 @@ const SCREENS = {
         TRANSACTION_HOLD_REASON_RHP: 'Search_Transaction_Hold_Reason_RHP',
         SEARCH_REJECT_REASON_RHP: 'Search_Reject_Reason_RHP',
         TRANSACTIONS_CHANGE_REPORT_SEARCH_RHP: 'Search_Transactions_Change_Report_RHP',
-        CHANGE_APPROVER: {
-            ROOT: 'Search_Change_Approver_Root',
-            ADD_APPROVER: 'Search_Change_Approver_Add_Approver',
-        },
     },
     SETTINGS: {
         ROOT: 'Settings_Root',
diff --git a/src/components/Search/SearchContext.tsx b/src/components/Search/SearchContext.tsx
index 08f0f4cdbb3f..5efee66d492e 100644
--- a/src/components/Search/SearchContext.tsx
+++ b/src/components/Search/SearchContext.tsx
@@ -93,33 +93,15 @@ function SearchContextProvider({children}: ChildrenProps) {
         if (data.length && data.every(isTransactionReportGroupListItemType)) {
             selectedReports = data
                 .filter((item) => isMoneyRequestReport(item) && item.transactions.length > 0 && item.transactions.every(({keyForList}) => selectedTransactions[keyForList]?.isSelected))
-                .map(
-                    ({
-                        reportID,
-                        action = CONST.SEARCH.ACTION_TYPES.VIEW,
-                        total = CONST.DEFAULT_NUMBER_ID,
-                        policyID,
-                        allActions = [action],
-                        currency,
-                        chatReportID,
-                        managerID,
-                        ownerAccountID,
-                        parentReportActionID,
-                        parentReportID,
-                    }) => ({
-                        reportID,
-                        action,
-                        total,
-                        policyID,
-                        allActions,
-                        currency,
-                        chatReportID,
-                        managerID,
-                        ownerAccountID,
-                        parentReportActionID,
-                        parentReportID,
-                    }),
-                );
+                .map(({reportID, action = CONST.SEARCH.ACTION_TYPES.VIEW, total = CONST.DEFAULT_NUMBER_ID, policyID, allActions = [action], currency, chatReportID}) => ({
+                    reportID,
+                    action,
+                    total,
+                    policyID,
+                    allActions,
+                    currency,
+                    chatReportID,
+                }));
         } else if (data.length && data.every(isTransactionListItemType)) {
             selectedReports = data
                 .filter(({keyForList}) => !!keyForList && selectedTransactions[keyForList]?.isSelected)
@@ -131,11 +113,6 @@ function SearchContextProvider({children}: ChildrenProps) {
                     allActions,
                     currency,
                     chatReportID: report?.chatReportID,
-                    managerID: report?.managerID,
-                    ownerAccountID: report?.ownerAccountID,
-                    parentReportActionID: report?.parentReportActionID,
-                    parentReportID: report?.parentReportID,
-                    type: report?.type,
                 }));
         }
 
diff --git a/src/components/Search/types.ts b/src/components/Search/types.ts
index d72c6ad631fa..313b934d7efb 100644
--- a/src/components/Search/types.ts
+++ b/src/components/Search/types.ts
@@ -72,11 +72,6 @@ type SelectedReports = {
     total: number;
     currency?: string;
     chatReportID: string | undefined;
-    managerID?: number;
-    ownerAccountID?: number;
-    parentReportActionID?: string;
-    parentReportID?: string;
-    type?: string;
 };
 
 /** Model of payment data used by Search bulk actions */
diff --git a/src/components/SelectionListWithSections/Search/ActionCell.tsx b/src/components/SelectionListWithSections/Search/ActionCell.tsx
index 45e06a2b007d..b7e59148d801 100644
--- a/src/components/SelectionListWithSections/Search/ActionCell.tsx
+++ b/src/components/SelectionListWithSections/Search/ActionCell.tsx
@@ -34,7 +34,6 @@ const actionTranslationsMap: Record<SearchTransactionAction, TranslationPaths> =
     exportToAccounting: 'common.export',
     done: 'common.done',
     paid: 'iou.settledExpensify',
-    changeApprover: 'iou.changeApprover.title',
 };
 
 type ActionCellProps = {
diff --git a/src/languages/de.ts b/src/languages/de.ts
index e56925d409b1..56d21466aa9d 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -1567,9 +1567,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Wählen Sie eine zusätzliche genehmigende Person für diesen Bericht aus, bevor wir ihn durch den restlichen Genehmigungs-Workflow weiterleiten.',
-                bulkSubtitle: 'Wähle eine zusätzliche genehmigende Person für diese Berichte aus, bevor wir sie durch den restlichen Genehmigungs-Workflow leiten.',
             },
-            bulkSubtitle: 'Wählen Sie eine Option, um den Genehmiger für diese Berichte zu ändern.',
         },
         chooseWorkspace: 'Arbeitsbereich auswählen',
     },
@@ -2338,7 +2336,6 @@ ${amount} für ${merchant} – ${date}`,
             title: 'Keine Mitglieder zum Anzeigen',
             expensesFromSubtitle: 'Alle Arbeitsbereichsmitglieder gehören bereits zu einem bestehenden Genehmigungsworkflow.',
             approverSubtitle: 'Alle Genehmigenden gehören zu einem bestehenden Workflow.',
-            bulkApproverSubtitle: 'Keine Genehmigenden entsprechen den Kriterien für die ausgewählten Berichte.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 6a002d035925..30e6c9fb84aa 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -1527,7 +1527,6 @@ const translations = {
         changeApprover: {
             title: 'Change approver',
             subtitle: 'Choose an option to change the approver for this report.',
-            bulkSubtitle: 'Choose an option to change the approver for these reports.',
             description: ({workflowSettingLink}: WorkflowSettingsParam) =>
                 `You can also change the approver permanently for all reports in your <a href="${workflowSettingLink}">workflow settings</a>.`,
             changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `changed the approver to <mention-user accountID="${managerID}"/>`,
@@ -1539,7 +1538,6 @@ const translations = {
             },
             addApprover: {
                 subtitle: 'Choose an additional approver for this report before we route through the rest of the approval workflow.',
-                bulkSubtitle: 'Choose an additional approver for these reports before we route through the rest of the approval workflow.',
             },
         },
         chooseWorkspace: 'Choose a workspace',
@@ -2290,7 +2288,6 @@ const translations = {
             title: 'No members to display',
             expensesFromSubtitle: 'All workspace members already belong to an existing approval workflow.',
             approverSubtitle: 'All approvers belong to an existing workflow.',
-            bulkApproverSubtitle: 'No approvers match the criteria for selected reports.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 4c06ccacf50e..7c898267b9ad 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -1158,7 +1158,6 @@ const translations: TranslationDeepObject<typeof en> = {
         changeApprover: {
             title: 'Cambiar aprobador',
             subtitle: 'Elige una opción para cambiar el aprobador de este informe.',
-            bulkSubtitle: 'Elige una opción para cambiar el aprobador de estos informes.',
             description: ({workflowSettingLink}) =>
                 `También puedes cambiar el aprobador de forma permanente para todos los informes en tu <a href="${workflowSettingLink}">configuración de flujo de trabajo</a>.`,
             changedApproverMessage: ({managerID}) => `cambió el aprobador a <mention-user accountID="${managerID}"/>`,
@@ -1170,7 +1169,6 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Elige un aprobador adicional para este informe antes de que lo enviemos por el resto del flujo de aprobación.',
-                bulkSubtitle: 'Elige un aprobador adicional para estos informes antes de que los enviemos por el resto del flujo de aprobación.',
             },
         },
         chooseWorkspace: 'Elige un espacio de trabajo',
@@ -1904,7 +1902,6 @@ ${amount} para ${merchant} - ${date}`,
             title: 'No hay miembros para mostrar',
             expensesFromSubtitle: 'Todos los miembros del espacio de trabajo ya pertenecen a un flujo de aprobación existente.',
             approverSubtitle: 'Todos los aprobadores pertenecen a un flujo de trabajo existente.',
-            bulkApproverSubtitle: 'Ningún aprobador coincide con los criterios de los informes seleccionados.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 0d47692e0c4e..4d145dfa8022 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -1568,9 +1568,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Choisissez un approbateur supplémentaire pour ce rapport avant que nous ne le transmettions au reste du processus de validation.',
-                bulkSubtitle: 'Choisissez un approbateur supplémentaire pour ces rapports avant que nous ne les transmettions pour le reste du flux de validation.',
             },
-            bulkSubtitle: 'Choisissez une option pour changer l’approbateur de ces rapports.',
         },
         chooseWorkspace: 'Choisir un espace de travail',
     },
@@ -2339,7 +2337,6 @@ ${amount} pour ${merchant} - ${date}`,
             title: 'Aucun membre à afficher',
             expensesFromSubtitle: 'Tous les membres de l’espace de travail appartiennent déjà à un flux d’approbation existant.',
             approverSubtitle: 'Tous les approbateurs appartiennent à un workflow existant.',
-            bulkApproverSubtitle: 'Aucun approbateur ne correspond aux critères pour les rapports sélectionnés.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/it.ts b/src/languages/it.ts
index f9bea7fe34f7..d75c53bf30ee 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -1563,9 +1563,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Scegli un approvatore aggiuntivo per questo resoconto prima che lo instradiamo attraverso il resto del flusso di approvazione.',
-                bulkSubtitle: 'Scegli un approvatore aggiuntivo per questi report prima che li instradiamo attraverso il resto del flusso di approvazione.',
             },
-            bulkSubtitle: "Scegli un'opzione per cambiare l'approvatore di questi report.",
         },
         chooseWorkspace: 'Scegli uno spazio di lavoro',
     },
@@ -2330,7 +2328,6 @@ ${amount} per ${merchant} - ${date}`,
             title: 'Nessun membro da visualizzare',
             expensesFromSubtitle: 'Tutti i membri dello spazio di lavoro appartengono già a un flusso di approvazione esistente.',
             approverSubtitle: 'Tutti gli approvatori appartengono a un workflow esistente.',
-            bulkApproverSubtitle: 'Nessun approvatore corrisponde ai criteri per i report selezionati.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index e5187230fd8f..ac01a200e9a6 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -1564,9 +1564,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'このレポートを残りの承認ワークフローに回付する前に、追加の承認者を選択してください。',
-                bulkSubtitle: '残りの承認ワークフローに回す前に、これらのレポートの追加承認者を選択してください。',
             },
-            bulkSubtitle: 'これらのレポートの承認者を変更する方法を選択してください。',
         },
         chooseWorkspace: 'ワークスペースを選択',
     },
@@ -2323,7 +2321,6 @@ ${merchant} への ${amount}（${date}）`,
             title: '表示するメンバーがいません',
             expensesFromSubtitle: 'すべてのワークスペースメンバーは、すでに既存の承認ワークフローに属しています。',
             approverSubtitle: 'すべての承認者は既存のワークフローに属しています。',
-            bulkApproverSubtitle: '選択されたレポートの条件に一致する承認者がいません。',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index e35c1a41abf7..db1c970ebd43 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -1561,9 +1561,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Kies een extra fiatteur voor dit rapport voordat we het door de rest van de goedkeuringsworkflow sturen.',
-                bulkSubtitle: 'Kies een extra fiatteur voor deze rapporten voordat we ze door de rest van de goedkeuringsworkflow sturen.',
             },
-            bulkSubtitle: 'Kies een optie om de fiatteur voor deze rapporten te wijzigen.',
         },
         chooseWorkspace: 'Kies een workspace',
     },
@@ -2327,7 +2325,6 @@ ${amount} voor ${merchant} - ${date}`,
             title: 'Geen leden om weer te geven',
             expensesFromSubtitle: 'Alle werkruimteleden behoren al tot een bestaande goedkeuringsworkflow.',
             approverSubtitle: 'Alle fiatteurs behoren tot een bestaande workflow.',
-            bulkApproverSubtitle: 'Geen goedkeurders komen overeen met de criteria voor de geselecteerde rapporten.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index eeb656af087e..e180cf46b48a 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -1560,9 +1560,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Wybierz dodatkową osobę zatwierdzającą ten raport, zanim uruchomimy dalszą część procesu akceptacji.',
-                bulkSubtitle: 'Wybierz dodatkowego akceptującego dla tych raportów, zanim przekażemy je dalej w pozostałej części procesu zatwierdzania.',
             },
-            bulkSubtitle: 'Wybierz opcję, aby zmienić akceptującego dla tych raportów.',
         },
         chooseWorkspace: 'Wybierz przestrzeń roboczą',
     },
@@ -2325,7 +2323,6 @@ ${amount} dla ${merchant} - ${date}`,
             title: 'Brak członków do wyświetlenia',
             expensesFromSubtitle: 'Wszyscy członkowie przestrzeni roboczej należą już do istniejącego obiegu zatwierdzania.',
             approverSubtitle: 'Wszyscy zatwierdzający należą do istniejącego przepływu pracy.',
-            bulkApproverSubtitle: 'Żaden akceptujący nie spełnia kryteriów dla wybranych raportów.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index e3c66772d78e..0abb959b29cf 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -1559,9 +1559,7 @@ const translations: TranslationDeepObject<typeof en> = {
             },
             addApprover: {
                 subtitle: 'Escolha um aprovador adicional para este relatório antes de o encaminharmos pelo restante do fluxo de aprovação.',
-                bulkSubtitle: 'Escolha um aprovador adicional para estes relatórios antes de seguirmos pelo restante do fluxo de aprovação.',
             },
-            bulkSubtitle: 'Escolha uma opção para alterar o aprovador destes relatórios.',
         },
         chooseWorkspace: 'Escolha um workspace',
     },
@@ -2324,7 +2322,6 @@ ${amount} para ${merchant} - ${date}`,
             title: 'Nenhum membro para exibir',
             expensesFromSubtitle: 'Todos os membros do workspace já pertencem a um fluxo de aprovação existente.',
             approverSubtitle: 'Todos os aprovadores pertencem a um fluxo de trabalho existente.',
-            bulkApproverSubtitle: 'Nenhum aprovador corresponde aos critérios para os relatórios selecionados.',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 793eecd2c1df..c78fd14eef6e 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -1536,8 +1536,9 @@ const translations: TranslationDeepObject<typeof en> = {
                 bypassApprovers: '绕过审批人',
                 bypassApproversSubtitle: '将自己指定为最终审批人，并跳过所有剩余审批人。',
             },
-            addApprover: {subtitle: '在我们将此报销单送交其余审批流程之前，请为其选择一位额外的审批人。', bulkSubtitle: '在我们将这些报表提交给其余审批流程之前，请为其选择一位额外审批人。'},
-            bulkSubtitle: '选择一个选项来更改这些报表的审批人。',
+            addApprover: {
+                subtitle: '在我们将此报销单送交其余审批流程之前，请为其选择一位额外的审批人。',
+            },
         },
         chooseWorkspace: '选择一个工作区',
     },
@@ -2292,7 +2293,6 @@ ${amount}，商户：${merchant} - ${date}`,
             title: '没有可显示的成员',
             expensesFromSubtitle: '所有工作区成员已属于现有的审批流程。',
             approverSubtitle: '所有审批人都属于一个现有的工作流程。',
-            bulkApproverSubtitle: '所选报表中没有符合条件的审批人。',
         },
     },
     workflowsDelayedSubmissionPage: {
diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx
index e8057f6fc609..cacdddf8962d 100644
--- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx
+++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx
@@ -917,8 +917,6 @@ const SearchReportActionsModalStackNavigator = createModalStackNavigator<SearchR
     [SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchHoldReasonPage').default,
     [SCREENS.SEARCH.SEARCH_REJECT_REASON_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchRejectReasonPage').default,
     [SCREENS.SEARCH.TRANSACTIONS_CHANGE_REPORT_SEARCH_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchTransactionsChangeReport').default,
-    [SCREENS.SEARCH.CHANGE_APPROVER.ROOT]: () => require<ReactComponentModule>('../../../../pages/Search/SearchChangeApproverPage').default,
-    [SCREENS.SEARCH.CHANGE_APPROVER.ADD_APPROVER]: () => require<ReactComponentModule>('../../../../pages/Search/SearchAddApproverPage').default,
 });
 
 // This navigator is reserved for the screen that can be displayed as Wide RHP, other screens should not be added here.
diff --git a/src/libs/Navigation/linkingConfig/RELATIONS/SEARCH_TO_RHP.ts b/src/libs/Navigation/linkingConfig/RELATIONS/SEARCH_TO_RHP.ts
index 83a4e3240727..05caeb60b3de 100644
--- a/src/libs/Navigation/linkingConfig/RELATIONS/SEARCH_TO_RHP.ts
+++ b/src/libs/Navigation/linkingConfig/RELATIONS/SEARCH_TO_RHP.ts
@@ -50,8 +50,6 @@ const SEARCH_TO_RHP: Partial<Record<keyof SearchFullscreenNavigatorParamList, st
         SCREENS.SEARCH.ADVANCED_FILTERS_PURCHASE_CURRENCY_RHP,
         SCREENS.SEARCH.ADVANCED_FILTERS_REPORT_FIELD_RHP,
         SCREENS.SEARCH.SAVED_SEARCH_RENAME_RHP,
-        SCREENS.SEARCH.CHANGE_APPROVER.ROOT,
-        SCREENS.SEARCH.CHANGE_APPROVER.ADD_APPROVER,
     ],
 };
 
diff --git a/src/libs/Navigation/linkingConfig/config.ts b/src/libs/Navigation/linkingConfig/config.ts
index e015cf208640..77612f8d672f 100644
--- a/src/libs/Navigation/linkingConfig/config.ts
+++ b/src/libs/Navigation/linkingConfig/config.ts
@@ -1602,8 +1602,6 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
                         [SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP]: ROUTES.TRANSACTION_HOLD_REASON_RHP,
                         [SCREENS.SEARCH.SEARCH_REJECT_REASON_RHP]: ROUTES.SEARCH_REJECT_REASON_RHP,
                         [SCREENS.SEARCH.TRANSACTIONS_CHANGE_REPORT_SEARCH_RHP]: ROUTES.MOVE_TRANSACTIONS_SEARCH_RHP,
-                        [SCREENS.SEARCH.CHANGE_APPROVER.ROOT]: ROUTES.CHANGE_APPROVER_SEARCH_RHP,
-                        [SCREENS.SEARCH.CHANGE_APPROVER.ADD_APPROVER]: ROUTES.CHANGE_APPROVER_ADD_APPROVER_SEARCH_RHP,
                     },
                 },
                 [SCREENS.RIGHT_MODAL.SEARCH_ADVANCED_FILTERS]: {
diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts
index 486cb38b8085..ff39ebe8eb53 100644
--- a/src/libs/Navigation/types.ts
+++ b/src/libs/Navigation/types.ts
@@ -2667,8 +2667,6 @@ type SearchReportActionsParamList = {
         /** Selected transactions' report ID  */
         reportID: string;
     };
-    [SCREENS.SEARCH.CHANGE_APPROVER.ROOT]: undefined;
-    [SCREENS.SEARCH.CHANGE_APPROVER.ADD_APPROVER]: undefined;
 };
 
 type SearchReportParamList = {
diff --git a/src/libs/SearchUIUtils.ts b/src/libs/SearchUIUtils.ts
index ee5084919857..36080c03487b 100644
--- a/src/libs/SearchUIUtils.ts
+++ b/src/libs/SearchUIUtils.ts
@@ -81,7 +81,6 @@ import {
     getGroupPaidPoliciesWithExpenseChatEnabled,
     getPolicy,
     isPaidGroupPolicy,
-    isPolicyAdmin,
     isPolicyPayer,
 } from './PolicyUtils';
 import {
@@ -111,14 +110,11 @@ import {
     isAllowedToApproveExpenseReport as isAllowedToApproveExpenseReportUtils,
     isArchivedReport,
     isClosedReport,
-    isExpenseReport as isExpenseReportUtil,
     isInvoiceReport,
     isMoneyRequestReport,
-    isMoneyRequestReportPendingDeletion,
     isOneTransactionReport,
     isOpenExpenseReport,
     isOpenReport,
-    isProcessingReport,
     isSettled,
 } from './ReportUtils';
 import {buildCannedSearchQuery, buildQueryStringFromFilterFormValues, buildSearchQueryJSON, buildSearchQueryString, getCurrentSearchQueryJSON} from './SearchQueryUtils';
@@ -1124,7 +1120,7 @@ function getTransactionsSections(
             const transactionSection: TransactionListItemType = {
                 ...transactionItem,
                 keyForList: transactionItem.transactionID,
-                action: getAction(allActions),
+                action: allActions.at(0) ?? CONST.SEARCH.ACTION_TYPES.VIEW,
                 allActions,
                 report,
                 policy,
@@ -1315,10 +1311,6 @@ function getActions(
         allActions.push(CONST.SEARCH.ACTION_TYPES.SUBMIT);
     }
 
-    if (report && policy && isPolicyAdmin(policy) && isExpenseReportUtil(report) && isProcessingReport(report) && !isMoneyRequestReportPendingDeletion(report)) {
-        allActions.push(CONST.SEARCH.ACTION_TYPES.CHANGE_APPROVER);
-    }
-
     if (reportNVP?.exportFailedTime) {
         return allActions.length > 0 ? allActions : [CONST.SEARCH.ACTION_TYPES.VIEW];
     }
@@ -1326,17 +1318,6 @@ function getActions(
     return allActions.length > 0 ? allActions : [CONST.SEARCH.ACTION_TYPES.VIEW];
 }
 
-/**
- * @private
- * Returns the main action that can be taken on a given transaction or report
- *
- * Do not use directly, use only via `getSections()` facade.
- */
-function getAction(allActions: SearchTransactionAction[]) {
-    // VIEW should take precedence over CHANGE_APPROVER
-    return allActions.find((action) => action !== CONST.SEARCH.ACTION_TYPES.CHANGE_APPROVER) ?? CONST.SEARCH.ACTION_TYPES.VIEW;
-}
-
 /**
  * @private
  * Organizes data into List Sections for display, for the TaskListItemType of Search Results.
@@ -1610,7 +1591,7 @@ function getReportSections(
 
                 reportIDToTransactions[reportKey] = {
                     ...reportItem,
-                    action: getAction(allActions),
+                    action: allActions.at(0) ?? CONST.SEARCH.ACTION_TYPES.VIEW,
                     allActions,
                     keyForList: String(reportItem.reportID),
                     groupedBy: CONST.SEARCH.DATA_TYPES.EXPENSE_REPORT,
@@ -1653,7 +1634,7 @@ function getReportSections(
             const allActions = getActions(data, allViolations, key, currentSearch, currentUserEmail, actions);
             const transaction = {
                 ...transactionItem,
-                action: getAction(allActions),
+                action: allActions.at(0) ?? CONST.SEARCH.ACTION_TYPES.VIEW,
                 allActions,
                 report,
                 reportAction,
diff --git a/src/pages/ReportChangeApproverPage.tsx b/src/pages/ReportChangeApproverPage.tsx
index 8f972dd630d6..755d2db5dc52 100644
--- a/src/pages/ReportChangeApproverPage.tsx
+++ b/src/pages/ReportChangeApproverPage.tsx
@@ -167,5 +167,3 @@ function ReportChangeApproverPage({report, policy, isLoadingReportData}: ReportC
 ReportChangeApproverPage.displayName = 'ReportChangeApproverPage';
 
 export default withReportOrNotFound()(ReportChangeApproverPage);
-export {APPROVER_TYPE};
-export type {ApproverType};
diff --git a/src/pages/Search/SearchAddApproverPage.tsx b/src/pages/Search/SearchAddApproverPage.tsx
deleted file mode 100644
index 696fdc8c05da..000000000000
--- a/src/pages/Search/SearchAddApproverPage.tsx
+++ /dev/null
@@ -1,220 +0,0 @@
-import lodashIntersection from 'lodash/intersection';
-import lodashPick from 'lodash/pick';
-import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
-import ApproverSelectionList from '@components/ApproverSelectionList';
-import type {SelectionListApprover} from '@components/ApproverSelectionList';
-import Badge from '@components/Badge';
-import FormAlertWithSubmitButton from '@components/FormAlertWithSubmitButton';
-import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
-import {useSearchContext} from '@components/Search/SearchContext';
-import Text from '@components/Text';
-import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
-import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset';
-import useLocalize from '@hooks/useLocalize';
-import useOnyx from '@hooks/useOnyx';
-import usePermissions from '@hooks/usePermissions';
-import useThemeStyles from '@hooks/useThemeStyles';
-import {addReportApprover} from '@libs/actions/IOU';
-import Navigation from '@libs/Navigation/Navigation';
-import {getMemberAccountIDsForWorkspace} from '@libs/PolicyUtils';
-import {getDisplayNameForParticipant, hasViolations as hasViolationsReportUtils, isAllowedToApproveExpenseReport} from '@libs/ReportUtils';
-import CONST from '@src/CONST';
-import ONYXKEYS from '@src/ONYXKEYS';
-
-function SearchAddApproverPage() {
-    const styles = useThemeStyles();
-    const {translate, formatPhoneNumber} = useLocalize();
-    const icons = useMemoizedLazyExpensifyIcons(['FallbackAvatar'] as const);
-    const [selectedApproverEmail, setSelectedApproverEmail] = useState<string | undefined>(undefined);
-    const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false});
-    const {isBetaEnabled} = usePermissions();
-    const [transactionViolations] = useOnyx(ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS, {canBeMissing: true});
-    const isASAPSubmitBetaEnabled = isBetaEnabled(CONST.BETAS.ASAP_SUBMIT);
-    const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {canBeMissing: true});
-    const [allReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {canBeMissing: true});
-    const [allReportNextSteps] = useOnyx(ONYXKEYS.COLLECTION.NEXT_STEP, {canBeMissing: true});
-    const {clearSelectedTransactions, selectedReports} = useSearchContext();
-    const isSavingRef = useRef(false);
-
-    const currentUserDetails = useCurrentUserPersonalDetails();
-
-    // Get all possible approvers from all selected reports' policies
-    // An approver must be able to approve ALL selected reports
-    const allApprovers = useMemo(() => {
-        if (selectedReports.length === 0) {
-            return [];
-        }
-
-        const uniquePolicyIds = Array.from(new Set(selectedReports.map((selectedReport) => selectedReport.policyID)));
-        const employeeLists = uniquePolicyIds.map((policyID) => allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${policyID}`]?.employeeList).filter((employeeList) => !!employeeList);
-        const firstWorkspaceEmployees = employeeLists.at(0);
-        const intersectedEmployees = firstWorkspaceEmployees ? lodashPick(firstWorkspaceEmployees, lodashIntersection(...employeeLists.map(Object.keys))) : {};
-        const policyMemberEmailsToAccountIDs = getMemberAccountIDsForWorkspace(intersectedEmployees, true, false);
-        // We get the intersection here as we only want to show members who belong to all workspaces when adding an additional approver
-        return Object.values(intersectedEmployees)
-            .map((employee): SelectionListApprover | null => {
-                const isAdmin = employee?.role === CONST.REPORT.ROLE.ADMIN;
-                const email = employee?.email;
-
-                if (!email) {
-                    return null;
-                }
-                const accountID = Number(policyMemberEmailsToAccountIDs[email] ?? CONST.DEFAULT_NUMBER_ID);
-                const isPendingDelete = intersectedEmployees?.[accountID]?.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE;
-
-                if (isPendingDelete) {
-                    return null;
-                }
-
-                const isApproverOfAllReports = selectedReports.every((selectedReport) => {
-                    const report = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${selectedReport.reportID}`];
-
-                    if (!report) {
-                        return false;
-                    }
-
-                    return report.managerID === accountID;
-                });
-                if (isApproverOfAllReports) {
-                    return null;
-                }
-
-                const canApproveAllReports = selectedReports.every((selectedReport) => {
-                    const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReport.policyID}`];
-                    const report = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${selectedReport.reportID}`];
-
-                    if (!report || !policy) {
-                        return false;
-                    }
-
-                    if (report.managerID === accountID) {
-                        return true;
-                    }
-
-                    return isAllowedToApproveExpenseReport(report, accountID, policy);
-                });
-
-                if (!canApproveAllReports) {
-                    return null;
-                }
-
-                const {avatar} = personalDetails?.[accountID] ?? {};
-                const displayName = getDisplayNameForParticipant({accountID, formatPhoneNumber, personalDetailsData: personalDetails});
-                return {
-                    text: displayName,
-                    alternateText: email,
-                    keyForList: email,
-                    isSelected: selectedApproverEmail === email,
-                    login: email,
-                    value: accountID,
-                    icons: [{source: avatar ?? icons.FallbackAvatar, type: CONST.ICON_TYPE_AVATAR, name: displayName, id: accountID}],
-                    rightElement: isAdmin ? <Badge text={translate('common.admin')} /> : undefined,
-                };
-            })
-            .filter((approver): approver is SelectionListApprover => !!approver);
-    }, [allPolicies, allReports, formatPhoneNumber, icons.FallbackAvatar, personalDetails, selectedApproverEmail, selectedReports, translate]);
-
-    const addApprover = useCallback(() => {
-        const employeeAccountID = allApprovers.find((approver) => approver.login === selectedApproverEmail)?.value;
-        if (!selectedApproverEmail || !employeeAccountID) {
-            return;
-        }
-
-        isSavingRef.current = true;
-        for (const selectedReport of selectedReports) {
-            const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReport.policyID}`];
-            const report = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${selectedReport.reportID}`];
-
-            if (!report || !policy || report.managerID === employeeAccountID) {
-                continue;
-            }
-
-            const hasViolations = hasViolationsReportUtils(report.reportID, transactionViolations, currentUserDetails.accountID, currentUserDetails.email ?? '');
-            const reportNextStep = allReportNextSteps?.[`${ONYXKEYS.COLLECTION.NEXT_STEP}${selectedReport.reportID}`];
-            addReportApprover(
-                report,
-                selectedApproverEmail,
-                Number(employeeAccountID),
-                currentUserDetails.accountID,
-                currentUserDetails.email ?? '',
-                policy,
-                hasViolations,
-                isASAPSubmitBetaEnabled,
-                reportNextStep,
-            );
-        }
-
-        // This actually clears selected reports as well
-        clearSelectedTransactions();
-    }, [
-        allApprovers,
-        allPolicies,
-        allReports,
-        allReportNextSteps,
-        clearSelectedTransactions,
-        currentUserDetails.accountID,
-        currentUserDetails.email,
-        isASAPSubmitBetaEnabled,
-        selectedApproverEmail,
-        selectedReports,
-        transactionViolations,
-    ]);
-
-    const button = useMemo(() => {
-        return (
-            <FormAlertWithSubmitButton
-                isDisabled={!selectedApproverEmail}
-                buttonText={translate('common.save')}
-                onSubmit={addApprover}
-                containerStyles={[styles.flexReset, styles.flexGrow0, styles.flexShrink0, styles.flexBasisAuto]}
-                enabledWhenOffline
-                shouldBlendOpacity
-            />
-        );
-    }, [addApprover, selectedApproverEmail, styles.flexBasisAuto, styles.flexGrow0, styles.flexReset, styles.flexShrink0, translate]);
-
-    const toggleApprover = useCallback((approvers: SelectionListApprover[]) => {
-        setSelectedApproverEmail(approvers.at(0)?.login ?? undefined);
-    }, []);
-
-    useEffect(() => {
-        if (selectedReports.length) {
-            return;
-        }
-
-        Navigation.setNavigationActionToMicrotaskQueue(() => {
-            Navigation.closeRHPFlow();
-        });
-    }, [selectedReports.length]);
-
-    if (isSavingRef.current) {
-        return <FullScreenLoadingIndicator />;
-    }
-
-    return (
-        <ApproverSelectionList
-            testID={SearchAddApproverPage.displayName}
-            headerTitle={translate('iou.changeApprover.actions.addApprover')}
-            onBackButtonPress={Navigation.goBack}
-            subtitle={
-                <Text style={[styles.ph5, styles.pb3]}>
-                    {translate(selectedReports.length === 1 ? 'iou.changeApprover.addApprover.subtitle' : 'iou.changeApprover.addApprover.bulkSubtitle')}
-                </Text>
-            }
-            isLoadingReportData={false}
-            policy={allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReports.at(0)?.policyID}`]}
-            initiallyFocusedOptionKey={selectedApproverEmail}
-            shouldShowNotFoundViewLink={false}
-            shouldShowNotFoundView={false}
-            allApprovers={allApprovers}
-            listEmptyContentSubtitle={translate(selectedReports.length === 1 ? 'workflowsPage.emptyContent.approverSubtitle' : 'workflowsPage.emptyContent.bulkApproverSubtitle')}
-            allowMultipleSelection={false}
-            onSelectApprover={toggleApprover}
-            footerContent={button}
-        />
-    );
-}
-
-SearchAddApproverPage.displayName = 'SearchAddApproverPage';
-
-export default SearchAddApproverPage;
diff --git a/src/pages/Search/SearchChangeApproverPage.tsx b/src/pages/Search/SearchChangeApproverPage.tsx
deleted file mode 100644
index 8100a4312540..000000000000
--- a/src/pages/Search/SearchChangeApproverPage.tsx
+++ /dev/null
@@ -1,283 +0,0 @@
-import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
-import {View} from 'react-native';
-import type {OnyxCollection} from 'react-native-onyx';
-import FullPageOfflineBlockingView from '@components/BlockingViews/FullPageOfflineBlockingView';
-import FormHelpMessage from '@components/FormHelpMessage';
-import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
-import HeaderWithBackButton from '@components/HeaderWithBackButton';
-import RenderHTML from '@components/RenderHTML';
-import ScreenWrapper from '@components/ScreenWrapper';
-import {useSearchContext} from '@components/Search/SearchContext';
-import SelectionList from '@components/SelectionListWithSections';
-import RadioListItem from '@components/SelectionListWithSections/RadioListItem';
-import type {ListItem} from '@components/SelectionListWithSections/types';
-import Text from '@components/Text';
-import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails';
-import useEnvironment from '@hooks/useEnvironment';
-import useLocalize from '@hooks/useLocalize';
-import useNetwork from '@hooks/useNetwork';
-import useOnyx from '@hooks/useOnyx';
-import usePermissions from '@hooks/usePermissions';
-import useThemeStyles from '@hooks/useThemeStyles';
-import {assignReportToMe} from '@libs/actions/IOU';
-import {openReport} from '@libs/actions/Report';
-import Navigation from '@libs/Navigation/Navigation';
-import {isControlPolicy, isPolicyAdmin} from '@libs/PolicyUtils';
-import {hasViolations as hasViolationsReportUtils, isAllowedToApproveExpenseReport} from '@libs/ReportUtils';
-import {APPROVER_TYPE} from '@pages/ReportChangeApproverPage';
-import type {ApproverType} from '@pages/ReportChangeApproverPage';
-import CONST from '@src/CONST';
-import ONYXKEYS from '@src/ONYXKEYS';
-import ROUTES from '@src/ROUTES';
-import type {Policy, Report} from '@src/types/onyx';
-
-function SearchChangeApproverPage() {
-    const {translate} = useLocalize();
-    const styles = useThemeStyles();
-    const {environmentURL} = useEnvironment();
-    const currentUserDetails = useCurrentUserPersonalDetails();
-    const [selectedApproverType, setSelectedApproverType] = useState<ApproverType>();
-    const [hasError, setHasError] = useState(false);
-    const {isBetaEnabled} = usePermissions();
-    const [transactionViolations] = useOnyx(ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS, {canBeMissing: true});
-    const isASAPSubmitBetaEnabled = isBetaEnabled(CONST.BETAS.ASAP_SUBMIT);
-    const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {canBeMissing: true});
-    const [allReportNextSteps] = useOnyx(ONYXKEYS.COLLECTION.NEXT_STEP, {canBeMissing: true});
-    const {clearSelectedTransactions, selectedReports} = useSearchContext();
-    const [hasLoadedApp] = useOnyx(ONYXKEYS.HAS_LOADED_APP, {canBeMissing: true});
-    const {isOffline} = useNetwork();
-    const isSavingRef = useRef(false);
-
-    const getOnyxReports = useCallback(
-        (allReports: OnyxCollection<Report>) => {
-            const reports = new Map<string, Report>();
-            for (const selectedReport of selectedReports) {
-                const report = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${selectedReport.reportID}`];
-                if (!report?.reportID) {
-                    continue;
-                }
-                reports.set(selectedReport.reportID, report);
-            }
-            return reports;
-        },
-        [selectedReports],
-    );
-
-    const [onyxReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {selector: getOnyxReports, canBeMissing: true});
-    const isLoadingOnyxReports = useRef(false);
-
-    useEffect(() => {
-        if (!hasLoadedApp || !selectedReports.length) {
-            return;
-        }
-
-        if (onyxReports?.size === selectedReports.length) {
-            isLoadingOnyxReports.current = false;
-            return;
-        }
-
-        if (isLoadingOnyxReports.current) {
-            return;
-        }
-
-        isLoadingOnyxReports.current = true;
-        for (const selectedReport of selectedReports) {
-            if (onyxReports?.has(selectedReport.reportID)) {
-                continue;
-            }
-
-            // Load the report into Onyx, because data from SearchContext contains only a subset of report properties.
-            // Alternatively, remove this and make sure the backend returns all required properties and SearchContext keeps all of them.
-            openReport(selectedReport.reportID);
-        }
-    }, [hasLoadedApp, onyxReports, selectedReports]);
-
-    const selectedPolicies = useMemo(() => {
-        const policies = new Map<string, Policy>();
-        for (const selectedReport of selectedReports) {
-            const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReport.policyID}`];
-            if (policy?.id) {
-                policies.set(policy.id, policy);
-            }
-        }
-        return Array.from(policies.values());
-    }, [selectedReports, allPolicies]);
-
-    const changeApprover = useCallback(() => {
-        if (!selectedApproverType) {
-            setHasError(true);
-            return;
-        }
-
-        if (selectedApproverType === APPROVER_TYPE.ADD_APPROVER) {
-            const policiesToUpgrade = selectedPolicies.filter((policy) => !isControlPolicy(policy));
-            if (policiesToUpgrade.length > 1) {
-                // Bulk upgrade is not supported, so show a general page to guide the user to upgrade manually
-                Navigation.navigate(ROUTES.WORKSPACE_UPGRADE.getRoute(undefined, undefined, ROUTES.CHANGE_APPROVER_SEARCH_RHP));
-                return;
-            }
-            if (policiesToUpgrade.length === 1) {
-                Navigation.navigate(
-                    ROUTES.WORKSPACE_UPGRADE.getRoute(policiesToUpgrade.at(0)?.id, CONST.UPGRADE_FEATURE_INTRO_MAPPING.multiApprovalLevels.alias, ROUTES.CHANGE_APPROVER_SEARCH_RHP),
-                );
-                return;
-            }
-
-            Navigation.navigate(ROUTES.CHANGE_APPROVER_ADD_APPROVER_SEARCH_RHP);
-            return;
-        }
-
-        isSavingRef.current = true;
-        for (const selectedReport of selectedReports) {
-            const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReport.policyID}`];
-            const report = onyxReports?.get(selectedReport.reportID);
-            if (!policy || !report) {
-                continue;
-            }
-
-            if (report.managerID !== currentUserDetails.accountID) {
-                const hasViolations = hasViolationsReportUtils(report.reportID, transactionViolations, currentUserDetails.accountID, currentUserDetails.email ?? '');
-                const reportNextStep = allReportNextSteps?.[`${ONYXKEYS.COLLECTION.NEXT_STEP}${selectedReport.reportID}`];
-                assignReportToMe(report, currentUserDetails.accountID, currentUserDetails.email ?? '', policy, hasViolations, isASAPSubmitBetaEnabled, reportNextStep);
-            }
-        }
-
-        // This actually clears selected reports as well
-        clearSelectedTransactions();
-    }, [
-        allPolicies,
-        allReportNextSteps,
-        clearSelectedTransactions,
-        currentUserDetails.accountID,
-        currentUserDetails.email,
-        isASAPSubmitBetaEnabled,
-        onyxReports,
-        selectedApproverType,
-        selectedPolicies,
-        selectedReports,
-        transactionViolations,
-    ]);
-
-    const sections = useMemo(() => {
-        const data: Array<ListItem<ApproverType>> = [
-            {
-                text: translate('iou.changeApprover.actions.addApprover'),
-                keyForList: APPROVER_TYPE.ADD_APPROVER,
-                alternateText: translate('iou.changeApprover.actions.addApproverSubtitle'),
-                isSelected: selectedApproverType === APPROVER_TYPE.ADD_APPROVER,
-            },
-        ];
-
-        const hasPermission = selectedReports.every((selectedReport) => {
-            const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReport.policyID}`];
-
-            if (!policy) {
-                return false;
-            }
-
-            return isPolicyAdmin(policy);
-        });
-
-        const shouldShowBypassApproversOption =
-            hasPermission &&
-            selectedReports.some((selectedReport) => {
-                const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${selectedReport.policyID}`];
-                const report = onyxReports?.get(selectedReport.reportID);
-
-                if (!policy || !report) {
-                    return false;
-                }
-
-                const isCurrentUserManager = report.managerID === currentUserDetails.accountID;
-                return !isCurrentUserManager && isAllowedToApproveExpenseReport(report, currentUserDetails.accountID, policy);
-            });
-
-        if (shouldShowBypassApproversOption) {
-            data.push({
-                text: translate('iou.changeApprover.actions.bypassApprovers'),
-                keyForList: APPROVER_TYPE.BYPASS_APPROVER,
-                alternateText: translate('iou.changeApprover.actions.bypassApproversSubtitle'),
-                isSelected: selectedApproverType === APPROVER_TYPE.BYPASS_APPROVER,
-            });
-        }
-
-        return [{data}];
-    }, [allPolicies, currentUserDetails.accountID, onyxReports, selectedApproverType, selectedReports, translate]);
-
-    useEffect(() => {
-        if (selectedReports.length && sections.at(0)?.data.length) {
-            return;
-        }
-
-        Navigation.setNavigationActionToMicrotaskQueue(() => {
-            Navigation.closeRHPFlow();
-        });
-    }, [sections, selectedReports.length]);
-
-    if ((!isOffline && onyxReports?.size !== selectedReports.length) || isSavingRef.current) {
-        return <FullScreenLoadingIndicator shouldUseGoBackButton />;
-    }
-
-    return (
-        <ScreenWrapper
-            testID={SearchChangeApproverPage.displayName}
-            includeSafeAreaPaddingBottom
-            shouldEnableMaxHeight
-            // Show the non-blocking offline indicator if reports are available in Onyx, otherwise show the blocking offline view because this page requires the Onyx data
-            shouldShowOfflineIndicator={onyxReports?.size === selectedReports.length}
-        >
-            <HeaderWithBackButton
-                title={translate('iou.changeApprover.title')}
-                onBackButtonPress={Navigation.goBack}
-            />
-            {onyxReports?.size !== selectedReports.length && !!isOffline ? (
-                <FullPageOfflineBlockingView>
-                    <View />
-                </FullPageOfflineBlockingView>
-            ) : (
-                <SelectionList
-                    ListItem={RadioListItem}
-                    sections={sections}
-                    isAlternateTextMultilineSupported
-                    onSelectRow={(option) => {
-                        if (!option.keyForList) {
-                            return;
-                        }
-                        setSelectedApproverType(option.keyForList);
-                        setHasError(false);
-                    }}
-                    showConfirmButton
-                    confirmButtonText={translate('iou.changeApprover.title')}
-                    onConfirm={changeApprover}
-                    shouldUpdateFocusedIndex
-                    customListHeader={
-                        <>
-                            <Text style={[styles.ph5, styles.mb5]}>{translate(selectedReports.length === 1 ? 'iou.changeApprover.subtitle' : 'iou.changeApprover.bulkSubtitle')}</Text>
-                            {selectedPolicies.length === 1 && (
-                                <View style={[styles.ph5, styles.mb5, styles.renderHTML, styles.flexRow]}>
-                                    <RenderHTML
-                                        html={translate('iou.changeApprover.description', {
-                                            workflowSettingLink: `${environmentURL}/${ROUTES.WORKSPACE_WORKFLOWS.getRoute(selectedPolicies.at(0)?.id)}`,
-                                        })}
-                                    />
-                                </View>
-                            )}
-                        </>
-                    }
-                >
-                    {hasError && (
-                        <FormHelpMessage
-                            isError
-                            style={[styles.ph5, styles.mb3]}
-                            message={translate('common.error.pleaseSelectOne')}
-                        />
-                    )}
-                </SelectionList>
-            )}
-        </ScreenWrapper>
-    );
-}
-
-SearchChangeApproverPage.displayName = 'SearchChangeApproverPage';
-
-export default SearchChangeApproverPage;
diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx
index 76515aa320b5..edfeaa40ee98 100644
--- a/src/pages/Search/SearchPage.tsx
+++ b/src/pages/Search/SearchPage.tsx
@@ -142,7 +142,6 @@ function SearchPage({route}: SearchPageProps) {
         'SmartScan',
         'MoneyBag',
         'ArrowSplit',
-        'Workflows',
     ] as const);
 
     // eslint-disable-next-line rulesdir/no-default-id-values
@@ -486,23 +485,6 @@ function SearchPage({route}: SearchPageProps) {
             });
         }
 
-        const shouldShowChangeApproverOption =
-            queryJSON?.type === CONST.SEARCH.DATA_TYPES.EXPENSE_REPORT &&
-            !isAnyTransactionOnHold &&
-            areSelectedTransactionsIncludedInReports &&
-            selectedReports.length &&
-            selectedReports.every((report) => report.allActions.includes(CONST.SEARCH.ACTION_TYPES.CHANGE_APPROVER));
-
-        if (shouldShowChangeApproverOption) {
-            options.push({
-                icon: expensifyIcons.Workflows,
-                text: translate('iou.changeApprover.title'),
-                value: CONST.SEARCH.BULK_ACTION_TYPES.CHANGE_APPROVER,
-                shouldCloseModalOnSelect: true,
-                onSelected: () => Navigation.navigate(ROUTES.CHANGE_APPROVER_SEARCH_RHP),
-            });
-        }
-
         const shouldShowSubmitOption =
             !isOffline &&
             areSelectedTransactionsIncludedInReports &&
diff --git a/tests/unit/Search/SearchContextTest.tsx b/tests/unit/Search/SearchContextTest.tsx
deleted file mode 100644
index 70c85429868c..000000000000
--- a/tests/unit/Search/SearchContextTest.tsx
+++ /dev/null
@@ -1,158 +0,0 @@
-import {renderHook} from '@testing-library/react-native';
-import React, {act} from 'react';
-import {SearchContextProvider, useSearchContext} from '@components/Search/SearchContext';
-import type {SelectedTransactionInfo} from '@components/Search/types';
-import type {TransactionListItemType, TransactionReportGroupListItemType} from '@components/SelectionListWithSections/types';
-
-const mockSelectedTransaction: SelectedTransactionInfo = {
-    action: 'approve',
-    canHold: true,
-    isHeld: false,
-    canSplit: false,
-    hasBeenSplit: false,
-    canUnhold: false,
-    canChangeReport: true,
-    isSelected: true,
-    canDelete: true,
-    policyID: '06F34677820A4D07',
-    reportID: '515146912679679',
-    amount: 0,
-    groupAmount: 1284,
-    groupCurrency: 'USD',
-    currency: 'USD',
-    ownerAccountID: 1,
-} as const;
-
-const mockTransaction = {
-    accountID: 1,
-    amount: 0,
-    canDelete: true,
-    category: '',
-    groupAmount: 1284,
-    groupCurrency: 'USD',
-    created: '2025-09-19',
-    currency: 'USD',
-    policy: {
-        id: '06F34677820A4D07',
-        type: 'team',
-        role: 'admin',
-        owner: 'test@test.com',
-        name: 'Policy',
-        outputCurrency: 'USD',
-        isPolicyExpenseChatEnabled: true,
-    },
-    reportAction: {
-        reportActionID: '2454187434077044186',
-        actionName: 'IOU',
-        created: '2025-09-19',
-    },
-    holdReportAction: undefined,
-    merchant: '(none)',
-    modifiedAmount: -1284,
-    modifiedCreated: '2025-09-07',
-    modifiedCurrency: 'USD',
-    modifiedMerchant: 'The Home Depot',
-    policyID: '06F34677820A4D07',
-    reportID: '515146912679679',
-    tag: '',
-    transactionID: '1',
-    action: 'approve',
-    allActions: ['approve'],
-    canDelete: true,
-    formattedFrom: 'Main Applause QA',
-    formattedTo: 'Main Applause QA',
-    formattedTotal: -1284,
-    formattedMerchant: 'The Home Depot',
-    date: '2025-09-07',
-    shouldShowMerchant: true,
-    shouldShowYear: true,
-    keyForList: '1',
-    isAmountColumnWide: false,
-    isTaxAmountColumnWide: false,
-    shouldAnimateInHighlight: false,
-    report: {
-        reportID: '515146912679679',
-    },
-    from: {
-        accountID: 1,
-        avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_15.png',
-        displayName: 'Main Applause QA',
-    },
-    to: {
-        accountID: 1,
-        avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_15.png',
-        displayName: 'Main Applause QA',
-    },
-} as TransactionListItemType;
-
-const mockReport = {
-    accountID: 1,
-    chatReportID: '4735435600700077',
-    chatType: undefined,
-    created: '2025-09-19 20:00:47',
-    currency: 'USD',
-    isOneTransactionReport: true,
-    isOwnPolicyExpenseChat: false,
-    isWaitingOnBankAccount: false,
-    managerID: 1,
-    nonReimbursableTotal: 0,
-    oldPolicyName: '',
-    ownerAccountID: 1,
-    parentReportActionID: '2454187434077044186',
-    parentReportID: '4735435600700077',
-    policyID: '06F34677820A4D07',
-    reportID: '515146912679679',
-    reportName: 'Expense Report #515146912679679',
-    stateNum: 1,
-    statusNum: 1,
-    total: -1284,
-    type: 'expense',
-    unheldTotal: -1284,
-    from: {
-        accountID: 1,
-        avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_15.png',
-        displayName: 'Main Applause QA',
-    },
-    to: {
-        accountID: 1,
-        avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_15.png',
-        displayName: 'Main Applause QA',
-    },
-    shouldShowYear: false,
-    action: 'view',
-    transactions: [mockTransaction],
-    groupedBy: 'expense-report',
-    keyForList: '515146912679679',
-} as TransactionReportGroupListItemType;
-
-mockTransaction.report = mockReport;
-
-const wrapper = ({children}: {children: React.ReactNode}) => <SearchContextProvider>{children}</SearchContextProvider>;
-
-describe('SearchContext', () => {
-    it('returns selectedReports for TransactionReportGroupListItem', () => {
-        const {result} = renderHook(() => useSearchContext(), {wrapper});
-        act(() => {
-            result.current.setSelectedTransactions({[mockTransaction.keyForList]: mockSelectedTransaction}, [mockReport]);
-        });
-        const selectedReport = result.current.selectedReports.at(0);
-
-        expect(selectedReport?.managerID).toEqual(1);
-        expect(selectedReport?.ownerAccountID).toBe(1);
-        expect(selectedReport?.parentReportActionID).toBe('2454187434077044186');
-        expect(selectedReport?.parentReportID).toBe('4735435600700077');
-    });
-
-    it('returns selectedReports for TransactionListItemType', () => {
-        const {result} = renderHook(() => useSearchContext(), {wrapper});
-        act(() => {
-            result.current.setSelectedTransactions({[mockTransaction.keyForList]: mockSelectedTransaction}, [mockTransaction]);
-        });
-        const selectedReport = result.current.selectedReports.at(0);
-
-        expect(selectedReport?.managerID).toEqual(1);
-        expect(selectedReport?.ownerAccountID).toBe(1);
-        expect(selectedReport?.parentReportActionID).toBe('2454187434077044186');
-        expect(selectedReport?.parentReportID).toBe('4735435600700077');
-    });
-});
diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts
index b0f03998d63a..37ba61eb501e 100644
--- a/tests/unit/Search/SearchUIUtilsTest.ts
+++ b/tests/unit/Search/SearchUIUtilsTest.ts
@@ -809,7 +809,7 @@ const transactionsListItems = [
     },
     {
         action: 'approve',
-        allActions: ['approve', 'changeApprover'],
+        allActions: ['approve'],
         amount: -5000,
         report: report2,
         policy,
@@ -1080,7 +1080,7 @@ const transactionReportGroupListItems = [
         groupedBy: 'expense-report',
         accountID: 18439984,
         action: 'approve',
-        allActions: ['approve', 'changeApprover'],
+        allActions: ['approve'],
         chatReportID: '1706144653204915',
         created: '2024-12-21 13:05:20',
         currency: 'USD',
@@ -1117,7 +1117,7 @@ const transactionReportGroupListItems = [
         transactions: [
             {
                 action: 'approve',
-                allActions: ['approve', 'changeApprover'],
+                allActions: ['approve'],
                 report: report2,
                 policy,
                 reportAction: reportAction2,
