diff --git a/clive/__private/ui/dialogs/clive_base_dialogs.py b/clive/__private/ui/dialogs/clive_base_dialogs.py
index fa5b5444cad82fc6c25dd4f3b1b3042d4742c9af..c8040ffddca7c8c5d5feada9230304cc5b2f7797 100644
--- a/clive/__private/ui/dialogs/clive_base_dialogs.py
+++ b/clive/__private/ui/dialogs/clive_base_dialogs.py
@@ -1,6 +1,6 @@
 from __future__ import annotations
 
-from abc import abstractmethod
+from abc import ABC, abstractmethod
 from typing import TYPE_CHECKING, Literal
 
 from textual import on
@@ -102,7 +102,7 @@ class CliveBaseDialog(ModalScreen[ScreenResultT], CliveWidget, AbstractClassMess
         """Yield all the content with buttons."""
 
 
-class CliveActionDialog(CliveBaseDialog[ScreenResultT]):
+class CliveActionDialog(CliveBaseDialog[ScreenResultT], ABC):
     BINDINGS = [Binding("escape", "cancel", "Quit")]
 
     class Confirmed(Message):
@@ -133,7 +133,7 @@ class CliveActionDialog(CliveBaseDialog[ScreenResultT]):
         self.app.pop_screen()
 
 
-class CliveInfoDialog(CliveBaseDialog[ScreenResultT]):
+class CliveInfoDialog(CliveBaseDialog[ScreenResultT], ABC):
     BINDINGS = [Binding("escape", "close", "Quit")]
 
     def create_buttons_content(self) -> ComposeResult: