diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp
index 17dd4696325ae3fdb58af71b356f57daf200063f..aca275b39d517bb9528122fd8a0e6bd858bbbf10 100644
--- a/Marlin/src/feature/pause.cpp
+++ b/Marlin/src/feature/pause.cpp
@@ -187,6 +187,9 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
       host_action_prompt_button(PSTR("Continue"));
       host_action_prompt_show();
     #endif
+    #if ENABLED(EXTENSIBLE_UI)
+      ExtUI::onStatusChanged(PSTR("Load Filament"));
+    #endif
     while (wait_for_user) {
       #if HAS_BUZZER
         filament_change_beep(max_beep_count);
@@ -239,6 +242,9 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
     #if ENABLED(HOST_PROMPT_SUPPORT)
       host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Continuous Purge Running..."), PSTR("Continue"));
     #endif
+    #if ENABLED(EXTENSIBLE_UI)
+      ExtUI::onStatusChanged(PSTR("Continuous Purge Running..."));
+    #endif
     for (float purge_count = purge_length; purge_count > 0 && wait_for_user; --purge_count)
       do_pause_e_move(1, ADVANCED_PAUSE_PURGE_FEEDRATE);
     wait_for_user = false;
@@ -517,6 +523,9 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep
   #if ENABLED(HOST_PROMPT_SUPPORT)
     host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Nozzle Parked"), PSTR("Continue"));
   #endif
+  #if ENABLED(EXTENSIBLE_UI)
+    ExtUI::onStatusChanged(PSTR("Nozzle Parked"));
+  #endif
   while (wait_for_user) {
     #if HAS_BUZZER
       filament_change_beep(max_beep_count);
@@ -538,6 +547,10 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep
         host_prompt_do(PROMPT_USER_CONTINUE, PSTR("HeaterTimeout"), PSTR("Reheat"));
       #endif
 
+      #if ENABLED(EXTENSIBLE_UI)
+        ExtUI::onStatusChanged(PSTR("HeaterTimeout"));
+      #endif
+
       // Wait for LCD click or M108
       while (wait_for_user) idle(true);
 
diff --git a/Marlin/src/feature/prusa_MMU2/mmu2.cpp b/Marlin/src/feature/prusa_MMU2/mmu2.cpp
index 3450e98b3fcfcc69df78df715ddbca63fb64ce16..12f84af3e8055a6b7284406f5a15147c943c9448 100644
--- a/Marlin/src/feature/prusa_MMU2/mmu2.cpp
+++ b/Marlin/src/feature/prusa_MMU2/mmu2.cpp
@@ -42,6 +42,10 @@ MMU2 mmu2;
   #include "../../feature/host_actions.h"
 #endif
 
+#if ENABLED(EXTENSIBLE_UI)
+  #include "../../lcd/extensible_ui/ui_api.h"
+#endif
+
 #define DEBUG_OUT ENABLED(MMU2_DEBUG)
 #include "../../core/debug_out.h"
 
@@ -711,6 +715,9 @@ void MMU2::filament_runout() {
       #if ENABLED(HOST_PROMPT_SUPPORT)
         host_prompt_do(PROMPT_USER_CONTINUE, PSTR("MMU2 Eject Recover"), PSTR("Continue"));
       #endif
+      #if ENABLED(EXTENSIBLE_UI)
+        ExtUI::onStatusChanged(PSTR("MMU2 Eject Recover"));
+      #endif
       while (wait_for_user) idle();
       BUZZ(200, 404);
       BUZZ(200, 404);
diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp
index 8909397b3272abe4ed7e1cb705eacf325bf5c65a..3f3c48150a41584c491ab23fe72000bcd5b3e897 100644
--- a/Marlin/src/gcode/config/M43.cpp
+++ b/Marlin/src/gcode/config/M43.cpp
@@ -42,6 +42,10 @@
   #include "../../feature/host_actions.h"
 #endif
 
+#if ENABLED(EXTENSIBLE_UI)
+  #include "../../lcd/extensible_ui/ui_api.h"
+#endif
+
 #ifndef GET_PIN_MAP_PIN_M43
   #define GET_PIN_MAP_PIN_M43(Q) GET_PIN_MAP_PIN(Q)
 #endif
@@ -329,6 +333,9 @@ void GcodeSuite::M43() {
       #if ENABLED(HOST_PROMPT_SUPPORT)
         host_prompt_do(PROMPT_USER_CONTINUE, PSTR("M43 Wait Called"), PSTR("Continue"));
       #endif
+      #if ENABLED(EXTENSIBLE_UI)
+        ExtUI::onStatusChanged(PSTR("M43 Wait Called"));
+      #endif
     #endif
 
     for (;;) {
diff --git a/Marlin/src/gcode/lcd/M0_M1.cpp b/Marlin/src/gcode/lcd/M0_M1.cpp
index 3bbf32991890dc21b2f4e5f8a3d8191c62d585e0..67f634ce8332a5a2b51957d260154cbb3d2c4531 100644
--- a/Marlin/src/gcode/lcd/M0_M1.cpp
+++ b/Marlin/src/gcode/lcd/M0_M1.cpp
@@ -97,6 +97,9 @@ void GcodeSuite::M0_M1() {
   #if ENABLED(HOST_PROMPT_SUPPORT)
     host_prompt_do(PROMPT_USER_CONTINUE, PSTR("M0/1 Break Called"), PSTR("Continue"));
   #endif
+  #if ENABLED(EXTENSIBLE_UI)
+    ExtUI::onStatusChanged(PSTR("M0/1 Break Called"));
+  #endif
 
   if (ms > 0) {
     ms += millis();  // wait until this time for a click
diff --git a/Marlin/src/lcd/menu/menu_delta_calibrate.cpp b/Marlin/src/lcd/menu/menu_delta_calibrate.cpp
index a4770d0f86c306cb1d8ff9b7f5d743dc1637c743..3925bfbbb6f2c6369c6b373f4a27abd2ffcc4b49 100644
--- a/Marlin/src/lcd/menu/menu_delta_calibrate.cpp
+++ b/Marlin/src/lcd/menu/menu_delta_calibrate.cpp
@@ -36,6 +36,10 @@
   #include "../../feature/bedlevel/bedlevel.h"
 #endif
 
+#if ENABLED(EXTENSIBLE_UI)
+  #include "../../lcd/extensible_ui/ui_api.h"
+#endif
+
 void _man_probe_pt(const float &rx, const float &ry) {
   do_blocking_move_to(rx, ry, Z_CLEARANCE_BETWEEN_PROBES);
   ui.synchronize();
@@ -55,6 +59,9 @@ void _man_probe_pt(const float &rx, const float &ry) {
     #if ENABLED(HOST_PROMPT_SUPPORT)
       host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Delta Calibration in progress"), PSTR("Continue"));
     #endif
+    #if ENABLED(EXTENSIBLE_UI)
+      ExtUI::onStatusChanged(PSTR("Delta Calibration in progress"));
+    #endif
     while (wait_for_user) idle();
     ui.goto_previous_screen_no_defer();
     return current_position[Z_AXIS];
diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp
index 91b699aa04783b4faec299d20036f8c8dbbc2118..15c3915aeef0492517bdfec95321c56ae485f017 100644
--- a/Marlin/src/module/probe.cpp
+++ b/Marlin/src/module/probe.cpp
@@ -79,6 +79,10 @@ float zprobe_zoffset; // Initialized by settings.load()
   #include "stepper_indirection.h"
 #endif
 
+#if ENABLED(EXTENSIBLE_UI)
+  #include "../lcd/extensible_ui/ui_api.h"
+#endif
+
 #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
 #include "../core/debug_out.h"
 
@@ -371,6 +375,9 @@ FORCE_INLINE void probe_specific_action(const bool deploy) {
       #if ENABLED(HOST_PROMPT_SUPPORT)
         host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Stow Probe"), PSTR("Continue"));
       #endif
+      #if ENABLED(EXTENSIBLE_UI)
+        ExtUI::onStatusChanged(PSTR("Stow Probe"));
+      #endif
       while (wait_for_user) idle();
       ui.reset_status();