diff --git a/setup.py b/setup.py
index 5dc68d367..11a55e0d7 100644
--- a/setup.py
+++ b/setup.py
@@ -96,7 +96,10 @@ install_requires = [
     #   an sftp extra in Tahoe-LAFS, there is no point in having one.
     # * Twisted 19.10 introduces Site.getContentFile which we use to get
     #   temporary upload files placed into a per-node temporary directory.
-    "Twisted[tls,conch] >= 19.10.0",
+    #
+    # * Twisted 21.2.0 introduces some type hints which we are not yet
+    #   compatible with.
+    "Twisted[tls,conch] >= 19.10.0, <21.2.0",
 
     "PyYAML >= 3.11",