diff --git a/cli.py b/cli.py index 4e96107e3..8e1054e8c 100644 --- a/cli.py +++ b/cli.py @@ -6266,8 +6266,11 @@ class HermesCLI: ).start() - # Combine all interrupt messages (user may have typed multiple while waiting) - # and re-queue as one prompt for process_loop + # Re-queue the interrupt message (and any that arrived while we were + # processing the first) as the next prompt for process_loop. + # Only reached when busy_input_mode == "interrupt" (the default). + # In "queue" mode Enter routes directly to _pending_input so this + # block is never hit. if pending_message and hasattr(self, '_pending_input'): all_parts = [pending_message] while not self._interrupt_queue.empty(): @@ -6278,7 +6281,12 @@ class HermesCLI: except queue.Empty: break combined = "\n".join(all_parts) - print(f"\n📨 Queued: '{combined[:50]}{'...' if len(combined) > 50 else ''}'") + n = len(all_parts) + preview = combined[:50] + ("..." if len(combined) > 50 else "") + if n > 1: + print(f"\n⚡ Sending {n} messages after interrupt: '{preview}'") + else: + print(f"\n⚡ Sending after interrupt: '{preview}'") self._pending_input.put(combined) return response