diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8d36fe6..39bf2b5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,9 @@
 # Unreleased
 
 - Declare support for Python 3.12. Patch by Jelle Zijlstra.
+- Fix tests on Python 3.13, which removes support for creating
+  `TypedDict` classes through the keyword-argument syntax. Patch by
+  Jelle Zijlstra.
 
 # Release 4.6.3 (June 1, 2023)
 
diff --git a/doc/index.rst b/doc/index.rst
index 6b1a6f0..177f8a1 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -276,6 +276,13 @@
    ``typing_extensions`` backport provides all of these features and bugfixes on
    all Python versions.
 
+   Historically, ``TypedDict`` has supported an alternative creation syntax
+   where the fields are supplied as keyword arguments (e.g.,
+   ``TypedDict("TD", a=int, b=str)``). In CPython, this feature was deprecated
+   in Python 3.11 and removed in Python 3.13. ``typing_extensions.TypedDict``
+   raises a :py:exc:`DeprecationWarning` when this syntax is used in Python 3.12
+   or lower and fails with a :py:exc:`TypeError` in Python 3.13 and higher.
+
    .. versionchanged:: 4.3.0
 
       Added support for generic ``TypedDict``\ s.
diff --git a/src/test_typing_extensions.py b/src/test_typing_extensions.py
index f9c3389..62c70be 100644
--- a/src/test_typing_extensions.py
+++ b/src/test_typing_extensions.py
@@ -2879,6 +2879,12 @@
         self.assertEqual(Emp.__annotations__, {'name': str, 'id': int})
         self.assertEqual(Emp.__total__, True)
 
+    @skipIf(sys.version_info < (3, 13), "Change in behavior in 3.13")
+    def test_keywords_syntax_raises_on_3_13(self):
+        with self.assertRaises(TypeError):
+            Emp = TypedDict('Emp', name=str, id=int)
+
+    @skipIf(sys.version_info >= (3, 13), "3.13 removes support for kwargs")
     def test_basics_keywords_syntax(self):
         with self.assertWarns(DeprecationWarning):
             Emp = TypedDict('Emp', name=str, id=int)
@@ -2895,6 +2901,7 @@
         self.assertEqual(Emp.__annotations__, {'name': str, 'id': int})
         self.assertEqual(Emp.__total__, True)
 
+    @skipIf(sys.version_info >= (3, 13), "3.13 removes support for kwargs")
     def test_typeddict_special_keyword_names(self):
         with self.assertWarns(DeprecationWarning):
             TD = TypedDict("TD", cls=type, self=object, typename=str, _typename=int,
