diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 7b2fd69..459af25 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -2418,6 +2418,22 @@ def __new__(cls, arg):
         self.assertEqual(c.from_b, 'b')
         self.assertEqual(c.from_c, 'c')
 
+    def test_subclass_special_form(self):
+        for obj in (
+            ClassVar[int],
+            Final[int],
+            Union[int, float],
+            Optional[int],
+            Literal[1, 2],
+            Concatenate[int, ParamSpec("P")],
+            TypeGuard[int],
+        ):
+            with self.subTest(msg=obj):
+                with self.assertRaisesRegex(
+                        TypeError, f'^{re.escape(f"Cannot subclass {obj!r}")}$'
+                ):
+                    class Foo(obj):
+                        pass
 
 class ClassVarTests(BaseTestCase):
 
diff --git a/Lib/typing.py b/Lib/typing.py
index 423329a..4c2d9fc 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -1081,6 +1081,9 @@ def __reduce__(self):
         return operator.getitem, (origin, args)
 
     def __mro_entries__(self, bases):
+        if isinstance(self.__origin__, _SpecialForm):
+            raise TypeError(f"Cannot subclass {self!r}")
+
         if self._name:  # generic version of an ABC or built-in class
             return super().__mro_entries__(bases)
         if self.__origin__ is Generic:
diff --git a/Misc/NEWS.d/next/Library/2021-08-10-16-57-10.bpo-44524.dk9QX4.rst b/Misc/NEWS.d/next/Library/2021-08-10-16-57-10.bpo-44524.dk9QX4.rst
new file mode 100644
index 0000000..bc3659f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-08-10-16-57-10.bpo-44524.dk9QX4.rst
@@ -0,0 +1,2 @@
+Make exception message more useful when subclass from typing special form
+alias. Patch provided by Yurii Karabas.
